:root{font-family:Avenir Next,Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--app-bg: #080a08;--app-surface: #11140f;--app-surface-2: #171b13;--app-border: rgba(255, 255, 255, .08);--app-text: #f2f5ec;--app-text-muted: rgba(242, 245, 236, .68);--app-text-subtle: rgba(242, 245, 236, .48);--app-accent: #c8ff3d;--app-accent-text: #0b0d08;--app-danger: #ff5c5c;--app-warning: #ffd166;--app-success: #c8ff3d;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0;overflow-x:hidden;color:var(--app-text);background-color:#080a08;background:radial-gradient(circle at 15% -12%,rgba(200,255,61,.13),transparent 34%),linear-gradient(180deg,#0c100b 0%,var(--app-bg) 42%,#070907 100%)}button,input,textarea{font:inherit}button{border:0;-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}h1{font-size:clamp(28px,8vw,32px);line-height:1.02;font-weight:800;letter-spacing:0}h2{font-size:22px;line-height:1.12;font-weight:750}.app-shell{--bottom-cta-height: 96px;width:min(100%,540px);min-height:100vh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) var(--space-4) calc(104px + env(safe-area-inset-bottom));position:relative;overflow-x:hidden}.app-shell.workout-flow{padding-top:max(8px,env(safe-area-inset-top))}.app-topbar{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:var(--space-4)}.app-topbar strong{font-size:22px;font-weight:850}.settings-fallback{min-width:44px;min-height:44px;border-radius:var(--radius-md);color:var(--app-text);background:#ffffff0e;border:1px solid var(--app-border)}.segmented-tabs{position:sticky;top:max(8px,env(safe-area-inset-top));z-index:10;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);padding:var(--space-1);margin-bottom:var(--space-5);border:1px solid var(--app-border);border-radius:var(--radius-lg);background:#11140fc7;backdrop-filter:blur(18px)}.segmented-tabs button{min-height:42px;border-radius:var(--radius-md);color:var(--app-text-muted);background:transparent;font-weight:750}.segmented-tabs button.active{color:var(--app-accent-text);background:var(--app-accent)}.panel{border:1px solid var(--app-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff0e,#ffffff06);padding:var(--space-5)}.screen-title,.today-hero,.workout-head{display:grid;gap:var(--space-2)}.screen-title{margin-bottom:var(--space-5)}.screen-title span,.today-hero span,.workout-head span,.muted{color:var(--app-text-muted);line-height:1.45}.eyebrow{color:var(--app-accent);font-size:12px;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.today-screen,.plain-screen,.workout-screen,.rest-screen,.complete-screen,.wellbeing-screen,.summary-screen,.manual-screen{display:grid;gap:var(--space-5)}.today-hero{min-height:170px;align-content:end;padding:var(--space-4) 0 var(--space-2)}.today-hero h1{font-size:clamp(42px,13vw,64px);max-width:92%}.hero-result{color:var(--app-accent);font-size:clamp(24px,8vw,34px);line-height:1.05}.today-hero.done h1,.today-hero.rest-day h1,.today-hero.no-plan h1{font-size:clamp(36px,11vw,54px)}.workout-card{display:grid;gap:var(--space-5)}.workout-title-row{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.workout-title-row small,.mini-card small,.stat-card span,.coach-note small,.history-item span{color:var(--app-text-subtle);font-size:12px;font-weight:750;text-transform:uppercase}.time-pill,.status-badge{min-height:32px;display:inline-grid;place-items:center;padding:0 var(--space-3);border-radius:999px;color:var(--app-accent-text);background:var(--app-accent);font-weight:850}.workout-metrics,.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.stat-card{display:grid;gap:var(--space-1);min-height:78px;padding:var(--space-4);border-radius:var(--radius-md);background:#ffffff0e}.stat-card strong{font-size:24px;line-height:1}.stat-card.accent strong{color:var(--app-accent)}.plan-progress{height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.plan-progress span{display:block;height:100%;border-radius:inherit;background:var(--app-accent);transition:width .22s ease}.goal-progress{margin-top:var(--space-2)}.quick-grid{display:grid;gap:var(--space-3)}.mini-card{display:grid;gap:var(--space-2);cursor:pointer}.mini-card strong,.coach-note strong{font-size:18px}.active-card{border-color:#c8ff3d52}.coach-note{display:grid;gap:var(--space-2)}.compact-note{padding:var(--space-4);border-color:#ffd16638}.warmup-note{border-color:#c8ff3d2e}.primary-button,.secondary-button,.danger-button,.text-button,.option-grid button,.weekday-row button{min-height:44px;border-radius:var(--radius-md);cursor:pointer}.secondary-button{width:100%;color:var(--app-text);background:var(--app-surface-2);border:1px solid var(--app-border);font-weight:800}.text-button{width:fit-content;min-height:44px;padding:0 var(--space-3);color:var(--app-text-muted);background:transparent;font-weight:760}.text-button.compact{border:1px solid var(--app-border);border-radius:999px}.danger-button{width:100%;color:#fff;background:var(--app-danger);font-weight:850}.danger-button.ghost{color:#ffb4b4;background:#ff5c5c14;border:1px solid rgba(255,92,92,.28)}.fallback-main{position:fixed;z-index:30;left:50%;bottom:max(16px,env(safe-area-inset-bottom));width:min(508px,calc(100vw - 32px));transform:translate(-50%)}.fallback-main button{width:100%;min-height:58px;border-radius:var(--radius-lg);color:var(--app-accent-text);background:var(--app-accent);box-shadow:0 16px 40px #00000061;font-weight:850}.fallback-main button:disabled{opacity:.62}.workout-screen,.rest-screen,.complete-screen,.wellbeing-screen,.summary-screen,.manual-screen{min-height:calc(100vh - 128px);align-content:center}.workout-flow .workout-screen{min-height:auto;align-content:start;padding-top:var(--space-3)}.rest-head{display:grid;gap:var(--space-2);text-align:center}.rest-head h1{font-size:clamp(30px,9vw,42px)}.workout-head{grid-template-columns:1fr auto;align-items:start;gap:var(--space-3)}.workout-head h1{font-size:30px}.technique-link{min-height:36px;padding:0;color:var(--app-text-muted);background:transparent;font-size:13px;font-weight:750}.technique-link:after{content:" →";color:var(--app-text-subtle)}.rep-control{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;gap:var(--space-3);align-items:center}.rep-control.compact{grid-template-columns:64px minmax(0,1fr) 64px}.rep-control button{min-height:72px;border-radius:var(--radius-lg);color:var(--app-text);background:var(--app-surface-2);border:1px solid var(--app-border);font-size:34px;font-weight:800}.rep-control button:disabled,.manual-entry-button:disabled{opacity:.55}.rep-control strong{display:grid;place-items:center;align-content:center;gap:var(--space-1);min-height:132px;color:var(--app-text);font-size:clamp(56px,20vw,72px);line-height:1;border-radius:var(--radius-xl);background:#ffffff0b;font-weight:850}.rep-control.adjusted strong{color:var(--app-warning)}.rep-control strong small{color:var(--app-text-muted);font-size:12px;font-weight:800;line-height:1;text-transform:uppercase}.manual-entry-button{width:max-content;min-height:44px;padding:0 var(--space-3);justify-self:center;color:var(--app-text-muted);background:transparent;font-weight:780}.saving-state{color:var(--app-accent);text-align:center;font-size:13px;font-weight:800}.field-label{display:grid;gap:var(--space-2)}.field-label span{color:var(--app-text-muted);font-size:13px;font-weight:720}input,textarea{width:100%;min-height:52px;padding:0 var(--space-4);border:1px solid var(--app-border);border-radius:var(--radius-md);color:var(--app-text);background:#ffffff0b;outline:none}textarea{min-height:112px;padding-top:var(--space-4);resize:none}input::placeholder,textarea::placeholder{color:var(--app-text-subtle)}.sets-progress{display:grid;gap:var(--space-3)}.sets-progress-caption{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--app-text-muted);font-size:13px;font-weight:760}.set-dots{display:grid;grid-template-columns:repeat(var(--sets-count),minmax(0,1fr));gap:var(--space-2);max-width:100%;overflow:hidden}.set-dots.scrollable{display:flex;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.set-dots.scrollable::-webkit-scrollbar{display:none}.set-dots span{min-width:0;min-height:44px;display:grid;place-items:center;border-radius:999px;border:1px solid transparent;color:var(--app-text-muted);background:var(--app-surface-2);font-size:13px;font-weight:800}.set-dots.scrollable span{flex:0 0 44px;scroll-snap-align:start}.set-dots span.completed{color:var(--app-accent-text);background:var(--app-accent);border-color:var(--app-accent);font-size:16px}.set-dots span.current{color:var(--app-text);background:var(--app-surface);border-color:var(--app-accent);box-shadow:0 0 0 1px #c8ff3d57}.set-dots span.upcoming{color:var(--app-text-muted);background:#ffffff0f}.sheet-overlay{position:fixed;z-index:60;inset:0;display:grid;align-items:end;background:#0000007a}.manual-sheet{width:min(540px,100%);margin:0 auto;display:grid;gap:var(--space-4);padding:var(--space-3) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:1px solid var(--app-border);border-bottom:0;background:var(--app-surface);box-shadow:0 -24px 60px #0000007a}.sheet-handle{width:48px;height:5px;justify-self:center;border-radius:999px;background:#f2f5ec3d}.sheet-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-3)}.timer-orbit{display:grid;place-items:center;width:min(76vw,330px);aspect-ratio:1;margin:0 auto;border-radius:50%;background:conic-gradient(from -90deg,var(--app-accent) var(--progress),rgba(255,255,255,.08) 0);animation:timer-breathe 1.2s ease-in-out infinite}.timer-core{display:grid;place-items:center;align-content:center;gap:var(--space-2);width:78%;aspect-ratio:1;border-radius:50%;background:var(--app-bg)}.timer-core small{color:var(--app-text-muted);font-weight:800}.timer-core strong{font-size:clamp(48px,17vw,76px);font-variant-numeric:tabular-nums}.next-set,.rest-screen{text-align:center}.complete-screen h1,.summary-screen h1{font-size:clamp(36px,12vw,56px)}.extra-set-panel,.settings-screen .panel,.onboarding-screen .panel,.technique-screen .panel{display:grid;gap:var(--space-4)}.onboarding-screen{padding-bottom:calc(var(--bottom-cta-height, 96px) + env(safe-area-inset-bottom) + 24px)}.rating-row{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.rating-row button,.option-grid button,.weekday-row button{color:var(--app-text);background:var(--app-surface-2);border:1px solid var(--app-border);font-weight:850;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.rating-row button.active,.option-grid button.active,.weekday-row button.active{color:var(--app-accent-text);background:var(--app-accent);border-color:var(--app-accent)}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.sets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.format-grid{display:grid;gap:var(--space-3)}.format-grid button{min-height:82px;display:grid;gap:var(--space-1);align-content:center;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--app-border);color:var(--app-text);background:var(--app-surface-2);text-align:left;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.format-grid button.active{color:var(--app-accent-text);background:var(--app-accent);border-color:var(--app-accent)}.format-grid button span{font-size:18px;font-weight:850}.format-grid button small{color:inherit;opacity:.76;font-size:13px}.format-grid button em{width:fit-content;padding:3px 8px;border-radius:999px;color:var(--app-accent-text);background:#0b0d0824;font-size:11px;font-style:normal;font-weight:850;text-transform:uppercase}.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday-row button{min-height:48px;padding:0;border-radius:var(--radius-sm)}.helper-note{color:var(--app-text-muted);line-height:1.45}.field-label.has-error input{border-color:#ff5c5cb8}input:focus,textarea:focus{border-color:#c8ff3db8}button:disabled{cursor:default;opacity:.52}.onboarding-summary-card p{display:flex;justify-content:space-between;gap:var(--space-4);line-height:1.4}.onboarding-summary-card strong{text-align:right}.plan-week-summary,.goal-line-title{color:var(--app-text);font-size:18px;line-height:1.25}.week-list,.history-list{display:grid;gap:var(--space-3)}.week-list.compact{gap:var(--space-2)}.plan-day,.history-item{display:grid;grid-template-columns:48px 1fr minmax(34px,72px);gap:var(--space-3);align-items:center;min-height:76px;padding:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-lg);color:var(--app-text);background:#ffffff0a;text-align:left}article.plan-day{grid-template-columns:48px 1fr}.plan-day.today{border-color:#c8ff3d70;background:#c8ff3d0e}.plan-day.next{border-color:#c8ff3d38}.plan-day.done{border-color:#ffffff1a;background:#ffffff09}.day-badge{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--app-text);background:#ffffff12;font-weight:850}.plan-day.today .day-badge{color:var(--app-accent-text);background:var(--app-accent)}.plan-day.next .day-badge{color:var(--app-accent);background:#c8ff3d14;border:1px solid rgba(200,255,61,.24)}.plan-day.done .day-badge{color:var(--app-accent);background:#ffffff0f}.day-body{display:grid;gap:var(--space-1)}.day-status-text{color:var(--app-text-subtle);font-size:12px;font-weight:820;text-transform:uppercase}.day-body small,.history-item small{color:var(--app-text-muted)}.day-action{min-height:34px;min-width:34px;display:grid;place-items:center;justify-self:end;padding:0 var(--space-2);border-radius:999px;color:var(--app-text-muted);font-size:13px;font-weight:850}.day-action:empty{display:none}.day-action.today{min-width:64px;color:var(--app-accent-text);background:var(--app-accent)}.day-action.next{color:var(--app-accent);border:1px solid rgba(200,255,61,.22)}.day-action.done{color:var(--app-accent);background:#c8ff3d14}.plan-detail-card{display:grid;gap:var(--space-4)}.set-list{display:grid;gap:var(--space-2)}.plan-set-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.plan-set-chips span{min-width:52px;min-height:44px;display:grid;place-items:center;padding:0 var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);color:var(--app-text);background:#ffffff0e;font-weight:850}.plan-set-chips span.amrap-set{min-width:112px;color:var(--app-accent);border-color:#c8ff3d4d;background:#c8ff3d14}.set-list div,.settings-list p{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#ffffff0b}.set-list div.amrap-set{border:1px solid rgba(200,255,61,.26);background:#c8ff3d14}.set-list div.amrap-set strong{color:var(--app-accent)}.set-list div span,.settings-list span{color:var(--app-text-muted)}.chart-card{display:grid;gap:var(--space-4)}.chart-title-row{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.chart-title-row span{flex:0 0 auto;min-height:32px;display:grid;place-items:center;padding:0 var(--space-3);border-radius:999px;color:var(--app-accent-text);background:var(--app-accent);font-size:12px;font-weight:850}.bar-chart{display:grid;grid-template-columns:repeat(8,1fr);align-items:end;gap:var(--space-2);min-height:170px}.bar-chart div{display:grid;grid-template-rows:auto 1fr auto;align-items:end;gap:var(--space-2);height:160px}.bar-chart b{color:var(--app-text-muted);text-align:center;font-size:11px}.bar-chart span{min-height:10px;border-radius:999px 999px var(--radius-sm) var(--radius-sm);background:linear-gradient(180deg,var(--app-accent),rgba(200,255,61,.34))}.bar-chart small{color:var(--app-text-subtle);text-align:center;font-size:11px}.line-chart{width:100%;overflow:hidden}.line-chart svg{width:100%;height:auto;display:block}.trend-line{fill:none;stroke:var(--app-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:var(--app-bg);stroke:var(--app-accent);stroke-width:4}.goal-line{stroke:#f2f5ec52;stroke-width:1.5;stroke-dasharray:5 5}.goal-label,.trend-value,.trend-date{fill:var(--app-text-muted);font-size:10px;font-weight:800}.trend-value{fill:var(--app-text)}.soft-state{border-color:#ffffff0f;background:#ffffff09}.progress-highlights{display:grid;gap:var(--space-2)}.progress-highlights p:not(.eyebrow){display:flex;justify-content:space-between;gap:var(--space-4);color:var(--app-text-muted)}.progress-highlights strong{color:var(--app-text)}.history-item{grid-template-columns:84px 1fr}.history-item small{grid-column:2}.technique-screen ul{margin:0;padding-left:20px;color:var(--app-text-muted);line-height:1.5}.mistakes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.mistakes span{min-height:58px;padding:var(--space-3);border-radius:var(--radius-md);color:var(--app-text-muted);background:#ffffff0b}.danger-zone{border-color:#ff5c5c47}.toast{position:fixed;z-index:50;left:50%;bottom:max(88px,env(safe-area-inset-bottom));transform:translate(-50%);padding:10px 14px;border-radius:999px;color:var(--app-accent-text);background:var(--app-accent);font-weight:850;box-shadow:0 14px 40px #0000005c}.micro-error,.error-text{color:#ffdada}.micro-error{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#ff5c5c2e;border:1px solid rgba(255,92,92,.28);font-weight:760}.empty-state{display:grid;gap:var(--space-3)}.skeleton-screen{display:grid;gap:var(--space-4)}.skeleton-screen div{min-height:96px;border-radius:var(--radius-lg);background:linear-gradient(90deg,#ffffff0b,#ffffff17,#ffffff0b);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes timer-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:380px){.app-shell{padding-left:var(--space-3);padding-right:var(--space-3)}.workout-metrics,.summary-stats{grid-template-columns:1fr}.rep-control{grid-template-columns:58px minmax(0,1fr) 58px}}
