:root{--bg:#0b0d0f;--surface:#14171a;--surface2:#1b1f23;--line:#2a3035;--text:#f4f7f8;--muted:#9da6ad;--acid:#c8ff38;--danger:#ff6259;--amber:#ffb547;--good:#52d68a;--paper:#f4f2ed;--ink:#101214;--radius:18px;--shadow:0 18px 50px rgba(0,0,0,.24);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-decoration-color:var(--acid);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}:focus-visible{outline:3px solid var(--acid)}.skip-link{position:absolute;left:-9999px;top:8px;background:var(--acid);color:var(--ink);padding:10px;z-index:999}.skip-link:focus{left:8px}.site-header{height:76px;padding:0 max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,13,15,.94);backdrop-filter:blur(14px);z-index:50}.wordmark{font-weight:950;letter-spacing:-.06em;font-size:26px;margin-right:auto}.wordmark span,.acid{color:var(--acid)}.desktop-nav{display:flex;gap:24px;align-items:center}.desktop-nav a,.text-button{color:var(--muted);font-weight:700;font-size:14px}.header-action{margin:0}.text-button{border:0;background:none;padding:10px;cursor:pointer}.container{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:48px 0 120px}.landing{width:100%;padding-bottom:80px}.button{display:inline-flex;min-height:48px;padding:12px 22px;align-items:center;justify-content:center;border:1px solid var(--acid);border-radius:10px;background:var(--acid);color:var(--ink);font-weight:850;cursor:pointer;text-decoration:none;transition:transform .15s,filter .15s}.button:hover{text-decoration:none;filter:brightness(.93);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--text);border-color:#4a535a}.button.danger{background:transparent;border-color:var(--danger);color:#ff8d86}.button.small{min-height:40px;padding:8px 14px;font-size:14px}.button.full{width:100%}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.eyebrow,.status-label{font-size:12px;letter-spacing:.14em;font-weight:900;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,7vw,78px);line-height:.95;letter-spacing:-.055em;margin-bottom:24px}h2{font-size:clamp(25px,3vw,40px);line-height:1.08;letter-spacing:-.035em}h3{font-size:20px;line-height:1.2}.lead{font-size:20px;max-width:650px;color:#cbd1d5}.fine,small{font-size:13px;color:var(--muted)}.narrow{margin-inline:auto}.hero{min-height:700px;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:90px 0}.hero h1 span{color:#626a70}.hero-panel{background:linear-gradient(145deg,#20262b,#111416);border:1px solid #353d43;border-radius:28px;padding:32px;box-shadow:var(--shadow);transform:rotate(1.5deg)}.hero-panel h2{font-size:46px;margin:14px 0 8px}.button-row{display:flex;gap:12px;margin:34px 0 22px}.progress-line{height:8px;background:#30363b;border-radius:99px;overflow:hidden;margin:24px 0}.progress-line span{height:100%;display:block;background:var(--acid);border-radius:99px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.metric-grid div{padding:16px;background:#0e1113;border-radius:12px}.metric-grid strong{display:block;font-size:24px}.metric-grid small{display:block}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);width:min(1180px,calc(100% - 48px));margin:0 auto}.proof-strip div{padding:32px;border-right:1px solid var(--line)}.proof-strip div:last-child{border:0}.proof-strip strong,.proof-strip span{display:block}.proof-strip span{color:var(--muted);margin-top:6px}.section{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:110px 0}.section.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.steps article{display:grid;grid-template-columns:50px 1fr;column-gap:20px;border-top:1px solid var(--line);padding:28px 0}.steps article b{grid-row:1/3;color:var(--acid);font-size:13px}.steps article h3{margin-bottom:6px}.steps article p{color:var(--muted);margin:0}.section.dark{display:grid;grid-template-columns:1fr .8fr;gap:80px;background:#111518;padding-inline:max(24px,calc((100vw - 1180px)/2));width:100%;align-items:center}.meal-card{border:1px solid #3d464d;border-radius:18px;background:#1a1f23;padding:28px}.macro-line{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.macro-line span{background:#0d1012;border-radius:7px;padding:7px 10px;font-size:13px}.section.centre{text-align:center}.section.centre .lead{margin:0 auto 28px}.page-heading{margin-bottom:42px}.page-heading h1{font-size:clamp(42px,6vw,70px)}.page-heading>p:last-child{color:var(--muted);max-width:700px}.card,.program-day,.workout-exercise,.processing{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.card.accent{border-color:#759224}.card.feature{background:linear-gradient(145deg,#1b2119,#121617)}.card-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.dashboard-grid .card:first-child{grid-row:span 2}.big-number{font-size:72px;font-weight:950;letter-spacing:-.06em}.notification{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.notification p{color:var(--muted);margin:4px 0}.auth-layout{display:grid;grid-template-columns:1fr 480px;gap:80px;align-items:start;padding-top:40px}.auth-layout h1{font-size:62px}.form-card,.onboarding-card{background:var(--surface);border:1px solid var(--line);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow)}label,fieldset{display:block;margin-bottom:20px;font-weight:750}label small{display:block;margin-top:4px;font-weight:400}input,select,textarea{width:100%;min-height:50px;background:#0f1214;color:var(--text);border:1px solid #394148;border-radius:9px;padding:12px;margin-top:7px}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--acid)}input[type=range]{accent-color:var(--acid);padding:0}textarea{min-height:105px;resize:vertical}fieldset{border:1px solid var(--line);border-radius:12px;padding:18px}legend{padding:0 8px}.field-row{display:flex;gap:14px}.field-row>*{flex:1}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.choice{margin:0}.choice input{position:absolute;opacity:0}.choice span{display:flex;align-items:center;min-height:62px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#0f1214}.choice input:checked+span{border-color:var(--acid);box-shadow:inset 0 0 0 1px var(--acid)}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-grid label,.consent{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:14px}.consent{margin-bottom:18px}.onboarding-shell{max-width:720px;margin:0 auto}.onboarding-progress{margin-bottom:22px}.onboarding-progress>div:first-child{display:flex;justify-content:space-between}.onboarding-card h1{font-size:48px}.flash-stack{position:fixed;right:18px;top:88px;width:min(420px,calc(100% - 36px));z-index:100}.flash{padding:14px 18px;background:#283039;border:1px solid #48545e;border-radius:10px;margin-bottom:8px;box-shadow:var(--shadow)}.flash.error{border-color:var(--danger)}.flash.success{border-color:var(--good)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status-pill,.severity{display:inline-flex;padding:6px 10px;border:1px solid var(--line);border-radius:99px;font-size:12px;font-weight:900;letter-spacing:.08em}.status-pill.active,.status-pill.trial,.severity.green{border-color:var(--good);color:var(--good)}.status-pill.past_due,.status-pill.grace_period,.severity.amber{border-color:var(--amber);color:var(--amber)}.status-pill.cancelled,.severity.red{border-color:var(--danger);color:var(--danger)}.details>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:13px 0}.details dt{color:var(--muted)}.details dd{text-align:right;margin:0;font-weight:750}.processing{text-align:center;max-width:700px;margin:0 auto}.pulse{height:14px;width:14px;background:var(--acid);border-radius:50%;margin:0 auto 22px;box-shadow:0 0 0 10px rgba(200,255,56,.1);animation:pulse 1.6s infinite}@keyframes pulse{50%{box-shadow:0 0 0 20px rgba(200,255,56,0)}}.program-day{margin-bottom:16px;display:grid;grid-template-columns:180px 1fr 150px;gap:24px;align-items:center}.exercise-list>div{display:flex;gap:16px;border-bottom:1px solid var(--line);padding:10px 0}.exercise-list>div:last-child{border:0}.exercise-list span{color:var(--muted);font-weight:800}.exercise-list strong,.exercise-list small{display:block}.workout-header{display:flex;justify-content:space-between;align-items:center}.save-state{font-size:13px;color:var(--muted)}.start-card{max-width:600px}.workout-exercise{margin-bottom:20px}.exercise-heading{display:flex;gap:18px}.exercise-heading>span{font-size:13px;color:var(--acid);font-weight:900;margin-top:7px}.exercise-heading h2{margin:0}.exercise-heading p{color:var(--muted)}.cue{background:#0e1113;border-left:3px solid var(--acid);padding:14px 18px;margin:20px 0}.cue p{margin:4px 0;color:#bdc5cb}.set-head,.set-row{display:grid;grid-template-columns:50px 1fr 1fr 1fr 1fr;gap:8px;align-items:center}.set-head{color:var(--muted);font-size:12px;text-transform:uppercase}.set-row input,.set-row select{margin:5px 0;min-height:46px}.swap-row{display:flex;gap:12px;align-items:end;margin-top:16px}.swap-row label{margin:0;flex:1}.swap-result{margin-top:10px;color:var(--muted)}.sticky-actions{position:sticky;bottom:82px;display:flex;justify-content:flex-end;gap:10px;background:rgba(11,13,15,.92);backdrop-filter:blur(14px);padding:12px;border:1px solid var(--line);border-radius:12px;z-index:20}dialog{border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);width:min(520px,calc(100% - 32px));padding:0}dialog::backdrop{background:rgba(0,0,0,.75)}.dialog-content{padding:28px}.dialog-close{float:right;background:none;color:var(--text);border:0;font-size:32px;cursor:pointer}.macro-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.macro-bar div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.macro-bar strong,.macro-bar span{display:block}.macro-bar strong{font-size:28px}.macro-bar span{font-size:12px;color:var(--muted)}.tab-row{display:flex;gap:7px;overflow-x:auto;padding:30px 0 14px}.day-tab{min-width:65px;min-height:46px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:9px;cursor:pointer}.day-tab.active{background:var(--acid);color:var(--ink);border-color:var(--acid);font-weight:900}.hidden{display:none}.meal-row{display:grid;grid-template-columns:1fr 280px;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0}.meal-row h3{margin:5px 0}.meal-row p{margin:0;color:#c4cbd0}.compact{font-size:13px;margin:0}.compact select{min-height:42px}.variety-note{border:1px solid var(--line);background:#111516;border-radius:12px;padding:18px;margin:24px 0}.variety-note p{margin:5px 0;color:var(--muted)}.form-details{margin-top:28px}.form-details summary,.danger-zone summary{cursor:pointer;font-weight:850}.compact-form{margin-top:20px}.inline-form{display:flex;gap:10px;align-items:end}.inline-form label{flex:1;margin:0}.record-list>div,.weight-list,.health-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:13px 0}.record-list span{color:var(--muted)}.weight-list{flex-wrap:wrap}.weight-list span{display:flex;flex-direction:column}.timeline>div{display:flex;gap:14px;padding:11px 0}.timeline>div>span{width:10px;height:10px;margin-top:8px;background:var(--acid);border-radius:50%}.timeline strong,.timeline small{display:block}.narrow-page{max-width:740px;margin:0 auto}.range-labels{display:flex;justify-content:space-between}.message-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.message{max-width:82%;border:1px solid var(--line);border-radius:14px;padding:15px 18px;background:var(--surface)}.message.inbound{align-self:flex-end;background:#243017}.message p{margin:5px 0}.message span{font-size:11px;color:var(--muted)}.message-compose{position:sticky;bottom:78px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:15px}.message-compose label{margin-bottom:5px}.danger-zone{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.admin-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.admin-metrics div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px}.admin-metrics strong,.admin-metrics span{display:block}.admin-metrics strong{font-size:26px}.admin-metrics span{font-size:12px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid .wide{grid-column:1/-1}.review-row{display:grid;grid-template-columns:70px 1fr 260px;gap:14px;align-items:start;border-top:1px solid var(--line);padding:15px 0}.review-row p{margin:4px 0;color:var(--muted)}.health-row{align-items:flex-start}.health-row div{display:flex;flex-direction:column;flex:1}.health-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);margin-top:7px}.health-dot.healthy{background:var(--good)}.health-dot.degraded{background:var(--amber)}.health-dot.failed{background:var(--danger)}.review-summary{border-top:1px solid var(--line);padding:14px 0}.review-summary p{margin:4px 0}.audit-table>div{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:10px;border-top:1px solid var(--line);padding:10px 0;font-size:13px}.error-page{max-width:650px;text-align:center;margin:70px auto}.error-code{font-size:90px;line-height:1;color:var(--acid);font-weight:950}footer{border-top:1px solid var(--line);padding:40px max(20px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;gap:20px;color:var(--muted)}footer a{display:block;margin-bottom:8px}.mobile-nav{display:none}@media(max-width:900px){.desktop-nav{display:none}.container{width:min(100% - 28px,720px);padding-top:32px}.hero{grid-template-columns:1fr;padding:64px 0;gap:45px}.hero-panel{transform:none}.proof-strip{grid-template-columns:1fr}.proof-strip div{border-right:0;border-bottom:1px solid var(--line)}.section.split,.section.dark,.auth-layout{grid-template-columns:1fr;gap:36px}.section{padding:72px 0}.auth-layout{padding-top:0}.dashboard-grid,.two-column,.admin-grid{grid-template-columns:1fr}.dashboard-grid .card:first-child{grid-row:auto}.program-day{grid-template-columns:1fr}.macro-bar{grid-template-columns:repeat(3,1fr)}.meal-row{grid-template-columns:1fr}.admin-metrics{grid-template-columns:repeat(3,1fr)}.review-row{grid-template-columns:65px 1fr}.review-row form{grid-column:2}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(14,17,19,.97);border-top:1px solid var(--line);z-index:45;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{min-height:62px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--muted)}footer{margin-bottom:62px}.sticky-actions{bottom:72px}}@media(max-width:560px){h1{font-size:43px}.site-header{height:66px;padding:0 14px}.site-header .button.small{display:none}.hero,.section,.proof-strip{width:calc(100% - 28px)}.hero{min-height:auto;padding-top:52px}.button-row{flex-direction:column}.form-card,.onboarding-card,.card,.program-day,.workout-exercise{padding:20px}.field-row{flex-direction:column;gap:0}.choice-grid,.checkbox-grid{grid-template-columns:1fr}.macro-bar{grid-template-columns:repeat(2,1fr)}.set-head,.set-row{grid-template-columns:38px repeat(4,minmax(55px,1fr));gap:4px}.set-row input,.set-row select{padding:8px}.swap-row{flex-direction:column;align-items:stretch}.admin-metrics{grid-template-columns:1fr 1fr}.audit-table>div{grid-template-columns:1fr 1fr}.review-row{grid-template-columns:1fr}.review-row form{grid-column:auto}.message{max-width:94%}footer{flex-direction:column}}

.mode-switch{display:flex;gap:7px;overflow-x:auto;padding:20px 0 14px;margin-bottom:18px}
.mode-switch .day-tab{padding-inline:18px;white-space:nowrap}

button,.button,input,select,textarea,summary{min-height:48px}
button,.button,input,select,textarea,summary{min-height:48px!important}
