/* V10.1 calibration-only visibility fix. Existing 2D/3D world styles are unchanged. */
.view-tools #calibrateHandBtn{background:#244d50;color:#d0fff0;border-color:#4c9c89;white-space:nowrap}
.view-tools #calibrateHandBtn.calibrated{background:#255b4a;color:#afffdc}
.calibration-backdrop{position:fixed;inset:0;z-index:999;background:rgba(0,10,20,.15)}
.calibration-panel{position:fixed;z-index:1000;right:clamp(16px,4vw,58px);top:50%;transform:translateY(-50%);width:min(370px,calc(100vw - 24px));max-height:calc(100svh - 28px);overflow-y:auto;box-sizing:border-box;padding:19px 20px;border:1px solid #7ebdac;border-radius:19px;background:linear-gradient(145deg,#153748fc,#091e2ffd);box-shadow:0 20px 70px #000c;backdrop-filter:blur(20px);color:#e8fbf5}
.calibration-panel__head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.calibration-panel__badge{font-size:10px;font-weight:800;letter-spacing:.14em;color:#76eac3}
.calibration-panel__close{color:#cdeee5;background:#294450;border:1px solid #5a7882;border-radius:9px;min-width:34px;min-height:34px;cursor:pointer}
.calibration-panel h2{font-size:clamp(21px,2vw,26px);line-height:1.15;margin:13px 0 8px;letter-spacing:-.04em}
.calibration-panel p{font-size:13px;line-height:1.5;color:#c7dfe1;margin:0 0 17px}
.calibration-panel__progress{height:7px;width:100%;background:#345568;border-radius:10px;overflow:hidden}
.calibration-panel__progress>div{height:100%;background:linear-gradient(90deg,#5fe5c0,#e6b8f8);border-radius:10px;transition:width .13s ease}
.calibration-panel__status{font-size:12px;line-height:1.45;color:#b8d2d6;min-height:34px;margin:11px 0}
.calibration-mode-note{margin:0 0 12px;border:1px solid #54777b;border-radius:9px;padding:8px 10px;background:#173947;color:#c7e6e8;font-size:11px;line-height:1.4}
.calibration-panel__actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.calibration-panel__actions button{min-height:38px;border:1px solid #587a82;background:#18394b;border-radius:9px;padding:8px 10px;color:#def5f1;font-size:11px;font-weight:750;cursor:pointer}
.calibration-panel__actions button:disabled{opacity:.5;cursor:not-allowed}
.calibration-panel__actions .cal-primary{background:#65e8be;color:#082a24;border-color:#65e8be}
.calibration-panel__foot{font-size:10px;line-height:1.5;color:#9fbac3;border-top:1px solid #385c65;padding-top:11px;margin-top:14px}
.cal-settings-note{margin:7px 0 9px;font-size:11px;color:#accbd1;line-height:1.4}
@media(max-width:640px){
 .view-tools{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}
 .view-tools #calibrateHandBtn{min-width:90px;position:sticky;right:0;background:#245149}
 .calibration-panel{top:auto;bottom:10px;left:50%;right:auto;transform:translateX(-50%);width:min(350px,calc(100vw - 16px));max-height:min(58svh,480px);padding:15px 16px;border-radius:18px}
 .calibration-panel h2{font-size:22px}
}
@media(max-height:610px){.calibration-panel{top:50%;bottom:auto;max-height:calc(100svh - 15px)} }

/* The camera image and its 21-joint overlay must always share orientation. */
html.poseiq-unmirrored .cam video,
html.poseiq-unmirrored .cam canvas { transform: none; }
