:root{--bg:#0c0e14;--surface:#151924;--surface-2:#1d2230;--line:#2a3142;--text:#f3f5f9;--muted:#929bb0;--accent:#ffb547;--accent-ink:#1c1304;--good:#4fd1a5;--warn:#ff9a76;--band:#4fd1a529;--radius:20px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);overscroll-behavior-y:none;margin:0}body{background:radial-gradient(120% 60% at 50% -10%, #ffb54721, transparent 60%), var(--bg);background-attachment:fixed;min-height:100dvh}h1{letter-spacing:-.02em;text-wrap:balance;margin:.2em 0 .5em;font-size:1.75rem;line-height:1.15}h2{letter-spacing:-.01em;margin:1.6em 0 .3em;font-size:1.15rem}h3{margin:0 0 .4em;font-size:1rem}h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:1em 0 .3em;font-size:.9rem}p{margin:.5em 0}ul,ol{margin:.4em 0;padding-left:1.2em}li{margin:.35em 0}.muted{color:var(--muted)}.small{font-size:.78rem}.center{text-align:center}.pre{white-space:pre-wrap}.route{animation:enter .32s var(--ease) both}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}.screen{max-width:520px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 14px) max(18px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 22px) max(18px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}.screen.center{justify-content:center}.spacer{flex:1}.bar{align-items:center;gap:12px;min-height:40px;margin-bottom:6px;display:flex}.progress{background:var(--surface-2);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .4s var(--ease);border-radius:3px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:10px 0;padding:16px}.row{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.btn{appearance:none;font:inherit;color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;min-height:46px;transition:transform .15s var(--ease), opacity .15s, background .15s;background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{background:var(--surface-2);font-size:.92rem;font-weight:500}.btn.danger{background:#b3261e}.btn.link{color:var(--muted);min-height:40px;padding:8px 4px;font-weight:500}.btn.icon{background:var(--surface-2);width:46px;font-size:1.2rem}.btn.big{width:100%;min-height:58px;bottom:calc(env(safe-area-inset-bottom) + 14px);border-radius:18px;margin-top:14px;font-size:1.1rem;position:sticky;box-shadow:0 10px 30px #00000080}.chip{background:var(--surface-2);color:var(--muted);border-radius:999px;margin:0;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-block}.chip.better,.chip.gold{color:var(--accent);background:#ffb5472e}.chip.same,.chip.base{background:var(--surface-2)}.chip.lower{color:var(--warn);background:#ff9a7629}.note{background:var(--surface);border-left:3px solid var(--line);border-radius:14px;padding:10px 14px;font-size:.92rem}.note.good{border-left-color:var(--good)}.note.warn{border-left-color:var(--warn)}.home-head{justify-content:space-between;align-items:flex-end;display:flex}.home-head h1,.home-head p{margin:0}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 6px;display:grid}.stats>div{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:16px;padding:12px 8px}.stats b{font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.2;display:block}.stats span{color:var(--muted);font-size:.74rem}.card.session{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;transition:transform .15s var(--ease), border-color .2s;align-items:center;gap:14px;display:flex}.card.session:active{transform:scale(.985)}.card.session.next{border-color:var(--accent);background:linear-gradient(180deg, #ffb5471a, transparent), var(--surface)}.card.session.done{opacity:.6}.session-icon{font-size:1.7rem}.session-body{flex-direction:column;flex:1;gap:2px;font-size:.92rem;display:flex}.session-body b{font-size:1.05rem}.session-state{color:var(--muted);font-size:1.5rem}.card.session.done .session-state{color:var(--good)}.runner{flex-direction:column;flex:1;display:flex}.runner-head{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.ill{grid-template-columns:1fr 1.25fr;gap:10px;margin:4px 0 8px;display:grid}.ill figure{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:18px;margin:0;padding:10px 8px 8px}.ill figcaption{color:var(--muted);margin-top:4px;font-size:.78rem}.ill-face{height:96px}.ill-contour{width:100%;height:96px}.ill-skin{fill:var(--surface-2);stroke:var(--line);stroke-width:2px}.ill-ink{fill:var(--text)}.ill-line{fill:none;stroke:var(--text);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.ill-mouth{fill:var(--accent)}.ill-straw{fill:var(--good)}.ill-buzz path{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;animation:.9s ease-in-out infinite alternate buzz}.ill-talk{transform-origin:60px 85px;animation:.7s ease-in-out infinite alternate talk}.ill-track{fill:none;stroke:var(--good);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.ill-dot{fill:var(--accent)}.ill-axis{fill:var(--muted);font-size:9px}@keyframes buzz{0%{opacity:.25}to{opacity:1}}@keyframes talk{0%{transform:scaleY(.4)}to{transform:scaleY(1.3)}}.steps{counter-reset:step;padding:0;list-style:none}.steps li{counter-increment:step;margin:10px 0;padding:2px 0 2px 40px;position:relative}.steps li:before{content:counter(step);background:var(--surface-2);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:.9rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.script{background:var(--surface);border:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:18px;max-height:34dvh;padding:10px 16px;font-size:1.12rem;line-height:1.5;overflow-y:auto}.stage{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin:12px 0 8px;overflow:hidden}.viz{width:100%;height:190px;display:block}.meter{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.meter>div{background:linear-gradient(90deg, var(--good), var(--accent));height:100%;transition:width .12s linear}.big-num{text-align:center;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:14px 0 0;font-size:3.4rem;font-weight:700;line-height:1.1}.big-num small{color:var(--muted);letter-spacing:0;font-size:1rem;font-weight:500}.runner .btn.primary:not(.big){align-self:center;min-width:160px;margin-top:12px}.result{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);animation:enter .35s var(--ease) both;margin:12px 0;padding:16px;font-size:1.05rem}.result.record{border-color:var(--accent)}.hits{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.hits span{border-radius:10px;padding:4px 10px;font-size:.85rem;font-weight:600}.hits .hit{color:var(--good);background:#4fd1a52e}.hits .miss{color:var(--warn);background:#ff9a7629}.effort{gap:8px;margin:14px 0;display:grid}.effort .btn{justify-content:flex-start;font-size:1rem}.check{align-items:center;gap:10px;padding:8px 0;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.axis-head{justify-content:space-between;align-items:center;display:flex}.axis-head h3{margin:0}.axis-value{margin:6px 0 2px;font-size:1.1rem;font-weight:600}.trend{grid-template-columns:84px 1fr;align-items:center;gap:8px;padding:4px 0;font-size:.9rem;display:grid}.spark{width:100%;height:40px}.spark polyline{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.spark circle{fill:var(--accent)}.player{gap:6px;margin:10px 0;font-size:.9rem;display:grid}.player audio{width:100%;height:40px}.calendar{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px;display:grid}.day{background:var(--surface-2);color:var(--muted);border-radius:10px;justify-items:center;gap:3px;padding:6px 0;display:grid}.day.today{outline:1.5px solid var(--accent)}.dots{gap:4px;display:flex}.dots i{background:var(--line);border-radius:50%;width:9px;height:9px}.dots i.on{background:var(--accent)}.coach h3{font-size:1.1rem}details summary{color:var(--muted);cursor:pointer;padding:8px 0;font-size:.9rem}.field{color:var(--muted);gap:6px;margin:12px 0;font-size:.9rem;display:grid}.field.inline{grid-template-columns:1fr auto;align-items:center}.field input{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;width:100%;min-height:46px;padding:12px;font-size:16px}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.stepper{justify-content:space-between;align-items:center;gap:12px;display:flex}.stepper .btn{width:56px;font-size:1.3rem}.onboarding h1{margin-top:.8em;font-size:1.9rem}.pager{justify-content:center;gap:6px;padding-top:8px;display:flex}.pager i{background:var(--surface-2);border-radius:2px;width:22px;height:4px;transition:background .3s}.pager i.on{background:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.login{padding-top:calc(env(safe-area-inset-top) + 48px)}.login-icon{border-radius:18px;margin-bottom:8px}code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em}.small-steps{color:var(--muted);font-size:.88rem}
