@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.3gj6ciom31zjc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.0_kz_z3o_slvt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.1cp9-4nby68jc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_7321f1a9-module__Lxw7qa__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_7321f1a9-module__Lxw7qa__variable{--font-display:"Archivo", "Archivo Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_64e1985d-module__trJxcW__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_64e1985d-module__trJxcW__variable{--font-body:"Hanken Grotesk", "Hanken Grotesk Fallback"}
:root{--dur-press:.1s;--dur-fast:.18s;--dur-move:.32s;--dur-slow:.6s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-sheet:cubic-bezier(.32, .72, 0, 1);--rise:8px;--press:.97;--bg:#f4f1eb;--surface:#fffdf9;--surface-2:#efebe3;--ink:#1b1916;--ink-2:#4e4a43;--ink-3:#68635a;--line:#e2ddd2;--brand:#1b1916;--brand-ink:#fffdf9;--brand-soft:#ebe6dc;--accent:#d7f25c;--accent-ink:#1b1916;--protein:#3567c9;--carbs:#e0703a;--fat:#2f9e6e;--good:#2d7a4c;--warn:#a8620a;--bad:#b8402f;--chart-raw:#a39d91;--shadow:0 1px 2px #1b19160d, 0 10px 28px -6px #1b19161a;--edge:inset 0 0 0 1px #1b19160f;--glow:radial-gradient(120% 55% at 50% -10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%);--display:var(--font-display), "Arial Narrow", system-ui, sans-serif;--body:var(--font-body), system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h:72px;--col:480px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131210;--surface:#1c1a17;--surface-2:#24221e;--ink:#f3efe7;--ink-2:#bcb5a8;--ink-3:#948d80;--line:#2f2c27;--brand:#f3efe7;--brand-ink:#131210;--brand-soft:#2b2824;--accent:#d7f25c;--accent-ink:#131210;--protein:#5b8ef0;--carbs:#ec8a55;--fat:#4cbf8c;--good:#5fc28a;--warn:#e0a23a;--bad:#e5695b;--chart-raw:#6e685e;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--edge:inset 0 1px 0 #ffffff0d, inset 0 0 0 1px #ffffff0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#131210;--surface:#1c1a17;--surface-2:#24221e;--ink:#f3efe7;--ink-2:#bcb5a8;--ink-3:#948d80;--line:#2f2c27;--brand:#f3efe7;--brand-ink:#131210;--brand-soft:#2b2824;--accent:#d7f25c;--accent-ink:#131210;--protein:#5b8ef0;--carbs:#ec8a55;--fat:#4cbf8c;--good:#5fc28a;--warn:#e0a23a;--bad:#e5695b;--chart-raw:#6e685e;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--edge:inset 0 1px 0 #ffffff0d, inset 0 0 0 1px #ffffff0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--glow) no-repeat, var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-attachment:fixed;font-size:15px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}.num{font-variant-numeric:tabular-nums}body:before{content:"";z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}body>*{z-index:1;position:relative}h1,h2,h3,.h,.big{text-wrap:balance}p,li{text-wrap:pretty}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{max-width:var(--col);min-height:100dvh;padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(var(--nav-h) + 96px + env(safe-area-inset-bottom,0px));margin:0 auto}.top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.kicker{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:700;font-stretch:112%}.h{font-family:var(--display);letter-spacing:-.015em;margin:2px 0 0;font-size:32px;font-weight:800;font-stretch:80%;line-height:1.02}.chip{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip.warn{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.card{background:var(--surface);box-shadow:var(--edge), var(--shadow);border-radius:20px;padding:16px}.card.hero{border-radius:24px;padding:18px}.stack{gap:14px;display:grid}.section-label{font-family:var(--display);letter-spacing:-.005em;color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;margin:8px 2px -4px;font-size:15px;font-weight:700;font-stretch:95%;display:flex}.section-label a,.section-label button{color:var(--brand);letter-spacing:.02em;text-transform:none;font-family:var(--body);font-size:13px;font-weight:600}.small{color:var(--ink-3);font-size:12.5px}.muted{color:var(--ink-2)}.empty{text-align:center;color:var(--ink-2);padding:22px 12px}.empty b{color:var(--ink);margin-bottom:4px;display:block}.btn{border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:700;display:inline-flex}.btn.primary{background:var(--brand);color:var(--brand-ink);width:100%;box-shadow:inset 0 1px 0 #ffffff24, 0 6px 16px -6px color-mix(in srgb, var(--brand) 60%, transparent)}@media (hover:hover){.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 88%, var(--ink))}.btn.ghost:hover:not(:disabled){background:var(--line)}a.card:hover{box-shadow:var(--edge), 0 1px 2px #1b191614, 0 14px 32px -6px #1b191629}}.btn.ghost{background:var(--surface-2);color:var(--ink);width:100%}.btn.danger{color:var(--bad);background:0 0;width:100%}.btn:disabled{opacity:.6;cursor:default}.icon-btn{width:44px;height:44px;color:var(--ink-2);border-radius:12px;flex:none;place-items:center;display:grid}@media (hover:hover){.icon-btn:hover{background:var(--surface-2);color:var(--ink)}}.icon-btn svg{width:20px;height:20px}.link-btn{color:var(--brand);justify-self:center;padding:6px 0;font-size:14px;font-weight:600}.card.flat{box-shadow:none;background:var(--surface-2)}.day-nav{align-items:center;gap:4px;min-width:0;margin-left:-8px;display:flex}.form{gap:12px;display:grid}.field{gap:5px;min-width:0;display:grid}.field span{color:var(--ink-2);font-size:12.5px;font-weight:600}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;width:100%;padding:10px 12px;font-size:16px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:#0000}.field-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (max-width:380px){.field-row{grid-template-columns:1fr 1fr}}.hint{color:var(--ink-2);margin:0;font-size:13px}.hint.warn{color:var(--warn)}.check{align-items:center;gap:8px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--brand)}.pick-list{display:grid}.pick{border-top:1px solid var(--line);align-items:center;gap:6px;display:flex}.pick:first-child{border-top:0}.pick-main{text-align:left;flex:1;gap:2px;min-width:0;padding:12px 0;display:grid}.pick-main b{overflow-wrap:anywhere}.pick-main span{color:var(--ink-3);font-size:12.5px}@media (hover:hover){.pick-main:hover b{color:var(--brand)}}.photo-pick{border:2px dashed var(--line);color:var(--ink-2);border-radius:18px;justify-items:center;gap:4px;padding:26px 16px;display:grid}.photo-pick svg{width:30px;height:30px;color:var(--brand)}.photo-pick b{color:var(--ink)}.photo-pick span{color:var(--ink-3);font-size:12.5px}.photo-preview{border-radius:18px;max-height:240px;display:block;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:240px;display:block}.hero{grid-template-columns:124px 1fr;align-items:center;gap:18px;display:grid}.ring{width:124px;height:124px;position:relative}.ring-num{font-family:var(--display);font-size:28px;font-weight:800;font-stretch:70%;line-height:1}.hero-sum{gap:2px;min-width:0;display:grid}.hero-sum .big{font-size:52px}.macro-tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.macro-tile{align-content:start;gap:4px;padding:12px;display:grid}.macro-tile b{font-family:var(--display);font-size:26px;font-weight:800;font-stretch:75%;line-height:1}.macro-tile .bar{height:6px;margin-top:4px}.hit{color:var(--good);font-size:12px;font-weight:700}.bento{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.big{font-family:var(--display);letter-spacing:-.01em;font-size:38px;font-weight:800;font-stretch:70%;line-height:.95}.week-dots{align-items:center;gap:4px;display:flex}.week-dots i{background:var(--line);border-radius:50%;width:10px;height:10px}.week-dots i.on{background:var(--brand)}.week-dots i.today{box-shadow:0 0 0 1.5px var(--surface), 0 0 0 3px var(--brand)}.week-dots i.on.today{background:var(--accent)}.week-dots span{color:var(--ink-2);white-space:nowrap;margin-left:4px;font-size:12px;font-weight:600}.bar{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.bar i{height:100%;transition:width var(--dur-slow) var(--ease-out);border-radius:99px;display:block}.p{background:var(--protein)}.c{background:var(--carbs)}.f{background:var(--fat)}.meal{text-align:left;border-top:1px solid var(--line);grid-template-columns:44px 1fr auto;align-items:center;gap:12px;width:100%;padding:10px 0;display:grid}.meal:first-child{border-top:0;padding-top:0}.meal:last-child{padding-bottom:0}.thumb{background:var(--surface-2);width:44px;height:44px;color:var(--brand);font-family:var(--display);border-radius:12px;place-items:center;font-size:12px;font-weight:800;font-stretch:75%;display:grid;overflow:hidden}.meal-text{min-width:0;display:grid}@media (hover:hover){.meal:hover .name{color:var(--brand)}}.meal .name{overflow-wrap:anywhere;font-weight:600}.meal .meta{color:var(--ink-3);font-size:12.5px}.meal .cal{font-family:var(--display);text-align:right;font-size:18px;font-weight:700;font-stretch:80%}.meal .cal small{font-family:var(--body);color:var(--ink-3);font-size:11px;font-weight:500;display:block}.quick{scrollbar-width:none;padding-bottom:2px;gap:10px;margin-inline:-16px;padding-inline:16px;display:flex;overflow-x:auto}.quick>*{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;flex:none;min-width:150px;max-width:220px;padding:10px 12px}.quick b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;display:block;overflow:hidden}.quick span{color:var(--ink-3);font-size:12px}@media (hover:hover){.quick button:hover{border-color:var(--brand)}}.quick button[aria-busy=true]{opacity:.6}.nav{z-index:10;border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(16px);backdrop-filter:saturate(1.4)blur(16px);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0}.nav-inner{max-width:var(--col);height:var(--nav-h);grid-template-columns:repeat(5,1fr);align-items:center;margin:0 auto;display:grid}.nav a{color:var(--ink-3);justify-items:center;gap:2px;padding:6px 0;font-size:11.5px;font-weight:600;display:grid}.nav a svg{box-sizing:content-box;width:22px;height:22px;transition:background-color var(--dur-fast) var(--ease-out);border-radius:99px;padding:4px 16px}.nav a[aria-current=page]{color:var(--brand)}.nav a[aria-current=page] svg{background:var(--brand-soft)}.log-fab{z-index:11;bottom:calc(var(--nav-h) + 14px + env(safe-area-inset-bottom,0px));right:max(16px, calc((100vw - var(--col)) / 2 + 16px));background:var(--brand);height:52px;color:var(--brand-ink);font:inherit;box-shadow:0 8px 20px color-mix(in srgb, var(--brand) 45%, transparent);border-radius:18px;align-items:center;gap:6px;padding:0 20px 0 16px;font-size:15px;font-weight:700;display:flex;position:fixed}.log-fab svg{width:22px;height:22px}.scrim{z-index:20;opacity:0;pointer-events:none;transition:opacity var(--dur-move) var(--ease-out);background:#08141173;position:fixed;inset:0}.scrim.on{opacity:1;pointer-events:auto}.sheet{left:0;right:0;bottom:var(--kb,0px);z-index:21;max-width:var(--col);background:var(--surface);padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px));visibility:hidden;transition:transform var(--dur-move) var(--ease-in), visibility 0s var(--dur-move);max-height:92svh;max-height:calc(var(--vvh,100svh) * .92);border-radius:24px 24px 0 0;flex-direction:column;margin:0 auto;display:flex;position:fixed;transform:translateY(105%)}.sheet>*{flex-shrink:0}.sheet>.sheet-body,.sheet>.plan-request{flex:0 auto;min-height:0}.plan-request{flex-direction:column;gap:12px;display:flex}.plan-request>.sheet-body{flex:0 auto;min-height:0;max-height:none}.sheet.on{visibility:visible;transition:transform var(--dur-move) var(--ease-sheet), visibility 0s;transform:none}.sheet.on>:not(.grab):not(.sheet-head){animation:rise var(--dur-fast) var(--ease-out) both}.sheet:focus{outline:none}.grab{background:var(--line);border-radius:99px;width:40px;height:5px;margin:0 auto 10px}.sheet-head{align-items:center;gap:6px;margin-bottom:12px;display:flex}.sheet-head h2{font-family:var(--display);flex:1;margin:0;font-size:22px;font-weight:800;font-stretch:80%}.sheet-body{max-height:min(70dvh, 620px, calc(var(--vvh,100dvh) * .62));padding-inline:16px;gap:12px;margin-inline:-16px;padding-bottom:2px;display:grid;overflow-y:auto}.sheet textarea{min-height:calc(2.8em + 26px)}.sheet,.sheet-body{overscroll-behavior:contain}.scrim{touch-action:none}.ways{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ways button{text-align:left;background:var(--surface-2);border-radius:16px;gap:4px;padding:14px;display:grid}.ways b{font-size:14.5px}.ways span{color:var(--ink-3);font-size:12.5px}.ways svg{width:22px;height:22px;color:var(--brand)}.toast{left:50%;bottom:calc(var(--nav-h) + 20px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--ink);color:var(--bg);opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);pointer-events:none;border-radius:12px;max-width:calc(100vw - 32px);padding:9px 14px;font-size:13.5px;font-weight:600;position:fixed;transform:translate(-50%,20px)}.toast.on{opacity:1;pointer-events:auto;transform:translate(-50%)}.toast.error{background:var(--bad);color:#fff}.toast button{text-underline-offset:3px;margin-left:12px;font-weight:800;text-decoration:underline}.welcome{align-content:center;gap:18px;max-width:420px;min-height:100dvh;margin:0 auto;padding:48px 16px;display:grid}.welcome .logo{width:56px;height:56px}.welcome h1{font-family:var(--display);text-wrap:balance;margin:0;font-size:clamp(36px,9vw,46px);font-weight:800;font-stretch:75%;line-height:1}.welcome p{color:var(--ink-2);margin:0}.google{background:var(--surface);border:1px solid var(--line);width:100%;box-shadow:var(--shadow);border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:13px 16px;font-weight:700;display:flex}.google svg{width:20px;height:20px}.notice{background:color-mix(in srgb, var(--warn) 12%, var(--surface));color:var(--ink);border-radius:14px;padding:12px 14px;font-size:14px}.list-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list-row:first-child{border-top:0;padding-top:0}.list-row:last-child{padding-bottom:0}.targets{text-align:center;grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.targets div{background:var(--surface-2);border-radius:14px;min-width:0;padding:10px 4px}.targets b{font-family:var(--display);font-size:22px;font-weight:800;font-stretch:75%;display:block}.targets span{color:var(--ink-3);font-size:11.5px}.sw{border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.sw.p{background:var(--protein)}.sw.c{background:var(--carbs)}.sw.f{background:var(--fat)}.insight{color:var(--ink-2);margin:12px 0 0;font-size:13.5px}.more{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.more summary{cursor:pointer;color:var(--brand);font-size:14px;font-weight:600}.more[open]{gap:10px;display:grid}.more p{color:var(--ink-2);margin:0;font-size:14px}.breakdown{border-collapse:collapse;width:100%;font-size:13px}.breakdown th{text-align:left;color:var(--ink-3);padding:4px 0;font-size:11.5px;font-weight:600}.breakdown td{border-top:1px solid var(--line);padding:6px 0}.recipe{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;display:grid}.recipe:first-child{border-top:0;padding-top:0}.recipe .name{overflow-wrap:anywhere;font-weight:700}.recipe .serv{font-family:var(--display);color:var(--brand);text-align:right;font-size:15px;font-weight:700;font-stretch:80%}.recipe .m{color:var(--ink-3);flex-wrap:wrap;grid-column:1/-1;gap:10px;font-size:12.5px;display:flex}.containers{flex-wrap:wrap;gap:4px;margin-top:12px;display:flex}.containers i{border:1.5px solid var(--brand);border-radius:3px;width:18px;height:12px}.containers i.eaten{background:var(--brand)}.grocery-bar{align-items:center;gap:10px;display:flex}.grocery-bar .bar{flex:1}.back-link{color:var(--brand);margin-bottom:8px;font-size:14px;font-weight:600;display:inline-block}.grocery{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:22px 1fr auto;align-items:start;gap:10px;padding:9px 0;display:grid}.grocery:nth-child(2){border-top:0}.grocery input{width:18px;height:18px;accent-color:var(--brand);margin:2px 0 0}.grocery span:not(.cost){transition:text-decoration-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000}.grocery.done span:not(.cost){color:var(--ink-3);text-decoration-color:currentColor}.grocery .cost{color:var(--ink-3);font-size:13px}.swap{gap:6px;display:grid}.swap p{color:var(--ink-2);margin:0;font-size:13.5px}.md{overflow-wrap:anywhere;font-size:14.5px}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3{font-family:var(--display);margin:20px 0 8px;font-weight:800;font-stretch:85%;line-height:1.15}.md h1{font-size:24px}.md h2{font-size:20px}.md h3{font-size:16.5px}.md p,.md ul,.md ol{margin:0 0 10px}.md ul,.md ol{padding-left:20px}.md li{margin:3px 0}.md hr{border:0;border-top:1px solid var(--line);margin:16px 0}.md a{color:var(--brand);text-decoration:underline}.md-table{margin:0 0 12px;overflow-x:auto}.md table{border-collapse:collapse;min-width:100%;font-size:13px}.md th,.md td{overflow-wrap:normal;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 10px 6px 0}.md th{color:var(--ink-3);font-weight:600}.writer{z-index:40;background:var(--bg);animation:fade-in var(--dur-move) var(--ease-out) both;flex-direction:column;display:flex;position:fixed;inset:0}.writer-head{max-width:var(--col);width:100%;padding:calc(16px + env(safe-area-inset-top,0px)) 16px 12px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.writer-status{margin-top:2px;font-weight:600}.writer-body{max-width:var(--col);flex:1;width:100%;margin:0 auto;padding:16px 16px 40px;overflow-y:auto}.segmented{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented a,.segmented button{font:inherit;cursor:pointer;text-align:center;color:var(--ink-2);background:0 0;border:0;border-radius:9px;flex:1;padding:7px 0;font-size:13.5px;font-weight:600}.segmented [aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-row div{min-width:0}.stat-row b{font-family:var(--display);font-size:24px;font-weight:800;font-stretch:75%;display:block}.stat-row span{color:var(--ink-3);font-size:12px}.verdict{color:var(--ink-2);grid-template-columns:22px 1fr;gap:8px;margin:12px 0 0;font-size:13.5px;display:grid}.verdict>span:first-child{background:color-mix(in srgb, var(--warn) 18%, transparent);width:20px;height:20px;color:var(--warn);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.verdict.ok>span:first-child{background:color-mix(in srgb, var(--good) 18%, transparent);color:var(--good)}.checkin{background:var(--accent);color:var(--accent-ink);box-shadow:none;grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.checkin .small{color:inherit;opacity:.8}.checkin b{font-size:16px}.checkin .go{background:var(--accent-ink);color:var(--accent);border-radius:12px;padding:8px 12px;font-weight:700}.checkin-done{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.checkin-done>span{color:var(--ink-3);font-size:24px}.weigh-in{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.weigh-in .btn{width:auto;min-width:90px}.input-unit{align-items:center;gap:8px;display:flex}.input-unit input{max-width:140px}.input-unit span{color:var(--ink-3);font-weight:600}.table-view{border:0;margin:0;padding:14px 16px}.chart{position:relative}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart svg:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:8px}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--ink-3);font-size:10px;font-family:var(--body);font-variant-numeric:tabular-nums}.chart .value{fill:var(--ink);font-size:11px;font-weight:700;font-family:var(--body);font-variant-numeric:tabular-nums}.chart .area{fill:var(--brand);opacity:.1}.chart .line{fill:none;stroke:var(--brand);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart .dot-raw{fill:var(--chart-raw);stroke:var(--surface);stroke-width:2px}.chart .dot-end{fill:var(--brand);stroke:var(--surface);stroke-width:2px}.chart .crosshair{stroke:var(--ink-3);stroke-width:1px}.chart .bar{fill:var(--brand)}.chart .bar.on{fill:color-mix(in srgb, var(--brand) 70%, var(--surface))}.chart .target{fill:none;stroke:var(--ink-2);stroke-width:2px;stroke-dasharray:5 4}.chart-tip{z-index:2;pointer-events:none;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink-2);white-space:nowrap;border-radius:10px;gap:2px;padding:7px 10px;font-size:12px;display:grid;position:absolute;top:0}.chart-tip b{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:4px}.chart-tip .tip-date{color:var(--ink);font-weight:700}.key{vertical-align:middle;border-radius:1px;width:12px;height:2px;margin-right:6px;display:inline-block}.key.raw{background:var(--chart-raw)}.key.raw.dot{border-radius:50%;width:8px;height:8px}.key.avg,.key.bar-key{background:var(--brand)}.key.target-key{background:var(--ink-2)}.legend{color:var(--ink-2);gap:14px;margin-top:6px;font-size:12px;display:flex}.scale{border:0;margin:0;padding:0}.scale legend,.field legend{color:var(--ink-2);margin-bottom:4px;padding:0;font-size:12.5px;font-weight:600}.field fieldset,fieldset.field{border:0;margin:0;padding:0}.scale-row{grid-template-columns:repeat(10,1fr);gap:4px;margin-top:6px;display:grid}.scale-row button{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:9px;height:44px;font-weight:700}.scale-row button.on{background:var(--brand);color:var(--brand-ink)}.chips-row{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:7px 12px;font-size:13px}.chip-btn.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.field input[type=range]{accent-color:var(--brand);background:0 0;border:0;padding:0}.delta{color:var(--brand);font-size:11.5px;font-weight:700;display:block}.delta.zero{color:var(--ink-3);font-weight:500}.applied{color:var(--good);margin:0;font-weight:700}.past{border-top:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.past:first-child{border-top:0;padding-top:0}.past:last-child{padding-bottom:0}.past summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.past p{margin:0}.coach-screen{padding-bottom:calc(var(--nav-h) + 110px + env(safe-area-inset-bottom,0px))}.chat{gap:10px;display:grid}.coach-intro p{margin:4px 0 0}.bubble{overflow-wrap:anywhere;border-radius:18px;max-width:86%;padding:10px 14px;font-size:14.5px}.bubble.me{background:var(--brand);color:var(--brand-ink);white-space:pre-wrap;border-bottom-right-radius:6px;justify-self:end}.bubble.coach{background:var(--surface);box-shadow:var(--shadow);border-bottom-left-radius:6px;justify-self:start}.bubble .md{font-size:14.5px}.suggest{flex-wrap:wrap;gap:8px;display:flex}.suggest button{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:99px;padding:7px 12px;font-size:13px}@media (hover:hover){.suggest button:hover{border-color:var(--brand)}}.clear-chat{margin-top:4px}.typing{gap:4px;padding:4px 0;display:inline-flex}.typing i{background:var(--ink-3);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));z-index:9;background:linear-gradient(to top, var(--bg) 70%, transparent);padding:10px 16px;position:fixed}.composer>div{max-width:calc(var(--col) - 32px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;align-items:flex-end;gap:8px;margin:0 auto;padding:6px 6px 6px 16px;display:flex}.composer textarea{resize:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;max-height:140px;padding:6px 0;font-size:16px}.composer button{background:var(--brand);width:44px;height:44px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;display:grid}.composer button:disabled{opacity:.4}.setup{padding-top:calc(32px + env(safe-area-inset-top,0px));align-content:start}.field-row.two{grid-template-columns:1fr 1fr}.radio-list{gap:8px;display:grid}.radio-row{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:14px;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:11px 12px;display:grid}.radio-row.on{border-color:var(--brand);background:var(--brand-soft)}.radio-row input{width:18px;height:18px;accent-color:var(--brand);margin:2px 0 0}.stepper{background:var(--surface-2);border-radius:12px;align-items:center;gap:4px;width:max-content;padding:4px;display:inline-flex}.stepper button{background:var(--surface);border-radius:9px;width:44px;height:44px;font-size:20px;font-weight:700}.stepper button:disabled{opacity:.35}.stepper b{text-align:center;min-width:34px;font-size:17px}.save-bar{bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom,0px));z-index:5;position:sticky}.save-bar .btn{box-shadow:var(--shadow)}.link-row{color:inherit}.link-row .chev{color:var(--ink-3);font-size:22px}@media (hover:hover){.link-row:hover b{color:var(--brand)}}.chips-row+input,.field>input:last-child{margin-top:2px}fieldset.field input:not([type]),.input-unit input,fieldset.field .input-unit input{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;width:100%;padding:10px 12px;font-size:16px}.setup-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.setup-top .link-btn{padding:0}.skeleton{background:var(--surface-2);border-radius:8px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.legal{max-width:680px;padding:calc(24px + env(safe-area-inset-top,0px)) 16px 48px;margin:0 auto}.legal h1{font-family:var(--display);margin:8px 0 4px;font-size:clamp(32px,7vw,42px);font-weight:800;font-stretch:80%;line-height:1.05}.legal .md{margin-top:18px;font-size:15px}.legal .md h2{margin-top:26px;font-size:19px}.legal a,.welcome .small a,.md a{color:var(--brand);text-underline-offset:2px;text-decoration:underline}.legal-foot{border-top:1px solid var(--line);margin-top:36px;padding-top:14px}.btn.danger-solid{background:var(--bad);color:#fff;width:100%}.welcome .brand{font-family:var(--display);align-items:center;gap:12px;font-size:24px;font-weight:800;font-stretch:85%;display:flex}.ideas-btn{text-align:left;background:var(--surface);width:100%;min-height:120px;color:var(--ink);box-shadow:var(--edge), var(--shadow);border-radius:20px;align-content:space-between;gap:14px;padding:14px;display:grid}.ideas-btn svg{background:var(--brand-soft);width:36px;height:36px;color:var(--ink);border-radius:12px;padding:8px}.ideas-btn b{margin-bottom:2px;font-size:15px;line-height:1.2;display:block}@media (hover:hover){.ideas-btn:hover b{color:var(--brand)}}.card.optional{box-shadow:none;border:1px dashed var(--line);background:0 0}.insights{color:var(--ink-2);gap:6px;margin:0;padding-left:18px;font-size:14px;display:grid}.ways button:last-child:nth-child(odd){grid-column:1/-1}.scanner{aspect-ratio:4/3;background:#000;border-radius:18px;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{border:3px solid #ffffffe6;border-radius:14px;position:absolute;inset:32% 12%;box-shadow:0 0 0 999px #00000059}.scanner-hint{text-align:center;color:#fff;text-shadow:0 1px 3px #0009;margin:0;font-size:14px;font-weight:600;position:absolute;bottom:10px;left:0;right:0}.reminder{align-items:center}.reminder .check{align-items:flex-start}.reminder-when{gap:6px;display:flex}.reminder-when select,.reminder-when input{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:6px 8px;font-size:15px}.reminder-when :disabled{opacity:.45}.compare{grid-template-columns:1fr 1fr;gap:8px;display:grid}.compare figure,.photo-grid figure{gap:4px;margin:0;display:grid}.compare img{aspect-ratio:3/4;object-fit:cover;background:var(--surface-2);border-radius:14px;width:100%}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.photo-grid img{aspect-ratio:3/4;object-fit:cover;background:var(--surface-2);border-radius:10px;width:100%}.photo-grid figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.photo-grid .link-btn{padding:0;font-size:12px}.pose-slot{aspect-ratio:3/4;border:1.5px dashed var(--line);background:var(--surface-2);width:100%;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:10px;font-weight:600}.pose-actions{gap:12px;display:flex}.recap-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.recap-focus{background:var(--brand-soft);border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:14px}.welcome .logo{border-radius:14px}.google-slot{justify-items:center;min-height:44px;display:grid}.google-slot>div{justify-content:center;width:100%;display:flex}.getting-started ul{margin:10px 0 4px;padding:0;list-style:none;display:grid}.getting-started li>a,.getting-started li>div{border-top:1px solid var(--line);color:inherit;grid-template-columns:24px 1fr;align-items:start;gap:10px;padding:8px 0;display:grid}.getting-started li:first-child>*{border-top:0}@media (hover:hover){.getting-started li>a:hover b{color:var(--brand)}}.getting-started li.done b{color:var(--ink-3);font-weight:600;text-decoration:line-through}.getting-started .tick{border:2px solid var(--line);width:22px;height:22px;color:var(--brand-ink);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.getting-started .tick.on{background:var(--brand);border-color:var(--brand)}.getting-started .link-btn{padding:4px 0 0}.milestone{background:linear-gradient(135deg, var(--brand-soft), var(--surface));grid-template-columns:48px 1fr;align-items:center;gap:12px;display:grid}.milestone p{color:var(--ink-2);margin:2px 0 0;font-size:14px}.milestone .btn{grid-column:1/-1}.milestone-badge{background:var(--brand);width:48px;height:48px;color:var(--brand-ink);border-radius:14px;place-items:center;display:grid}.milestone-badge svg{width:26px;height:26px}.landing{padding-bottom:32px}.landing .welcome{min-height:0;padding-top:calc(48px + env(safe-area-inset-top,0px));padding-bottom:28px}.landing-section{max-width:760px;margin:0 auto;padding:24px 16px}.landing-section h2{font-family:var(--display);margin:0 0 16px;font-size:clamp(26px,6vw,34px);font-weight:800;font-stretch:80%;line-height:1.05}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.feature{background:var(--surface);box-shadow:var(--shadow);border-radius:18px;align-content:start;gap:6px;padding:16px;display:grid}.feature-icon{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:12px;place-items:center;display:grid}.feature-icon svg{width:22px;height:22px}.feature p,.audience p{color:var(--ink-2);margin:0;font-size:14px}.audience{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.audience .card{gap:6px;display:grid}.promises{color:var(--ink-2);gap:8px;margin:0;padding-left:20px;display:grid}.landing-cta{text-align:center}.landing-cta .btn{width:auto;min-width:220px}.landing-foot{text-align:center;padding:16px}.landing-foot a{color:var(--brand);text-underline-offset:2px;text-decoration:underline}.save-meal{border:1px solid var(--line);border-radius:14px;gap:6px;padding:10px 12px;display:grid}.save-meal.on{border-color:var(--brand);background:var(--brand-soft)}.save-meal .check{align-items:flex-start}.meal-row{text-align:left;width:100%}.meal-rating{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;margin-top:4px;display:flex}.waiting{text-align:center;justify-items:center;gap:10px;padding:64px 0 24px;display:grid}.waiting b{font-size:22px}.spinner{border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.meal-warning{grid-column:1/-1;margin:2px 0 0}.day-totals summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.day-totals .warn,.day-totals tr.off td{color:var(--warn)}.day-totals table{width:100%;margin-top:10px}.prep-strip{color:var(--ink-2);flex-wrap:wrap;gap:6px;margin:-8px 0 14px;font-size:13px;font-weight:600;display:flex}.prep-strip span+span:before{content:"·";color:var(--ink-3);margin-right:6px}.prep-strip .lead{color:var(--brand)}a.prep-strip{text-decoration:none}.recipe-card{gap:10px;display:grid}.recipe-card header{align-items:center;gap:10px;display:flex}.recipe-card h3{font-family:var(--display);margin:0;font-size:18px;font-weight:800;font-stretch:85%;line-height:1.15}.recipe-card .badge{background:var(--brand);width:32px;height:32px;color:var(--brand-ink);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.macro-chips{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;font-size:13.5px;display:flex}.macro-chips b{color:var(--ink);font-size:15px}.ingredients{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:14px;display:flex}.ingredients li span:last-child{text-align:right;color:var(--ink-2);flex:0 45%}.batch{background:var(--brand-soft);border-radius:10px;margin:0;padding:8px 10px;font-size:13.5px}.batch b{color:var(--brand);margin-right:4px}.thumb{font-size:16px}.thumb.p{color:var(--protein);background:color-mix(in srgb, var(--protein) 12%, var(--surface-2))}.thumb.c{color:var(--carbs);background:color-mix(in srgb, var(--carbs) 12%, var(--surface-2))}.thumb.f{color:var(--fat);background:color-mix(in srgb, var(--fat) 12%, var(--surface-2))}.coach-tiles{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.coach-tiles div{background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:16px;padding:12px}.coach-tiles b{font-family:var(--display);font-size:26px;font-weight:800;font-stretch:75%;display:block}.coach-tiles span{color:var(--ink-3);font-size:12px}.coach-view .card{margin-bottom:12px}.coach-table tr.off td{color:var(--warn)}@media (max-width:520px){.coach-tiles{grid-template-columns:repeat(2,1fr)}.coach-table th:nth-child(4),.coach-table td:nth-child(4),.coach-table th:nth-child(5),.coach-table td:nth-child(5){display:none}}.coach-table td,.coach-table th{white-space:nowrap;padding-right:14px}.ingredients li span:last-child{white-space:pre-line}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;translate:0 var(--rise)}}main.screen{animation:fade-in var(--dur-fast) var(--ease-out) both}main.screen[aria-busy=true]{animation-delay:.15s}.waiting{animation:fade-in var(--dur-move) var(--ease-out) both}button,a,.grocery,.radio-row,.chip-btn{transition:scale var(--dur-press) var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out)}button:active:not(:disabled),a:active,.grocery:active,.radio-row:active{scale:var(--press)}a.card:active,.card>a:active{scale:.985}.log-fab:active{scale:.92}.ring circle.seg{transition:stroke-dasharray var(--dur-slow) var(--ease-out), stroke-dashoffset var(--dur-slow) var(--ease-out)}@starting-style{.ring circle.seg{stroke-dasharray:0 400;stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){:root{--dur-move:1ms;--dur-slow:1ms;--rise:0px;--press:1}.typing i{opacity:.6;animation:none}.skeleton{animation:none}.spinner{animation-duration:3s}}.grab{cursor:grab;touch-action:none;position:relative}.grab:before{content:"";position:absolute;inset:-12px -40px}.sheet-head{touch-action:none}.prep-badge{vertical-align:2px;background:var(--accent);color:var(--accent-ink);letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:2px 6px;font-size:10.5px;font-weight:800;display:inline-block}.locked{border:1px dashed var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.locked b{color:var(--ink)}.tier-table td:not(:first-child),.tier-table th:not(:first-child){text-align:center}.plan-card.featured{border:2px solid var(--brand)}.plan-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.plan-head h2{font-family:var(--display);margin:0;font-size:20px;font-weight:800;font-stretch:85%}.plan-head b{font-size:20px}.plan-points{gap:4px;margin:0;padding-left:18px;display:grid}.trial-timeline{border-left:2px solid var(--brand-soft);gap:10px;margin:0 0 0 6px;padding:0 0 0 18px;list-style:none;display:grid}.trial-timeline li{color:var(--ink-2);font-size:14px;position:relative}.trial-timeline li:before{content:"";background:var(--brand);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-25px}.trial-timeline b{color:var(--ink);display:block}.trial-banner{max-width:var(--col);text-align:center;background:var(--brand-soft);color:var(--brand);margin:0 auto;padding:8px 16px;font-size:13px;display:block}.trial-banner b{text-underline-offset:2px;text-decoration:underline}.trial-banner.ended{background:color-mix(in srgb, var(--warn) 16%, var(--surface));color:var(--ink)}.reveal .targets>div{animation:rise var(--dur-move) var(--ease-out) both}.reveal .targets>div:nth-child(2){animation-delay:80ms}.reveal .targets>div:nth-child(3){animation-delay:.16s}.reveal .targets>div:nth-child(4){animation-delay:.24s}.week-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.week-days button{background:var(--surface);min-height:48px;box-shadow:var(--edge), var(--shadow);border-radius:14px;justify-items:center;gap:1px;padding:8px 0 6px;font-size:14px;font-weight:700;display:grid}.week-days button small{color:var(--ink-3);min-height:12px;font-size:10px;font-weight:600}.week-days button.on{background:var(--brand);color:var(--brand-ink)}.week-days button.on small{color:inherit;opacity:.8}.day-meal{border-top:1px solid var(--line);grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.card>.small+.day-meal{border-top:0}.day-meal-text{min-width:0;display:grid}.day-meal-text b{overflow-wrap:anywhere;font-size:14.5px}.th{background:var(--brand-soft);width:40px;height:40px;color:var(--ink);font-family:var(--display);border-radius:12px;place-items:center;font-weight:800;font-stretch:80%;display:grid}.portions-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tile{align-content:space-between;gap:10px;min-height:112px;display:grid}.tile b{font-size:15px;line-height:1.2}.tile-ic{background:var(--brand-soft);border-radius:11px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}a.notice{display:block}.month-grid{align-content:start;gap:8px;display:grid}.grid28{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.grid28 i{aspect-ratio:1;background:var(--surface-2);border-radius:5px;place-items:center;display:grid}.grid28 i.l{background:var(--brand-soft)}.grid28 i.p:after,.dot-p{content:"";background:var(--protein);border-radius:50%;width:6px;height:6px;display:inline-block}.grid28 i.t{box-shadow:inset 0 0 0 1.5px var(--brand)}.tile-col{gap:10px;display:grid}.tile-col .tile{min-height:0}.tile .tile-big{font-family:var(--display);font-size:34px;font-weight:800;font-stretch:75%;line-height:1}.tile.due{background:var(--accent);color:var(--accent-ink);box-shadow:none}.tile.due .small{color:inherit;opacity:.8}.spark{width:100%;height:64px;margin:10px 0 2px;display:block}.profile-head{grid-template-columns:56px 1fr auto;align-items:center;gap:14px;display:grid}.profile-head b{font-size:18px}.profile-av{background:var(--brand);width:56px;height:56px;color:var(--brand-ink);font-family:var(--display);border-radius:18px;place-items:center;font-size:24px;font-weight:800;display:grid}.tile-word{font-family:var(--display);font-size:18px;font-weight:800;font-stretch:80%;line-height:1.1}.search-row{grid-template-columns:1fr auto;gap:8px;display:grid}.search-row input,.amount-row input{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;min-width:0;padding:10px 12px;font-size:16px}.search-row .btn{width:auto;padding-inline:16px}.amount-row{grid-template-columns:1fr 120px;align-items:center;gap:8px;display:grid}.meal.saving{opacity:.6}.card.building{align-items:center;gap:12px;display:flex}.writer-head .small-btn{padding:8px 12px;font-size:14px}.est-items{gap:6px;margin:0;padding:0;list-style:none;display:grid}.est-items li{background:var(--surface-2);border-radius:12px;grid-template-columns:1fr auto 5em auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.est-items li.off .name,.est-items li.off .cal{opacity:.45;text-decoration:line-through}.est-items .grams{align-items:center;gap:4px;display:flex}.est-items .grams input{width:4.5em;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:16px}.est-items .cal{text-align:right}.log-search{resize:none;width:100%;line-height:1.4;font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:16px}.ways.compact{grid-template-columns:repeat(4,1fr);gap:6px}.ways.compact button{text-align:center;align-content:start;justify-items:center;gap:6px;padding:12px 4px}.ways.compact b{font-size:12px;line-height:1.2}.ways.compact button:last-child:nth-child(odd){grid-column:auto}.pace-preview{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;display:grid}.pace-preview div{background:var(--surface-2);border-radius:14px;gap:2px;padding:10px 12px;display:grid}.pace-preview b{font-family:var(--display);font-size:20px;font-weight:800;font-stretch:80%}.pace-preview span{color:var(--ink-3);font-size:12px}.burn{justify-items:center;gap:14px;display:grid}.burn-ring{width:210px;height:210px;position:relative}.burn-ring svg{width:100%;height:100%;position:absolute;inset:0}.burn-ring div{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.burn-ring b{font-family:var(--display);font-size:50px;font-weight:800;font-stretch:75%;line-height:1}.burn-ring span{color:var(--ink-3);font-size:13px}.math{gap:10px;width:100%;display:grid}.math>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.math>div span{display:grid}.math small{color:var(--ink-3);font-size:12px}.math>div b{font-size:17px}.math>.total{border-top:1.5px solid var(--ink-3);padding-top:10px}.math>.total b{font-family:var(--display);color:var(--accent);font-size:26px;font-weight:800;font-stretch:80%}.pace-picks{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.pace-pick{text-align:left;background:var(--surface-2);color:var(--ink);border:1.5px solid #0000;border-radius:14px;gap:2px;padding:11px 13px;display:grid}.pace-pick b{font-size:15px}.pace-pick span{font-size:14px}.pace-pick small{color:var(--ink-3);font-size:11.5px}.pace-pick.on{border-color:var(--accent)}@starting-style{.macro-tile .bar i{width:0!important}}.macro-tile.won{animation:won .9s var(--ease-out)}.macro-tile.won .hit{animation:pop .5s var(--ease-out) both}@keyframes won{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 70%, transparent)}40%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 35%, transparent)}to{box-shadow:0 0 0 12px #0000}}@keyframes pop{0%{opacity:0;scale:.6}60%{opacity:1;scale:1.15}to{scale:1}}.meal.saving{animation:slide-in var(--dur-move) var(--ease-out) both}@keyframes slide-in{0%{opacity:0;translate:0 -8px}}@media (prefers-reduced-motion:reduce){.macro-tile.won,.macro-tile.won .hit,.meal.saving{animation:none}}.step-next{animation:step-next var(--dur-move) var(--ease-out) both}.step-back{animation:step-back var(--dur-move) var(--ease-out) both}@keyframes step-next{0%{opacity:0;translate:28px}}@keyframes step-back{0%{opacity:0;translate:-28px}}.burn-ring circle:last-of-type{transition:stroke-dasharray .9s var(--ease-out)}@starting-style{.burn-ring circle:last-of-type{stroke-dasharray:0 277}}.card.math>*{animation:rise var(--dur-move) var(--ease-out) both}.card.math>:nth-child(2){animation-delay:.12s}.card.math>:nth-child(3){animation-delay:.24s}.card.math>:nth-child(4){animation-delay:.42s}.card.math>:nth-child(5){animation-delay:.5s}.card.math>:nth-child(6){animation-delay:.58s}.card.math>:nth-child(n+7){animation-delay:.66s}@media (prefers-reduced-motion:reduce){.step-next,.step-back,.card.math>*{animation:none}.burn-ring circle:last-of-type{transition:none}}.ingredient{background:var(--surface-2);border-radius:14px;gap:6px;padding:10px;display:grid}.ingredient input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:8px 10px;font-size:16px}.ingredient-top{grid-template-columns:1fr auto auto;align-items:center;gap:6px;display:grid}.servings{color:var(--ink-3);align-items:center;gap:4px;display:flex}.servings input{width:4.2em}.ingredient-macros{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.ingredient-macros label{text-align:center;color:var(--ink-3);gap:2px;font-size:11.5px;display:grid}.ingredient-total{border-top:1.5px solid var(--ink-3);justify-content:space-between;align-items:baseline;padding:10px 2px;display:flex}.ingredient-total b{font-family:var(--display);font-size:22px;font-weight:800;font-stretch:80%}.summary-chips{flex-wrap:wrap;gap:6px;display:flex}.summary-chips span{background:var(--surface-2);color:var(--ink-2);border-radius:8px;padding:5px 9px;font-size:12.5px}.build-row{grid-template-columns:1fr auto;gap:8px;display:grid}.gear{background:var(--surface-2);width:48px;color:var(--ink);border-radius:14px;place-items:center;display:grid}.gear svg{width:20px;height:20px}.label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.week-pick{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week-pick button{background:var(--surface-2);color:var(--ink-3);border-radius:10px;padding:9px 0;font-size:13px;font-weight:600}.week-pick button.on{background:var(--accent);color:var(--accent-ink)}.every-day{gap:6px;display:grid}.every-day-row{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.every-day-row span{gap:1px;display:grid}.every-day-row small{color:var(--ink-3);font-size:12px}.every-day-add{border:1.5px dashed var(--line);border-radius:14px;padding:12px}.est-items .name{gap:2px;display:grid}.check-flag{background:color-mix(in srgb, var(--warn,#b26a00) 25%, transparent);color:var(--ink);border-radius:6px;justify-self:start;padding:1px 6px;font-size:11px;font-weight:700}.est-items .amount{color:var(--ink-3);font-size:12px}.est-items .portion{align-items:center;gap:4px;display:flex}.est-items .portion button{background:var(--surface);width:28px;height:28px;color:var(--ink);border-radius:8px;font-size:16px;line-height:1}.est-items .portion button:disabled{opacity:.35}.est-items .portion b{text-align:center;min-width:2.4em;font-size:14px}
