:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1ec;--surface:#fff;--surface-2:#e3e8e1;--surface-3:#d6ddd3;--seg-on:#fff;--ink:#121714;--ink-2:#4b5650;--ink-3:#5c6760;--line:#d2d9d0;--stage:transparent;--stage-2:#e3e8e1;--stage-ink:#121714;--stage-ink-2:#4b5650;--stage-line:#d2d9d0;--accent:#2f5d3a;--accent-press:#26502f;--accent-ink:#f4f8f1;--accent-text:#2f5d3a;--accent-soft:#dbe7d9;--signal:#a86d00;--done:#2f8a4f;--done-soft:#dbeedd;--done-text:#23683b;--skip:#b0442c;--skip-soft:#f5ddd5;--skip-text:#9c3a24;--recovery:#356a8a;--recovery-soft:#d9e6ee;--rest:#7c857f;--c-line:#2f5d3a;--c-run:#b5740a;--c-walk:#2f6fb0;--fig:#1d2a22;--fig-far:#9aa79e;--demo-bg:#f6f8f4;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif;--font-num:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--fs-display:6.1rem;--fs-large:1.9rem;--fs-title:1.6rem;--fs-title-2:1.2rem;--fs-headline:1rem;--fs-body:1rem;--fs-callout:.94rem;--fs-sub:.88rem;--fs-caption:.8rem;--fs-metric:1.2rem;--gutter:16px;--r-stage:22px;--r-card:20px;--r-ctl:14px;--r-sm:12px;--tap:44px;--tabbar-h:58px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--kb:0px;--d-fast:.14s;--d-base:.18s;--d-slow:.26s;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1311;--surface:#181d1a;--surface-2:#222924;--surface-3:#2c342f;--seg-on:#39423c;--ink:#edf2eb;--ink-2:#aab4ad;--ink-3:#939e97;--line:#28302b;--stage-2:#222924;--stage-ink:#edf2eb;--stage-ink-2:#aab4ad;--stage-line:#28302b;--accent:#9fc7a0;--accent-press:#b3d5b4;--accent-ink:#0d1a10;--accent-text:#a9d0aa;--accent-soft:#22332a;--signal:#e2b04a;--done:#7fcf96;--done-soft:#1f3327;--done-text:#8fd9a5;--skip:#ec8a72;--skip-soft:#3c231d;--skip-text:#f19c86;--recovery:#8bb8d6;--recovery-soft:#1d2d38;--rest:#7f8a83;--c-line:#9fc7a0;--c-run:#c08a1c;--c-walk:#4a8fd6;--fig:#e6ece4;--fig-far:#5c6a61;--demo-bg:#151a17}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1311;--surface:#181d1a;--surface-2:#222924;--surface-3:#2c342f;--seg-on:#39423c;--ink:#edf2eb;--ink-2:#aab4ad;--ink-3:#939e97;--line:#28302b;--stage-2:#222924;--stage-ink:#edf2eb;--stage-ink-2:#aab4ad;--stage-line:#28302b;--accent:#9fc7a0;--accent-press:#b3d5b4;--accent-ink:#0d1a10;--accent-text:#a9d0aa;--accent-soft:#22332a;--signal:#e2b04a;--done:#7fcf96;--done-soft:#1f3327;--done-text:#8fd9a5;--skip:#ec8a72;--skip-soft:#3c231d;--skip-text:#f19c86;--recovery:#8bb8d6;--recovery-soft:#1d2d38;--rest:#7f8a83;--c-line:#9fc7a0;--c-run:#c08a1c;--c-walk:#4a8fd6;--fig:#e6ece4;--fig-far:#5c6a61;--demo-bg:#151a17}*,:before,:after{box-sizing:border-box}html{font-size:17px;font:-apple-system-body;font-family:var(--font);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);overflow-x:clip}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;margin:0;font-weight:400;line-height:1.45;overflow-x:hidden}h1,h2,h3,p,dl,dd{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:10px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;top:0;left:0;overflow:hidden}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.muted{color:var(--ink-2)}.small{font-size:var(--fs-sub)}.tiny{font-size:var(--fs-caption);color:var(--ink-3);line-height:1.4}.app{max-width:560px;min-height:100dvh;margin:0 auto}.screen{padding:calc(var(--safe-top) + 12px) var(--gutter) calc(var(--tabbar-h) + var(--safe-bottom) + 32px);animation:screen-in var(--d-base) var(--ease)}@keyframes screen-in{0%{opacity:0}}.screen-title{font-size:var(--fs-large);letter-spacing:-.02em;margin:10px 0 18px;font-weight:700;line-height:1.1}.section-title{font-size:var(--fs-title-2);letter-spacing:-.01em;margin:30px 0 12px;font-weight:650;line-height:1.2}.tabbar{z-index:20;padding-bottom:var(--safe-bottom);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(20px);backdrop-filter:saturate(1.6)blur(20px);border-top:.5px solid var(--line);position:fixed;bottom:0;left:0;right:0}.tabbar-inner{max-width:560px;height:var(--tabbar-h);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid}.tab{min-height:var(--tap);letter-spacing:.01em;color:var(--ink-3);transition:color var(--d-fast) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:clamp(10px,.65rem,12px);font-weight:620;display:flex;position:relative}.tab svg{width:26px;height:26px;transition:transform var(--d-fast) var(--ease)}.tab:active svg{transform:scale(.88)}.tab[aria-current=page]{color:var(--accent-text)}.card{background:var(--surface);border-radius:var(--r-card);padding:16px}.card+.card{margin-top:12px}.tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tiles>.card{margin-top:0}.list{background:var(--surface);border-radius:var(--r-card);overflow:hidden}.row{text-align:left;width:100%;min-height:60px;transition:background-color var(--d-fast);align-items:center;gap:14px;padding:10px 16px;display:flex}button.row:active{background:var(--surface-2)}.row+.row{box-shadow:inset 0 .5px 0 var(--line)}.row-main{flex:1;min-width:0}.row-title{overflow-wrap:anywhere;font-weight:620}.row-sub{font-size:var(--fs-sub);color:var(--ink-2);overflow-wrap:anywhere}.chev{color:var(--ink-3);flex:none}.menu-ico{color:#fff;background:var(--ink-3);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.menu-ico svg{width:20px;height:20px}.menu-ico[data-tone=red]{background:#d63c4a}.menu-ico[data-tone=blue]{background:#2f6fd0}.menu-ico[data-tone=gray]{background:#6b6f78}.menu-ico[data-tone=green]{background:#1e8f52}.menu-ico[data-tone=orange]{background:#9a6b24}.btn{border-radius:var(--r-ctl);min-height:50px;font-weight:620;font-size:var(--fs-headline);background:var(--surface-2);color:var(--ink);transition:transform var(--d-fast) var(--ease), background-color var(--d-base) var(--ease), opacity var(--d-base);justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.42;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:active{background:var(--accent-press)}.btn-quiet{color:var(--accent-text);background:0 0;padding:0 12px}.btn-danger{color:var(--skip-text)}.btn-block{width:100%}.btn-destructive{background:var(--skip-soft);color:var(--skip-text)}.reset-summary{border-radius:var(--r-card);background:var(--surface);gap:8px;margin-top:14px;padding:14px 16px;display:grid}.btn-xl{border-radius:18px;min-height:58px;font-size:1.06rem}.icon-btn{width:var(--tap);height:var(--tap);color:var(--ink);background:var(--surface);transition:transform var(--d-fast) var(--ease);border-radius:50%;place-items:center;display:inline-grid}.icon-btn:active{transform:scale(.92)}.icon-btn:disabled{opacity:.35}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.week-label{font-size:var(--fs-sub);color:var(--ink-2);font-weight:600}.hero-card{color:var(--ink);margin-top:4px;position:relative}.hero{align-items:flex-end;gap:10px;display:flex}.hero-num{font-family:var(--font-num);font-weight:800;font-size:min(var(--fs-display), 34vw);letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin-left:-4px;line-height:.78}.hero-of{white-space:nowrap;font-size:var(--fs-headline);color:var(--stage-ink-2);padding-bottom:4px;font-weight:620}.hero .badge{position:absolute;top:2px;right:0}.hero-title{font-size:var(--fs-title);letter-spacing:-.02em;overflow-wrap:anywhere;margin-top:16px;font-weight:700;line-height:1.12}.hero-goal{font-size:var(--fs-callout);color:var(--stage-ink-2);margin-top:6px}.hero-metrics{flex-wrap:wrap;justify-content:space-between;row-gap:10px;margin-top:14px;display:flex}.hero-metrics>div{flex-direction:column-reverse;justify-content:flex-end;min-width:0;display:flex}.hero-metrics{column-gap:20px}.hero-metrics dd{font-family:var(--font-num);font-size:var(--fs-metric);letter-spacing:-.015em;white-space:nowrap;font-weight:650;line-height:1.15}.hero-metrics dt{font-size:var(--fs-caption);color:var(--stage-ink-2);margin-top:2px;font-weight:560}.hero-metrics .unit{font-size:var(--fs-caption);color:var(--stage-ink-2);letter-spacing:0;margin-left:2px;font-weight:600}.strip{grid-template-columns:repeat(28,1fr);gap:3px;margin:16px 0 2px;display:grid}.strip i{background:var(--surface-2);border-radius:3px;height:6px}.strip i[data-s=done]{background:var(--done)}.strip i[data-s=skipped]{background:var(--skip)}.strip i[data-s=rest]{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.strip i[data-s=recovery]{background:color-mix(in srgb, var(--recovery) 55%, transparent)}.strip i[data-today]{background:var(--ink);height:12px;margin-top:-3px}.strip i[data-today][data-s=done]{background:var(--done)}.cta-dock{left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom));z-index:15;padding:10px var(--gutter);background:var(--bg);position:fixed}.cta-dock>*{max-width:528px;margin:0 auto}.screen.with-cta{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 110px)}.hero-rest{font-size:var(--fs-callout);color:var(--stage-ink-2);gap:10px;margin-top:16px;display:flex}.hero-rest svg{color:var(--stage-ink);flex:none;margin-top:3px}.banner{border-radius:var(--r-card);background:var(--accent-soft);color:var(--ink);font-size:var(--fs-callout);align-items:flex-start;gap:12px;margin-top:12px;padding:14px 16px;display:flex}.banner svg{color:var(--accent-text);flex:none;margin-top:1px}.banner .banner-action{min-height:var(--tap);margin-bottom:-10px;padding:0}.plan-row{grid-template-columns:30px 1fr auto;align-items:center;gap:12px;min-height:60px;padding:10px 16px;display:grid}.plan-row+.plan-row,.phase-note+.plan-row{box-shadow:inset 0 .5px 0 var(--line)}.plan-row .rx{color:var(--ink-2);font-weight:650;font-size:var(--fs-callout);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.state-dot{background:var(--surface-2);width:28px;height:28px;color:var(--ink-2);font-size:var(--fs-caption);border-radius:50%;place-items:center;font-weight:720;display:grid}.state-dot[data-s=done]{background:var(--done-soft);color:var(--done-text)}.state-dot[data-s=partial]{background:var(--surface);box-shadow:inset 0 0 0 2px var(--accent);color:var(--ink)}.state-dot[data-s=skipped]{box-shadow:inset 0 0 0 1.5px var(--ink-3);color:var(--ink-3);background:0 0}.phase-note{font-size:var(--fs-sub);color:var(--ink-2);padding:12px 16px}.phase-note+.phase-note,.plan-row+.phase-note{box-shadow:inset 0 .5px 0 var(--line)}.phase-tag{color:var(--ink);margin-right:4px;font-weight:700;display:inline-block}.checkin{gap:14px;display:grid}.checkin-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.seg{background:var(--surface-2);border-radius:14px;grid-auto-columns:minmax(44px,1fr);grid-auto-flow:column;gap:2px;padding:3px;display:inline-grid}.seg button{font-family:var(--font-num);min-height:var(--tap);color:var(--ink-2);font-variant-numeric:tabular-nums;transition:background-color var(--d-fast), color var(--d-fast), transform var(--d-fast) var(--ease);border-radius:11px;padding:0 10px;font-weight:650}.seg button:active{transform:scale(.94)}.seg button[aria-pressed=true]{background:var(--seg-on);color:var(--ink);box-shadow:0 1px 2px #00000024}.mini-stepper{background:var(--surface-2);border-radius:14px;align-items:center;gap:4px;padding:3px;display:inline-flex}.mini-stepper button{width:var(--tap);height:var(--tap);border-radius:11px;font-size:1.3rem;font-weight:450}.mini-stepper button:active{background:var(--surface)}.mini-stepper output{font-family:var(--font-num);text-align:center;font-variant-numeric:tabular-nums;min-width:72px;font-weight:700}.mini-stepper output.empty-val{font-size:var(--fs-sub);color:var(--ink-3);font-weight:560}.workout{min-height:100dvh;padding-top:var(--safe-top);flex-direction:column;display:flex}.wk-top{z-index:10;grid-template-columns:var(--tap) 1fr var(--tap);padding:8px var(--gutter);padding-top:calc(var(--safe-top) + 8px);margin-top:calc(-1 * var(--safe-top));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-items:center;gap:12px;display:grid;position:sticky;top:0}.wk-progress{gap:4px;display:flex}.wk-progress i{background:var(--surface-3);height:4px;transition:background-color var(--d-slow) var(--ease);border-radius:2px;flex:1}.wk-progress i[data-s=done]{background:var(--done)}.wk-progress i[data-s=current]{background:var(--ink)}.wk-progress i[data-s=skipped]{background:var(--ink-3);opacity:.5}.wk-pos{text-align:center;font-size:var(--fs-caption);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:6px;font-weight:650}.wk-body{padding:6px var(--gutter) calc(var(--safe-bottom) + 300px);animation:fade-in var(--d-base) ease-out;flex:1}.wk-body.short-dock{padding-bottom:calc(var(--safe-bottom) + 130px)}.ex-title{font-size:var(--fs-title);letter-spacing:-.02em;overflow-wrap:anywhere;margin:18px 0 12px;font-weight:700;line-height:1.12}.rx-row{background:var(--surface);border-radius:18px;flex-wrap:wrap;row-gap:12px;padding:12px 0;display:flex}.rx-pill{flex-direction:column;min-width:0;padding:0 14px;display:flex}.rx-pill+.rx-pill{box-shadow:inset 1px 0 0 var(--line)}.rx-pill b{font-family:var(--font-num);font-size:var(--fs-metric);letter-spacing:-.015em;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650;line-height:1.15}.rx-pill span{font-size:var(--fs-caption);color:var(--ink-2);font-weight:580}.cue-line{font-size:var(--fs-callout);color:var(--ink-2);margin-top:12px;font-weight:560}.source-line{font-size:var(--fs-caption);color:var(--ink-3);margin-top:8px}.demo{border-radius:var(--r-stage);background:var(--demo-bg);color:var(--ink);aspect-ratio:11/8;place-items:center;width:100%;max-height:30vh;margin-top:4px;display:grid;position:relative;overflow:hidden}.demo>svg{width:100%;height:100%;padding:6px 10px 0}.demo-pair{aspect-ratio:auto;grid-template-columns:1fr 1fr;gap:4px;max-height:none;padding:10px}.demo-frame{text-align:center;margin:0}.demo-frame svg{width:100%;height:auto;max-height:26vh}.demo-frame figcaption{font-size:var(--fs-caption);color:var(--stage-ink-2);font-weight:600}.demo-view,.demo-still{font-size:var(--fs-caption);color:var(--stage-ink-2);font-weight:650;position:absolute;top:12px;left:14px}.demo-still{top:auto;bottom:14px}.demo-caption{background:var(--signal);color:#1a1203;font-size:var(--fs-caption);border-radius:999px;padding:4px 10px;font-weight:650;position:absolute;top:10px;left:50%;transform:translate(-50%)}.demo-controls{gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.demo-ctl{min-width:var(--tap);height:var(--tap);background:var(--stage-2);color:var(--stage-ink);font-size:var(--fs-caption);transition:background-color var(--d-fast), transform var(--d-fast) var(--ease);border-radius:14px;place-items:center;padding:0 10px;font-weight:720;display:grid}.demo-ctl:active{transform:scale(.92)}.demo-ctl[aria-pressed=true]{background:var(--ink);color:var(--bg)}.fig-near,.fig-far,.fig-halo{fill:none;stroke-linecap:round;stroke-linejoin:round}.fig-near{stroke:var(--fig)}.fig-far{stroke:var(--fig-far)}.fig-halo{stroke:var(--demo-bg)}.fig-fill{fill:var(--fig)}.fig-fill-halo{fill:var(--demo-bg)}.fig-head{fill:var(--fig)}.fig-head-halo{fill:var(--demo-bg)}.fig-db circle{fill:var(--accent);stroke:var(--demo-bg);stroke-width:2px}.fig-db-far circle{fill:color-mix(in srgb, var(--accent) 55%, var(--demo-bg))}.demo-floor{stroke:var(--line);stroke-width:2px;stroke-linecap:round}.demo-prop{stroke:var(--stage-ink-2);stroke-width:4px;stroke-linecap:round}.demo-bar{fill:var(--stage-ink-2)}.demo-mount{stroke-width:3px;opacity:.6}.sets{margin-top:16px}.set-row{text-align:left;width:100%;min-height:56px;transition:background-color var(--d-base) var(--ease);grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:6px 16px;display:grid}.set-row+.set-row{box-shadow:inset 0 .5px 0 var(--line)}.set-row[data-current]{background:var(--accent-soft)}.set-idx{background:var(--surface-2);width:28px;height:28px;color:var(--ink-2);font-size:var(--fs-caption);border-radius:50%;place-items:center;font-weight:720;display:grid}.set-row[data-current] .set-idx{background:var(--accent);color:var(--accent-ink)}.set-row[data-done] .set-idx{background:var(--done-soft);color:var(--done-text)}.set-row[data-fresh]{animation:.7s ease-out set-flash}@keyframes set-flash{0%{background:var(--done-soft)}}.set-label{font-weight:620}.set-label small{color:var(--ink-3);font-weight:520;font-size:var(--fs-sub);margin-left:6px}.set-val{font-family:var(--font-num);text-align:right;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:650}.set-val.pending{color:var(--ink-3);font-weight:580}.sub-toggle{border-radius:var(--r-card);background:var(--surface);text-align:left;align-items:center;gap:12px;width:100%;min-height:60px;margin-top:12px;padding:12px 16px;display:flex}.switch{background:var(--surface-3);width:51px;height:31px;transition:background-color var(--d-base) var(--ease);border-radius:999px;flex:none;position:relative}.switch:after{content:"";width:27px;height:27px;transition:transform var(--d-base) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #00000038}[aria-checked=true]>.switch{background:var(--accent)}[aria-checked=true]>.switch:after{transform:translate(20px)}.tech{margin-top:16px}.tech details{background:var(--surface);border-radius:var(--r-card);padding:0 16px}.tech details+details{margin-top:10px}.tech summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:54px;font-weight:680;list-style:none;display:flex}.tech summary::-webkit-details-marker{display:none}.tech summary svg{transition:transform var(--d-base) var(--ease);color:var(--ink-3)}.tech details[open] summary svg{transform:rotate(90deg)}.tech details>:not(summary){color:var(--ink-2);padding-bottom:16px}.tech details[open]>:not(summary){animation:fade-in var(--d-base) ease-out}.tech ul{margin:0;padding-left:20px}.tech li+li{margin-top:6px}.dock{z-index:12;background:var(--bg);border-top:.5px solid var(--line);padding:14px var(--gutter) calc(var(--safe-bottom) + 12px);transform:translateY(calc(-1 * var(--kb)));transition:transform var(--d-base) var(--ease);position:fixed;bottom:0;left:0;right:0}.dock-inner{gap:10px;max-width:528px;margin:0 auto;display:grid}.dock-meta{font-size:var(--fs-sub);color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:10px;font-weight:620;display:flex}.stepper{grid-template-columns:64px 1fr 64px;align-items:center;gap:8px;display:grid}.stepper button{background:var(--surface);height:62px;color:var(--ink);transition:transform var(--d-fast) var(--ease), background-color var(--d-fast);border-radius:18px;place-items:center;display:grid}.stepper button:active{background:var(--surface-3);transform:scale(.93)}.stepper button:disabled{opacity:.4}.stepper-val{text-align:center;line-height:1}.stepper-val output{font-family:var(--font-num);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:750;display:block}.stepper-val span{font-size:var(--fs-caption);color:var(--ink-3);font-weight:600}.dock-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dock-stack{grid-template-columns:1fr}.kg-field{background:var(--surface);border-radius:var(--r-ctl);align-items:center;gap:4px;min-height:52px;padding:0 4px 0 14px;display:flex}.kg-field label{font-size:var(--fs-caption);color:var(--ink-3);white-space:nowrap;font-weight:650}.kg-field input{width:100%;min-width:0;min-height:var(--tap);font-family:var(--font-num);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:8px 0;font-size:1.3rem;font-weight:700}.kg-field input:focus{outline:none}.kg-field:focus-within{box-shadow:0 0 0 2px var(--accent)}.kg-field button{width:var(--tap);height:var(--tap);border-radius:12px;flex:none;font-size:1.3rem}.kg-field button:active{background:var(--surface-3)}.rir-pick{align-items:center;gap:10px;display:flex}.rir-pick>span{font-size:var(--fs-caption);color:var(--ink-3);white-space:nowrap;font-weight:650}.rir-pick .seg{flex:1;grid-auto-columns:1fr}.rest-sheet{z-index:30;background:var(--surface);color:var(--ink);padding:20px var(--gutter) calc(var(--safe-bottom) + 14px);animation:sheet-in var(--d-slow) var(--ease);border-radius:28px 28px 0 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000038}@keyframes sheet-in{0%{transform:translateY(100%)}}.rest-inner{justify-items:center;gap:14px;max-width:528px;margin:0 auto;display:grid}.rest-ring{aspect-ratio:1;width:min(54vw,210px);position:relative}.rest-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.rest-ring circle{fill:none;stroke-width:8px}.rest-ring .track{stroke:var(--surface-2)}.rest-ring .bar{stroke:var(--signal);stroke-linecap:round;transition:stroke-dashoffset .25s linear, stroke var(--d-slow)}.rest-ring[data-done] .bar{stroke:var(--accent)}.rest-center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.rest-center output{font-family:var(--font-num);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,15vw,3.6rem);font-weight:750;line-height:1}.rest-center span{font-size:var(--fs-sub);color:var(--ink-2);margin-top:6px;font-weight:600}.rest-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.rest-sheet .btn{background:var(--surface-2);color:var(--ink)}.rest-sheet .btn-primary{background:var(--accent);color:var(--accent-ink)}.rest-next{font-size:var(--fs-callout);color:var(--ink-2);text-align:center}.phase-card{margin-top:16px}.phase-kicker{font-size:var(--fs-sub);color:var(--accent-text);margin-top:20px;font-weight:700}.phase-text{font-size:1.12rem;line-height:1.5}.notes{gap:8px;margin-top:14px;display:grid}.note{background:var(--surface);font-size:var(--fs-callout);color:var(--ink-2);box-shadow:inset 3px 0 0 var(--accent);border-radius:16px;padding:12px 14px}.iv-phase{text-align:center;margin-top:8px}.iv-phase .label{letter-spacing:-.02em;font-size:1.9rem;font-weight:780}.iv-phase[data-p=run] .label{color:var(--signal)}.iv-phase[data-p=walk] .label{color:var(--recovery)}.iv-clock{font-family:var(--font-num);letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:6px 0;font-size:clamp(3.4rem,22vw,5.4rem);font-weight:790;line-height:1}.iv-track{gap:3px;margin:18px 0 8px;display:flex}.iv-track i{background:var(--surface-2);border-radius:4px;height:10px;position:relative;overflow:hidden}.iv-track i[data-k=run]{background:color-mix(in srgb, var(--c-run) 22%, var(--surface-2))}.iv-track i b{position:absolute;inset:0 auto 0 0}.iv-track i[data-k=run] b{background:var(--c-run)}.iv-track i[data-k=walk] b{background:var(--c-walk)}.form-grid{gap:12px;display:grid}.field{background:var(--surface);border-radius:var(--r-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:8px 8px 8px 16px;display:flex}.field-label{font-weight:620}.field-label small{font-size:var(--fs-caption);color:var(--ink-3);font-weight:520;display:block}textarea.note-input{border-radius:var(--r-card);background:var(--surface);resize:vertical;border:0;width:100%;min-height:92px;padding:14px 16px}.cal-week{margin-top:20px}.cal-week h3{font-size:var(--fs-sub);color:var(--ink-2);margin-bottom:8px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-day{aspect-ratio:1/1.2;background:var(--surface);min-width:0;min-height:48px;transition:transform var(--d-fast) var(--ease);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative}.cal-day:active{transform:scale(.94)}.cal-day .d{font-family:var(--font-num);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700;line-height:1}.cal-day .wd{color:var(--ink-3);font-size:.66rem;font-weight:620}.cal-day .mark{place-items:center;height:12px;display:grid}.cal-day[data-s=done]{background:var(--done-soft);color:var(--done-text)}.cal-day[data-s=done] .wd{color:var(--done-text)}.cal-day[data-s=skipped]{background:var(--skip-soft);color:var(--ink)}.cal-day[data-s=skipped] .mark{color:var(--skip)}.cal-day[data-s=recovery]{background:var(--recovery-soft)}.cal-day[data-s=recovery] .mark:before{content:"";background:var(--recovery);border-radius:50%;width:6px;height:6px}.cal-day[data-s=rest]{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.cal-day[data-s=rest] .mark{color:var(--ink-3)}.cal-day[data-s=active]{box-shadow:inset 0 0 0 2.5px var(--accent)}.cal-day[data-s=active] .mark:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.cal-day[data-today]:after{content:"";border:2px solid var(--ink);pointer-events:none;border-radius:17px;position:absolute;inset:-3px}.legend{font-size:var(--fs-caption);color:var(--ink-2);flex-wrap:wrap;gap:10px 16px;margin-top:18px;font-weight:560;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--surface);width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--line);border-radius:5px;place-items:center;display:grid}.legend i[data-s=done]{background:var(--done-soft);color:var(--done-text);box-shadow:none}.legend i[data-s=skipped]{background:var(--skip-soft);color:var(--skip);box-shadow:none}.legend i[data-s=recovery]{background:var(--recovery-soft);box-shadow:none}.legend i[data-s=recovery]:before{content:"";background:var(--recovery);border-radius:50%;width:6px;height:6px}.legend i[data-s=rest]{color:var(--ink-3);background:0 0}.sheet-backdrop{z-index:40;animation:fade-in var(--d-base);background:#0006;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.sheet{z-index:41;background:var(--bg);max-height:88dvh;padding:10px var(--gutter) calc(var(--safe-bottom) + 18px);animation:sheet-in var(--d-slow) var(--ease);border-radius:30px 30px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet-inner{max-width:528px;margin:0 auto}.grabber{background:var(--surface-3);border-radius:3px;width:40px;height:5px;margin:0 auto 12px}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sheet-actions{gap:8px;margin-top:16px;display:grid}.facts{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.fact{background:var(--surface);min-height:32px;font-size:var(--fs-sub);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:620;display:inline-flex}.fact svg{width:16px;height:16px;color:var(--ink-3)}.chart-card h3{font-size:var(--fs-headline);font-weight:680}.chart-card .big{font-family:var(--font-num);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:2.1rem;font-weight:700;line-height:1.05}.chart-card .big small{font-size:var(--fs-sub);color:var(--ink-3);letter-spacing:0;margin-left:6px;font-weight:580}.chart{width:100%;height:auto;margin-top:12px;overflow:visible}.chart .axis{stroke:var(--line);stroke-width:1px}.chart text{fill:var(--ink-3);font-size:12px;font-family:var(--font);font-variant-numeric:tabular-nums}.chart .ln{fill:none;stroke:var(--c-line);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart .area{fill:var(--c-line);opacity:.08}.chart text.val{fill:var(--ink);font-size:13px;font-weight:700}.chart-hint{font-size:var(--fs-sub);color:var(--ink-2);margin-top:8px}.chart .dot{fill:var(--c-line);stroke:var(--surface);stroke-width:2.5px;transition:r var(--d-fast) var(--ease)}.chart .bar{fill:var(--c-line)}.chart .bar-empty{fill:var(--surface-2)}.chart-legend{font-size:var(--fs-caption);color:var(--ink-2);flex-wrap:wrap;gap:16px;margin-top:8px;font-weight:600;display:flex}.chart-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.empty{color:var(--ink-3);font-size:var(--fs-callout);padding:18px 0 4px}.health{gap:12px;display:grid}.health-lead{letter-spacing:-.01em;font-size:1.12rem;font-weight:650;line-height:1.4}.health-note{font-size:var(--fs-callout);color:var(--ink-2)}.health-blocks{gap:10px;margin:6px 0 0;padding:0;list-style:none;display:grid}.health-blocks li{border-radius:var(--r-card);background:var(--surface);grid-template-columns:34px 1fr;align-items:start;gap:12px;padding:14px 16px;display:grid}.health-blocks h3{font-size:var(--fs-headline);margin:4px 0;font-weight:700}.health-blocks p{font-size:var(--fs-callout);color:var(--ink-2);line-height:1.45}.health-ico{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.health-blocks [data-tone=ok] .health-ico{background:var(--done-soft);color:var(--done-text)}.health-blocks [data-tone=lock] .health-ico{background:var(--accent-soft);color:var(--accent-text)}.health-blocks [data-tone=stop] .health-ico{background:var(--skip-soft);color:var(--skip-text)}.prose{line-height:1.5}.prose p+p,.prose p+ul,.prose ul+p{margin-top:10px}.prose ul{margin:0;padding-left:20px}.prose li+li{margin-top:6px}.back{min-height:var(--tap);color:var(--accent-text);align-items:center;gap:4px;margin-left:-6px;font-weight:620;display:inline-flex}.credit{font-size:var(--fs-callout)}.badge{min-height:26px;font-size:var(--fs-caption);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-weight:680;display:inline-flex}.badge-ok{background:var(--done-soft);color:var(--done-text)}.badge-warn{background:var(--skip-soft);color:var(--skip-text)}.report-pre{white-space:pre-wrap;background:var(--surface);border-radius:var(--r-card);overflow-wrap:anywhere;max-height:46vh;padding:14px;font:.78rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.onb{min-height:100dvh;padding:calc(var(--safe-top) + 24px) var(--gutter) calc(var(--safe-bottom) + 20px);flex-direction:column;max-width:560px;margin:0 auto;display:flex}.onb-body{flex:1}.onb-num{font-family:var(--font-num);letter-spacing:-.06em;color:var(--ink);font-size:min(7rem,38vw);font-weight:800;line-height:.85}.onb h1{font-size:var(--fs-large);letter-spacing:-.025em;margin:16px 0 14px;font-weight:760;line-height:1.12}.onb-dots{justify-content:center;gap:6px;margin:18px 0;display:flex}.onb-dots i{background:var(--surface-3);width:7px;height:7px;transition:width var(--d-base) var(--ease);border-radius:4px}.onb-dots i[data-on]{background:var(--ink);width:22px}.date-input{background:var(--surface-2);border:0;border-radius:14px;width:100%;min-width:0;min-height:50px;padding:0 14px}.toast{width:-moz-fit-content;width:fit-content;left:16px;right:16px;bottom:calc(var(--safe-bottom) + 96px);z-index:60;background:var(--ink);color:var(--bg);font-size:var(--fs-callout);max-width:calc(100vw - 32px);animation:toast-in var(--d-base) var(--ease);border-radius:16px;align-items:center;gap:12px;margin:0 auto;padding:12px 18px;font-weight:620;display:flex;position:fixed;box-shadow:0 6px 20px #0000002e}.toast button{color:inherit;text-underline-offset:3px;min-height:36px;font-weight:760;text-decoration:underline}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.update-bar{border-radius:var(--r-card);background:var(--accent-soft);font-size:var(--fs-callout);align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.update-bar .btn{min-height:var(--tap);font-size:var(--fs-callout);margin-left:auto;padding:0 14px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:350px){:root{--gutter:14px}.hero-metrics dd{font-size:1.2rem}.stepper{grid-template-columns:56px 1fr 56px}.stepper-val output{font-size:2.6rem}.rx-pill{padding:0 10px}.rx-pill b{font-size:1.12rem}.cal-grid{margin-inline:calc(-1 * var(--gutter));gap:2px}.cal-day{border-radius:10px}.rir-pick{flex-direction:column;align-items:stretch;gap:4px}}
