:root{font-family:system-ui,sans-serif;color:#edf3fb;background:#030b16;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}.workspace{height:100vh;height:100dvh;display:grid;grid-template-columns:220px minmax(0,1fr);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.controls{background:#0b203a;border-right:1px solid #28405e;padding:12px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.brand{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.brand a{color:#b9c9dd;text-decoration:none;font-size:12px}.brand strong{color:#e2b852;font-size:23px}label{display:block;font-size:12px;font-weight:650;margin:8px 0}input,select,textarea,button,.button{font:inherit;width:100%;border:1px solid #4a607a;border-radius:6px;padding:9px;min-height:44px;background:#142f50;color:white}input,select,textarea{display:block;margin-top:4px;font-size:14px}textarea{resize:vertical}button,.button{font-size:13px;font-weight:650;cursor:pointer;text-align:center;margin:4px 0;display:block}button:disabled{opacity:.45;cursor:not-allowed}.button:has(input:disabled){opacity:.45;cursor:not-allowed}.pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}.record{background:#ab2838;border-color:#ce5260}.save{background:#196045}h2{font-size:14px;color:#e2b852;margin:0 0 8px}section+section{border-top:1px solid #2a4260;margin-top:12px;padding-top:12px}p,#status,#swimmer{font-size:12px;line-height:1.4;color:#bccce0;overflow-wrap:anywhere}#status{display:block;margin-top:8px}.draft{font-size:11px}.videos{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:2px;min-width:0;min-height:0;background:#46607e}.pane{position:relative;min-height:0;min-width:0;background:#020810;overflow:hidden;margin:0!important;padding:0!important;border:0!important}.pane video{width:100%;height:100%;display:block;object-fit:contain}.empty{position:absolute;inset:0;display:flex;flex-direction:column;gap:9px;align-items:center;justify-content:center;padding:45px 16px;text-align:center;color:#a7bbd4;pointer-events:none;font-size:14px}.empty strong{color:#e0eaf6;font-size:22px}.overlay{position:absolute;top:8px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:start;gap:8px;pointer-events:none}.overlay span{font-size:12px;background:#091a30c9;border-radius:5px;padding:8px}.overlay button{width:auto;min-height:44px;background:#0b203bd9;pointer-events:auto;margin:0;padding:10px 14px}.workspace[data-max] .videos{grid-template-rows:minmax(0,1fr)}.workspace[data-max="example"] #currentPane,.workspace[data-max="current"] #examplePane{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}:focus-visible{outline:3px solid #efc45d;outline-offset:2px}@media(max-width:650px){.workspace{grid-template-columns:170px minmax(0,1fr)}.controls{padding:8px}.brand strong{font-size:20px}.overlay span{display:none}.overlay{justify-content:flex-end}.overlay button{font-size:12px;padding:8px}.empty strong{font-size:17px}.empty span{font-size:12px}}
.analytics{position:absolute;z-index:3;top:53px;bottom:92px;left:9px;width:var(--analysis-width,280px);overflow-y:auto;background:#0c1e32ed;border:1px solid #29435d;border-radius:8px;padding:12px;overscroll-behavior:contain}.analytics h2{font-size:16px}.analytics h3{font-size:13px;color:#e2b852;margin:15px 0 5px}.analytics p{font-size:11px;margin:6px 0}.analytics a{color:#9bccff}.analytics table{width:100%;font-size:12px;border-collapse:collapse}.analytics td,.analytics th{padding:5px 2px;border-bottom:1px solid #2b4055;text-align:left}.analytics th:last-child,.analytics td:last-child{text-align:right}.analytics output{display:block;color:#f0c865;font-weight:700;font-size:14px;padding:8px 0}.analytics .confirm{font-size:11px;display:flex;gap:6px;align-items:start}.analytics .confirm input{width:18px;min-height:18px;flex-shrink:0;margin:0}.analytics-toggle{position:absolute;z-index:4;top:8px;left:115px;width:auto;min-height:36px;margin:0;background:#122d48e8;padding:8px;font-size:12px}.analytics[hidden]{display:none}.pane.analysis-overlay .analytics{width:min(290px,calc(100% - 18px));box-shadow:0 4px 24px #0009}

.technique{margin:0}.technique dt{font-size:12px;font-weight:750;color:#e4bd60;margin-top:11px}.technique dt small{font-size:9px;color:#a6bdd3;font-weight:500;float:right}.technique dd{font-size:12px;line-height:1.45;margin:3px 0 0;color:#e0e9f4}

/* Compact controls: paired settings and actions keep the complete workflow visible. */
.controls{padding:9px 10px}.controls .brand{flex-direction:row;align-items:center;justify-content:space-between;margin:0 0 7px;gap:5px}.controls .brand strong{font-size:20px}.controls label{margin:4px 0;font-size:11px}.controls input,.controls select,.controls button,.controls .button{min-height:36px;padding:6px 7px;font-size:12px;margin-top:2px;margin-bottom:2px}.controls select{width:100%;min-width:0}.controls .pair{gap:6px}.controls .pair>*{min-width:0}.controls .settings label{margin:2px 0}.controls h2{font-size:13px;margin:5px 0}.controls section+section{margin-top:7px;padding-top:6px}.controls #status{margin:3px 0;font-size:11px;line-height:1.25}.controls #swimmer{display:block;font-size:11px;line-height:1.25;margin:2px 0}.controls #feedback{font-size:11px;line-height:1.25;margin:4px 0;max-height:42px;overflow-y:auto}.controls textarea{height:40px;min-height:40px;resize:none;padding:6px;font-size:12px;margin-top:2px}.controls .draft{font-size:10px;line-height:1.2;margin:3px 0}.controls .frame-status{font-size:10px;line-height:1.2;display:block}.controls .frame-status:empty{display:none}
@media(max-height:740px){.controls{padding:5px 8px}.controls .brand{margin-bottom:3px}.controls .brand strong{font-size:18px}.controls input,.controls select,.controls button,.controls .button{min-height:30px;padding:4px 6px;margin:1px 0}.controls h2{margin:3px 0}.controls label{margin:2px 0}.controls section+section{margin-top:4px;padding-top:3px}.controls textarea{height:32px;min-height:32px}.controls #feedback{max-height:28px}.controls .draft{margin:2px 0}}

/* Distinct, compact cards for the reference and student workflows. */
.controls .control-card{background:#102943;border:1px solid #38516c;border-radius:9px;padding:6px;margin:0 0 7px;box-shadow:0 2px 8px #0002}
.controls .control-card h2{margin:0 0 5px;padding-bottom:5px;border-bottom:1px solid #38516c}
.controls .student-card{border-color:#60705b}
.controls .athlete-fields{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:5px}
.controls .athlete-fields input{min-width:0;width:100%}
.videos{gap:4px;background:#0b203a}
.pane{border:1px solid #38516c!important;border-radius:8px}
#currentPane{border-color:#60705b!important}
@media(max-height:740px){.controls .control-card{padding:4px;margin-bottom:4px}.controls .control-card h2{padding-bottom:3px;margin-bottom:3px}}

.controls .athlete-matches{max-height:138px;overflow-y:auto;border:1px solid #587493;border-radius:5px;padding:3px;background:#071a2c}
.controls .athlete-match{text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.3;min-height:36px}
.controls #athleteMatchStatus{font-size:10px;line-height:1.25;margin:3px 0}
.controls #rosterLogin{font-size:12px;color:#f0c865;display:block;margin:4px 0}
.controls input[readonly]{background:#0b2034;color:#e2b852}
