:root{color-scheme:dark;--bg:#0c100e;--surface:#141b17;--raised:#1c2520;--line:#2c3830;--text:#f1f4ee;--muted:#a2afa6;--lime:#c5f567;--mint:#67dec3;--red:#ff9890;--radius:22px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--lime)}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button{border:0;color:inherit;background:none}a{color:inherit;text-decoration:none}p{color:var(--muted);line-height:1.6;margin:10px 0 20px}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.045em}h1{font-size:clamp(30px,3.2vw,48px);line-height:1.13}h2{font-size:25px}h3{font-size:20px}em{font-style:normal;color:var(--lime)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.19em;color:var(--lime);margin:0 0 14px}.small{font-size:12px}.muted{color:var(--muted)}.primary,.secondary,.danger{min-height:46px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 22px;font-weight:650;transition:background .15s,transform .15s}.primary{background:var(--lime);color:#14210e}.primary:hover:not(:disabled){background:#d6ff89;transform:translateY(-1px)}.secondary{background:#202b24;border:1px solid #39473d;color:var(--text)}.secondary:hover{background:#2a392f}.danger{border:1px solid #824a48;background:#392724;color:#ffc0ba}.text-button{color:var(--muted);font-size:13px;padding:9px 12px;white-space:nowrap}.text-button:hover{color:var(--text)}.icon-button{font-size:28px;padding:0 6px;color:var(--muted)}.brand{font-weight:850;letter-spacing:.1em;display:flex;align-items:center;gap:14px;font-size:18px}.brand-symbol{font-size:25px;background:var(--lime);color:#0c1b0c;display:grid;place-items:center;width:43px;height:43px;position:relative;border-radius:12px;letter-spacing:-.1em;transform:skew(-7deg)}.brand-symbol span{font-size:16px;position:absolute;right:5px;top:3px}.version{font-size:9px;color:var(--muted);letter-spacing:.08em;padding-left:16px;border-left:1px solid var(--line)}.login-screen{display:grid;grid-template-columns:1.25fr 1fr;min-height:100vh}.login-story{padding:50px max(38px,5vw);position:relative;overflow:hidden;background:radial-gradient(ellipse at 0% 30%,#273c2466,transparent 70%),linear-gradient(160deg,#151e17,#0c110d)}.login-story:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0,transparent 160px,#a8ce4b06 161px,#a8ce4b06 163px);pointer-events:none}.hero-copy{margin-top:clamp(70px,13vh,150px);position:relative}.hero-copy h1{font-size:clamp(48px,5.5vw,80px);letter-spacing:-.065em;font-weight:700;line-height:1.04}.hero-copy>p:last-child{font-size:16px;margin-top:28px}.hero-visual{margin-top:48px;padding:20px 0 15px;border-top:1px solid #829b4433;border-bottom:1px solid #829b4433}.hero-visual svg{width:100%;max-height:150px;display:block;filter:drop-shadow(0 0 7px #b8f05444)}.visual-top,.visual-bottom{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:.09em;color:#b4c7b7}.visual-top>span:last-child{margin-left:auto;color:#788c7a}.visual-bottom{justify-content:space-between;padding-top:12px;color:#7b917f}.login-foot{font-size:11px;margin-top:30px}.login-access{display:flex;justify-content:center;align-items:center;position:relative;padding:60px 40px}.login-box{width:100%;max-width:360px}.login-box h2{font-size:32px}.login-box>p{font-size:14px}.login-box form{margin-top:34px}.login-box button{width:100%;justify-content:space-between}.login-box .secondary{justify-content:center}.login-box .small{text-align:center;font-size:11px;margin-top:16px}.divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:#708075;font-size:9px;letter-spacing:.08em;white-space:nowrap}.divider:before,.divider:after{content:"";height:1px;background:var(--line);width:100%}.local-note{position:absolute;bottom:22px;font-size:11px;display:flex;gap:9px;align-items:center}.live-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 10px #c5f56740}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px;background:#101612}.topbar .brand{font-size:15px}.topbar .brand-symbol{width:34px;height:34px;font-size:21px}.top-context{display:flex;gap:15px;align-items:center;font-size:14px;margin-left:auto}.pill,.outline-label{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:9px;letter-spacing:.12em;white-space:nowrap;color:var(--muted)}.pill{background:#27331e;color:var(--lime);border-color:#4b613b;font-weight:750}.pill.example{color:#dfb87e;border-color:#614c31;background:#2b2319}.page{max-width:1500px;margin:auto;padding:42px 46px 70px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.section-heading p:not(.eyebrow){margin:14px 0 0;font-size:14px}.athletes-page{max-width:1250px;padding-top:65px}.athletes-page .search{max-width:450px;margin:32px 0}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:var(--surface)}.search span{font-size:23px;color:var(--muted)}input,select,textarea{display:block;width:100%;border:1px solid var(--line);background:#111813;color:var(--text);border-radius:10px;min-height:47px;padding:12px 14px}input::placeholder,textarea::placeholder{color:#748079}input:focus,select:focus,textarea:focus{border-color:var(--lime)}.search input{border:0;background:none}.search input:focus{outline:none}.search:focus-within{outline:1px solid var(--lime)}label{display:block;font-size:12px;color:#bbc7bd;line-height:1.5}label>input,label>select,label>textarea{margin-top:7px}form>label{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.athlete-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.athlete-card{border:1px solid var(--line);border-radius:18px;padding:24px;text-align:left;background:var(--surface);display:flex;gap:17px;align-items:center;transition:all .15s}.athlete-card:hover{border-color:var(--lime);background:#202a1c}.athlete-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#293a21;color:var(--lime);font-size:17px;font-weight:650;flex-shrink:0}.athlete-card b{font-size:17px;display:block}.athlete-card small{color:var(--muted);display:block;margin-top:6px}.athlete-card>span:last-child{margin-left:auto;color:var(--lime)}.empty{text-align:center;border:1px dashed var(--line);border-radius:22px;padding:55px 24px;margin-top:30px}.empty-mark{display:inline-block;color:var(--lime);font-size:43px;margin-bottom:15px}.empty p{margin-bottom:0}.main-nav{display:flex;gap:10px;padding:14px 34px;border-bottom:1px solid var(--line);background:#101612}.main-nav button{display:flex;gap:10px;align-items:center;padding:12px 18px;border-radius:10px;color:var(--muted);font-size:13px}.main-nav button.active{background:#25321e;color:var(--lime)}.main-nav small{font-size:7px;border:1px solid #555e48;padding:3px 5px;border-radius:4px}.free-lock{font-size:9px;color:#a9a18a}.catalog-controls{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:28px 0}.catalog-controls .search{width:280px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{border:1px solid var(--line);padding:9px 14px;border-radius:30px;font-size:12px;color:var(--muted)}.chips button.selected{background:var(--text);border-color:var(--text);color:#162017}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.exercise-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;text-align:left;background:var(--surface);transition:transform .18s,border-color .18s;padding:0}.exercise-card:hover{border-color:#7a9d46;transform:translateY(-4px)}.exercise-image{height:150px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#28382288,#141b17);position:relative;border-bottom:1px solid #2c383066}.exercise-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.exercise-image .exercise-arrow{position:absolute;bottom:12px;right:14px;border:1px solid #63864066;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:var(--lime)}.exercise-copy{padding:18px 20px 20px;min-height:105px}.exercise-copy small{font-size:8px;letter-spacing:.14em;color:var(--lime);text-transform:uppercase}.exercise-copy h3{font-size:18px;letter-spacing:-.025em;margin:7px 0 5px}.exercise-copy p{font-size:11px;margin:0}.live-page{padding-top:24px}.live-heading{display:flex;align-items:center;gap:22px;margin-bottom:24px}.live-heading h1{font-size:32px}.live-heading .eyebrow{margin:0 0 6px;font-size:9px}.live-heading .pill{margin-left:auto}.live-heading>.text-button{padding-left:0}.live-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(400px,1.1fr);gap:22px;align-items:start}.camera-card,.chart-card,.session-control{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.camera-top,.camera-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;font-size:12px;color:var(--muted);gap:8px}.camera-top{height:54px}.camera-top .live-dot{margin-right:7px}.camera-stage{height:550px;background:#080c09;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.camera-stage img{width:100%;height:100%;object-fit:contain}.live-layout.landscape{grid-template-columns:1.3fr 1fr}.live-layout.landscape .camera-stage{height:430px}.camera-stage #cameraPlaceholder{text-align:center;padding:34px;color:var(--muted);max-width:340px}.camera-symbol{font-size:60px;color:var(--lime);display:inline-block;margin-bottom:25px}.camera-stage h2{font-size:22px}.camera-stage p{font-size:13px}.camera-caption{position:absolute;bottom:15px;left:15px;border:1px solid #657f5166;background:#102016d9;padding:9px 14px;border-radius:9px;backdrop-filter:blur(8px);font-size:11px}.camera-caption .live-dot{margin-right:7px}.segmented{display:flex;border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px}.segmented button{font-size:10px;padding:6px 8px;border-radius:5px;color:var(--muted)}.segmented button.selected{background:#35422f;color:var(--lime)}.live-data{display:flex;flex-direction:column;gap:17px}.chart-card{padding:24px}.chart-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.chart-heading .eyebrow{font-size:8px;margin-bottom:8px}.chart-heading h2{font-size:22px;letter-spacing:-.035em}.chart-arrows{display:flex;gap:6px}.chart-arrows button{width:33px;height:33px;border-radius:50%;border:1px solid var(--line);font-size:18px}.chart-arrows button:hover{border-color:var(--lime);color:var(--lime)}.measurement-row{display:flex;justify-content:space-between;align-items:center;margin:24px 0 4px;min-height:107px}.metric-value{font-size:63px;letter-spacing:-.07em;font-weight:650;font-variant-numeric:tabular-nums}.metric-unit{font-size:22px;color:var(--muted);margin-left:8px}.measurement-row p{margin:2px 0;font-size:11px;max-width:260px}.measurement-row canvas{width:150px;height:100px;flex-shrink:0}.chart-container{position:relative;height:180px}.chart-container>canvas{width:100%;height:100%;display:block}.chart-container>#chartEmpty{position:absolute;top:40%;width:100%;text-align:center;font-size:12px;color:var(--muted);pointer-events:none;padding:0 30px}.chart-footer{display:flex;justify-content:space-between;gap:15px;color:#839487;font-size:10px;margin-top:4px}.chart-footer>span:first-child{color:var(--lime)}.metric-summary{display:grid;grid-template-columns:1fr 1fr 1.2fr;border-top:1px solid var(--line);padding-top:18px;margin-top:19px;gap:14px}.metric-summary span{font-size:8px;letter-spacing:.11em;color:var(--muted);display:block;margin-bottom:7px}.metric-summary b{font-size:19px;font-weight:550;font-variant-numeric:tabular-nums}.session-control{padding:20px 24px}.steps{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px;font-size:10px;color:#7e8b80}.steps .current{color:var(--lime)}.session-control h3{font-size:20px}.session-control p{font-size:12px;margin:8px 0}.session-control .small{font-size:10px;margin:12px 0 0}.control-actions{display:flex;gap:10px;margin-top:17px}.control-actions .primary{flex:1}.control-actions .danger{flex:1}progress{display:block;height:4px;width:100%;border:0;appearance:none;border-radius:8px;background:#31402e;margin:14px 0 0}progress::-webkit-progress-bar{background:#31402e;border-radius:8px}progress::-webkit-progress-value{background:var(--lime);border-radius:8px}progress::-moz-progress-bar{background:var(--lime)}.guide-details{margin-top:22px;border:1px solid var(--line);border-radius:15px;padding:18px 22px;font-size:13px}.guide-details summary{cursor:pointer;color:var(--muted)}.guide-details[open] summary{margin-bottom:17px}.guide-details p{max-width:900px}.joint-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin-top:20px}.joint-details div{padding:10px;border:1px solid var(--line);border-radius:9px;font-size:11px;display:flex;flex-direction:column;gap:6px}.joint-details span{color:var(--muted);font-size:10px}.result-box{margin-top:18px;border:1px solid #779348;background:#192719;border-radius:18px;padding:22px}.result-box p{margin:8px 0}.date-label{min-width:180px}.history-day{margin:32px 0 15px;font-size:18px}.history-row{display:grid;grid-template-columns:1.5fr 1fr auto;align-items:center;gap:22px;padding:22px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;background:var(--surface)}.history-row h3{font-size:18px}.history-row p{font-size:11px;margin:6px 0}.history-row .secondary{font-size:11px;min-height:36px;padding:9px 14px}.history-metrics{display:flex;gap:20px;color:var(--muted);font-size:12px}.history-metrics b{display:block;color:var(--text);font-size:18px;margin-bottom:6px}.locked{max-width:580px;margin:50px auto}.locked .primary{margin-top:20px}.example-notice{background:#282217;border:1px solid #63502e;border-radius:14px;padding:18px 22px;display:flex;flex-direction:column;gap:8px;font-size:12px;color:#ddc7a0;margin:25px 0}.example-notice span{color:#b6a68b;line-height:1.5}.integral-tabs{margin-bottom:28px}.integral-grid,.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.integral-card,.tool-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.integral-card h2,.tool-card h2{font-size:21px;margin:16px 0 12px}.integral-card p,.tool-card p{font-size:13px}.integral-card .eyebrow{font-size:8px}.integral-card.wide{grid-column:span 2}.integral-card .big{font-size:40px;font-variant-numeric:tabular-nums}.integral-card .big small{font-size:14px;color:var(--muted)}.integral-card dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 0;font-size:12px}.integral-card dt{color:var(--muted)}.integral-card dd{margin:0;text-align:right}.integral-card ul{padding-left:18px;font-size:13px;color:var(--muted);line-height:1.8}.sensor-status{font-size:9px;color:#a4b49d;letter-spacing:.05em;display:inline-block;border:1px solid var(--line);border-radius:6px;padding:6px 8px}.source-note{font-size:10px!important;color:#8d9b90;border-top:1px solid var(--line);padding-top:13px;margin:18px 0 0!important}.connections-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;background:var(--surface);border-radius:16px;overflow:hidden}.connections-table td,.connections-table th{padding:18px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}.connections-table th{color:var(--lime);font-size:10px;font-weight:600;letter-spacing:.07em}.connections-table td{color:var(--muted)}.tools-grid{grid-template-columns:repeat(2,1fr)}.tool-icon{font-size:35px;color:var(--lime)}.tool-card .secondary{font-size:12px}.pending{background:#131815}.error{color:var(--red);font-size:12px;min-height:0}.error:empty{display:none}dialog{background:#172019;color:var(--text);border:1px solid #3e5141;border-radius:22px;width:min(580px,calc(100vw - 30px));padding:28px;max-height:90vh;overflow:auto}dialog::backdrop{background:#040b08b8;backdrop-filter:blur(7px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}dialog p{font-size:13px}.dialog-heading h2{font-size:26px}dialog .primary{width:100%}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:999;background:#e0edce;color:#1d281c;border:1px solid #b1d576;box-shadow:0 8px 35px #0006;border-radius:12px;padding:14px 22px;max-width:min(600px,90vw);font-size:13px}#assessmentHistory{margin-top:35px}.assessment-row{padding:15px 20px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;display:flex;justify-content:space-between;gap:15px;font-size:13px}.assessment-row a{color:var(--lime)}.measurement-result{margin-top:20px;border:1px solid #556f3e;padding:20px;border-radius:14px}.measurement-result b{font-size:24px;display:block;margin-bottom:9px}.measurement-result p{margin:6px 0;font-size:12px}textarea{resize:vertical;min-height:110px}
@media(min-width:1600px){.camera-stage{height:610px}.chart-container{height:230px}}
@media(max-width:1100px){.page{padding:32px 24px 55px}.main-nav{padding:12px 18px}.topbar{padding:0 24px}.live-layout,.live-layout.landscape{grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:15px}.camera-stage{height:530px}.camera-footer{flex-direction:column;align-items:start}.chart-card{padding:20px}.chart-heading h2{font-size:18px}.metric-value{font-size:54px}.measurement-row canvas{width:120px;height:80px}.integral-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.login-screen{grid-template-columns:1fr}.login-story{padding:28px;min-height:370px}.hero-copy{margin-top:45px}.hero-copy h1{font-size:52px}.hero-copy>p:last-child{font-size:14px}.hero-visual,.login-foot{display:none}.login-access{padding:45px 25px 75px}.local-note{bottom:8px}.topbar{padding:0 16px;height:70px;gap:7px}.topbar .brand{font-size:12px;gap:9px}.top-context{gap:5px;font-size:11px}.top-context .pill{display:none}.topbar .text-button{font-size:11px;padding:7px}.main-nav{padding:10px;gap:3px;overflow:auto}.main-nav button{padding:10px;font-size:11px;gap:5px;white-space:nowrap}.main-nav small{display:none}.page{padding:28px 18px 50px}.section-heading{align-items:start;gap:20px;flex-wrap:wrap}.section-heading h1{font-size:32px}.section-heading>.outline-label{display:none}.section-heading .primary{font-size:12px}.catalog-controls{gap:15px}.catalog-controls .search{width:100%}.chips button{font-size:11px;padding:8px 12px}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exercise-image{height:130px}.exercise-copy{padding:15px;min-height:104px}.exercise-copy h3{font-size:16px}.live-heading{gap:10px;flex-wrap:wrap}.live-heading h1{font-size:27px}.live-heading .eyebrow{font-size:8px}.live-heading>.text-button{width:100%;text-align:left}.live-layout,.live-layout.landscape{grid-template-columns:1fr}.camera-stage{height:440px}.live-layout.landscape .camera-stage{height:280px}.camera-footer{flex-direction:row;align-items:center}.measurement-row canvas{width:150px;height:100px}.chart-heading h2{font-size:22px}.history-row{grid-template-columns:1fr;gap:12px}.history-row .secondary{justify-self:start}.integral-grid,.tools-grid{grid-template-columns:1fr}.integral-card.wide{grid-column:auto}.connections-table{font-size:11px}.connections-table td,.connections-table th{padding:12px 9px}.athletes-page{padding-top:35px}.form-row{grid-template-columns:1fr}.date-label{width:100%}.measurement-row p{max-width:220px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.check{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.check input{width:17px;height:17px;min-height:17px;margin:2px 0;flex-shrink:0;accent-color:var(--lime)}a[aria-disabled="true"]{opacity:.45;cursor:not-allowed}.integral-card a,.integral-grid+p a{color:var(--lime);text-decoration:underline;text-underline-offset:3px}

.live-page:fullscreen{background:var(--bg);overflow:auto;padding:20px 28px;width:100%;max-width:none}.live-page:fullscreen .live-heading{margin-bottom:16px}.live-page:fullscreen .camera-stage{height:calc(100vh - 218px)}.live-page:fullscreen .guide-details{display:none}
.chart-arrows button{width:42px;height:42px}.chart-heading .eyebrow,.exercise-copy small,.metric-summary span{font-size:10px}.chart-footer{font-size:11px}#athleteHeader{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented button{min-height:32px}@media(max-width:800px){.chart-arrows button{width:44px;height:44px}.chart-heading h2{font-size:20px}.measurement-row canvas{width:120px;height:80px}}
.library-filters{display:flex;gap:16px;align-items:end}.library-filters label{min-width:170px}.recording-card{display:flex;justify-content:space-between;gap:26px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin:12px 0}.recording-copy .eyebrow{margin-bottom:8px}.recording-copy h3{font-size:22px}.recording-copy p:not(.eyebrow){margin:9px 0 14px;font-size:12px}.recording-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:end}.recording-actions .primary,.recording-actions .secondary{font-size:12px;min-height:44px;padding:12px 17px}.review-panel{border:1px solid #607c40;background:var(--surface);border-radius:22px;margin:25px 0 35px;overflow:hidden;scroll-margin-top:16px}.review-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 25px}.review-heading .eyebrow{margin-bottom:8px}.review-heading h2{font-size:25px}.review-viewport{position:relative;background:#050805;height:min(62vh,620px);min-height:280px}.review-viewport video,.review-viewport canvas{width:100%;height:100%;object-fit:contain;display:block;position:absolute;inset:0}.review-viewport canvas{pointer-events:none}.review-viewport-actions{position:absolute;bottom:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:16px}.review-viewport-actions .secondary{background:#15251eea;backdrop-filter:blur(8px);font-size:12px}.review-viewport-actions button[aria-pressed="true"]{border-color:var(--lime);color:var(--lime)}.review-viewport:fullscreen{width:100%;height:100%;background:#050805}.review-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:20px 24px 8px}.review-controls .secondary{font-size:12px;min-height:43px;padding:10px 13px}.review-controls label{display:flex;align-items:center;gap:10px;font-size:11px;margin-left:auto}.review-controls label select{min-height:40px;width:110px;margin:0;padding:8px 11px}.review-controls>span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);margin-left:10px}.seek-label{padding:10px 25px;font-size:10px;color:var(--muted)}.seek-label input[type="range"]{padding:0;min-height:24px;border:0;background:none;accent-color:var(--lime)}.review-status{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:5px 25px 0;gap:20px}.review-panel>p{margin:15px 25px;font-size:12px}.review-downloads{padding:0 25px 24px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}.review-downloads .secondary{font-size:12px}.recording-warning{color:#ffd591!important;background:#342b1b;padding:15px 18px;border-radius:12px;font-size:12px}
@media(max-width:1000px){.recording-card{align-items:start}.recording-actions{max-width:250px}.review-controls label{margin-left:0}}@media(max-width:700px){.library-filters{flex-wrap:wrap;width:100%}.library-filters label{flex:1}.recording-card{flex-direction:column}.recording-actions{justify-content:start;max-width:none;width:100%}.recording-actions .primary{width:100%}.review-heading{padding:20px}.review-heading h2{font-size:20px}.review-controls{padding:16px}.review-controls .primary{width:100%}.review-controls>span{margin:5px 0}.review-viewport{height:420px}.review-viewport-actions{bottom:12px;left:10px;right:10px}.review-viewport-actions .secondary{font-size:10px;padding:11px 13px}.review-status{padding:5px 16px 0}.review-panel>p{margin:15px 16px}.review-downloads{padding:0 16px 20px}.seek-label{padding:10px 16px}}
/* v007 — coach tools, bilateral signals and quiet contextual help. */
:root{--left:#6ee8c5;--right:#c9a6ee}.exercise-card{position:relative;overflow:visible}.exercise-select{display:block;padding:0;width:100%;text-align:left;border-radius:18px;overflow:hidden}.exercise-select .exercise-image{width:100%}.exercise-extras{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;pointer-events:none}.exercise-extras>button{pointer-events:auto}.favorite-button{width:35px;height:35px;background:#0c1714d9;border:1px solid #405544;border-radius:50%;font-size:23px;line-height:1;color:#c2ceb9}.favorite-button[aria-pressed=true]{color:var(--lime);border-color:#a6cc64}.info-button{display:inline-flex;align-items:center;justify-content:center;min-width:25px;width:25px;height:25px;border:1px solid #647b68;border-radius:50%;background:#17251bd9;color:#bfd0bc;font-family:Georgia,serif;font-size:15px;font-weight:bold;padding:0;flex-shrink:0;cursor:help}.info-button:hover,.info-button:focus-visible{border-color:var(--lime);color:var(--lime)}.info-tooltip{position:fixed;z-index:10000;width:max-content;max-width:min(350px,calc(100vw - 24px));padding:16px 18px;border:1px solid #597251;border-radius:13px;background:#1e3025;color:#e1ebdc;box-shadow:0 12px 50px #0009;font-size:12px;line-height:1.65;pointer-events:none}.title-info{display:flex;align-items:center;gap:10px}.bilateral-values{display:flex;flex-wrap:wrap;gap:4px 21px;align-items:baseline;min-width:0}.bilateral-values>p{flex-basis:100%;max-width:100%}.side-label{display:block;font-size:9px;letter-spacing:.12em;margin-bottom:4px}.left,#metricValue,#replayMetricValue{color:var(--left)}.right{color:var(--right)}.bilateral-values .metric-value{font-size:44px}.bilateral-values .metric-unit{font-size:14px;margin-left:5px}.measurement-row{gap:8px}.measurement-row canvas{width:120px;height:80px}.camera-footer{flex-wrap:wrap}.camera-stage #stream{cursor:crosshair}.camera-caption{max-width:calc(100% - 30px);font-size:10px}.recording-thumb{width:85px;height:110px;object-fit:cover;object-position:50% 40%;border-radius:11px;border:1px solid #344637;flex-shrink:0}.recording-copy{flex:1;min-width:170px}.recording-card .recording-actions{max-width:300px}.coach-note{border-left:2px solid var(--mint);padding-left:12px;white-space:pre-wrap;color:#cbdaca!important;font-size:12px!important}.quick-note{padding-top:18px;margin-top:16px;border-top:1px solid #415b36}.quick-note summary{cursor:pointer;color:#ceeba4;font-size:13px}.quick-note form{margin-top:17px;max-width:680px}.quick-note textarea{min-height:76px}.quick-note button{margin-top:8px}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}.trash-row p{margin:0}.import-job{padding:20px 24px;background:#1b2a1c;border:1px solid #5a7441;border-radius:15px;margin-bottom:20px}.import-job span{display:block;padding-top:8px;color:var(--muted)}.review-body{display:grid;grid-template-columns:minmax(280px,1fr) minmax(340px,1fr);gap:20px;padding:0 22px 22px}.review-viewport{height:540px;min-height:320px;border-radius:14px;overflow:hidden}.review-heading{padding-bottom:20px}.review-media .review-controls{padding:18px 0 8px}.review-media .seek-label{padding:8px 0}.review-media .review-status{padding:8px 0}.review-media>p{font-size:11px;margin:10px 0}.review-viewport-actions{flex-wrap:wrap;gap:6px;justify-content:center;bottom:10px;left:8px;right:8px}.review-viewport-actions .secondary{padding:9px 12px;min-height:36px;font-size:10px;backdrop-filter:blur(8px)}.review-chart-wrap .chart-card{border:1px solid var(--line);border-radius:17px}.range-editor{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:15px;background:#18221b;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.range-editor>b{width:100%;font-size:14px}.range-editor>span{width:100%;font-size:13px;color:var(--mint)}.range-editor .secondary{font-size:12px;padding:10px 16px;min-height:39px}.review-downloads{border-top:1px solid var(--line);padding-top:18px}.pattern-hero{position:relative;border:1px solid #536b3e;background:radial-gradient(ellipse at top right,#30432270,transparent 70%),#172219;border-radius:22px;padding:30px;margin-bottom:24px}.pattern-hero h2{font-size:32px}.pattern-hero p:last-of-type{max-width:740px;margin-bottom:0}.pattern-hero>.info-button{position:absolute;right:22px;top:22px}.pattern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.pattern-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:26px;overflow:auto}.pattern-card h2{font-size:23px}.pattern-card .sensor-status{display:inline-block;margin-top:18px}.pattern-finding{font-size:14px;line-height:1.6;color:#d2decb}.pattern-table{width:100%;border-collapse:collapse;font-size:12px}.pattern-table th{text-align:left;font-size:9px;letter-spacing:.06em;color:var(--muted);font-weight:500;padding:10px 5px;border-bottom:1px solid #3c503b}.pattern-table td{padding:13px 5px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.pattern-table b{font-size:12px;font-weight:500}.pattern-table small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.pattern-table td:nth-child(2){color:var(--mint);white-space:nowrap}.pattern-table td:last-child{width:40px}.comparison-foot{font-size:12px;max-width:960px;margin-top:25px}#measurementDialog{max-width:760px}#measurementBody>form{margin-top:25px}#measurementBody>form>label{margin-bottom:18px}.library-filters{flex-wrap:wrap}.library-filters .secondary{font-size:12px;min-height:42px}.main-nav{flex-wrap:wrap}
@media(max-width:1200px){.review-body{grid-template-columns:1fr 1fr;padding:0 15px 18px;gap:15px}.review-viewport{height:480px}.review-chart-wrap .chart-card{padding:18px}.review-chart-wrap .measurement-row canvas{width:100px;height:67px}.bilateral-values .metric-value{font-size:38px}.pattern-card{padding:20px}.recording-card{gap:16px}}
@media(max-width:950px){.review-body{grid-template-columns:1fr}.review-viewport{height:500px}.review-chart-wrap .chart-card{padding:22px}.pattern-grid{grid-template-columns:1fr}.recording-card{flex-wrap:wrap}.recording-card .recording-actions{max-width:none;width:100%;justify-content:start}.main-nav{flex-wrap:nowrap}.main-nav button{padding:10px 12px}.bilateral-values .metric-value{font-size:42px}}
@media(max-width:700px){.recording-card{flex-direction:row}.recording-thumb{width:65px;height:90px}.recording-copy{min-width:0}.recording-actions .primary{width:auto}.recording-actions .text-button{padding:10px}.pattern-hero{padding:25px}.pattern-hero h2{font-size:28px}.pattern-table td{padding:12px 3px}.bilateral-values .metric-value{font-size:38px}.range-editor{padding:16px}.library-filters{gap:8px}.camera-footer{gap:9px}.review-viewport{height:440px}.main-nav button{padding:10px;flex-shrink:0}.review-body{padding:0 12px 18px}.review-chart-wrap .chart-heading h2{font-size:19px}}

/* Keep the bilateral dial readable alongside the two values. */
.measurement-row canvas{width:150px;height:100px;flex-shrink:0}.metric-footer>div{min-width:0}.metric-footer strong{font-size:16px}.comparison-group{display:block;color:var(--muted);margin-top:10px}
@media(max-width:1200px){.review-chart-wrap .measurement-row canvas{width:140px;height:94px}}
@media(max-width:550px){.measurement-row{flex-wrap:wrap}.measurement-row canvas,.review-chart-wrap .measurement-row canvas{width:140px;height:94px;margin-left:auto}}

.review-viewport{height:clamp(340px,56vh,540px)}.range-editor{display:block}.range-editor summary{cursor:pointer;color:#d1e7bd;font-size:13px}.range-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.range-controls>span{width:100%;color:var(--mint);font-size:13px}.metric-summary b{font-size:16px}.metric-summary>div{min-width:0}

/* Keep the feet visible: overlays share the image area, controls sit below it. */
.review-viewport video,.review-viewport canvas{height:calc(100% - 46px)}.review-viewport-actions{bottom:0;left:0;right:0;padding:6px;background:#0a120d}.review-viewport-actions .secondary{min-height:32px;padding:7px 12px}

/* v014: clear focus, comfortable touch targets, and legible mobile forms. */
html{scroll-padding-top:150px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);border-color:var(--lime)}h1[tabindex="-1"]:focus{outline:none}button,a,input,select,textarea{touch-action:manipulation}.recording-load{display:inline-flex;align-items:center;border-radius:8px;background:#233426;color:#d7efbe;padding:7px 10px;font-size:12px;margin-top:9px}.recording-attention{color:#f1ca93!important}.icon-button{min-width:44px;min-height:44px}.search input{min-width:0}.exercise-card .favorite-button{min-width:40px;min-height:40px}.exercise-extras .info-button{min-width:32px;width:32px;height:32px}.history-date-heading h2{overflow-wrap:anywhere}.page,.athlete-sheet{scroll-margin-top:140px}
@media(max-width:800px){.login-story{padding:25px 24px;min-height:0}.hero-copy{margin-top:0}.hero-copy h1{font-size:36px}.hero-copy>p:last-child{font-size:13px;margin:14px 0 0}.hero-copy>.eyebrow{font-size:9px;margin-bottom:10px}.login-access{padding:28px 24px 55px}.login-box{max-width:460px}.login-box h2{font-size:27px}.login-box form{margin-top:24px}input,select,textarea{font-size:16px}.chips{flex-wrap:nowrap;overflow:auto;padding-bottom:6px}.chips button{flex-shrink:0;min-height:42px}.main-nav button{min-height:44px}.page{padding-bottom:80px}.section-heading h1{overflow-wrap:anywhere}}
@media(max-width:380px){.exercise-grid{gap:8px}.exercise-copy{padding:12px}.exercise-copy h3{font-size:15px}.exercise-image{height:115px}.page{padding-inline:12px}.athlete-sheet{padding-inline:12px}.athlete-sheet-card{padding:18px}.recording-card{padding:17px;gap:12px}}
