:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef1e8;background:#0c1518;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #c8f45b;outline-offset:3px}a{color:#c8f45b}.shell{width:min(100%,980px);margin:auto;padding:0 22px}.masthead{height:77px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263437;gap:12px}.brand{display:flex;align-items:center;gap:12px;font-size:.78rem;font-weight:800;letter-spacing:.11em}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#c8f45b;color:#101a1d;font-size:1.18rem;font-weight:950;letter-spacing:-.09em}.mark span{font-size:.85rem}.date-pill,.phase-label{border:1px solid #374648;border-radius:99px;padding:7px 11px;color:#c9d1c8;font-size:.73rem;font-weight:750;letter-spacing:.06em;white-space:nowrap}.scoreboard{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:40px 0 34px;border-bottom:1px solid #263437}.eyebrow{margin:0 0 8px;color:#c8f45b;font-size:.72rem;font-weight:800;letter-spacing:.16em}.scoreboard h1{font-size:clamp(3rem,9vw,5.4rem);line-height:1;letter-spacing:-.07em;margin:0 0 13px;font-weight:850}.slash{color:#668073;font-weight:400}.reps-word{font-size:clamp(1rem,3vw,1.6rem);letter-spacing:-.03em;font-weight:600;color:#cbd2c8;white-space:nowrap}.muted{color:#aebcb6;margin:0;line-height:1.45}.goal-ring{flex:none;height:92px;width:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#c8f45b var(--progress,0%),#2c3b3d 0);position:relative;color:#c8f45b;font-weight:800}.goal-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#0c1518}.goal-ring span{position:relative}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:29px 0 15px}.toolbar .eyebrow{margin-bottom:6px}select{color:#eef1e8;background:#19272a;border:1px solid #3a4c4e;border-radius:10px;padding:10px 34px 10px 12px;font-weight:750;font-size:1rem}.day-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.day-tabs button{background:#162326;border:1px solid #304044;border-radius:12px;color:#b9c9c1;padding:12px 8px;text-align:left;min-height:68px}.day-tabs button.active{background:#c8f45b;border-color:#c8f45b;color:#102019}.day-tabs strong,.day-tabs small{display:block}.day-tabs strong{font-size:.96rem}.day-tabs small{font-size:.75rem;margin-top:3px;opacity:.8}.day-tabs .done-indicator{float:right;font-size:.86rem}.session-heading{display:flex;justify-content:space-between;align-items:center;padding:30px 0 18px}.session-heading h2,.history h2{font-size:clamp(1.6rem,4vw,2.35rem);letter-spacing:-.045em;margin:0 0 5px}.duration{display:flex;align-items:baseline;gap:3px;color:#c8f45b}.duration strong{font-size:1.7rem;letter-spacing:-.08em}.duration span{font-size:.69rem;font-weight:800}.timeline{display:flex;overflow:hidden;border-radius:7px;margin-bottom:19px;background:#263538;font-size:.71rem;text-align:center;font-weight:700;color:#bed2bd}.timeline span{padding:8px 2px;white-space:nowrap}.timeline span:nth-child(1){width:11%;background:#52725b;color:#fff}.timeline span:nth-child(2){width:78%;background:#304a40;color:#e9f2e3}.timeline span:nth-child(3){width:11%}.workout{display:grid;gap:10px}.exercise{background:#142125;border:1px solid #2a3c3e;border-radius:15px;padding:17px 18px}.exercise.completed{border-color:#507a51}.exercise-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.exercise-name{margin:0;font-size:1.1rem;letter-spacing:-.025em}.prescription{margin:4px 0 0;color:#c8f45b;font-weight:750;font-size:.91rem}.exercise-note{color:#afbfb8;font-size:.88rem;line-height:1.5;margin:11px 0 0}.exercise-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:15px}.set-button{height:37px;min-width:43px;border-radius:8px;border:1px solid #546366;background:#243438;color:#d8e2dc;font-size:.82rem;font-weight:750}.set-button.checked{background:#c8f45b;border-color:#c8f45b;color:#112016}.set-button[aria-pressed=true]:after{content:' ✓'}.rest-button{border:0;background:none;color:#c8f45b;padding:9px 3px;margin-left:auto;font-size:.82rem;font-weight:750}.entry{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px}.entry label{font-size:.81rem;color:#becac3}.entry input{width:75px;min-height:38px;padding:7px 9px;background:#0e191c;border:1px solid #495b5c;color:#fff;border-radius:8px;font-size:1rem}.entry .wide-input{width:170px}.entry small{font-size:.78rem;color:#aebcb6}.finish-bar{display:flex;align-items:center;gap:17px;padding:21px 0 31px;flex-wrap:wrap}.primary-button{border:0;border-radius:10px;background:#c8f45b;color:#102019;padding:13px 19px;font-weight:850;min-height:49px}.primary-button:hover,.day-tabs button.active:hover{background:#d9fc88}.save-status{margin:0;font-size:.82rem;color:#aebcb6}.guide,.history{border-top:1px solid #304043;padding:20px 0}.section-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;background:transparent;color:#eef1e8;font-size:1.19rem;font-weight:750;letter-spacing:-.025em;padding:5px 0 16px;text-align:left}.chevron{color:#c8f45b;font-size:1.6rem}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.guide-grid>div{border:1px solid #304043;padding:15px;border-radius:10px;background:#132124}.guide h3{margin:0 0 7px;color:#c8f45b;font-size:.95rem}.guide p{margin:0;color:#c5d0c9;line-height:1.55;font-size:.87rem}.guide .source-line{margin:17px 0 4px}.history-top{display:flex;justify-content:space-between;align-items:center}.history-top h2{margin:0 0 16px}.text-button{border:0;background:transparent;color:#c8f45b;font-weight:750;padding:10px 0}.history-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.history-list li{background:#162428;border:1px solid #2b3d3f;border-radius:9px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;color:#cfddd2;font-size:.88rem}.empty-history{color:#aebcb6;font-size:.88rem;margin:0 0 14px}footer{border-top:1px solid #2a3b3e;display:flex;justify-content:space-between;gap:10px;padding:22px 0 38px;color:#8fa39b;font-size:.78rem}footer span{text-align:right}.timer{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(350px,calc(100vw - 30px));background:#c8f45b;color:#102019;box-shadow:0 15px 50px #0009;border-radius:15px;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;z-index:3}.timer[hidden]{display:none}.timer span{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:850}.timer button{background:#102019;color:#fff;border:0;border-radius:7px;font-size:1.2rem;width:36px;height:36px}@media(max-width:620px){.shell{padding:0 16px}.masthead{height:64px}.brand{font-size:.67rem}.date-pill{font-size:.64rem;padding:6px 8px}.scoreboard{padding:29px 0 23px}.scoreboard h1{font-size:3.2rem}.reps-word{display:block;margin-top:8px;font-size:1.22rem;letter-spacing:0}.goal-ring{width:76px;height:76px}.day-tabs{gap:5px}.day-tabs button{padding:10px 6px;min-height:62px}.day-tabs strong{font-size:.84rem}.day-tabs small{font-size:.7rem}.phase-label{font-size:.64rem;padding:6px 8px}.exercise{padding:15px}.guide-grid{grid-template-columns:1fr}.timeline{font-size:.61rem}footer{display:block}footer span{display:block;text-align:left;margin-top:5px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s,transform .15s}button:active{transform:scale(.98)}}
.demo-links{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:10px}.demo-links a{display:inline-flex;align-items:center;min-height:34px;color:#c8f45b;font-size:.87rem;font-weight:720;text-underline-offset:3px}.demo-links a:hover{color:#e0ff9c}
.history-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.history-actions .text-button{white-space:nowrap}#import-status:not(:empty){margin:11px 0 0}@media(max-width:420px){.history-actions{gap:8px;max-width:160px}.history-actions .text-button{padding:4px 0;font-size:.84rem}}
.today-goal{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#223a34;border:1px solid #638358;border-radius:14px;padding:17px 19px;margin:0 0 14px}.today-goal .eyebrow{font-size:.68rem;letter-spacing:.12em;color:#c8f45b;font-weight:800;margin:0 0 7px}.today-goal h3{font-size:1.16rem;margin:0 0 6px}.today-goal #today-goal-detail{color:#d7e6d7;font-size:.89rem;line-height:1.45;margin:0;max-width:60ch}.today-goal #next-milestone{font-size:.75rem;font-weight:700;line-height:1.35;color:#c8f45b;max-width:175px;flex:0 0 auto;text-align:right}.exercise-goal{display:flex;gap:10px;align-items:baseline;background:#213932;border-left:3px solid #c8f45b;padding:10px 11px;margin-top:13px;border-radius:3px 8px 8px 3px;font-size:.83rem;line-height:1.45}.exercise-goal strong{white-space:nowrap;color:#c8f45b}.exercise-goal span{color:#ebf2e7}.previous{font-size:.82rem;color:#bfd0c3;line-height:1.45;margin:10px 0 0}.previous strong{color:#e0edda}.set-entry{display:inline-flex;align-items:stretch;gap:4px;background:#1a2b2e;border:1px solid #394f4d;border-radius:9px;padding:3px}.set-entry .set-button{min-height:44px;height:auto}.set-measure{display:flex;align-items:center;gap:4px;color:#bfd0c3;font-size:.7rem;padding:0 2px}.set-measure input{width:48px;min-height:42px;padding:6px 4px;text-align:center;background:#0d1b1e;color:white;border:1px solid #536760;border-radius:7px;font-size:16px}.history-list li{align-items:flex-start}.history-list li span{min-width:0}.history-list li small{display:block;font-size:.76rem;line-height:1.5;color:#b8c9bd;margin-top:5px}.history-list li strong{white-space:nowrap;color:#c8f45b}@media(max-width:620px){.today-goal{display:block;padding:15px}.today-goal #next-milestone{display:block;text-align:left;max-width:none;margin-top:10px}.exercise-goal{display:block}.exercise-goal strong{display:block;margin-bottom:3px}.set-entry .set-button{font-size:.75rem}}
