:root{--bg: #000000;--surface: rgba(255, 255, 255, .045);--surface-2: rgba(255, 255, 255, .07);--surface-strong: rgba(28, 28, 32, .92);--hairline: rgba(255, 255, 255, .1);--hairline-strong: rgba(255, 255, 255, .16);--text: #f5f5f7;--dim: rgba(245, 245, 247, .62);--muted: rgba(245, 245, 247, .4);--accent: #7cc4ff;--accent-strong: #0a84ff;--accent2: #5eead4;--violet: #bf8cff;--good: #30d158;--warn: #ff9f0a;--danger: #ff453a;--radius: 18px;--radius-lg: 24px;--shadow: 0 10px 40px rgba(0, 0, 0, .55);--shadow-lg: 0 24px 70px rgba(0, 0, 0, .6);--glow: 0 0 0 1px rgba(124, 196, 255, .18), 0 12px 40px rgba(10, 132, 255, .18);color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}html{overscroll-behavior:none}body{-webkit-touch-callout:none}body{background:var(--bg);color:var(--text);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh;position:relative}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.05) .5px,transparent .5px);background-size:3px 3px;opacity:.4;mix-blend-mode:screen}.app{max-width:760px;margin:0 auto;padding:max(env(safe-area-inset-top),14px) 16px 64px;min-height:100dvh}.topbar{display:flex;align-items:center;gap:12px;padding:16px 6px 18px;position:sticky;top:0;z-index:95}.topbar:after{content:"";position:absolute;inset:calc(-1*max(env(safe-area-inset-top),14px)) -16px 0;z-index:-1;background:linear-gradient(180deg,#000000b8,#0000);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}.topbar .brand{display:flex;align-items:center;gap:10px;transition:opacity .2s}.topbar .brand:hover{opacity:.85}.topbar .module-title{font-size:24px;margin:0;font-weight:800;letter-spacing:-.03em;color:var(--text)}.mode-switch{display:inline-flex;gap:4px;margin-left:14px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--hairline);backdrop-filter:blur(12px)}.mode-tab{font-size:15px;font-weight:700;color:var(--dim);padding:8px 18px;border-radius:999px;border:1px solid transparent;transition:color .2s,border-color .2s,background .2s}.mode-tab:hover{color:var(--text);text-decoration:none}.mode-tab.active{color:var(--accent);background:#7cc4ff24;border-color:#7cc4ff4d}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:6px;min-width:0}.lang-switch{display:inline-flex;align-items:center}.lang-switch select{width:auto;margin:0;padding:5px 21px 5px 10px;font-size:12px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--hairline);border-radius:999px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.lang-switch select:focus{outline:2px solid var(--accent-strong);outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar .user-chip{font-size:12px;font-weight:600;color:var(--text);border:1px solid var(--hairline);border-radius:999px;padding:5px 12px;background:var(--surface);backdrop-filter:blur(12px);position:relative;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar.has-tabs .module-title{display:none}@media (max-width: 460px){.topbar{gap:8px;flex-wrap:nowrap}.topbar .module-title{font-size:20px}.mode-switch{margin-left:4px}.mode-tab{padding:7px 13px;font-size:14px}.lang-switch select{padding:5px 19px 5px 8px;max-width:66px}.topbar-right{gap:5px}.topbar .user-chip{max-width:30vw}}.mode-picker{display:flex;flex-direction:column;gap:18px}.mode-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 520px){.mode-picker-grid{grid-template-columns:1fr}}.mode-picker-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:28px 22px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--hairline);backdrop-filter:blur(12px);color:inherit;text-decoration:none;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}.mode-picker-card:hover{transform:translateY(-2px);text-decoration:none;background:var(--surface-2)}.mode-picker-card.gait:hover{border-color:#5eead466;box-shadow:0 14px 38px #5eead429}.mode-picker-card.flex:hover{border-color:#7cc4ff66;box-shadow:0 14px 38px #0a84ff29}.mode-picker-icon{display:block;line-height:0;color:var(--accent)}.mode-picker-card.flex .mode-picker-icon{color:var(--accent2, var(--accent))}.mode-picker-card:hover .mode-picker-icon{color:var(--text);transition:color .2s}.mode-picker-title{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.mode-picker-desc{font-size:13px;color:var(--dim);line-height:1.5}@keyframes livepulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.review-actions{position:sticky;top:58px;z-index:15;display:flex;align-items:center;gap:10px;margin:6px 0 4px;padding:10px 12px;border-radius:18px;background:#141418b8;border:1px solid var(--hairline);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);box-shadow:var(--shadow);animation:fadeUp .5s cubic-bezier(.2,.8,.2,1) both}.review-actions-meta{display:flex;flex-direction:column;min-width:0;margin-right:auto}.review-actions-meta strong{font-size:14px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-actions-meta .muted{font-size:11.5px}.review-actions .btn{flex:0 0 auto;font-size:14px}@media (max-width: 460px){.review-actions-meta strong{max-width:90px}.review-actions .btn{padding:10px 13px!important;font-size:13px}}.card{position:relative;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:20px;margin:14px 0;backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);box-shadow:var(--shadow);animation:fadeUp .6s cubic-bezier(.2,.8,.2,1) both;overflow:hidden}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,#ffffff38,#fff0 38%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card:nth-of-type(1){animation-delay:.02s}.card:nth-of-type(2){animation-delay:.08s}.card:nth-of-type(3){animation-delay:.14s}.card:nth-of-type(4){animation-delay:.2s}.card:nth-of-type(5){animation-delay:.26s}.card:nth-of-type(6){animation-delay:.32s}.card:nth-of-type(n+7){animation-delay:.36s}.card>strong,.card-title{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);font-weight:650}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero{text-align:center;padding:14px 20px;background:var(--surface);border:1px solid var(--hairline-strong)}.hero h2{font-size:19px;margin:6px 0 3px;letter-spacing:-.02em;font-weight:750;line-height:1.15;color:var(--text)}.hero p{color:var(--dim);margin:0 auto;font-size:12.5px;max-width:42ch}.gait-silhouette{display:block;margin:0 auto 6px;filter:drop-shadow(0 6px 18px rgba(10,132,255,.3))}.gait-silhouette .gs-body{animation:gs-bob 1.1s ease-in-out infinite}.gait-silhouette .gs-leg,.gait-silhouette .gs-arm{transform-box:view-box;transform-origin:60px 66px;animation:gs-swingA 1.1s ease-in-out infinite}.gait-silhouette .gs-arm{transform-origin:60px 34px}.gait-silhouette .gs-f{animation-name:gs-swingA}.gait-silhouette .gs-b{animation-name:gs-swingB}.gait-silhouette .gs-armF{animation-name:gs-swingArmB}.gait-silhouette .gs-armB{animation-name:gs-swingArmA}@keyframes gs-swingA{0%,to{transform:rotate(17deg)}50%{transform:rotate(-17deg)}}@keyframes gs-swingB{0%,to{transform:rotate(-17deg)}50%{transform:rotate(17deg)}}@keyframes gs-swingArmA{0%,to{transform:rotate(11deg)}50%{transform:rotate(-11deg)}}@keyframes gs-swingArmB{0%,to{transform:rotate(-11deg)}50%{transform:rotate(11deg)}}@keyframes gs-bob{0%,to{transform:translateY(0)}25%,75%{transform:translateY(-2px)}50%{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.gait-silhouette .gs-body,.gait-silhouette .gs-leg,.gait-silhouette .gs-arm{animation:none}.gait-silhouette .gs-f{transform:rotate(13deg);transform-box:view-box;transform-origin:60px 66px}.gait-silhouette .gs-b{transform:rotate(-13deg);transform-box:view-box;transform-origin:60px 66px}}label{display:block;font-size:12px;color:var(--muted);margin:16px 0 7px;letter-spacing:.02em}input[type=text],input[type=email],input[type=tel],input[type=number],select{width:100%;background:#ffffff0d;color:var(--text);border:1px solid var(--hairline);border-radius:14px;padding:13px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,select:focus{outline:none;border-color:var(--accent);background:#ffffff12;box-shadow:0 0 0 3px #7cc4ff33}input[type=checkbox]{accent-color:var(--accent-strong);width:17px;height:17px}.segmented{display:flex;gap:10px}.segmented button{flex:1;padding:16px;border-radius:14px;border:1px solid var(--hairline);background:#ffffff0a;color:var(--text);font-size:15px;font-weight:550;cursor:pointer;transition:all .22s cubic-bezier(.2,.8,.2,1)}.segmented button:hover:not(.active){background:#ffffff12}.segmented button.active{border-color:transparent;background:#7cc4ff2e;box-shadow:inset 0 0 0 1.5px var(--accent),0 8px 24px #0a84ff47;transform:translateY(-1px)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border:none;border-radius:16px;background:var(--accent-strong);color:#00121f;font-weight:680;font-size:16px;cursor:pointer;box-shadow:0 10px 30px #0a84ff59;transition:transform .15s,box-shadow .2s,filter .2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 14px 38px #0a84ff73}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.btn.secondary{background:#ffffff0f;color:var(--text);box-shadow:none;border:1px solid var(--hairline)}.btn.secondary:hover{background:#ffffff1a;box-shadow:none}.btn.danger{background:#ff453a24;color:#ff6b6b;box-shadow:none;border:1px solid rgba(255,69,58,.4)}.btn.danger:hover{background:#ff453a33}.app-menu{position:relative}.app-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--surface);border:1px solid var(--hairline);color:var(--text);cursor:pointer}.app-menu-btn:hover{background:var(--surface-2)}.app-menu-btn:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.app-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:50;min-width:240px;padding:8px;border-radius:16px;background:var(--surface-strong);border:1px solid var(--hairline-strong);box-shadow:var(--shadow-lg);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);animation:fadeUp .18s cubic-bezier(.2,.8,.2,1) both}.app-menu-user{padding:8px 10px 10px;display:grid;gap:2px;overflow:hidden}.app-menu-user strong{font-size:14px}.app-menu-user span{font-size:12px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-menu-item{display:block;padding:10px;border-radius:10px;font-size:14px;font-weight:600;color:var(--text)}.app-menu-item:hover{background:var(--surface-2);text-decoration:none}.app-menu-sep{height:1px;margin:6px 4px;background:var(--hairline)}.app-menu-lang{padding:4px 6px 6px}.app-menu-lang-label{display:block;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.app-menu-lang-opts{display:grid;gap:4px}.app-menu-lang-opt{text-align:left;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:none;color:var(--dim);font-size:13.5px;font-weight:600;cursor:pointer}.app-menu-lang-opt:hover{background:var(--surface-2);color:var(--text)}.app-menu-lang-opt.active{color:var(--accent);background:#7cc4ff24;border-color:#7cc4ff4d}.trial-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 0;padding:10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--hairline);font-size:13px;color:var(--dim)}.trial-notice a{font-weight:700;color:var(--accent);white-space:nowrap}.trial-notice.urgent{background:#ff9f0a1a;border-color:#ff9f0a57;color:var(--text)}.trial-notice.urgent a{color:var(--warn)}.tier-btn{display:block;text-align:left;padding:14px 16px}.tier-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.tier-row+.tier-row{margin-top:3px}.tier-name{font-size:15px;font-weight:700;letter-spacing:.2px}.tier-price{font-size:21px;font-weight:800;line-height:1.1;white-space:nowrap}.tier-desc{font-size:13px;font-weight:500;opacity:.78}.tier-period{font-size:12px;font-weight:600;opacity:.7;white-space:nowrap}.tier-save{display:block;margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:600;opacity:.78}.btn:not(.secondary) .tier-save{border-top-color:#0000002e}.tier-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;vertical-align:1px;background:#00000029}.btn.secondary .tier-badge{background:#7cc4ff2e;color:var(--accent)}@media (max-width: 420px){.tier-row+.tier-row{display:block}.tier-row+.tier-row .tier-period{display:block;margin-top:2px}}.checklist{list-style:none;padding:0;margin:12px 0 0}.checklist li{color:var(--dim);font-size:13.5px;padding:6px 0;display:flex;gap:10px;align-items:flex-start}.checklist li:before{content:"✓";flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border-radius:50%;background:#7cc4ff38;box-shadow:inset 0 0 0 1px #7cc4ff73;font-size:11px;font-weight:800;line-height:1;color:var(--accent2)}.disclosure{display:flex;align-items:center;gap:10px;width:100%;margin-top:18px;padding:12px 2px;background:none;border:none;border-top:1px solid var(--hairline);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;text-align:left}.card>.disclosure:first-child{border-top:none;margin-top:0;padding-top:4px}.disclosure:disabled{opacity:.5;cursor:default}.disclosure .chev{display:inline-block;font-size:18px;color:var(--accent);transition:transform .22s cubic-bezier(.2,.8,.2,1)}.disclosure .chev.open{transform:rotate(90deg)}.disclosure-body{animation:fadeUp .32s cubic-bezier(.2,.8,.2,1) both}.consent{display:flex;align-items:center;gap:11px;margin:0;padding:13px 14px;border:1px solid var(--hairline);border-radius:14px;background:#ffffff08;color:var(--text);font-size:14px;cursor:pointer;transition:border-color .2s,background .2s}.consent:has(input:checked){border-color:#5eead473;background:#5eead412}.consent-scrim{position:fixed;inset:0;z-index:90;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeUp .2s ease-out both}.consent-sheet{position:fixed;left:0;right:0;bottom:0;z-index:91;max-width:760px;margin:0 auto;padding:18px 18px max(env(safe-area-inset-bottom),18px);background:var(--surface-strong);border:1px solid var(--hairline-strong);border-bottom:none;border-radius:22px 22px 0 0;box-shadow:var(--shadow-lg);max-height:78vh;overflow-y:auto;animation:fadeUp .3s cubic-bezier(.2,.8,.2,1) both}.consent-details summary{margin-top:10px;font-size:13px;font-weight:600;color:var(--accent);cursor:pointer}.coach{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--hairline);background:#ffffff08;transition:border-color .3s,background .3s}.coach.ready{border-color:#30d15880;background:#30d15814}.coach.wait{border-color:#ff9f0a66;background:#ff9f0a0f}.coach-head{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}.coach-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--warn);box-shadow:0 0 8px var(--warn)}.coach.ready .coach-dot{background:var(--good);box-shadow:0 0 10px var(--good);animation:livepulse 1.8s ease-in-out infinite}.coach-checks{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.coach-chip{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:#ffffff0d;color:var(--muted);border:1px solid transparent}.coach-chip.ok{background:#30d15824;color:#5be584;border-color:#30d15842}.coach-chip.bad{background:#ff453a24;color:#ff6b6b;border-color:#ff453a4d}.coach-chip.warn{background:#ff9f0a24;color:#ffc05a;border-color:#ff9f0a47}.coach-overlay{position:absolute;left:0;right:0;top:0;padding:10px 12px 12px;background:linear-gradient(180deg,rgba(4,6,12,.82),rgba(4,6,12,.32) 75%,transparent);transition:background .3s}.coach-overlay .coach-head{color:#fff}.coach-overlay.ready .coach-head{color:#bdf5cf}.btn.pulse{animation:btnpulse 1.8s ease-in-out infinite}@keyframes btnpulse{0%,to{box-shadow:0 10px 30px #0a84ff59}50%{box-shadow:0 10px 30px #0a84ff59,0 0 0 6px #7cc4ff29}}.video-wrap{position:relative;width:100%;background:#000;border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);box-shadow:0 8px 30px #00000080}.video-wrap video,.video-wrap canvas{display:block;width:100%}.video-wrap canvas{position:absolute;inset:0;pointer-events:none}.capture-countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:88px;font-weight:800;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.6);background:#00000047;animation:countdown-pop 1s ease-in-out}@keyframes countdown-pop{0%{transform:scale(1.4);opacity:0}20%{transform:scale(1);opacity:1}to{opacity:1}}.capture-instruction{font-size:15px;font-weight:600;color:#fff;text-align:center}.capture-timer{position:absolute;top:10px;right:12px;padding:6px 14px;border-radius:999px;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--good, #34c759);background:#00000080;text-shadow:0 2px 10px rgba(0,0,0,.6);letter-spacing:.5px;pointer-events:none}.capture-done{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--good);background:#00000080}.video-wrap.oval{aspect-ratio:3 / 4;max-width:380px;margin:0 auto}.oval-mask{position:absolute;inset:0;pointer-events:none;border-radius:50%;box-shadow:0 0 0 9999px #04060c9e;margin:6% 14%;border:2px solid rgba(255,255,255,.35)}.livegauge{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid var(--hairline);background:#ffffff08}.livegauge-row{display:flex;align-items:center;gap:10px;margin:6px 0}.livegauge-label{width:62px;flex:0 0 auto;font-size:12px;color:var(--dim)}.livegauge-bar{position:relative;flex:1;height:8px;border-radius:999px;background:#ffffff14;overflow:visible}.livegauge-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .1s linear}.livegauge-max{position:absolute;top:-3px;width:2px;height:14px;background:var(--accent2);box-shadow:0 0 6px #5eead4b3;transform:translate(-1px)}.livegauge-value{width:38px;flex:0 0 auto;text-align:right;font-size:13px;font-weight:700;color:var(--text)}.livegauge-note{margin-top:8px;font-size:11px;text-align:center}.markers{position:relative;height:16px;margin:12px 0 2px}.marker{position:absolute;top:0;width:2px;border-radius:2px}.marker.HS{height:16px}.marker.TO{height:9px;opacity:.7}.marker.L{background:var(--accent);box-shadow:0 0 8px #7cc4ff99}.marker.R{background:var(--accent2);box-shadow:0 0 8px #5eead499}.score-hero{display:flex;align-items:center;gap:22px;margin-top:10px;position:relative}.score-hero>svg:first-child{filter:drop-shadow(0 8px 26px rgba(10,132,255,.35))}.ring-num{font-size:34px;font-weight:800;letter-spacing:-.03em}.ring-sub{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.subscores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.subscore{background:#ffffff0a;border:1px solid var(--hairline);border-radius:14px;padding:12px 14px;transition:transform .2s,background .2s}.subscore:hover{transform:translateY(-2px);background:#ffffff0f}.subscore .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.subscore .bar{height:7px;border-radius:999px;background:#ffffff14;margin-top:9px;overflow:hidden}.subscore .bar>div{height:100%;border-radius:999px;transition:width 1s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 12px #7cc4ff59}.subscore .v{font-size:17px;font-weight:700;margin-top:7px;letter-spacing:-.01em}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.stat{background:#ffffff0a;border:1px solid var(--hairline);border-radius:14px;padding:14px}.stat .k{font-size:11px;color:var(--muted)}.stat .v{font-size:22px;font-weight:700;margin-top:3px;letter-spacing:-.02em}.stat .v small{font-size:12px;color:var(--muted);font-weight:400}.finding{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline)}.finding:last-child{border-bottom:none}.finding .lbl{font-size:14px}.finding .lbl small{display:block;color:var(--muted);font-size:11px;margin-top:1px}.chip{font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px;white-space:nowrap;letter-spacing:.02em;border:1px solid transparent}.chip.b0{background:#30d15829;color:#5be584;border-color:#30d15847}.chip.b1{background:#a3e63529;color:#b6f250;border-color:#a3e63547}.chip.b2{background:#ff9f0a29;color:#ffc05a;border-color:#ff9f0a4d}.chip.b3{background:#ff453a2e;color:#ff6b6b;border-color:#ff453a57}.chip.lowconf{opacity:.5}.warnbox{background:#ff9f0a1a;border:1px solid rgba(255,159,10,.35);border-radius:14px;padding:13px 15px}.warnbox .t{color:var(--warn);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.warnbox ul{margin:7px 0 0;padding-left:18px}.warnbox li{font-size:13px;color:var(--text);margin:3px 0}.progress{height:10px;background:#ffffff14;border-radius:999px;overflow:hidden;position:relative}.progress>div{height:100%;border-radius:999px;background:var(--accent);transition:width .15s linear;box-shadow:0 0 16px #7cc4ff80}.curve-card svg{width:100%;display:block}.trend-chart{display:block;width:100%}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--dim)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:14px;height:3px;border-radius:2px;display:inline-block}.phase-tabs{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.phase-tabs button{font-size:12px;padding:7px 12px;border-radius:10px;border:1px solid var(--hairline);background:#ffffff0a;color:var(--dim);cursor:pointer;transition:all .18s}.phase-tabs button:hover{color:var(--text);background:#ffffff14}.phase-tabs button.active{color:#00121f;background:var(--accent);border-color:transparent;font-weight:600}.legconf-body{display:flex;align-items:center;gap:18px;margin-top:14px}.legconf-figure{flex:0 0 auto;display:grid;place-items:center;width:132px;height:168px;border-radius:18px;background:#ffffff08;border:1px solid var(--hairline)}.legconf-meters{flex:1 1 auto;display:flex;flex-direction:column;gap:14px;min-width:0}.legrow-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.legrow-role{font-size:12.5px;font-weight:600;color:var(--text)}.legrow.far .legrow-role{color:var(--dim)}.legrow-side{font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:999px;background:#ffffff0f;color:var(--dim)}.legrow.near .legrow-side{background:linear-gradient(135deg,#7cc4ff38,#5eead429);color:var(--accent)}.legmeter{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden;margin:7px 0 6px}.legmeter-fill{height:100%;border-radius:999px;transition:width 1s cubic-bezier(.2,.8,.2,1)}.legmeter-fill.near{background:var(--accent);box-shadow:0 0 12px #7cc4ff73}.legmeter-fill.far{background:#f5f5f747}.legrow-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.conf-pill{font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.conf-pill.ok{background:#30d15826;color:#5be584;border-color:#30d1584d}.conf-pill.mid{background:#7cc4ff26;color:var(--accent);border-color:#7cc4ff4d}.conf-pill.low{background:#ff9f0a26;color:#ffc05a;border-color:#ff9f0a52}.legconf-note{margin-top:14px;line-height:1.55}@media (max-width: 460px){.legconf-body{flex-direction:column;align-items:stretch}.legconf-figure{width:100%;height:150px}}.muted{color:var(--muted);font-size:13px}.dim{color:var(--dim)}.row{display:flex;gap:10px;align-items:center}.disclaimer{font-size:11px;color:var(--muted);margin-top:24px;line-height:1.6;text-align:center}.session-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--hairline);transition:padding-left .18s}.session-item:hover{padding-left:4px}.session-item:last-child{border-bottom:none}.session-item a{color:var(--accent);font-weight:600}.pill{font-size:11px;padding:3px 9px;border-radius:999px;background:#ffffff0f;color:var(--dim)}.pill.trend{font-weight:700;border:1px solid transparent}.pill.trend.up{background:#30d15829;color:#5be584;border-color:#30d1584d}.pill.trend.down{background:#ff9f0a29;color:#ffc05a;border-color:#ff9f0a52}.pill.trend.flat{background:#7cc4ff24;color:var(--accent);border-color:#7cc4ff47}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}button{font:inherit}.recorder-shell{position:fixed;inset:0;z-index:100;background:#000}.recorder-stage.fs{position:fixed;inset:0;width:100vw;height:100dvh;border:none;border-radius:0;box-shadow:none}.recorder-stage.fs .recorder-video,.recorder-stage.fs .recorder-skeleton{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.recorder-video{display:block;width:100%}.recorder-skeleton{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.recorder-topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:max(env(safe-area-inset-top),12px) 14px 12px;background:linear-gradient(180deg,#0009,#0000);z-index:5}.recorder-title{font-size:15px;font-weight:700;color:#fff}.recorder-status{font-weight:500;color:#ffffffbf;margin-left:8px;font-variant-numeric:tabular-nums}.recorder-close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#0006;color:#fff;font-size:18px;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recorder-close:active{background:#0009}.recorder-controls{position:absolute;left:0;right:0;bottom:0;padding:16px 16px max(env(safe-area-inset-bottom),18px);display:flex;flex-direction:column;gap:10px;background:linear-gradient(0deg,#000000c7,#0000);z-index:6}.recorder-options{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.recorder-select{max-width:60%;padding:8px 12px;border-radius:999px;background:#00000080;color:#fff;border:1px solid rgba(255,255,255,.25)}.recorder-mini{width:auto;padding:8px 14px}.recorder-zoom{display:flex;align-items:center;gap:10px}.recorder-zoom input[type=range]{flex:1}.recorder-zoom-label{font-size:12px;color:#ffffffd9;min-width:66px}.recorder-actions{display:flex;gap:10px}.recorder-actions .btn{flex:1}.recorder-error{color:#ff6b6b;text-align:center;margin:0}.recorder-gauges{position:absolute;left:12px;right:12px;bottom:150px;margin:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:6}.recorder-stage.fs .coach-overlay{top:64px}.recorder-stage.fs.oval{max-width:none;aspect-ratio:auto;margin:0}.recorder-hint{margin:0;text-align:center;font-size:13px;color:#ffffffd9}
