:root{color-scheme:light dark;--bg: #f6f4ef;--surface: #ffffff;--surface-2: #efece5;--text: #1c1e20;--text-2: #5d6166;--border: #e2ded5;--accent: #127a6b;--accent-ink: #ffffff;--accent-soft: #dcefeb;--danger: #b3412e;--rec-ready: #2f8f5b;--rec-moderate: #c98a1b;--rec-fatigued: #c2513a;--rec-nodata: #9aa0a6;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.75rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--radius: 16px;--radius-sm: 10px;--tap: 44px;--tap-lg: 56px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-h: 56px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #16181a;--surface: #202326;--surface-2: #2a2e32;--text: #eef0f1;--text-2: #a4aab0;--border: #33383d;--accent: #3fb8a5;--accent-ink: #0c1f1c;--accent-soft: #1d3a36;--danger: #e07a64}}:root[data-theme=dark]{--bg: #16181a;--surface: #202326;--surface-2: #2a2e32;--text: #eef0f1;--text-2: #a4aab0;--border: #33383d;--accent: #3fb8a5;--accent-ink: #0c1f1c;--accent-soft: #1d3a36;--danger: #e07a64}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{min-height:100%;padding-top:var(--safe-top);padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom))}.screen{max-width:640px;margin:0 auto;padding:var(--sp-4)}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-2) 0 var(--sp-4)}.screen-title{font-size:var(--fs-xl);font-weight:700;margin:0;letter-spacing:-.01em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4)}.empty{text-align:center;padding:var(--sp-6) var(--sp-4)}.empty-icon{width:56px;height:56px;margin:0 auto var(--sp-3);display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.empty h2{font-size:var(--fs-lg);margin:0 0 var(--sp-2)}.empty p{color:var(--text-2);margin:0 auto;max-width:32ch}.milestone-note{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-2)}.icon-btn{min-width:var(--tap);min-height:var(--tap);display:grid;place-items:center;border:none;background:transparent;border-radius:50%;cursor:pointer}.icon-btn:active{background:var(--surface-2)}.icon-btn:focus-visible,.tab:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{min-height:var(--tap-lg);padding:0 var(--sp-5);border-radius:var(--radius-sm);border:none;cursor:pointer;font-weight:600;width:100%}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface-2);color:var(--text)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:var(--safe-bottom);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border)}.tab{height:var(--tabbar-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-2);text-decoration:none;font-size:.6875rem;font-weight:500}.tab[aria-current=page]{color:var(--accent)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000059;display:flex;align-items:flex-end;animation:fade .16s ease-out}.sheet{width:100%;max-width:640px;margin:0 auto;max-height:calc(100% - var(--safe-top) - 24px);overflow-y:auto;background:var(--bg);border-radius:var(--radius) var(--radius) 0 0;padding:var(--sp-2) var(--sp-4) calc(var(--sp-5) + var(--safe-bottom));animation:rise .22s cubic-bezier(.2,.8,.2,1)}.sheet-grabber{width:36px;height:5px;border-radius:3px;background:var(--border);margin:0 auto var(--sp-3)}.list{list-style:none;margin:0;padding:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.list li{display:flex;justify-content:space-between;align-items:center;min-height:var(--tap-lg);padding:0 var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:none}.list li{gap:var(--sp-3)}.list .muted{color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap}.section-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:var(--sp-5) var(--sp-2) var(--sp-2)}.fineprint{font-size:var(--fs-xs);color:var(--text-2);margin:var(--sp-4) var(--sp-2)}.update-toast{position:fixed;left:var(--sp-4);right:var(--sp-4);z-index:30;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--sp-3));max-width:600px;margin:0 auto;display:flex;align-items:center;gap:var(--sp-3)}.update-toast .btn{width:auto;min-height:var(--tap)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(100%)}}.field{border:0;margin:0 0 var(--sp-5);padding:0;min-width:0}.field-label{display:block;font-weight:600;margin-bottom:var(--sp-2);padding:0}.field-optional,.field-hint{color:var(--text-2);font-weight:400;font-size:var(--fs-sm)}.field-hint{margin:var(--sp-2) 0 0}.field-error{color:var(--danger);font-size:var(--fs-sm);margin:var(--sp-2) 0 0}.input-wrap{position:relative;display:flex;align-items:center}.input{width:100%;min-height:var(--tap-lg);padding:0 var(--sp-4);font-size:1.125rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}.input[aria-invalid=true]{border-color:var(--danger)}.input-suffix{position:absolute;right:var(--sp-4);color:var(--text-2);pointer-events:none}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.field-row .field{margin-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chips-stack{flex-direction:column}.chip{display:flex;align-items:center;gap:var(--sp-2);text-align:left;min-height:var(--tap);padding:var(--sp-2) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer}.chips-stack .chip{border-radius:var(--radius-sm);min-height:var(--tap-lg)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.chip-check{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--border);font-size:12px;font-weight:700}.chip[aria-pressed=true] .chip-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip-text{display:flex;flex-direction:column}.chip-hint{font-size:var(--fs-sm);color:var(--text-2)}.stepper{display:grid;grid-template-columns:var(--tap-lg) 1fr var(--tap-lg);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.stepper-btn{height:var(--tap-lg);border:0;background:transparent;font-size:1.5rem;cursor:pointer;color:var(--accent)}.stepper-btn:disabled{color:var(--border)}.stepper-value{text-align:center;font-size:1.25rem;font-weight:600}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;gap:3px;background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:var(--sp-5)}.segment{min-height:36px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-weight:500}.segment[aria-checked=true]{background:var(--surface);box-shadow:0 1px 2px #0000001f}.note{background:var(--accent-soft);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);margin:0 0 var(--sp-5)}.onboarding{min-height:100%;display:flex;flex-direction:column;padding-top:var(--safe-top)}.ob-top{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) 0;max-width:640px;width:100%;margin:0 auto}.ob-progress{flex:1;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.ob-progress>div{height:100%;background:var(--accent);transition:width .2s}.ob-body{flex:1;padding:var(--sp-4);max-width:640px;width:100%;margin:0 auto}.ob-title{font-size:var(--fs-xl);font-weight:700;margin:var(--sp-2) 0 var(--sp-2);letter-spacing:-.01em}.ob-lede{color:var(--text-2);margin:0 0 var(--sp-5)}.ob-footer{position:sticky;bottom:0;padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + var(--safe-bottom));background:linear-gradient(transparent,var(--bg) 30%);max-width:640px;width:100%;margin:0 auto}.summary dl{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-4);margin:0}.summary dt{color:var(--text-2)}.summary dd{margin:0;text-align:right}.details summary{min-height:var(--tap);display:flex;align-items:center;cursor:pointer;font-weight:600;color:var(--accent)}.details summary{list-style:none;gap:var(--sp-2)}.details summary::-webkit-details-marker{display:none}.details summary:before{content:"›";display:inline-block;font-size:1.25rem;transition:transform .15s}.details[open] summary:before{transform:rotate(90deg)}.workout-card{margin-top:var(--sp-4)}.workout-title{font-size:var(--fs-lg);margin:0}.workout-meta{margin:var(--sp-1) 0 0;color:var(--text-2);font-size:var(--fs-sm)}.workout-list{list-style:none;margin:var(--sp-4) 0 0;padding:0;counter-reset:wx}.workout-list li{padding:var(--sp-3) 0;border-top:1px solid var(--border)}.wx-main{display:flex;flex-direction:column;gap:2px}.wx-name{font-weight:600}.wx-rx{font-size:var(--fs-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.wx-why{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--text-2)}.why-list{margin:0 0 var(--sp-4);padding-left:var(--sp-5);font-size:var(--fs-sm)}.why-list li+li{margin-top:var(--sp-2)}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}
