:root{font-family:Inter,"Segoe UI",system-ui,sans-serif;font-synthesis:none;--bg:#f3f1eb;--surface:#fffdf9;--surface2:#eae7df;--ink:#202722;--muted:#626b62;--line:#d9dbd2;--accent:#b94b24;--accent-soft:#f6e5dc;--green:#41775b;--blue:#346d95;--purple:#7d5892;--shadow:0 12px 40px #29342209;--radius:24px;color-scheme:light}
:root[data-theme=dark]{--bg:#101211;--surface:#1b201ded;--surface2:#262c28;--ink:#f1f3ee;--muted:#b0b8ac;--line:#394139;--accent:#fca477;--accent-soft:#3c2b22;--green:#a2c3a2;--blue:#90bbda;--purple:#c2acd6;--shadow:0 16px 45px #0002;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:48px;border:0;border-radius:14px;padding:12px 18px;font-weight:650;display:inline-flex;gap:10px;justify-content:center;align-items:center;background:var(--surface2);color:var(--ink)}button:disabled{opacity:.6;cursor:wait}button:hover:not(:disabled){filter:brightness(.96)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea,a,summary{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(36px,6vw,64px);letter-spacing:-.06em;line-height:1.04;font-weight:720}h2{font-size:24px;line-height:1.2;letter-spacing:-.035em}h3{font-size:19px;line-height:1.3;letter-spacing:-.025em}p{color:var(--muted)}.icon{width:24px;height:24px;flex-shrink:0}.small{font-size:13px}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);display:block}.wordmark{font-size:25px;font-weight:850;letter-spacing:-1.6px;white-space:nowrap}.wordmark span{color:var(--accent);padding:0 2px}.logo{padding:0;background:none;justify-content:flex-start}.app-header{position:relative;display:flex;align-items:center;gap:16px;max-width:1120px;margin:auto;padding:calc(20px + env(safe-area-inset-top)) 24px 24px}.app-header .muted{margin-left:auto}.avatar{border-radius:50%;width:44px;min-height:44px;padding:0;background:var(--accent-soft);color:var(--accent)}#shell{position:relative;z-index:1}#main{max-width:1120px;margin:auto;padding:10px 24px calc(112px + env(safe-area-inset-bottom));outline:none}.section-heading{margin:12px 0 28px}.section-heading h1{margin:8px 0 12px}.section-heading p{max-width:600px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:grid;gap:14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}.card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);min-width:0}.card h2,.card h3{margin-bottom:8px}.card .eyebrow{margin-bottom:12px}.card p+button,.card .row+button{margin-top:16px}.full{width:100%}.primary{background:var(--accent);color:#fff8f2}.dark .primary{color:#171b16}.subtle{background:none}.outline{background:transparent;border:1px solid var(--line)}.icon-button{width:48px;padding:10px;font-size:24px}.pill{display:inline-flex;padding:5px 10px;border-radius:30px;background:var(--surface2);font-size:12px;font-weight:650;gap:6px;align-items:center}.pill.accent{background:var(--accent-soft);color:var(--accent)}.hero{min-height:320px;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:36px;background:var(--surface);position:relative;overflow:hidden}.hero h1{font-size:clamp(38px,5vw,60px);margin:14px 0 14px}.hero p{max-width:340px}.hero-ring{position:relative;flex:0 0 155px;text-align:center}.hero-ring .ring{width:155px;height:155px}.hero-ring .ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring circle{fill:none;stroke:var(--line);stroke-width:6}.ring .ring-fill{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .3s}.ring-label strong{font-size:48px;letter-spacing:-3px;line-height:1.1}.next-card{background:var(--accent-soft);display:flex;flex-direction:column;justify-content:space-between}.next-card h2{font-size:30px;margin:12px 0}.next-card .icon{color:var(--accent)}.metric{min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.metric .value{font-size:36px;letter-spacing:-1.5px;font-weight:720}.metric .value small{font-size:16px;letter-spacing:0;color:var(--muted);font-weight:500}.metric.step .icon{color:var(--green)}.metric.water .icon{color:var(--blue)}.metric.food .icon{color:var(--purple)}.metric.train .icon{color:var(--accent)}.bar{height:5px;background:var(--surface2);border-radius:20px;overflow:hidden;margin-top:10px}.bar span{display:block;height:100%;background:var(--accent);border-radius:20px}.section-row{margin:34px 0 16px}.activity-card{display:flex;gap:18px;align-items:center}.activity-card>.icon{width:36px;height:36px;color:var(--accent)}.activity-card>div{flex:1}.activity-card h3{margin:0}.activity-card button{flex-shrink:0}.list-item{padding:16px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}.list-item strong{display:block}.empty{text-align:center;padding:30px 10px}.empty>.icon{width:38px;height:38px;color:var(--muted);margin-bottom:12px}.empty h3{margin-bottom:8px}.empty p{max-width:340px;margin:auto}.empty button{margin-top:16px}#navigation{position:fixed;bottom:0;left:0;right:0;z-index:5;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 10px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(20px)}#navigation button{min-width:58px;flex-direction:column;gap:3px;font-size:11px;padding:8px;background:transparent;color:var(--muted)}#navigation button.active{color:var(--accent)}#navigation .quick-add{background:var(--ink);color:var(--bg);width:52px;min-width:52px;min-height:52px;border-radius:18px;align-self:center}.skip-link{position:fixed;left:10px;top:-100px;z-index:30;background:var(--surface);padding:10px}.skip-link:focus{top:10px}label{display:grid;gap:7px;font-size:14px;font-weight:600;color:var(--ink)}input,select,textarea{width:100%;min-height:50px;border-radius:13px;background:var(--surface2);color:var(--ink);border:1px solid var(--line);padding:12px 14px;min-width:0}textarea{min-height:85px;resize:vertical}input[type=checkbox]{width:21px;min-height:21px;margin:0}input[type=file]{font-size:13px}.check-label{display:flex;align-items:center;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:1/-1}.form-footer{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.error{padding:14px;color:#b9422e;background:#ffe9e3;border-radius:14px;margin:12px 0}.error:empty{display:none}[data-theme=dark] .error{background:#402820;color:#ffbb9b}.hint{font-size:13px;color:var(--muted);margin:12px 0}.banner{padding:12px 24px;background:var(--accent-soft);font-size:14px;position:relative;z-index:1}.banner button{min-height:36px;padding:4px 12px;margin-left:10px}.boot{position:fixed;inset:0;z-index:12;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.boot .wordmark{font-size:48px}.boot p{font-size:11px;letter-spacing:.2em}.loading-line{height:3px;width:80px;background:var(--accent);border-radius:6px;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.25;transform:scaleX(.5)}}dialog{padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--surface);color:var(--ink);width:min(640px,calc(100% - 32px));max-height:90dvh;overflow:auto;box-shadow:0 30px 120px #0006}dialog::backdrop{background:#080c09a6;backdrop-filter:blur(4px)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.sheet-header h2{margin:0}.sheet-handle{display:none}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-grid button{flex-direction:column;padding:20px 6px;min-height:100px;font-size:13px;background:var(--surface2)}.quick-grid .icon{color:var(--accent)}#toast{position:fixed;z-index:25;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:13px 20px;border-radius:14px;max-width:calc(100% - 32px);font-size:14px;box-shadow:var(--shadow)}#intro{padding:0;width:min(520px,100%);height: min(940px,100dvh);max-height:100dvh;overflow:auto;border:0;background:var(--bg)}.trailer{height:100%;min-height:650px;position:relative;isolation:isolate;color:#fff}.trailer video,.trailer-poster,.trailer-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.trailer-shade{z-index:-1;background:linear-gradient(#080d0880,#080d081a 30%,#080d08ce)}.trailer-top{padding:calc(24px + env(safe-area-inset-top)) 24px;display:flex;align-items:center;justify-content:space-between}.trailer .subtle{color:#fff}.trailer-copy{position:absolute;bottom:27%;left:28px;right:20px}.trailer-copy h1{font-size:44px;color:#fff}.trailer-copy .eyebrow,.trailer-copy p{color:#eee;margin:12px 0}.trailer-bottom{position:absolute;bottom:calc(25px + env(safe-area-inset-bottom));left:28px;right:28px;display:grid;gap:16px}.trailer-bottom .eyebrow{color:#eee}.tour{padding:28px;min-height:100%;display:flex;flex-direction:column}.tour-art{width:160px;height:160px;margin:70px auto 50px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.tour-art .icon{width:68px;height:68px}.tour h1{font-size:40px;margin:12px 0 20px}.tour p{font-size:17px}.tour-dots{display:flex;gap:8px;margin:35px 0}.tour-dots span{width:7px;height:7px;border-radius:20px;background:var(--line)}.tour-dots .selected{width:22px;background:var(--accent)}.tour>.primary{margin-top:auto}.timer-card{text-align:center;padding:30px}.timer-clock{font-size:clamp(64px,15vw,110px);line-height:1.15;letter-spacing:-6px;font-variant-numeric:tabular-nums;font-weight:720;margin:20px 0}.timer-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}.timer-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.timer-stats strong{display:block;font-size:22px}.segmented{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.segmented button{min-height:40px;font-size:13px;padding:9px 12px}.segmented button.active{background:var(--ink);color:var(--bg)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0}.calendar .day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface2);border-radius:9px;font-size:13px;border:1px solid transparent}.calendar .day.trained{background:var(--green);color:var(--bg)}.calendar .day.logged{border-color:var(--accent)}.calendar .day.recovered{border-style:dashed;border-color:var(--blue)}.calendar .day.today{outline:2px solid var(--accent);outline-offset:2px}.calendar .day span{font-size:9px}.chart{width:100%;margin:20px 0 0;overflow:visible}.chart polyline{stroke:var(--accent);stroke-width:3}.chart circle{fill:var(--accent)}.chart-grid{stroke:var(--line);stroke-width:1}.stat-number{font-size:35px;font-weight:700;letter-spacing:-1px}.photo-preview{height:200px;border-radius:16px;background:var(--surface2);display:grid;place-items:center;overflow:hidden;margin-bottom:14px}.photo-preview img{width:100%;height:100%;object-fit:contain}.analysis{padding:20px;border:1px solid var(--line);border-radius:16px;margin-top:20px}.analysis p{margin:10px 0}.recipe h3{font-size:23px}.recipe .pill{margin-bottom:12px}.recipe button{margin-top:16px}.exercise-row{padding:18px;border:1px solid var(--line);border-radius:16px}.exercise-row .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.nutrition-number{font-size:24px;font-weight:700}.about-quote{font-size:28px;line-height:1.25;letter-spacing:-.035em;margin:25px 0}.footage-credits{font-size:13px;margin-top:22px}.footage-credits p{margin:8px 0}.footage-credits summary{padding:12px 0;cursor:pointer}.progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.meal-desc{overflow-wrap:anywhere}.instructions{padding-left:22px}.instructions li{padding:8px 0}.note-panel{padding:18px;border-radius:16px;background:var(--surface2)}[hidden]{display:none!important}
[data-theme=light] #motion::after{background:linear-gradient(180deg,#f3f1ebeb,#f3f1ebe6 55%,#f3f1ebf7)}[data-theme=light] #motion video{filter:saturate(.7)}[data-theme=dark] .primary{color:#171b16}[data-theme=dark] .hero{background:#1b211dc9}[data-theme=dark] #motion::after{background:linear-gradient(180deg,#090e09a6,#101211c4 40%,#101211f2)}
@media(min-width:1100px){#shell{padding-left:180px}#navigation{top:0;bottom:0;left:0;right:auto;width:180px;flex-direction:column;justify-content:center;gap:16px;border-top:0;border-right:1px solid var(--line);padding:24px}#navigation button{flex-direction:row;justify-content:flex-start;gap:14px;min-height:55px;font-size:15px}#navigation .quick-add{width:100%;align-self:auto;justify-content:center}#navigation:before{content:'MOVE.\a NOURISH.\a GROW.';white-space:pre;position:absolute;bottom:36px;left:24px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.8;letter-spacing:.1em}.today-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-grid>.wide{grid-column:1/-1}.hero{min-height:340px}}
@media(max-width:600px){.app-header{padding-left:20px;padding-right:20px}#header-date{font-size:11px}.wordmark{font-size:23px}#main{padding-left:20px;padding-right:20px}.card{padding:20px}.hero{padding:24px;min-height:330px;align-items:flex-start;flex-direction:column;gap:16px}.hero h1{font-size:40px}.hero-ring{position:absolute;right:20px;bottom:24px;flex-basis:100px}.hero-ring .ring{width:100px;height:100px}.ring-label strong{font-size:31px;letter-spacing:-1.5px}.hero-ring .eyebrow{font-size:9px}.hero p{max-width:190px}.today-layout>.next-card{margin-top:14px}.grid{gap:12px}.metric{min-height:145px}.metric .value{font-size:30px}.metric .value small{font-size:13px}.next-card h2{font-size:26px}.activity-card{gap:12px}.activity-card>.icon{width:28px}.activity-card button{padding:10px}.form-grid{gap:12px}.form-grid .wide{grid-column:1/-1}.progress-grid{grid-template-columns:1fr}dialog:not(#intro){width:100%;max-height:92dvh;margin:auto 0 0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:12px 20px calc(26px + env(safe-area-inset-bottom))}.sheet-handle{display:block;width:36px;height:4px;background:var(--line);border-radius:10px;margin:0 auto 18px}.sheet-header{margin-bottom:18px}#intro{border-radius:0;width:100%;height:100dvh}.section-heading h1{font-size:42px}.timer-card{padding:24px 14px}.tour-art{margin:50px auto 32px}.tour{padding:24px}.tour h1{font-size:36px}.trailer{min-height:100dvh}.trailer-copy h1{font-size:40px}.activity-card h3{font-size:17px}.activity-card p{font-size:13px}.quick-grid{gap:9px}.quick-grid button{padding:16px 4px;font-size:12px}.hero .pill{max-width:100%;white-space:normal}.stat-number{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.loading-line{opacity:1}.trailer video{display:none}}
@media(max-width:600px){.grid:not(.metrics){grid-template-columns:1fr}.section-heading{flex-wrap:wrap}.ingredient-row{align-items:flex-end;flex-wrap:wrap}.ingredient-row>label{width:calc(50% - 6px)}.hero h1{max-width:100%}.segmented .check-label{min-height:44px}.activity-card p{max-width:100%}}
@media(min-width:601px) and (max-width:1099px){.today-layout>.next-card{margin-top:16px}}
.segmented button,.banner button{min-height:44px}summary{min-height:44px;cursor:pointer}.check-label{min-height:44px}.metric .value small{white-space:nowrap}
@media(max-width:600px){dialog,dialog#intro{max-width:100%}form[data-form=profile] label:has([name=name],[name=goal],[name=commitment],[name=runAbility],[name=swimAbility],[name=cuisine],[name=customCuisine],[name=challengeKind]){grid-column:1/-1}}
/* Size typography to the actual card width, including narrow desktop columns. */
.metric{container-type:inline-size;gap:18px}
.metric .value{max-width:100%;font-size:clamp(24px,18cqi,36px);line-height:1.2;overflow-wrap:anywhere}
.metric .activity-value{font-size:clamp(18px,12cqi,26px);line-height:1.25;letter-spacing:-.5px;text-wrap:balance;overflow-wrap:normal}
.card :is(h1,h2,h3,p){max-width:100%;overflow-wrap:anywhere}
.activity-card>div,.row>div{min-width:0}
.brand-mark{width:32px;height:32px;display:block;flex:none}
.avatar{border-radius:14px;flex:none}
.trailer-sound{justify-self:start;color:#fff;background:#101710b3;border:1px solid #ffffff50;backdrop-filter:blur(8px);font-size:13px;padding:10px 16px}
.install-offer{display:grid;gap:18px}.install-logo{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:var(--accent-soft);color:var(--accent)}.install-logo .brand-mark{width:42px;height:42px}.install-offer ol{margin:0;padding-left:24px;color:var(--muted)}.install-offer li+li{margin-top:10px}.install-offer .form-footer{margin-top:0}.install-offer .hint{margin:0}
