*{margin:0;padding:0;box-sizing:border-box}:root{--color-correct: #22c55e;--color-close: #eab308;--color-wrong: #ef4444;--color-neutral: #6b7280;--color-bg: #0f172a;--color-panel: rgba(15, 23, 42, .9);--color-text: #f8fafc}body{font-family:system-ui,-apple-system,sans-serif;background-color:var(--color-bg);color:var(--color-text);overflow:hidden;width:100vw;height:100vh}#app{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}#video-container{position:absolute;bottom:110px;right:20px;width:200px;height:150px;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2);z-index:10}#webcam{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}#comparison-landmark-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}#output-canvas{width:100%;height:100%}#movement-compare-tool{scrollbar-color:rgba(129,140,248,.55) transparent}#movement-compare-tool::-webkit-scrollbar{width:6px}#movement-compare-tool::-webkit-scrollbar-thumb{background:#818cf88c;border-radius:6px}#movement-compare-tool::-webkit-scrollbar-track{background:transparent}#movement-compare-tool button:disabled{opacity:.5;cursor:not-allowed}#movement-compare-tool .cockpit-tile{position:absolute;display:flex;flex-direction:column;min-width:185px;min-height:110px;overflow:hidden;pointer-events:auto;color:#e2e8f0;background:linear-gradient(155deg,#172343f7,#091227f7);border:1px solid rgba(129,140,248,.42);border-radius:13px;box-shadow:0 18px 45px #02061773,inset 0 1px #ffffff0f;backdrop-filter:blur(12px)}#movement-compare-tool .cockpit-tile-resizable{resize:both}#movement-compare-tool .cockpit-tile[hidden]{display:none}#movement-compare-tool .cockpit-tile-handle{flex:none;padding:8px 12px;color:#a5b4fc;border-bottom:1px solid rgba(129,140,248,.24);background:#28305f47;font:700 11px system-ui,sans-serif;letter-spacing:.11em;cursor:grab;user-select:none;touch-action:none}#movement-compare-tool .cockpit-tile-handle:active{cursor:grabbing}#movement-compare-tool .cockpit-tile-settings .cockpit-tile-handle,#movement-compare-tool .cockpit-tile-settings .cockpit-tile-handle:active{cursor:default}#movement-compare-tool .cockpit-tile-settings{max-height:min(44vh,320px)}#movement-compare-tool .cockpit-tile-body{flex:1;min-height:0;padding:10px;overflow:auto}#movement-compare-tool .cockpit-tile-camera .cockpit-tile-body,#movement-compare-tool .cockpit-tile-reference .cockpit-tile-body,#movement-compare-tool .cockpit-tile-recording .cockpit-tile-body{padding:7px;overflow:hidden}#movement-compare-tool .cockpit-tile-camera .cockpit-tile-body,#movement-compare-tool .cockpit-tile-reference .cockpit-tile-body{display:flex;flex-direction:column;gap:6px}#movement-compare-tool .cockpit-view-toolbar{display:flex;align-items:end;justify-content:space-between;gap:8px;flex:none;min-width:0}#movement-compare-tool .cockpit-view-toolbar .cockpit-option-label{flex:1;min-width:0}#movement-compare-tool .cockpit-view-toolbar select{font-size:11px}#movement-compare-tool .cockpit-tile-camera .cockpit-view-toolbar #camera-selector{width:auto!important;max-width:45%;flex:none}#movement-compare-tool .cockpit-tile-camera .cockpit-view-toolbar #camera-selector select{max-width:135px!important}#movement-compare-tool .cockpit-tile-close{margin-left:auto;border:0;border-radius:5px;background:#94a3b826;color:#e2e8f0;cursor:pointer}#movement-compare-tool .cockpit-tile-recording .cockpit-tile-handle{display:flex;align-items:center}#movement-compare-tool #video-container{position:relative;inset:auto;width:100%;height:auto;flex:1;min-height:0;border:0;border-radius:7px;z-index:auto}#movement-compare-tool #webcam{object-fit:contain;background:#0b1428}#movement-compare-tool .cockpit-tile-reference .cockpit-preview-block,#movement-compare-tool .cockpit-tile-recording .cockpit-tile-body>div{flex:1;height:auto;min-height:0}#movement-compare-tool .cockpit-tile-reference canvas{height:100%;min-height:0;flex:1}#movement-compare-tool .cockpit-tile-reference .cockpit-preview-block>div:first-child{display:none}#movement-compare-tool .cockpit-tile-settings .cockpit-tile-body{display:flex;flex-direction:column;gap:8px;overflow:auto}#movement-compare-tool .cockpit-settings-panel{display:block}#movement-compare-tool .cockpit-settings-panel[hidden],#movement-compare-tool .cockpit-results-panel[hidden],#movement-compare-tool .cockpit-manual-panel[hidden]{display:none}#movement-compare-tool .cockpit-tabs{display:flex;gap:6px;flex:none}#movement-compare-tool .cockpit-tabs button{width:auto;padding:6px 12px;border:1px solid rgba(129,140,248,.3);border-radius:7px;background:#0f172aa6;color:#c7d2fe;cursor:pointer}#movement-compare-tool .cockpit-tabs button.active{background:#4f46a5;color:#fff}#movement-compare-tool .cockpit-results-panel,#movement-compare-tool .cockpit-manual-panel{display:flex;flex-direction:column;gap:8px;overflow:auto}#movement-compare-tool .cockpit-manual-panel>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0!important}#movement-compare-tool .cockpit-option-label{display:flex;flex-direction:column;gap:4px;color:#c7d2fe;font:600 11px system-ui}#movement-compare-tool .cockpit-option-label select{width:100%;min-width:0;padding:6px;border-radius:7px;background:#1e293b;color:#e2e8f0;border:1px solid rgba(129,140,248,.4)}#movement-compare-tool .cockpit-tile-recording video{width:100%;height:100%;object-fit:contain;border-radius:7px;background:#020617}#movement-compare-tool .cockpit-recording-message{position:absolute;left:12px;bottom:12px;height:auto!important;padding:5px 8px;border-radius:6px;background:#020617cc;font-size:11px}#movement-compare-tool .cockpit-settings-main{display:flex;flex-direction:column;min-width:0;gap:7px}#movement-compare-tool #sign-selector,#movement-compare-tool #camera-selector{position:static!important;inset:auto!important;width:100%!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}#movement-compare-tool #camera-selector select{width:100%;min-width:0;max-width:145px!important}#compare-layout-reset{position:absolute;right:16px;bottom:16px;z-index:1000;pointer-events:auto;padding:9px 12px;border:1px solid rgba(129,140,248,.55);border-radius:9px;background:#0f172af0;color:#e0e7ff;font:600 12px system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 24px #02061766}@media (max-width: 740px){#movement-compare-tool .cockpit-manual-panel>div{grid-template-columns:1fr}}#feedback-panel{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:var(--color-panel);padding:16px 32px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);z-index:10}#app.comparison-mode #feedback-panel{bottom:clamp(245px,30vh,340px);z-index:101;pointer-events:none;padding:10px 18px;min-width:235px}#app.comparison-mode #score-display{font-size:1rem}#app.comparison-mode #score-value{font-size:1.35rem}#app.comparison-mode #status-message{white-space:pre-line;text-align:center}#score-display{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:600}#score-label{color:#f8fafcb3}#score-value{font-size:2rem;font-variant-numeric:tabular-nums;transition:color .3s ease}#score-value.correct{color:var(--color-correct)}#score-value.close{color:var(--color-close)}#score-value.wrong{color:var(--color-wrong)}#score-value.no-detection{color:var(--color-neutral)}#status-message{font-size:.875rem;color:#f8fafc99}.loading #status-message:after{content:"";animation:dots 1.5s infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@keyframes score-pulse{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}#score-value.pulse{animation:score-pulse .4s ease-out}
