:root{--bg: #F7F6F0;--ink: #171A18;--accent: #D7F36C;--surface: #fff;--muted: #59615b;--border: #e2e4de;--accent-soft: #f1f8d8;--positive: #edf8c7;--positive-soft: #f3f9dc;--hero-text: #f8faef;--hero-muted: #c7d0c9;--danger: #c53228;--danger-ink: #9c2119;--danger-soft: #fff0ed;--error: #b42318;--shadow: #171a1814;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--radius-card: 20px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{min-width:320px;margin:0;background:var(--bg);line-height:1.5}button,input{font:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.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}.loading{min-height:100vh;display:grid;place-items:center}.onboarding{min-height:100vh;display:grid;place-items:center;padding:24px}.onboarding-card{width:min(100%,480px);background:var(--surface);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:0 8px 30px var(--shadow)}.eyebrow{margin:0 0 var(--space-4);font-weight:700}.onboarding h1{margin:0 0 8px;font-size:clamp(1.8rem,5vw,2.5rem)}.step-indicator{color:var(--muted);margin:0 0 var(--space-4)}.choice-group{border:0;padding:0;margin:0;display:grid;gap:12px}.choice{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer}.choice:has(input:checked){border-color:var(--ink);background:var(--accent-soft)}.choice input{accent-color:var(--ink)}.field-error{color:var(--error);margin:16px 0 0}.onboarding-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:var(--space-4)}.primary-button,.secondary-button{border:0;border-radius:999px;padding:12px 22px;cursor:pointer}.primary-button{background:var(--accent);color:var(--ink);font-weight:700}.secondary-button{background:transparent;color:var(--ink)}.app-shell{min-height:100vh;display:flex;padding-top:env(safe-area-inset-top)}.sidebar{display:none;width:216px;padding:32px 20px;border-right:1px solid var(--border)}.brand{font-weight:800;font-size:1.2rem;margin-bottom:var(--space-5)}.sidebar nav{display:grid;gap:8px}.sidebar button,.bottom-nav button{border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:10px;color:inherit;cursor:pointer}.sidebar button.active,.bottom-nav button.active{background:var(--accent);font-weight:700}.shell-content{min-width:0;flex:1;padding:24px 16px calc(96px + env(safe-area-inset-bottom))}.shell-header h1{margin:0}.page-placeholder{margin-top:36px;color:var(--muted)}.page{width:100%;margin:32px auto 0;max-width:1200px}.today-overview{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.today-overview p{margin:0;font-weight:750}.today-overview time{color:var(--muted)}.today-overview>p{border-radius:999px;padding:8px 12px;background:var(--surface)}.today-hero{color:var(--hero-text);background:var(--ink);border-radius:var(--radius-card);padding:clamp(24px,5vw,48px)}.today-hero .eyebrow{color:var(--hero-muted)}.category-badge{display:inline-block;border:1px solid var(--muted);border-radius:999px;padding:5px 10px;color:var(--hero-muted);font-size:.78rem;font-weight:700}.today-hero h2{margin:8px 0;font-size:clamp(2rem,7vw,4.5rem);letter-spacing:-.04em}.hero-meta{margin:0;color:var(--hero-muted)}.hero-footer{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:54px}.hero-footer p{margin:0}.section-block{margin-top:var(--space-5)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading .eyebrow,.section-heading h2{margin:0}.today-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px}.today-metrics article{display:grid;gap:2px;border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface)}.today-metrics strong{font-size:clamp(1.2rem,4vw,2rem)}.today-metrics span{color:var(--muted);font-size:.78rem}.text-button{border:0;padding:8px 0;color:inherit;background:transparent;cursor:pointer;font-weight:700}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(68px,1fr));gap:8px;overflow-x:auto;padding:3px 3px 10px}.week-day{min-width:68px;display:grid;gap:5px;place-items:center;border:1px solid var(--border);border-radius:16px;padding:12px 8px;color:var(--ink);background:var(--surface);cursor:pointer}.week-day strong{font-size:1.35rem}.week-day small{color:var(--muted)}.week-day.completed small,.week-day.selected small{color:var(--ink)}.week-day.completed{background:var(--positive)}.week-day.selected{outline:2px solid var(--ink);outline-offset:1px}.rest-card,.empty-state,.plan-detail{border:1px solid var(--border);border-radius:var(--radius-card);padding:clamp(24px,4vw,40px);background:var(--surface)}.rest-card h2,.empty-state h2,.plan-detail h2,.workout-page h2{margin:6px 0 10px;font-size:clamp(1.7rem,4vw,2.8rem)}.rest-card .secondary-button{border:1px solid var(--border);margin-top:16px}.plan-page{display:grid;gap:24px}.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.plan-toolbar>div{display:flex;gap:4px;border:1px solid var(--border);border-radius:999px;padding:4px;background:var(--surface)}.plan-toolbar button{border:0;border-radius:999px;padding:7px 12px;color:var(--ink);background:transparent;cursor:pointer}.plan-toolbar button[aria-pressed=true]{background:var(--accent);font-weight:700}.plan-calendar{min-width:0}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(38px,1fr));gap:6px;border:1px solid var(--border);border-radius:var(--radius-card);padding:12px;background:var(--surface)}.month-weekday{padding:4px;color:var(--muted);text-align:center;font-size:.75rem;font-weight:700}.month-calendar button{min-height:48px;display:grid;place-items:center;gap:0;border:1px solid var(--border);border-radius:12px;color:var(--ink);background:var(--bg);cursor:pointer}.month-calendar button:disabled{border-color:transparent;color:var(--muted);background:transparent;cursor:default;opacity:.45}.month-calendar button.completed{background:var(--positive)}.month-calendar button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}.month-calendar button small{min-height:1em;color:var(--muted);font-size:.62rem}.plan-summary,.rest-copy{color:var(--muted)}.rest-copy p{color:var(--ink);font-weight:700}.rest-copy .secondary-button{display:block;border:1px solid var(--border);margin-top:16px}.plan-exercises{list-style:none;margin:24px 0;padding:0;border-top:1px solid var(--border)}.plan-exercises li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--border)}.workout-page{max-width:800px}.back-link{margin-bottom:20px}.workout-intro{color:var(--muted);margin-bottom:var(--space-4)}.exercise-list{display:grid;gap:12px}.exercise-row{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface)}.exercise-row.done{background:var(--positive-soft)}.exercise-check{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:16px;cursor:pointer}.exercise-check input{width:21px;height:21px}.exercise-check small{display:block;margin-top:5px;color:var(--muted)}.exercise-number{color:var(--muted);font-variant-numeric:tabular-nums}.exercise-row details{margin:16px 0 0 50px;color:var(--muted)}.exercise-row summary{color:var(--ink);cursor:pointer;font-weight:650}.weight-guidance{font-size:.92rem}.note-field{display:grid;gap:7px;margin:16px 0 0 50px;font-size:.85rem;color:var(--muted)}.note-field input{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 12px;background:var(--bg);color:var(--ink)}.workout-complete{width:100%;margin-top:20px}.workout-complete:disabled{opacity:.68;cursor:not-allowed}.page-lead{max-width:640px;color:var(--muted);line-height:1.7}.library-filters{display:grid;gap:16px;margin:32px 0}.filter-group{display:grid;gap:8px}.filter-label{font-size:.8rem;font-weight:700;color:var(--muted)}.filter-chips{display:flex;gap:8px;overflow-x:auto;padding:3px}.filter-chips button{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:8px 13px;color:var(--ink);background:var(--surface);cursor:pointer}.filter-chips button.selected{border-color:var(--ink);color:var(--hero-text);background:var(--ink)}.exercise-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.exercise-card{min-height:220px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-card);padding:24px;background:var(--surface)}.exercise-card-top{display:flex;gap:7px}.exercise-card-top span{border-radius:999px;padding:5px 9px;font-size:.72rem;color:var(--muted);background:var(--bg)}.exercise-card h2{margin:25px 0 8px;font-size:1.35rem}.exercise-card p{margin:0;color:var(--muted);font-size:.9rem}.card-link{align-self:flex-start;margin-top:auto;border:0;padding:14px 0 0;color:var(--ink);background:transparent;cursor:pointer;font-weight:700}.detail-hero{border-radius:var(--radius-card);padding:clamp(32px,6vw,56px);color:var(--hero-text);background:var(--ink)}.detail-hero h2{margin:6px 0 20px;font-size:clamp(2rem,6vw,4rem)}.detail-hero p:not(.eyebrow){margin:0 0 6px;font-size:1.25rem;font-weight:700}.detail-hero small,.detail-hero .eyebrow{color:var(--hero-muted)}.inline-status{border-radius:12px;padding:12px 16px;color:var(--ink);background:var(--positive);font-weight:650}.detail-grid{display:grid;gap:16px;margin:16px 0}.detail-grid section{border:1px solid var(--border);border-radius:16px;padding:24px;background:var(--surface)}.detail-grid h3{margin-top:0}.detail-grid li,.detail-grid p{color:var(--muted);line-height:1.65}.detail-action{width:100%}.profile-intro{margin-bottom:24px}.profile-intro h2{margin:4px 0 8px;font-size:clamp(2rem,5vw,3.5rem)}.profile-intro p:last-child{color:var(--muted)}.profile-stats{display:grid;gap:16px;margin-bottom:16px}.progress-card,.streak-card{display:flex;align-items:center;gap:20px;border:1px solid var(--border);border-radius:var(--radius-card);padding:24px;background:var(--surface)}.progress-card h3,.progress-card p,.streak-card p{margin:3px 0}.progress-card p,.streak-card small{color:var(--muted)}.progress-ring{--progress: 0%;width:92px;aspect-ratio:1;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle closest-side,var(--surface) 72%,transparent 73%),conic-gradient(var(--accent) var(--progress),var(--border) 0)}.progress-ring strong{font-size:1.7rem}.progress-ring small{color:var(--muted)}.streak-card>span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--accent);font-size:1.6rem}.streak-card p{font-size:1.2rem;font-weight:750}.history-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius-card);padding:24px;background:var(--accent-soft)}.history-empty h3,.history-empty p{margin:0}.history-empty p{margin-top:4px;color:var(--muted)}.history-empty .secondary-button{flex:0 0 auto;border:1px solid var(--border)}.settings-card,.danger-zone{border:1px solid var(--border);border-radius:var(--radius-card);padding:clamp(24px,4vw,32px);background:var(--surface)}.settings-card{margin-bottom:16px}.settings-card h3,.danger-zone h3{margin-top:0}.profile-field{border:0;margin:24px 0;padding:0}.profile-field legend{margin-bottom:9px;font-size:.82rem;color:var(--muted);font-weight:700}.profile-options{display:flex;flex-wrap:wrap;gap:8px}.profile-options label{cursor:pointer}.profile-options input{position:absolute;opacity:0;pointer-events:none}.profile-options span{display:block;border:1px solid var(--border);border-radius:999px;padding:9px 14px}.profile-options input:checked+span{border-color:var(--ink);color:var(--hero-text);background:var(--ink)}.profile-options input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.field-note{color:var(--muted);font-size:.9rem}.danger-zone>p{color:var(--muted)}.danger-button{border:1px solid var(--danger);border-radius:999px;padding:11px 17px;color:var(--danger-ink);background:transparent;cursor:pointer;font-weight:700}.confirm-panel{margin-top:16px;border-radius:16px;padding:16px;background:var(--accent-soft)}.confirm-panel.danger{background:var(--danger-soft)}.confirm-panel h4{margin:0 0 6px}.confirm-panel p{margin:0 0 14px;color:var(--muted)}.confirm-panel>div{display:flex;flex-wrap:wrap;gap:8px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--border);padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:2}.bottom-nav button{text-align:center;padding:10px 4px;font-size:.85rem}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;flex:0 0 auto;border:0;border-radius:50%;color:var(--ink);background:var(--bg);cursor:pointer;font-size:1.35rem;line-height:1}.pwa-install-guide{width:min(calc(100% - 32px),520px);display:grid;gap:16px;margin:24px auto 0;border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;background:var(--surface);box-shadow:0 8px 30px var(--shadow)}.pwa-install-copy .eyebrow{margin-bottom:8px;color:var(--muted);font-size:.78rem}.pwa-install-copy h2{margin:0 0 6px;font-size:1.08rem}.pwa-install-copy p:last-child{margin:0;color:var(--muted);font-size:.9rem}.pwa-install-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.pwa-install-actions .secondary-button{border:1px solid var(--border)}.pwa-install-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;align-content:center;padding:24px;background:#171a1888}.pwa-install-dialog>*{width:min(100%,420px);margin-right:auto;margin-left:auto}.pwa-install-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:20px 20px 0 0;padding:20px 20px 12px;background:var(--surface)}.pwa-install-dialog-header h2{margin:0;font-size:1.2rem}.pwa-install-dialog ol{margin:0;border-radius:0 0 20px 20px;padding:8px 24px calc(24px + env(safe-area-inset-bottom)) 48px;background:var(--surface)}.pwa-install-dialog li{padding:8px 0}@media(max-width:719px){.workout-page{padding-bottom:112px}.workout-complete{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));left:16px;z-index:3;width:auto;margin:0;box-shadow:0 0 0 10px var(--bg),0 8px 30px var(--shadow)}.history-empty{align-items:stretch;flex-direction:column}}@media(min-width:560px){.shell-content{padding-right:24px;padding-left:24px}}@media(min-width:720px)and (max-width:899px){.shell-content{padding:32px 32px calc(104px + env(safe-area-inset-bottom))}.plan-page{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:start}.plan-toolbar{grid-column:1 / -1}.detail-grid,.profile-stats,.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.sidebar{position:sticky;top:0;display:block;flex:0 0 216px;height:calc(100vh - env(safe-area-inset-top))}.bottom-nav{display:none}.shell-content{padding:40px 48px}.page{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:16px}.page>*{grid-column:1 / -1}.detail-grid,.profile-stats,.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-page{align-items:start}}@media(min-width:1100px){.plan-page>.plan-calendar{grid-column:1 / span 7}.plan-page>.plan-detail{grid-column:8 / -1}}@media(min-width:1280px){.exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.hero-footer{align-items:stretch;flex-direction:column}.hero-footer .primary-button{width:100%}.exercise-row details,.note-field{margin-left:0}.onboarding-card{padding:32px 24px}}
