:root{--bg:#080b12;--panel:#111722;--panel2:#181f2d;--edge:#2a3445;--text:#f4f7ff;--muted:#a9b4c9;--accent:#c8ff62;--accent2:#79dfff;font-family:Inter,"Segoe UI",system-ui,sans-serif;line-height:1.55}
body{background:radial-gradient(ellipse at 100% 0,#19274380,transparent 45%),radial-gradient(ellipse at 0 60%,#15372b40,transparent 50%),var(--bg);background-attachment:fixed}
.app{max-width:1200px;padding:0 28px 112px}
.topbar{padding:26px 0;border-color:#ffffff10}
.brand{letter-spacing:.12em;font-size:.9rem;font-weight:800}
.brand-mark{transform:none;width:38px;height:38px;border:1px solid #c8ff6260;background:#c8ff6210;border-radius:12px;box-shadow:inset 0 0 18px #c8ff6210;color:var(--accent)}
.top-note{font-family:ui-monospace,monospace;font-size:.875rem}
.desktop-nav{gap:8px;padding:22px 0}
.navbtn{border-radius:100px;transition:background .18s,color .18s;min-height:44px;font-size:.9rem}
.navbtn.active{background:#c8ff6218;color:var(--accent);box-shadow:inset 0 0 0 1px #c8ff6240}
.hero{background:linear-gradient(125deg,#182333,#101722 70%);padding:30px;border:1px solid #46556c;border-radius:24px;box-shadow:0 22px 65px #0003;overflow:hidden;border-top-color:#79dfff65}
.hero:before{content:"";position:absolute;left:0;top:0;width:90px;height:3px;background:var(--accent);box-shadow:0 0 24px #c8ff6250}
.hero h1{font-size:clamp(2rem,5vw,3.7rem);font-weight:750;letter-spacing:-.045em;line-height:1.13;max-width:90%;margin-bottom:8px}
.eyebrow{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.875rem;letter-spacing:.12em;font-weight:600;color:var(--accent2)}
.hero #browse{position:absolute;right:30px;top:26px;font-size:.875rem;color:var(--accent2)}
.hero>.muted{margin-bottom:24px}
.daystrip{padding:6px;border:1px solid #ffffff10;border-radius:17px;background:#080b1260;gap:6px;margin:26px 0}
.daybtn{background:transparent;border-color:transparent;border-radius:12px;min-height:70px;letter-spacing:.06em;font-size:.875rem;color:var(--muted);transition:background .18s,border-color .18s}
.day-focus{letter-spacing:0;font-size:.875rem;margin-top:6px}
.daybtn.active{background:var(--accent);color:#121b09;box-shadow:0 4px 20px #c8ff621c}
.daybtn:not(.active):hover{background:#ffffff08;border-color:#ffffff15}
.hero h2{font-size:1.7rem;letter-spacing:-.035em}
.hero>.tiny{font-family:ui-monospace,monospace;color:var(--muted);margin:12px 0 22px}
.hero>label{display:block;margin-bottom:24px;max-width:340px}
.hero>label select{display:block;margin-top:8px;width:100%}
.button{font-weight:750;border-radius:12px;min-height:50px;transition:transform .15s,filter .15s,box-shadow .15s}
.button.primary{background:var(--accent);color:#142006;box-shadow:0 5px 24px #c8ff6217}
.button.secondary{background:#1b2636;border-color:#3e4b60}
.button.ghost{color:var(--accent2)}
.button:hover{filter:brightness(1.08)}
.button:active{transform:translateY(1px)}
.hero>#start{min-width:240px}
.layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:20px}
.panel{background:linear-gradient(145deg,#151c29,#101620);border-color:#303b4c;border-radius:20px;padding:24px;box-shadow:0 12px 32px #0002}
.panel h2,.panel h3{font-weight:650;line-height:1.3}
.exercise{padding:20px 0;border-color:#ffffff0c;align-items:flex-start}
.exercise-main strong{font-size:1.1rem;font-weight:650;margin-bottom:8px}
.exercise-main small{font-size:.875rem;line-height:1.5;margin-top:6px}
.exercise-main small:first-of-type{color:var(--accent);font-family:ui-monospace,monospace}
.phase-heading{font-size:.875rem;color:var(--accent2);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.focus-card{background:linear-gradient(140deg,#182536,#101722);border:1px solid #54718c;border-radius:24px;box-shadow:0 24px 70px #0004;padding:30px;border-top:2px solid var(--accent2)}
.focus-title{font-size:clamp(1.7rem,4vw,2.7rem);font-weight:700;max-width:720px}
.target{display:inline-block;background:#c8ff6210;border:1px solid #c8ff622b;padding:8px 13px;border-radius:8px;font-family:ui-monospace,monospace;font-size:.95rem}
.progress-track{height:4px;background:#263146;border-radius:99px;margin:24px 0}
.progress-track i{background:linear-gradient(90deg,var(--accent2),var(--accent));box-shadow:0 0 12px #79dfff50;transition:width .25s}
.field{grid-template-rows:minmax(2.7rem,auto) 62px}
.field label{font-size:.875rem;font-weight:500}
.field input{background:#080e18;border-color:#3c4b62;height:62px;font-size:1.45rem;font-variant-numeric:tabular-nums;border-radius:12px}
.history-select,.catalog-controls input{background:#0c1320;border-color:#35445a;border-radius:10px;min-height:46px}
.set-item{background:#0b121c;border-color:#28364a}
.timer{border-top:1px solid #ffffff10;padding-top:15px;color:var(--accent2)}
.rest-dialog{background:radial-gradient(ellipse at 50% 0,#203949,#101722 70%);border-color:#587489;border-top:2px solid var(--accent2);border-radius:26px;padding:36px 26px;box-shadow:0 0 60px #79dfff12,0 32px 100px #0009}
.rest-dialog::backdrop{background:#050912d9;backdrop-filter:blur(12px)}
.rest-dialog h2{font-weight:550;color:var(--accent2);font-size:1.1rem}
.rest-countdown{font-family:ui-monospace,monospace;font-size:clamp(3.8rem,16vw,5.4rem);font-weight:500;letter-spacing:-.05em;text-shadow:0 0 35px #c8ff6230;margin:26px 0}
.program-card{position:relative;overflow:hidden;gap:18px}
.program-card:hover{border-color:#59718d}
.program-card h2{font-size:1.6rem}
.diary-card summary{color:var(--text);font-weight:600}
details summary{color:var(--accent2);font-size:.9rem}
.empty{border-color:#3d506a;background:#0a101a;border-radius:14px}
.chart{filter:drop-shadow(0 0 8px #c8ff6212)}
.toast{border-radius:14px;max-width:calc(100vw - 32px);white-space:normal;text-align:center}
.view.active{animation:appear .22s ease-out}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:900px){.hero{padding-right:30px}.hero h1{max-width:75%}.hero .daystrip{max-width:760px}.hero #start{position:absolute;right:30px;bottom:30px}.hero .saved-workout{max-width:65%}}
@media(max-width:780px){.app{padding:0 16px 118px}.topbar{padding:20px 0}.hero{padding:24px 20px;border-radius:20px}.hero #browse{position:static;padding:0;margin:0 0 6px;min-height:36px}.hero h1{max-width:100%;font-size:2.2rem}.hero>.muted{margin-bottom:10px}.daystrip{margin:20px 0;gap:3px;padding:4px;grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow:visible}.daybtn{min-height:65px;font-size:.875rem;padding:8px 2px}.day-focus{font-size:.875rem;overflow-wrap:anywhere}.hero>#start{width:100%}.layout{grid-template-columns:1fr}.panel{padding:20px;border-radius:18px}.focus-card{padding:22px;border-radius:20px}.bottom-nav{left:12px;right:12px;bottom:12px;border:1px solid #46546b;border-radius:18px;background:#111927ed;backdrop-filter:blur(20px);padding:7px 6px max(7px,env(safe-area-inset-bottom));box-shadow:0 15px 50px #0008}.bottom-nav .navbtn{min-height:48px;border-radius:12px;font-size:.875rem}.bottom-nav .navbtn.active{background:#c8ff6215;color:var(--accent)}.workout-head h1{font-size:1.9rem!important}.rest-dialog{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){.view.active{animation:none}.button,.daybtn,.progress-track i{transition:none}}
.daybtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 10px;min-height:76px;line-height:1.25}
.day-focus{margin:0;white-space:nowrap;overflow-wrap:normal;word-break:normal;line-height:1.25}
.hero>label,.hero>.tiny{font-family:inherit;letter-spacing:normal;font-weight:400;line-height:1.5}
.hero>label{max-width:none;margin:0 0 24px}
.hero>label select{font-family:inherit;font-size:1rem;letter-spacing:normal;min-height:50px}
.hero>.tiny b{font-weight:500}
.hero .saved-workout{margin-top:22px;padding-top:18px;max-width:none}
.saved-workout p{line-height:1.6;margin-bottom:12px}
@media(max-width:780px){.daystrip{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(100px,1fr);overflow-x:auto;overflow-y:hidden;gap:6px;padding:6px;scroll-snap-type:x proximity;scroll-padding:6px}.daybtn{height:76px;scroll-snap-align:start;min-width:100px}.hero h2{margin-top:24px!important}.hero>#start{margin-top:4px}.hero>.tiny{margin:12px 0 20px}}
/* Retention surface: live diary totals only. */
.momentum-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
.momentum-grid>div{border:1px solid var(--edge);border-radius:16px;background:#090d13;padding:16px;min-width:0}
.momentum-grid b{display:block;font-size:1.65rem;font-variant-numeric:tabular-nums;color:var(--accent)}
.momentum-grid span{display:block;font-size:.875rem;color:var(--muted)}
.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.completion{border-color:var(--accent);margin-bottom:20px;background:linear-gradient(130deg,#202b15,#101722)}
.completion p{margin:14px 0}.coach-panel{margin-top:20px;border-top:3px solid var(--accent)}
.coach-panel p{margin:16px 0;overflow-wrap:anywhere}.coach-panel details{margin-top:20px}
.hero #start{position:static;display:block;width:100%;min-width:0;margin-top:20px;right:auto;bottom:auto}.exercise-main small{font-size:.875rem}
.hero #browse{position:static;display:inline-block;margin:0 0 8px;right:auto;top:auto}
.catalog{grid-auto-rows:1fr;align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.program-card{display:flex;flex-direction:column;gap:16px;height:100%;min-width:0}
.program-card>.eyebrow{min-height:2.8em;line-height:1.4}
.program-card>h2{min-height:2.6em;line-height:1.3;margin:0;overflow-wrap:anywhere}
.program-card>.tiny{min-height:3em;line-height:1.5}
.program-card>details{flex:1;min-width:0}
.program-card>.button{width:100%;margin-top:auto;flex-shrink:0;min-height:52px}
.program-card .sources{overflow-wrap:anywhere}
@media(max-width:650px){.catalog{grid-auto-rows:auto}.program-card{height:auto}.program-card>h2{min-height:0}}
@media(max-width:600px){.momentum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{white-space:normal;width:max-content;max-width:calc(100vw - 32px);text-align:center}}
/* Coaching story follows the existing Grow Shed palette. */
.coaching-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}
.coaching-grid h2{font-size:1.35rem;margin:10px 0}
.coaching-grid p{margin:12px 0;line-height:1.6}
.coaching-next{border-color:var(--accent)}
.weekly-response{white-space:pre-wrap;line-height:1.65;margin-top:16px}
.weekly-response,.ai-feedback{white-space:normal;line-height:1.65}
.weekly-response .feedback-heading,.ai-feedback .feedback-heading{color:var(--accent);font-weight:800;font-size:1.05rem;line-height:1.4;margin:22px 0 10px}
.weekly-response .feedback-heading:first-child,.ai-feedback .feedback-heading:first-child{margin-top:0}
.weekly-response p,.ai-feedback p{margin:0 0 14px}
@media(max-width:900px){.coaching-grid{grid-template-columns:1fr}}
.brand-logo{display:block;width:230px;max-width:48vw;height:auto}
.brand-splash{position:fixed;inset:0;z-index:1000;background:#080b12;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;pointer-events:none;animation:splash-exit 1.8s ease forwards}
.brand-splash img{width:min(780px,88vw);height:auto;animation:splash-logo 1.2s ease both}
.splash-line{height:3px;width:90px;border-radius:3px;background:var(--accent);animation:splash-logo 1.2s ease both}
@keyframes splash-logo{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes splash-exit{0%,75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.brand-splash{animation-duration:.15s}.brand-splash img,.splash-line{animation:none}}
.progress-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.progress-controls label{min-width:0;width:100%;font-size:.875rem}
.progress-controls select{display:block;width:100%;min-width:0;max-width:100%;text-overflow:ellipsis}
@media(max-width:700px){.progress-controls{grid-template-columns:1fr;gap:14px}.progress-controls label{min-width:0}}
.fuel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fuel-fields label{min-width:0;font-size:.9rem}.fuel-fields input,.fuel-fields select{display:block;width:100%;min-width:0;max-width:100%;margin-top:8px;padding:12px;border-radius:10px;border:1px solid var(--edge);background:var(--panel);color:var(--text)}.fuel-confirm{display:flex;align-items:flex-start;gap:12px;margin:22px 0;font-size:.85rem}.fuel-confirm input{width:20px;height:20px;flex-shrink:0}.fuel-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.fuel-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.fuel-macros b{display:block;font-size:2rem;color:var(--accent)}.fuel-macros span{color:var(--muted)}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}#fuelError{color:#ffb5a6}@media(max-width:600px){.fuel-fields{grid-template-columns:1fr}.fuel-macros b{font-size:1.65rem}}
.exercise-visual{margin-top:12px;max-width:480px}.exercise-visual summary{color:var(--accent);font-size:.82rem;padding:8px 0}.exercise-visual figure{margin:0}.exercise-visual svg{display:block;width:100%;height:auto}.exercise-visual figcaption{padding:10px 0;font-size:.8rem}.exercise-visual figcaption span{display:block;color:var(--muted);margin-top:5px;line-height:1.5}
.exercise-guide{max-width:850px}.exercise-guide img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--edge)}.exercise-guide summary{font-weight:750}.muscle-key{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px;font-size:.75rem}.muscle-key i{width:10px;height:10px;background:var(--accent);border-radius:50%}.muscle-key .secondary-muscle{background:#58b7c0;margin-left:10px}.muscle-tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.muscle-tags span{background:#c8ff6212;border:1px solid #c8ff6244;border-radius:99px;padding:4px 11px;color:var(--accent);font-size:.8rem}.technique-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.exercise-guide h4{color:var(--accent);margin:12px 0 6px}.exercise-guide p{font-size:.85rem;margin:6px 0 12px}.form-check{background:#ffffff05;border-left:3px solid #79dfff;padding:1px 14px;margin:12px 0}.form-check h4{color:#79dfff}@media(max-width:600px){.technique-grid{grid-template-columns:1fr;gap:2px}}

/* Compact navigation */
.app{padding-bottom:36px}
.topbar{position:sticky;top:0;z-index:50;margin-bottom:24px;background:var(--bg);box-shadow:0 12px 24px #0003}
.top-note{margin-left:auto}
.menu-wrap{position:relative;flex:none;z-index:20}
.menu-toggle{width:48px;height:48px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid #303b46;border-radius:14px;background:#111722;cursor:pointer}
.menu-toggle span{width:21px;height:2px;background:var(--accent);border-radius:2px}
.menu-toggle[aria-expanded=true]{border-color:var(--accent)}
.menu-panel{position:absolute;top:calc(100% + 10px);right:0;width:220px;max-height:65vh;max-height:65dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid #303b46;border-radius:16px;background:#111722;box-shadow:0 16px 40px #0009;display:grid;gap:4px}
.menu-panel[hidden]{display:none}
.menu-panel .navbtn{text-align:left;min-height:46px;width:100%}
.menu-panel .navbtn.active{background:#c8ff621a;color:var(--accent)}
.menu-toggle:focus-visible,.menu-panel .navbtn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.workout-list{width:100%}
@media(max-width:600px){.app{padding-bottom:28px}.topbar{gap:12px}.brand-logo{max-width:58vw}.menu-panel{width:min(240px,calc(100vw - 48px))}}


.coaching-summary h2{margin:10px 0 16px}.coaching-summary p{line-height:1.6;margin:12px 0}.coaching-summary .coaching-win{color:var(--muted)}.coaching-action{border-left:3px solid var(--accent);padding:4px 0 4px 16px;margin:20px 0}.coaching-action h3{color:var(--accent)}.coaching-summary .weekly-response:empty{display:none}

/* Grow Shed program catalog */
#programs > .eyebrow,#programs > h1{color:var(--accent)}
#programs .catalog-controls{padding:20px;border:1px solid #c8ff6233;border-radius:16px;background:linear-gradient(120deg,#c8ff620b,#111722)}
#programs .catalog-controls label{color:var(--accent)}
#programs .catalog-controls input:focus,#programs .catalog-controls select:focus{outline:2px solid var(--accent);outline-offset:2px}
#programs .program-card{border-top:3px solid var(--accent);background:linear-gradient(145deg,#c8ff6208,#111722 45%);transition:border-color .18s ease}
#programs .program-card .eyebrow{color:var(--accent)}
#programs .program-card h2{color:var(--accent)}
#programs .program-card summary,#programs .program-card .sources a{color:var(--accent)}
#programs .program-card > .button.secondary{border-color:#c8ff6255;color:var(--accent);background:#c8ff620b}
#programs .program-card > .button.secondary:hover{background:#c8ff621c;border-color:var(--accent)}

.diary-coach-picker{display:block;color:var(--accent);max-width:420px}.diary-coach-picker select{display:block;width:100%;margin-top:8px}
