@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}:root{--ground:#0c0c0b;--surface:#171716;--raised:#262624;--active:#262624;--rule:#232321;--control:#4a4a47;--text:#fff;--muted:#b4b4b4;--faint:#949494;--primary:#fff;--on-primary:#0c0c0b;--accent:#c8f031;--positive:var(--accent);--warn:#f0a63a;--bad:#ef6b7f;--pill-warn-bg:#2e2312;--pill-bad-bg:#2f1a1e;--pill-good-bg:#222b0c;--grid:#2a2a28;--logo-motion:#8a8a86;--bg:var(--ground);--border:var(--raised);--good:var(--positive);--series-1:var(--accent);--series-2:#6e6e6a;--radius-card:16px;--radius-control:999px;--gap:16px;--card-pad:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--tap:44px;--tap-sm:44px;--tap-xs:44px;--sidebar-w:224px;--topbar-h:64px;--tabbar-h:64px;--safe-bottom:env(safe-area-inset-bottom,0px);--sticky-top:0px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:20px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--text);-webkit-font-smoothing:antialiased}.num,.kpi-strip dd,.figure b{font-variant-numeric:tabular-nums}.dash{color:var(--faint)}h1,h2,h3{font-weight:600}button,a.button{font:inherit;color:var(--text);cursor:pointer;min-height:var(--tap);border-radius:var(--radius-control);border:1px solid var(--control);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:500;text-decoration:none;transition:background-color .12s,border-color .12s,transform 80ms;display:inline-flex}button:hover,a.button:hover{background:var(--raised)}button:active,a.button:active{transform:scale(.98)}button.primary,a.button.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}button.primary:hover,a.button.primary:hover{background:#e6e6e3}button.ghost{background:0 0;border-color:#0000}button.ghost:hover{background:var(--raised)}button.big{width:100%;min-height:48px;font-size:16px}button.danger,button.ghost.danger{color:var(--bad)}button:disabled{opacity:.55;cursor:default;transform:none}:focus-visible{outline:2px solid var(--text);outline-offset:2px}a{color:var(--text)}.text-link{min-height:var(--tap);color:var(--muted);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--text)}.back-link{min-height:var(--tap);margin-bottom:var(--space-2);color:var(--muted);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text)}select{font:inherit;color:inherit;background:var(--ground);border:1px solid var(--control);min-height:var(--tap);border-radius:10px;padding:0 12px}.page{max-width:640px;padding:var(--space-5) 16px 48px;margin:0 auto}.page.wide{max-width:1100px}.page h1{margin:0;font-size:20px;line-height:28px}.page h2{margin:0 0 var(--space-3);font-size:16px;line-height:24px}.lede{color:var(--muted);margin:0;line-height:22px}.sub{color:var(--muted);margin:4px 0 0}.meta{color:var(--faint);margin:0;font-size:13px;line-height:18px}.hint{color:var(--muted)}.hint.small{color:var(--faint);font-size:13px;line-height:18px}.error{color:var(--bad)}.disclaimer{color:var(--faint);margin:0;font-size:12px}.row{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.row.tight{margin-top:0}.title-row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.title-row h1{margin:0}.title-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.title-row.section{margin:0 0 var(--space-3);align-items:center}.title-row.section h2{margin:0}.title-row.section button{min-height:var(--tap-sm)}.panel{background:var(--surface);border-radius:var(--radius-card);padding:var(--card-pad);min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.panel-head h2{margin:0}.grid{gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.grid>*{grid-column:1/-1}.side{gap:var(--gap);display:grid}.empty{gap:var(--space-4);justify-items:start;display:grid}.empty-chart{padding:var(--space-6) 0;text-align:center;margin:0}.kpi-strip{margin:0 0 var(--gap);background:var(--ground);border-radius:var(--radius-card);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.kpi-strip>div{background:var(--surface);padding:var(--space-4) var(--card-pad);align-content:start;gap:4px;display:grid}.kpi-strip dt{color:var(--muted);font-size:13px;line-height:18px}.kpi-strip dd{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:24px;font-weight:400;line-height:32px;overflow:hidden}.kpi-strip small{color:var(--faint);font-size:14px}.kpi-strip.flat{margin:var(--space-5) 0 0;gap:var(--space-4);background:0 0;border-radius:0}.kpi-strip.flat>div{background:0 0;padding:0}.figure{flex-wrap:wrap;align-items:baseline;gap:4px;margin:0;display:flex}.figure b{letter-spacing:-.02em;color:var(--accent);font-size:36px;font-weight:600;line-height:40px}.figure span{color:var(--muted);font-size:16px}.rep-strip{gap:var(--space-2);display:grid}.rep-ticks{gap:3px;height:14px;display:flex}.rep-ticks i{border-radius:2px;flex:1 1 0;min-width:3px;max-width:10px}.rep-strip.large .rep-ticks{gap:4px;height:40px}.rep-strip.large .rep-ticks i{border-radius:3px;max-width:20px}.rep-ticks .clean,.rep-legend .clean{background:var(--accent)}.rep-ticks .faulted,.rep-legend .faulted{background:var(--warn)}.rep-ticks .missed,.rep-legend .missed{box-shadow:inset 0 0 0 1.5px var(--control);background:0 0}.rep-legend{gap:var(--space-4);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.rep-legend span{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.rep-legend i{border-radius:2px;width:8px;height:8px}.shell .page{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-6))}.tabbar{z-index:5;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--ground);border-top:1px solid var(--rule);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:48px;color:var(--faint);align-content:center;justify-items:center;gap:2px;font-size:12px;font-weight:500;text-decoration:none;display:grid}.tabbar a:hover{color:var(--muted)}.tabbar a.active{color:var(--text)}.tabbar .logo,.topbar{display:none}.app-header{margin:calc(-1 * var(--space-2)) 0 var(--space-3);align-items:center;display:flex}.logo{align-items:center;gap:var(--space-2);min-height:44px;color:var(--text);text-decoration:none;display:inline-flex}.logo-word{letter-spacing:.01em;font-family:Bahnschrift,DIN Condensed,Arial Narrow,system-ui,sans-serif;font-size:20px;font-style:italic;font-weight:800;font-stretch:75%;line-height:1}.logo-word b{color:var(--accent);font-weight:600}.icon-btn{width:var(--tap);height:var(--tap);color:var(--text);border-radius:50%;flex:none;place-content:center;font-size:18px;line-height:1;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--raised)}@media (width>=1024px){.shell{padding-left:var(--sidebar-w)}.tabbar{width:var(--sidebar-w);height:auto;padding:var(--space-4) var(--space-3);border-top:0;border-right:1px solid var(--rule);flex-direction:column;gap:2px;display:flex;top:0;bottom:0;right:auto}.tabbar .logo{margin:0 var(--space-2) var(--space-5);display:inline-flex}.tabbar a{min-height:34px;padding:0 var(--space-3);color:#bbb;border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;font-size:14px;display:flex}.tabbar a:hover,.tabbar a.active{color:var(--text)}.tabbar a svg{color:var(--faint)}.tabbar a.active svg{color:var(--text)}.tabbar .tab-about{margin-top:auto}.topbar{z-index:4;height:var(--topbar-h);justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--ground);border-bottom:1px solid var(--rule);padding:0 32px;display:flex;position:sticky;top:0}.crumbs{color:var(--faint);margin:0}.crumbs a{color:var(--faint);text-decoration:none}.crumbs a:hover{color:var(--text)}.crumbs b{color:var(--text);font-weight:500}.topbar-end{align-items:center;gap:var(--space-4);display:flex}.topbar-status{color:var(--faint);font-size:12px}.app-header{display:none}.shell .page{padding:36px 32px 64px}.shell .page.wide{max-width:1164px}:root{--sticky-top:var(--topbar-h)}}.segmented{margin-top:var(--space-2);background:var(--ground);border-radius:999px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.segmented button{min-height:var(--tap-sm);color:var(--muted);border:0;padding:0 10px;font-size:13px}.segmented button.selected{background:var(--raised);color:var(--text)}.segmented.tabs{background:var(--surface);margin:0;display:inline-flex}.segmented.tabs button{padding:0 16px}.choices{gap:var(--space-2);display:grid}.choice{text-align:left;background:var(--raised);border:1px solid #0000;border-radius:12px;justify-content:flex-start;align-items:start;gap:4px;min-height:72px;padding:14px 16px;display:grid}.choice b{font-size:16px}.choice span{color:var(--muted);font-weight:400;line-height:20px}.choice:hover{background:#2e2e2c}.choice.selected{border-color:var(--text);background:var(--raised)}.home{gap:var(--gap);flex-direction:column;display:flex}.home>*{margin:0}.home>.title-row{margin-bottom:var(--space-2)}.home>.kpi-strip{order:1}.home>.home-grid{order:2}.home>.level-card{order:3}.home-grid{gap:var(--gap);align-items:stretch;display:grid}.next-set{gap:var(--space-4);flex-direction:column;display:flex}.next-set .next-foot{margin-top:auto}.next-set .panel-head{margin-bottom:0}.next-foot{gap:var(--space-3);display:grid}.settings-summary{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap);color:var(--faint);font-size:13px;text-decoration:none;display:flex}.settings-summary:hover .text-link{color:var(--text)}.last-set{gap:var(--space-4);align-content:start;display:grid}.last-set .panel-head{margin-bottom:0}.last-set .meta{color:var(--muted);font-size:14px;line-height:20px}.earlier{margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}.earlier li{border-top:1px solid var(--rule)}.earlier a{align-items:center;gap:var(--space-4);min-height:44px;color:var(--text);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 56px;text-decoration:none;display:grid}.earlier a:hover .earlier-name{color:var(--text)}.earlier-name{color:var(--muted);display:grid}.earlier-name span{color:var(--faint);font-size:13px;line-height:16px}.earlier .num{text-align:right}.earlier .of,.history-line .of{color:var(--faint)}.first-run{padding:var(--card-pad);border-radius:var(--radius-card);background:var(--surface)}.steps{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.steps li{gap:2px;display:grid}.steps b{font-weight:600}.steps span{color:var(--muted)}@media (width<=1023.98px) and (height>=640px){.shell .page.has-start{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 96px)}.start-bar{z-index:4;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom));padding:var(--space-3) var(--space-4);background:var(--ground);border-top:1px solid var(--rule);position:fixed}.start-bar .big{max-width:608px;margin:0 auto;display:flex}}.bronze{--tier:#c98a4b}.silver{--tier:#c3cad6}.gold{--tier:#f2c94c}.platinum{--tier:#8fe3f0}.level-card{gap:var(--space-4);background:var(--surface);border-radius:var(--radius-card);padding:var(--space-4) var(--card-pad);align-items:center;display:flex}.level-num{background:var(--raised);text-align:center;border-radius:50%;flex:none;place-content:center;width:56px;height:56px;line-height:1;display:grid}.level-num b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.level-num span{color:var(--faint);margin-top:2px;font-size:11px}.level-info{flex:1;gap:6px;min-width:0;display:grid}.level-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.level-head b{font-size:16px;font-weight:600}.level-head span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.xp-bar,.meter{background:var(--raised);border-radius:999px;height:6px;display:block;overflow:hidden}.xp-bar i,.meter i{border-radius:inherit;background:var(--accent);height:100%;display:block}.xp-bar i{transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.meter{width:100%;height:3px}.meter i{background:var(--muted)}.badges{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(92px,1fr));display:grid}.badges+.hint.small,.badges+.badges{margin-top:var(--space-3)}.hint.small+.badges{margin-top:6px}.badge{text-align:center;background:var(--raised);border:0;border-radius:12px;align-content:start;justify-items:center;gap:4px;min-width:0;min-height:0;padding:12px 6px;display:grid}.badge:hover{background:#2e2e2c}.badge b{overflow-wrap:anywhere;font-size:12px;font-weight:500;line-height:16px}.badge small{color:var(--faint);font-size:11px}.badge-ring{border:2px solid var(--tier);background:var(--surface);border-radius:50%;place-content:center;width:44px;height:44px;font-size:22px;line-height:1;display:grid}.badge-ring.big{border-width:3px;width:80px;height:80px;font-size:36px}.badge.locked b{color:var(--faint)}.badge.locked .badge-ring,.badge-ring.locked{filter:grayscale();opacity:.4}.set-progress{gap:var(--space-2);background:var(--surface);border-radius:var(--radius-card);padding:var(--card-pad);display:grid}.level-up{color:var(--accent);margin:0;font-size:16px;font-weight:600;animation:.5s ease-out .6s both pop}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.sheet-backdrop{z-index:10;background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop .sheet{max-width:480px;padding:24px 20px max(24px, env(safe-area-inset-bottom));text-align:center;border-radius:20px 20px 0 0;justify-items:center;gap:8px;display:grid}.sheet-backdrop .sheet h2{margin:6px 0 0}.sheet-backdrop .sheet .meter{max-width:240px;height:6px}.sheet-backdrop .sheet .row{justify-content:center;margin-top:8px}.tier-line{color:var(--muted);margin:0;font-size:12px}.history{margin:0;padding:0;list-style:none;display:grid}.history li+li{border-top:1px solid var(--rule)}.history button{text-align:left;border:0;border-radius:10px;justify-content:stretch;align-items:stretch;gap:8px;width:calc(100% + 16px);min-height:0;margin:0 -8px;padding:12px 8px;font-weight:400;display:grid}.history-line{justify-content:space-between;gap:var(--space-3);display:flex}.history-line b{font-weight:500}.history-line .of{color:var(--faint)}.show-all{width:100%;margin-top:var(--space-2)}.menu{position:relative}.menu summary{cursor:pointer;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-items{z-index:6;min-width:220px;padding:var(--space-1);background:var(--raised);border-radius:12px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000080}.menu-items button{min-height:var(--tap);border:0;border-radius:8px;justify-content:flex-start}.menu-items button:hover{background:#333331}.summary .lead{margin-bottom:var(--gap);gap:var(--space-4);display:grid}.lead-figure{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.since-last{color:var(--muted);margin:0}.since-last b{color:var(--text);font-weight:500}.since-last .up{color:var(--positive)}.since-last .down{color:var(--warn)}.cols{gap:var(--gap);align-items:start;display:grid}.col-main,.col-side{gap:var(--gap);min-width:0;display:grid}.col-side{order:-1}.cols.keep-order>.col-main,.cols.keep-order>.col-side{display:contents}.cols.keep-order .level-card{order:1}.cols.keep-order .p-clean{order:2}.cols.keep-order .p-history{order:3}.cols.keep-order .p-weekly{order:4}.cols.keep-order .p-range{order:5}.cols.keep-order .p-tempo{order:6}.cols.keep-order .p-achievements{order:7}.chart-picker{gap:var(--space-2);scrollbar-width:none;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.chart-picker::-webkit-scrollbar{display:none}.chart-picker button{color:var(--muted);border-color:var(--raised);flex:none}.chart-picker button.selected{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.fault-dot{background:var(--warn);border-radius:50%;width:6px;height:6px}.chart-panel:not(.shown){display:none}.faults{margin:0;padding:0;list-style:none;display:grid}.faults li{justify-content:space-between;gap:var(--space-3);padding:10px 0;display:flex}.faults li+li{border-top:1px solid var(--rule)}.faults li>button{min-height:var(--tap);text-align:left;border:0;border-radius:8px;flex:1;justify-content:space-between;gap:12px;margin:-10px -8px;padding:10px 8px;font-weight:400;display:flex}.faults b{white-space:nowrap;font-weight:500}.faults small{color:var(--muted);margin-left:8px;font-weight:500}.insights{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.insights li{align-items:flex-start;gap:10px;line-height:20px;display:flex}.insights i{border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.insights .warn i{background:var(--warn)}.insights .good i{background:var(--positive)}.insights .info i{background:var(--faint)}.coach{gap:var(--space-3);justify-items:start;line-height:20px;display:grid}.coach p{margin:0}.coach-headline{font-size:16px;font-weight:600}.fix{border-top:1px solid var(--rule);padding-top:var(--space-3);gap:4px;display:grid}.tag{color:var(--faint);margin-right:8px;font-size:12px;display:inline-block}.chart{margin:0}.chart figcaption{margin-bottom:var(--space-3);gap:2px;display:grid}.chart figcaption b{font-size:16px;font-weight:600;line-height:24px}.chart figcaption span{color:var(--faint);font-size:13px;line-height:18px}.chart-body{width:100%;position:relative}.chart svg{touch-action:pan-y;display:block;overflow:visible}.chart text{fill:var(--faint);font-family:inherit;font-size:11px}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .band{fill:#ffffff09}.chart .band-label.warn,.chart .flag{fill:var(--warn);font-weight:600}.chart .ref line{stroke:var(--faint);stroke-width:1px;stroke-dasharray:3 3}.chart .ref text{paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.chart .ref.warn line{stroke:var(--warn)}.chart .fault-zone{fill:var(--warn);opacity:.06}.chart .series-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .series-line.s1{stroke:var(--series-1)}.chart .series-line.faint{opacity:.35}.chart .dot{stroke:var(--surface);stroke-width:2px}.chart .dot.s1{fill:var(--series-1)}.chart .dot.flagged{fill:var(--warn)}.chart .crosshair{stroke:var(--faint);stroke-width:1px}.chart .bar.s1{fill:var(--series-1)}.chart .bar.s2{fill:var(--series-2)}.chart .cursor{stroke:var(--text);stroke-width:2px;pointer-events:none}.legend{color:var(--muted);gap:14px;margin-bottom:6px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.swatch{border-radius:2px;width:8px;height:8px;display:inline-block}.swatch.s1{background:var(--series-1)}.swatch.s2{background:var(--series-2)}.tooltip{background:var(--raised);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 6px 20px #00000080}.clickable{cursor:pointer}.rep-table summary{cursor:pointer;font-size:16px;font-weight:600}.table-scroll{margin-top:var(--space-3);overflow-x:auto}.rep-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.rep-table th,.rep-table td{text-align:left;height:var(--tap);white-space:nowrap;padding:0 12px}.rep-table th.num,.rep-table td.num{text-align:right}.rep-table td{border-top:1px solid var(--rule)}.rep-table th{color:var(--faint);font-size:12px;font-weight:400}.rep-table tr.clickable:hover td{background:var(--raised)}.replay-section{scroll-margin-top:calc(var(--sticky-top) + 12px)}.replay{gap:var(--space-3);display:grid}.replay-view{background:#000;border-radius:12px;width:100%;max-height:70vh;position:relative;overflow:hidden}.replay-hud{pointer-events:none;justify-content:space-between;gap:8px;padding:10px;display:flex;position:absolute;top:0;left:0;right:0}.timeline{background:var(--ground);cursor:pointer;touch-action:none;border-radius:8px;height:32px;position:relative;overflow:hidden}.timeline:focus-visible{outline:2px solid var(--text);outline-offset:2px}.timeline .seg{opacity:.55;border-radius:3px;position:absolute;top:8px;bottom:8px}.timeline .seg.good{background:var(--positive)}.timeline .seg.warn{background:var(--warn)}.timeline .seg.bad{background:var(--bad)}.timeline .seg.active{opacity:1;box-shadow:0 0 0 2px var(--text)}.timeline .seg i{background:#0006;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:2px;bottom:2px}.timeline .unrecorded{background:var(--raised);opacity:.6;position:absolute;top:0;bottom:0;right:0}.timeline .playhead{background:var(--text);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.replay-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.replay-controls button{min-width:var(--tap);padding:0 12px}.replay-time{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.replay-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.replay-options .toggle{margin:0}.segmented.speeds{grid-template-columns:repeat(3,auto);margin:0}.rep-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{min-height:var(--tap-xs);min-width:var(--tap-xs);font-variant-numeric:tabular-nums;border-color:var(--raised);padding:0 10px;font-size:13px}.chip.good{color:var(--positive)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--bad)}.chip.active{border-color:currentColor}.pill{white-space:nowrap;background:#000000b3;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;line-height:20px}.pill.good{color:var(--positive);background:#192008d9}.pill.warn{color:var(--warn);background:#281e0ed9}.pill.bad{color:var(--bad);background:#2c181cd9}.live{background:#000;position:fixed;inset:0;overflow:hidden}.stage{position:absolute;inset:0;transform:scaleX(-1)}.stage video,.stage canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.hud-top,.hud-bottom{padding:16px;padding-top:max(16px, env(safe-area-inset-top));gap:12px;display:flex;position:absolute;left:0;right:0}.hud-top{justify-content:space-between;align-items:flex-start;top:0}.hud-bottom{padding-bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;bottom:0}.hud-right{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.reps{background:#000000b3;border-radius:16px;padding:10px 18px;display:grid}.reps-count{font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:-.02em;font-size:56px;font-weight:600;line-height:1}.reps-label{color:var(--muted);margin-top:4px;font-size:12px}.metrics{background:#000000b3;border-radius:8px;padding:6px 10px;font:12px ui-monospace,monospace}.controls{justify-content:flex-end;gap:8px;width:100%;display:flex}.controls button.ghost{background:#0009}.cue{text-align:center;background:#000c;border-radius:16px;max-width:calc(100% - 32px);padding:14px 24px;font-size:clamp(20px,4vw,30px);font-weight:600;line-height:1.2;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.cue.good{color:var(--positive)}.cue.warn{color:var(--warn)}.overlay-msg{text-align:center;background:#000000b3;place-content:center;padding:16px;display:grid;position:absolute;inset:0}.hud-bottom[hidden]{display:none}.hint.floating{text-align:center;color:var(--text);background:#000000b3;border-radius:12px;margin:0;padding:12px;position:absolute;top:120px;left:16px;right:16px}.sheet{text-align:left;background:var(--surface);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);padding:var(--space-5);border:0;border-radius:20px;overflow-y:auto;box-shadow:0 24px 64px #0009}dialog.sheet{margin:auto}dialog.sheet::backdrop{background:#000000bf}.sheet h2{margin:0 0 var(--space-3);font-size:20px;line-height:28px}.sheet p{margin:0;line-height:20px}.sheet .big{margin-top:var(--space-5)}.sheet-list{margin:var(--space-4) 0 0;gap:var(--space-2);color:var(--muted);padding-left:20px;line-height:20px;display:grid}.sheet-actions{margin-top:var(--space-5);justify-content:flex-end;gap:8px;display:flex}.survey{display:block}.survey .lede{margin-bottom:var(--space-2)}.survey-q{margin:var(--space-5) 0 0;border:0;min-width:0;padding:0}.survey-q legend{padding:0;font-weight:600;line-height:20px}.segmented.scale{margin-top:var(--space-2);grid-template-columns:repeat(5,1fr)}.segmented.scale button{min-height:var(--tap);font-size:14px}.scale-ends{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-1);color:var(--faint);font-size:12px;display:flex}.survey-optout{width:100%;margin-top:var(--space-2);font-size:13px}.survey-optout.selected{border-color:var(--text);background:var(--raised)}.survey-comment{gap:var(--space-1);margin-top:var(--space-3);color:var(--muted);font-size:13px;display:grid}.survey>.survey-comment:last-of-type{margin-top:var(--space-5);color:var(--text);font-size:14px;font-weight:600}.survey-comment textarea{resize:vertical;width:100%;font:inherit;color:var(--text);background:var(--ground);border:1px solid var(--control);border-radius:10px;padding:8px 10px;font-weight:400}.survey-error{color:var(--bad);margin-top:var(--space-4)}.survey .sheet-actions{flex-wrap:wrap}.setting-row{gap:var(--space-3);padding:var(--space-6) 0;display:grid}.setting-row+.setting-row{border-top:1px solid var(--rule)}.setting-row:first-of-type{padding-top:0}.setting-label h2{margin:0 0 4px;font-weight:500}.setting-label p{color:var(--muted);max-width:46ch;margin:0}.setting-panel{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-4) var(--card-pad);gap:var(--space-4);align-content:start;display:grid}.setting-panel>.row{margin:0}.setting-panel>button,.setting-panel>a.button{justify-self:start}.switch-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);cursor:pointer;display:flex}.switch-row>span{gap:2px;display:grid}.switch-row b{font-weight:500}.switch-row span span{color:var(--muted)}.field{gap:var(--space-2);justify-items:start;display:grid}.field b{font-weight:500}.build{gap:2px;display:grid}.build b{font-weight:500}.build span{color:var(--muted)}.toggle{min-height:var(--tap);align-items:center;gap:10px;display:flex}input[type=checkbox][role=switch]{appearance:none;background:var(--control);cursor:pointer;border-radius:999px;flex:none;width:36px;height:20px;margin:0;transition:background-color .12s;position:relative}input[type=checkbox][role=switch]:after{content:"";background:var(--text);border-radius:50%;width:16px;height:16px;transition:transform .12s;position:absolute;top:2px;left:2px}input[type=checkbox][role=switch]:checked{background:var(--positive)}input[type=checkbox][role=switch]:checked:after{background:var(--on-primary);transform:translate(16px)}.account{gap:var(--space-3);justify-items:start;display:grid}.account p{margin:0}.lab-export{padding-top:var(--space-3);flex-basis:100%}.lab-export p{margin:var(--space-2) 0 0}.about-page{gap:72px;display:grid}.about-page p{margin:0}.about-page h2{margin:0;font-size:20px;line-height:28px}.about-page h3{margin:0 0 var(--space-3);font-size:16px;line-height:24px}.about-hero{gap:var(--space-5);display:grid}.about-hero-text{gap:var(--space-4);align-content:center;justify-items:start;display:grid}.about-page h1{letter-spacing:-.02em;max-width:14ch;font-size:26px;line-height:32px}.about-lede{color:var(--muted);max-width:44ch;font-size:17px;line-height:26px}.about-hero-pic{gap:var(--space-2);margin:0;display:grid}.about-page figcaption{color:var(--faint);font-size:13px;line-height:18px}.about-page figcaption b{color:var(--text);margin-right:6px;font-weight:500}.pose-photo{background:var(--surface);border-radius:12px;position:relative;overflow:hidden}.pose-photo img{filter:saturate(.85)brightness(.8);width:100%;height:auto;display:block}.pose-photo svg{width:100%;height:100%;position:absolute;inset:0}.skeleton line{stroke:#ffffffeb;stroke-linecap:round}.skeleton circle{fill:var(--accent)}.knee-label{fill:var(--text);paint-order:stroke;stroke:#0009;stroke-width:.06px;font-weight:600}.about-section{gap:var(--space-5);display:grid}.about-head{gap:var(--space-2);max-width:62ch;display:grid}.about-head p{color:var(--muted);font-size:15px;line-height:22px}.about-head .about-statement{color:var(--text);max-width:34ch;font-size:20px;font-weight:500;line-height:28px}.rep-demo{gap:var(--gap);background:var(--surface);border-radius:var(--radius-card);padding:var(--card-pad);display:grid}.demo-stage{background:var(--ground);padding:var(--space-3);border-radius:12px;place-items:center;display:grid}.demo-stage svg{aspect-ratio:3/4;width:100%;max-width:280px;height:auto}.demo-side{gap:var(--space-4);align-content:start;min-width:0;display:grid}.demo-readout{gap:var(--space-4);grid-template-columns:1fr 1fr;margin:0;display:grid}.demo-readout dt{color:var(--muted);font-size:13px}.demo-readout dd{letter-spacing:-.02em;margin:0;font-size:36px;font-weight:600;line-height:44px}.demo-readout .deep dd{color:var(--accent)}.demo-status{color:var(--muted);min-height:40px}.demo-trace{gap:var(--space-2);display:grid}.demo-plot{height:180px;margin-left:64px;position:relative}.demo-plot svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.demo-plot .grid{stroke:var(--grid);stroke-width:1px;vector-effect:non-scaling-stroke}.demo-plot .count-line{stroke:var(--text);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.demo-plot .knee-line{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.demo-plot .tick{color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;right:calc(100% + 8px);transform:translateY(-50%)}.demo-plot .tick.line{color:var(--text);font-weight:500}.demo-plot .playhead{background:var(--text);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.demo-plot input[type=range]{opacity:0;cursor:ew-resize;touch-action:none;width:100%;height:calc(100% + 24px);margin:0;position:absolute;inset:-12px 0}.demo-plot:focus-within{outline:2px solid var(--text);outline-offset:6px;border-radius:4px}.demo-foot{color:var(--faint);justify-content:space-between;align-items:center;margin-left:64px;font-size:12px;display:flex}.cue-columns{gap:var(--space-5);padding:var(--space-5) var(--card-pad);display:grid}.cue-list ul{margin:0;padding:0;list-style:none;display:grid}.cue-list li{padding:12px 0;font-size:17px;line-height:24px}.cue-list li+li{border-top:1px solid var(--rule)}.phase-strip{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.phase-strip figure{gap:var(--space-2);margin:0;display:grid}.setup-columns{gap:var(--space-4);display:grid}.setup-columns p{color:var(--muted);gap:2px;max-width:46ch;display:grid}.setup-columns b{color:var(--text);font-weight:500}.about-steps{margin:0;padding:0;list-style:none;display:grid}.about-steps li{gap:2px;padding:14px 0;display:grid}.about-steps li+li{border-top:1px solid var(--rule)}.about-steps b{font-weight:600}.about-steps span{color:var(--muted)}.ledger{gap:var(--space-5);padding:var(--space-5) var(--card-pad);display:grid}.ledger>div{gap:var(--space-3);align-content:start;display:grid}.ledger h3{margin:0}.ledger ul{margin:0;padding:0;list-style:none;display:grid}.ledger li{color:var(--muted);gap:2px;padding:12px 0;display:grid}.ledger li+li{border-top:1px solid var(--rule)}.ledger li b{color:var(--text);font-weight:500}.ledger a{color:var(--text)}.about-footer{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--rule);display:grid}.about-footer p{color:var(--faint);font-size:13px;line-height:18px}.about-page .about-name{color:var(--text);font-size:clamp(48px,14vw,96px);line-height:.9}@media (width>=640px){.phase-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.cue-columns,.ledger,.setup-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-columns p:last-child{grid-column:1/-1}.kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.choices,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){:root{--tap:36px;--tap-sm:32px;--tap-xs:28px}.text-link{min-height:0}.rep-table th,.rep-table td{height:40px}.home>.kpi-strip{order:3}.home>.level-card{order:4}.cols.keep-order>.col-main,.cols.keep-order>.col-side{display:grid}.chart-picker{display:none}.chart-panel:not(.shown){display:block}.page h1{font-size:24px;line-height:32px}.home-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.home-grid>.next-set{grid-column:span 7}.home-grid>:last-child{grid-column:span 5}.grid>.span-8{grid-column:span 8}.grid>.span-6{grid-column:span 6}.grid>.span-4{grid-column:span 4}.cols{grid-template-columns:repeat(12,minmax(0,1fr))}.col-main{grid-column:span 8}.col-side{order:0;grid-column:span 4}.setting-row{gap:var(--space-6);grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.about-page{gap:120px}.about-page h1{font-size:32px;line-height:38px}.about-hero{gap:var(--space-6);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}.rep-demo{gap:var(--space-6);padding:var(--space-6);grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.about-steps{gap:var(--space-5);grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}.about-steps li{padding:var(--space-4) 0 0;border-top:2px solid var(--raised);align-content:start}.about-steps li+li{border-top:2px solid var(--raised)}.cue-columns,.ledger{gap:var(--space-6);padding:var(--space-6)}.setup-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-columns p:last-child{grid-column:auto}.about-footer{align-items:end;gap:var(--space-6);grid-template-columns:auto 1fr}.setting-label{padding-top:var(--space-4)}}@media (prefers-reduced-motion:reduce){.xp-bar i{transition:none}.level-up{animation:none}button:active,a.button:active{transform:none}}
