:root{--bg:#171512;--card:#211E1A;--raised:#2A2724;--line:#3B3731;--ink:#EDE9E1;--muted:#A39C92;--hazard:#F2C400;--hazard-deep:#C7A100;--hazard-text:#F2C400;--on-hazard:#171512;--rust:#C1502F;--rust-text:#D97A57;--rust-soft:#33211A;--good:#8FAE82;--good-soft:#222E1E;--warn:#D9B23B;--warn-soft:#322B14;--danger:#E06C55;--danger-soft:#38201A;--radius:6px;--radius-btn:4px;--display:var(--font-display),"Arial Narrow",system-ui,sans-serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--stripe:repeating-linear-gradient(-45deg,var(--hazard) 0 10px,var(--bg) 10px 20px)}:root[data-theme=light]{--bg:#E8E4DC;--card:#F4F1EA;--raised:#FFFFFF;--line:#CFC9BD;--ink:#1B1916;--muted:#5B564E;--hazard:#E0B400;--hazard-deep:#B89300;--hazard-text:#7A600F;--on-hazard:#1B1916;--rust:#A8431F;--rust-text:#A8431F;--rust-soft:#F0DDD4;--good:#4C7A4E;--good-soft:#DFE8DA;--warn:#8A6D14;--warn-soft:#EFE6C8;--danger:#B3402A;--danger-soft:#F2DCD5;--stripe:repeating-linear-gradient(-45deg,var(--hazard) 0 10px,var(--ink) 10px 20px)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.55;min-height:100dvh}img,svg{max-width:100%}button{background:none;border:none;cursor:pointer}button,input,select{font:inherit;color:inherit}a{color:var(--rust-text)}.shell{max-width:640px;margin:0 auto;padding:20px 16px 96px}.display,h1,h2,h3{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}h2{font-size:1.5rem;margin-bottom:4px}h3{font-size:1.15rem}.eyebrow{font-family:var(--display);font-size:.82rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--hazard-text)}.muted{color:var(--muted);font-size:.9rem}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:14px}.hazard-stripe{height:8px;border:none;border-radius:2px;background:var(--stripe)}.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:var(--radius-btn);font-family:var(--display);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;background:var(--hazard);color:var(--on-hazard);transition:background .15s ease,transform .1s ease;touch-action:manipulation}.btn:active{transform:scale(.98)}.btn:hover{background:var(--hazard-deep)}.btn.secondary{background:transparent;color:var(--hazard-text);border:2px solid var(--hazard)}.btn.secondary:hover{background:var(--warn-soft)}.btn.small{min-height:40px;padding:8px 16px;font-size:.92rem}.btn.ghost{background:transparent;color:var(--muted);border:2px solid var(--line)}.btn.ghost:hover{color:var(--ink);border-color:var(--muted)}:is(button,input,select,a,[tabindex]):focus-visible{outline:3px solid var(--hazard);outline-offset:2px;border-radius:4px}.brand-lockup{display:flex;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;font-family:var(--display);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);text-decoration:none;margin-bottom:22px}.brand-lockup svg{display:block}.hero-bg{background:linear-gradient(180deg,rgba(23,21,18,.62) 0,rgba(23,21,18,.78) 55%,var(--bg) 98%),url(/hero.jpg) center 30% /cover no-repeat;border-bottom:2px solid var(--line)}.hero-shell{padding-top:max(7dvh,40px);padding-bottom:26px}.hero-bg .wordmark,.hero-bg h1{color:#EDE9E1}.hero-bg .sub{color:#C9C2B8}.hero-bg h1 em{color:#F2C400}.hero-bg .btn.secondary{color:#F2C400;border-color:#F2C400}.hero-bg .btn.secondary:hover{background:rgba(242,196,0,.15)}#landing .wordmark{font-family:var(--display);font-size:1.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:10px;margin-bottom:30px}#landing .wordmark .spark{width:34px;height:34px;border-radius:4px;flex:0 0 auto;background:var(--hazard);display:flex;align-items:center;justify-content:center;color:var(--on-hazard);font-size:1rem}#landing h1{font-size:3.1rem;margin-bottom:16px}#landing h1 em{font-style:normal;color:var(--hazard-text)}#landing .sub{max-width:44ch;margin:0 0 26px;color:var(--muted);font-size:1.05rem}.step-row{display:flex;gap:14px;padding:14px 0;border-top:2px solid var(--line)}.step-num{font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--rust-text);flex:0 0 34px;line-height:1.3}.step-row b{display:block;margin-bottom:2px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:8px 0 4px}.feature-grid .card{margin-bottom:0;padding:14px}.feature-grid h3{font-size:1.02rem;margin-bottom:4px}.feature-grid p{font-size:.82rem;color:var(--muted)}@media (max-width:420px){.feature-grid{grid-template-columns:1fr}}.progress-track{height:10px;border-radius:2px;background:var(--raised);border:1px solid var(--line);margin:18px 0 6px;overflow:hidden}.progress-fill{height:100%;background:var(--hazard);transition:width .3s ease}.progress-label{font-size:.78rem;color:var(--muted);margin-bottom:18px}.field{margin-bottom:16px}.field .lbl,.field label.lbl{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}.field input[type=date],.field input[type=email],.field input[type=number],.field input[type=password],.field input[type=text],.field select,.field textarea{width:100%;min-height:48px;padding:10px 14px;border:2px solid var(--line);border-radius:var(--radius-btn);background:var(--raised);color:var(--ink);font:inherit;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--hazard);outline:none}.field .hint{font-size:.8rem;color:var(--muted);margin-top:4px}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.seg{display:flex;gap:8px;flex-wrap:wrap}.seg button{flex:1 1 auto;min-height:46px;padding:10px 14px;border:2px solid var(--line);border-radius:var(--radius-btn);background:var(--raised);font-size:.92rem;touch-action:manipulation}.seg button[aria-pressed=true]{border-color:var(--hazard);background:var(--warn-soft);color:var(--ink);font-weight:600}.optcard{display:block;width:100%;text-align:left;border:2px solid var(--line);border-radius:var(--radius);background:var(--raised);padding:14px 16px;margin-bottom:10px;touch-action:manipulation}.optcard .t{font-weight:650}.optcard .d{font-size:.85rem;color:var(--muted)}.optcard[aria-pressed=true]{border-color:var(--hazard);background:var(--warn-soft)}.optcard[aria-pressed=true] .t{color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{min-height:44px;padding:10px 16px;border-radius:var(--radius-btn);border:2px solid var(--line);background:var(--raised);font-size:.9rem;touch-action:manipulation}.chips button[aria-pressed=true]{border-color:var(--hazard);background:var(--hazard);color:var(--on-hazard);font-weight:700}.err{display:none;background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-btn);padding:10px 14px;font-size:.9rem;margin-bottom:14px}.err.show{display:block}.wiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.wiz-nav .btn{flex:1 1}.app-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.app-head svg{display:block;flex-shrink:0}.app-head h1{font-size:2rem}.head-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:40;background:color-mix(in srgb,var(--bg) 96%,transparent);border-top:2px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tabbar button{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;padding:6px 2px;border-radius:var(--radius-btn);font-size:.68rem;font-weight:600;color:var(--muted);touch-action:manipulation}.tabbar button svg{width:22px;height:22px}.tabbar button[aria-selected=true]{color:var(--hazard-text);background:var(--raised)}.tab{display:none}.tab.active{display:block}.big-number{font-family:var(--display);font-weight:700;font-size:3.4rem;line-height:1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.big-number small{font-size:1rem;font-family:var(--sans);font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}.macro-row{display:flex;justify-content:space-between;font-size:.88rem;margin-top:2px}.macro-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.macro-bar{height:10px;border-radius:2px;background:var(--raised);border:1px solid var(--line);overflow:hidden;margin:4px 0 12px}.macro-bar i{display:block;height:100%;background:var(--rust)}.banner{border-radius:var(--radius);padding:14px 16px;margin-bottom:14px;font-size:.94rem;border:2px solid var(--line);border-left-width:6px;background:var(--card)}.banner.good{border-left-color:var(--good);background:var(--good-soft)}.banner.warn{border-left-color:var(--warn);background:var(--warn-soft)}.banner.info{border-left-color:var(--muted)}.banner b{display:block;margin-bottom:2px}.today-card{border-color:var(--hazard);position:relative;overflow:hidden}.today-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:8px;background:var(--stripe)}.today-card .eyebrow{color:var(--hazard-text)}.day-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch}.day-chips button{flex:0 0 auto;min-height:44px;padding:10px 16px;border-radius:var(--radius-btn);border:2px solid var(--line);background:var(--raised);font-size:.88rem;white-space:nowrap;touch-action:manipulation}.day-chips button[aria-pressed=true]{background:var(--hazard);color:var(--on-hazard);border-color:var(--hazard);font-weight:700}.exercise{padding:14px 16px}.exercise .ex-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.exercise h3{font-size:1.12rem}.ex-meta{font-size:.85rem;color:var(--muted);margin:2px 0 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ex-cue{font-size:.85rem;color:var(--ink);background:var(--raised);border-left:3px solid var(--rust);border-radius:3px;padding:8px 10px;margin-bottom:10px}.form-link{font-size:.82rem;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--rust-text)}.form-link:hover{text-decoration:underline}.ex-photo{padding:0;margin-bottom:10px;border:2px solid var(--line);border-radius:4px;overflow:hidden;background:#fff;position:relative;text-align:left;touch-action:manipulation;cursor:pointer}.ex-photo,.ex-photo img{display:block;width:100%}.ex-photo img{height:auto}.ex-photo-hint{position:absolute;right:6px;bottom:6px;font-family:var(--display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:var(--hazard);color:var(--on-hazard);padding:3px 8px;border-radius:3px}.swap-btn{font-size:.82rem;font-weight:600;color:var(--muted);min-height:32px;padding:4px 8px;border-radius:4px;touch-action:manipulation}.swap-btn:hover{color:var(--hazard-text);background:var(--raised)}.set-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.set-circles{display:flex;gap:8px}.set-circle{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--raised);font-size:.85rem;font-weight:700;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;touch-action:manipulation;transition:background .15s ease,transform .1s ease}.set-circle:active{transform:scale(.92)}.set-circle.done{background:var(--hazard);border-color:var(--hazard);color:var(--on-hazard)}.weight-wrap{display:flex;align-items:center;gap:6px;margin-left:auto}.weight-wrap input{width:76px;min-height:44px;padding:8px 10px;border:2px solid var(--line);border-radius:var(--radius-btn);background:var(--raised);color:var(--ink);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weight-wrap span{font-size:.82rem;color:var(--muted)}.last-time{font-size:.8rem;color:var(--rust-text);font-weight:600;margin-top:8px}.rest-chip{display:none;margin-top:10px;width:100%;text-align:center;min-height:40px;border-radius:var(--radius-btn);background:var(--hazard);color:var(--on-hazard);font-family:var(--display);font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;touch-action:manipulation}.rest-chip.active{display:block}.meal-card{padding:14px 16px;border-left:4px solid var(--line)}.meal-breakfast{border-left-color:var(--warn)}.meal-lunch{border-left-color:var(--good)}.meal-dinner{border-left-color:var(--rust)}.meal-snack{border-left-color:var(--muted)}.meal-type{font-family:var(--display);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--hazard-text)}.meal-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.meal-kcal{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--muted);white-space:nowrap}.portion{display:inline-block;background:var(--raised);color:var(--rust-text);border:1px solid var(--line);border-radius:3px;font-size:.75rem;font-weight:700;padding:2px 8px;margin-left:6px}.day-total{display:flex;justify-content:space-between;align-items:baseline}.day-total h2{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grocery-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);min-height:48px}.grocery-item:last-child{border-bottom:none}.grocery-item input[type=checkbox]{width:22px;height:22px;accent-color:var(--hazard);flex:0 0 auto}.grocery-item .cnt{margin-left:auto;font-size:.8rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grocery-item.checked label{text-decoration:line-through;color:var(--muted)}.chart-wrap{position:relative}.chart-tip{position:absolute;pointer-events:none;display:none;background:var(--ink);color:var(--bg);font-size:.78rem;padding:5px 9px;border-radius:4px;white-space:nowrap;transform:translate(-50%,-130%);z-index:5;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weigh-table{width:100%;border-collapse:collapse;font-size:.9rem}.weigh-table td,.weigh-table th{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left}.weigh-table th{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--muted)}.weigh-table td:nth-child(2){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weigh-table .rm{color:var(--danger);font-size:.82rem;font-weight:600;min-height:44px;padding:0 10px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.photo-thumb{margin:0}.photo-thumb img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px;border:2px solid var(--line)}.photo-thumb figcaption{font-size:.72rem;color:var(--muted);text-align:center;margin-top:2px;display:flex;justify-content:center;align-items:center;gap:4px}.photo-thumb .rm{min-height:32px;padding:0 6px;color:var(--danger)}footer.disclaimer{margin-top:30px;padding-top:16px;border-top:2px solid var(--line);font-size:.78rem;color:var(--muted);text-align:center}.hidden{display:none!important}@media (min-width:700px){.shell{padding-top:36px}#landing h1{font-size:4rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{:root{--bg:#FFFFFF;--card:#FFFFFF;--raised:#F4F1EA;--line:#CFC9BD;--ink:#1B1916;--muted:#5B564E;--hazard:#B89300;--on-hazard:#1B1916;--rust:#A8431F;--rust-text:#A8431F}body{background:#fff}#weigh-form,.btn,.day-chips,.form-link,.grocery-item input,.head-actions,.rest-chip,.rm,.set-circles,.swap-btn,.tabbar,.today-card,.weight-wrap,.wiz-nav{display:none!important}.tab{display:block!important;page-break-inside:avoid;margin-bottom:20px}.tab:before{content:attr(data-print-title);font-family:var(--display);text-transform:uppercase;font-size:1.4rem;display:block;margin:18px 0 10px}.card{border:1px solid #ddd;page-break-inside:avoid;break-inside:avoid}.shell{max-width:none;padding-bottom:0}.meal-day,.workout-day{display:block!important}}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d6e015f239232eb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/55b35d87b6156eea-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5fb5c05ff73c0616-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8599be8653318abe-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3352fdb488e19d84-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/437e5f23c97e320c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Barlow Condensed Fallback;src:local("Arial");ascent-override:130.73%;descent-override:26.15%;line-gap-override:0.00%;size-adjust:76.49%}.__className_df8909{font-family:Barlow Condensed,Barlow Condensed Fallback;font-style:normal}.__variable_df8909{--font-display:"Barlow Condensed","Barlow Condensed Fallback"}