:root{--brand-orange:#ff9a3d;--brand-navy:#031426;--bg:#13275a;--card:#0b1a3c;--card-2:#122448;--ink:#eef2fb;--mute:#a7b6d6;--line:#24396a;--accent:#f2c14e;--accent-ink:#0b1730;--accent-soft:#1a2d5c;--blue:#6b8fe0;--link:#9db8e8;--mint:#2fbf8f;--coral:#f06a6a;--lav:#c9a6ff;--orange:#f28a3c;--radius:14px;--gutter:16px;--tap:44px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f6f5f1;--card:#ffffff;--card-2:#eef1f7;--ink:#1b1d21;--mute:#6b7078;--line:#e3e1da;--accent:#1f3a5f;--accent-ink:#ffffff;--accent-soft:#e8eef7;--blue:#1f3a5f;--link:#1f3a5f}html:not([data-theme=dark]){color-scheme:light}}:root[data-theme=light]{--bg:#f6f5f1;--card:#ffffff;--card-2:#eef1f7;--ink:#1b1d21;--mute:#6b7078;--line:#e3e1da;--accent:#1f3a5f;--accent-ink:#ffffff;--accent-soft:#e8eef7;--blue:#1f3a5f;--link:#1f3a5f}html[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{color-scheme:dark;-webkit-text-size-adjust:100%}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}body{font-size:1.0625rem}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}#root{max-width:480px;margin:0 auto}h1{font-size:1.375rem;margin:0 0 8px}h2{font-size:1.1875rem;margin:24px 0 8px}h3{font-size:.75rem;margin:18px 0 8px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-weight:700}p{margin:0 0 10px}.shell-header{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--line);padding:calc(10px + env(safe-area-inset-top)) var(--gutter) 10px;display:flex;align-items:center;justify-content:space-between}.shell-header .brand{font-weight:700;letter-spacing:.08em;color:var(--mute);font-size:.875rem}.shell-header .module-tag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}.support-btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit}main.screen{padding:calc(14px + env(safe-area-inset-top)) var(--gutter) 24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:12px 0}.card.accent{border-left:4px solid var(--accent)}.card.deep{background:var(--card-2)}.big{font-size:2.75rem;font-weight:600;line-height:1.1}button.primary,a.primary{display:block;width:100%;min-height:52px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:600;font-size:1.125rem;padding:12px 16px;text-align:center;text-decoration:none;cursor:pointer}button.primary:disabled{opacity:.5}button.secondary{display:block;width:100%;min-height:var(--tap);border:1.5px solid var(--accent);border-radius:var(--radius);background:transparent;color:var(--accent);font:inherit;font-weight:600;padding:10px 14px;margin-top:8px;cursor:pointer}button.link{background:none;border:0;color:var(--link);font:inherit;padding:6px 0;text-decoration:underline;cursor:pointer}.row{display:flex;gap:8px;align-items:center}.choices{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.choices button,.seg button{min-height:52px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--radius);font:inherit;font-size:1.125rem;cursor:pointer}.choices button[aria-pressed=true],.seg button[aria-pressed=true],.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stepper{display:grid;grid-template-columns:56px 1fr 56px;gap:8px;align-items:center}.stepper button{min-height:52px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--radius);font-size:1.5rem;cursor:pointer}.stepper output{text-align:center;font-size:1.75rem;font-weight:600}.chip{display:inline-block;min-height:var(--tap);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:10px 14px;margin:4px 6px 4px 0;font:inherit;cursor:pointer}input[type=text],input[type=email],input[type=date],input[type=number],input[type=password],select{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;background:var(--card);color:var(--ink)}label.check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9375rem}label.check input{width:24px;height:24px;margin-top:2px;flex:none}.footer{color:var(--mute);font-size:.8125rem;border-top:1px solid var(--line);padding:14px var(--gutter) 20px;margin-top:24px}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.tabbar a,.tabbar .tab-btn{display:flex;align-items:center;justify-content:center;min-height:58px;color:var(--mute);background:none;border:0;cursor:pointer}.tabbar svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.tabbar a.active svg{stroke-width:2.4}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0}.day{text-align:center;padding:8px 0;border-radius:10px;border:1px solid var(--line);font-size:.8125rem}.day.today{font-weight:700}.day .ring{display:inline-block;width:28px;height:28px;line-height:26px;border-radius:50%;border:2px solid transparent}.day.done .ring,.day.today{border-color:var(--accent)}.sheet{position:fixed;inset:0;background:#00000073;z-index:60;display:flex;align-items:flex-end}.sheet .panel{background:var(--card);color:var(--ink);width:100%;max-width:480px;margin:0 auto;border-radius:16px 16px 0 0;padding:16px var(--gutter) calc(16px + env(safe-area-inset-bottom));max-height:85vh;overflow:auto}.trend{display:flex;align-items:flex-end;gap:3px;height:64px}.trend span{flex:1;background:var(--accent);opacity:.85;border-radius:2px 2px 0 0}table.plain{width:100%;border-collapse:collapse;font-size:.9375rem}table.plain td{padding:6px 0;border-bottom:1px solid var(--line);vertical-align:top}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.shell-header,.tabbar,.footer,button{display:none!important}body{padding:0;background:#fff;color:#000}.card{border:1px solid #999;break-inside:avoid}}.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.panel-title{font-size:1.375rem;font-weight:700;margin:0}.panel-sub{color:var(--mute);font-size:.875rem;margin-bottom:8px}.gauge{position:relative;text-align:center;margin:6px auto 4px;max-width:280px}.gauge svg{display:block}.gauge-track{fill:none;stroke:var(--accent-soft);stroke-linecap:round}.gauge-fill{fill:none;stroke:url(#gauge-grad);stroke-linecap:round}.gauge-marker{stroke:#fff;stroke-width:4;stroke-linecap:round}.gauge-ref{stroke:#ffffff73;stroke-width:2;stroke-dasharray:3 3}.gauge-value{position:absolute;left:0;right:0;top:46%;font-size:3.5rem;font-weight:800;line-height:1;letter-spacing:-.02em}.gauge-ref-label{color:var(--mute);font-size:.875rem;margin-top:-6px}.gauge-caption{font-weight:700;font-size:.9375rem;margin-top:2px}.gauge-caption.below{color:var(--coral)}.gauge-caption.above{color:var(--mint)}.gauge-caption.near{color:var(--mute)}.delta.below{color:var(--coral);font-weight:700}.delta.above{color:var(--mint);font-weight:700}.delta.near{color:var(--mute);font-weight:600}.pillar{display:grid;grid-template-columns:96px 1fr 48px;gap:10px;align-items:center;padding:5px 0;font-size:.875rem}.pillar-label{color:var(--ink)}.pillar-track{height:8px;border-radius:4px;background:var(--accent-soft);overflow:hidden}.pillar-fill{display:block;height:100%;border-radius:4px;background:var(--accent)}.pillar-value{text-align:right;color:var(--mute);font-variant-numeric:tabular-nums}.area-chip{display:inline-block;font-size:.625rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:6px;color:var(--accent-ink);white-space:nowrap}.area-chip.mind{background:var(--lav)}.area-chip.movement{background:var(--mint)}.area-chip.nutrition{background:var(--orange)}.routine-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.routine-row:last-child{border-bottom:0}.routine-row .points{color:var(--mint);font-weight:800;font-variant-numeric:tabular-nums}.routine-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.routine-card{border-left:4px solid var(--line)}.routine-card.mind{border-left-color:var(--lav)}.routine-card.movement{border-left-color:var(--mint)}.routine-card.nutrition{border-left-color:var(--orange)}.routine-card .title{font-weight:700;font-size:1.0625rem;margin:4px 0 2px}.tag{display:inline-block;font-size:.75rem;font-weight:600;color:var(--ink);background:var(--accent-soft);border-radius:999px;padding:3px 10px;margin:6px 6px 0 0}.goal-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-weight:800;font-size:1.125rem}.goal-from{color:var(--accent)}.goal-to{color:var(--mint)}.goal-track{position:relative;height:10px;border-radius:5px;background:var(--accent-soft);overflow:hidden}.goal-fill{position:absolute;left:0;top:0;bottom:0;background:var(--blue);border-radius:5px}.goal-gain{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(90deg,var(--mint) 0 6px,rgba(47,191,143,.55) 6px 10px)}.hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.hero-tags span{font-size:.75rem;color:var(--mute);border:1px solid var(--line);border-radius:999px;padding:4px 10px}.brand-hero{text-align:center;padding:18px 0 6px}.brand-hero .brand-logo{width:min(72%,260px);height:auto;display:block;margin:0 auto 10px}.brand-slogan{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--brand-orange)}.home-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 16px}.home-brand .brand-logo{width:118px;height:auto;display:block}.home-brand .brand-slogan{font-size:.9375rem;text-align:right;line-height:1.2}.shell-header .brand-mark{width:86px;height:auto;display:block}.install-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border-color:var(--accent)}.install-card .install-btn{width:auto;min-height:44px;font-size:1rem;padding:8px 18px;flex:none}@media(min-width:720px){:root{--gutter: 24px}#root{max-width:720px}.sheet{align-items:center}.sheet .panel{max-width:560px;border-radius:16px;max-height:80vh}}@media(min-width:1024px){body{padding-bottom:24px;padding-left:104px}#root{max-width:920px}.tabbar{top:0;right:auto;width:104px;border-top:0;border-right:1px solid var(--line);grid-template-columns:1fr;grid-auto-rows:76px;align-content:start;padding:calc(12px + env(safe-area-inset-top)) 0 0}.tabbar a,.tabbar .tab-btn{min-height:76px}}:root:not([data-theme=dark]){--bg: #f4f6fa;--card: #ffffff;--card-2: #f0f3f8;--ink: #0f1f3d;--mute: #5b6779;--line: #e3e8f0;--brand-blue: #2456c6;--brand-navy: #0f1f3d;--brand-orange: #ff8a2b;--accent: #2456c6;--accent-ink: #ffffff;--accent-soft: #e8eefb;--blue: #2456c6;--link: #2456c6;--cta: #ff8a2b;--cta-ink: #0f1f3d;--orange: #f07d1f;--orange-soft: #fff1e6;--mint: #1fa971;--mint-soft: #e3f6ee;--coral: #e4574f;--coral-soft: #fdeae8;--amber: #f0a32e;--amber-soft: #fff4df;--lav: #8f7bea;--m-protein: #2456c6;--m-fat: #f0a32e;--m-carbs: #19a884;--vb-ink: #0f1f3d;--vb-coral: #ff8d85;--vb-lime: #bfe59a;--vb-berry: #f5a8c9;--vb-amber: #ffd08a;--vb-sky: #a9d9ff;--vb-violet: #cdbdff;--vb-tangerine: #ffbe8a;--vb-aqua: #9fe8d8;--vb-pink: #ffc2d8;--shadow: 0 1px 2px rgba(15, 31, 61, .04), 0 8px 24px rgba(15, 31, 61, .07);--shadow-sm: 0 1px 2px rgba(15, 31, 61, .05), 0 3px 10px rgba(15, 31, 61, .05);--radius: 16px;--radius-lg: 22px;--radius-sm: 12px;--gutter: 16px;--tap: 44px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1930;--card: #152341;--card-2: #1b2c4f;--ink: #eef2fb;--mute: #a9b5cc;--line: #263a5f;--accent: #7ea4ff;--accent-ink: #0f1f3d;--accent-soft: #223766;--blue: #7ea4ff;--link: #9dbbff;--cta: #ff9a3d;--cta-ink: #0f1f3d;--orange-soft: #3a2a1a;--mint-soft: #15352a;--coral-soft: #3d2222;--amber-soft: #3a3019;--m-protein: #7ea4ff;--m-fat: #f6b65a;--m-carbs: #3fd1ab;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3)}}:root[data-theme=dark]{--bg: #0e1930;--card: #152341;--card-2: #1b2c4f;--ink: #eef2fb;--mute: #a9b5cc;--line: #263a5f;--accent: #7ea4ff;--accent-ink: #0f1f3d;--accent-soft: #223766;--blue: #7ea4ff;--link: #9dbbff;--cta: #ff9a3d;--cta-ink: #0f1f3d;--orange-soft: #3a2a1a;--mint-soft: #15352a;--coral-soft: #3d2222;--amber-soft: #3a3019;--m-protein: #7ea4ff;--m-fat: #f6b65a;--m-carbs: #3fd1ab;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3)}html:not([data-theme=dark]){color-scheme:light}@media(prefers-color-scheme:dark){html:not([data-theme=light]){color-scheme:dark}}html[data-theme=dark]{color-scheme:dark}body{font-size:1rem;letter-spacing:-.005em}h1{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:0 0 10px}h2{font-size:1.125rem;font-weight:800;letter-spacing:-.01em;margin:18px 0 8px}h3,.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 8px}a{color:var(--link)}.card{border:0;box-shadow:var(--shadow);border-radius:var(--radius);padding:16px;margin:12px 0}.card.deep{background:var(--card-2);box-shadow:none}.card.accent{border-left:0;box-shadow:var(--shadow);position:relative;overflow:hidden}.card.accent:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cta)}.card.accent.small{padding:12px 14px 12px 18px}.small{font-size:.875rem}button.primary,a.primary{background:var(--cta);color:var(--cta-ink);font-weight:800;min-height:54px;border-radius:999px;box-shadow:0 6px 18px #ff8a2b47;letter-spacing:-.005em;margin:12px 0 0;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}button.primary:active,a.primary:active{transform:translateY(1px);box-shadow:0 2px 8px #ff8a2b40}button.primary:disabled{opacity:.45;box-shadow:none}button.secondary{border:1.5px solid var(--line);color:var(--ink);border-radius:999px;min-height:48px;font-weight:700;background:var(--card);margin-top:8px}button.secondary:disabled{opacity:.45}button.link{color:var(--link);text-decoration:none;font-weight:600}button.link:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=radio]:focus-visible,[role=tab]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.choices button,.seg button{min-height:46px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-size:.9375rem;font-weight:600}.choices button[aria-pressed=true],.seg button[aria-pressed=true],.chip[aria-pressed=true],.step-chips button[aria-current=step]{background:var(--orange-soft);color:var(--ink);border-color:var(--cta)}.chip{border:1.5px solid var(--line);border-radius:999px;padding:9px 14px;font-weight:600;font-size:.9375rem;background:var(--card)}.chip:disabled{opacity:.5}input[type=text],input[type=email],input[type=date],input[type=number],input[type=password],select,textarea{border:1.5px solid var(--line);border-radius:12px;background:var(--card);min-height:48px;padding:10px 14px;font:inherit;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical}label.check{border-bottom:1px solid var(--line);gap:12px}label.check input{accent-color:var(--cta)}.stepper button{border-radius:999px;border:1.5px solid var(--line);min-height:46px}.stepper output{font-size:1.5rem;font-weight:800}.footer{font-size:.75rem;border-top:0;margin-top:20px;padding-top:8px}table.plain td{padding:8px 0}.sheet{background:#0f1f3d73;backdrop-filter:blur(2px)}.sheet .panel{border-radius:22px 22px 0 0;box-shadow:0 -8px 40px #00000040;max-height:min(88vh,88dvh);overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.sheet .panel .actions{position:sticky;bottom:0;background:var(--card);padding-top:8px}.tag{background:var(--accent-soft);color:var(--accent);font-size:.6875rem;font-weight:700;padding:3px 9px}.hero-tags span{background:var(--card-2);border:0;color:var(--mute);font-weight:600}.mute{color:var(--mute)}.empty{padding:28px 12px}.empty .cat-emoji{font-size:2.75rem}.tabbar{box-shadow:0 -6px 24px #0f1f3d0f;border-top:1px solid var(--line)}.tabbar a,.tabbar .tab-btn{flex-direction:column;gap:3px;font-size:.6875rem;font-weight:700;letter-spacing:.01em;min-height:62px;text-decoration:none;position:relative;color:var(--mute)}.tabbar svg{width:24px;height:24px}.tabbar a.active{color:var(--accent)}.tabbar a.active:after{content:"";position:absolute;top:6px;width:18px;height:3px;border-radius:2px;background:var(--accent)}@media(min-width:1024px){.tabbar a.active:after{top:auto;left:0;width:3px;height:28px}}.screen-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:6px}.greeting{font-size:.8125rem;color:var(--mute);font-weight:700;letter-spacing:.02em}.hchips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px}.hchip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--ink);background:var(--card);border-radius:999px;padding:5px 10px;box-shadow:var(--shadow-sm)}.hchip i{width:8px;height:8px;border-radius:50%;background:var(--tone, var(--accent));display:inline-block}.hchip.soft{background:var(--card-2);box-shadow:none;color:var(--mute)}.day-nav{display:flex;gap:6px}.day-nav button,.back-row button,.support-btn{min-width:44px;min-height:44px;border:0;background:var(--card);color:var(--ink);border-radius:999px;font:inherit;font-size:1.125rem;cursor:pointer;box-shadow:var(--shadow-sm)}.support-btn{font-size:.875rem;font-weight:700;padding:6px 14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.day-nav button:disabled{opacity:.35;box-shadow:none}.back-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sec{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:18px 0 8px}.sec h2{margin:0}.sec a,.sec button.link{font-size:.875rem;padding:0}.rings3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mring{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:6px 2px 4px}.mring svg{width:92px;height:92px;display:block}.mring .ring-track{fill:none;stroke:var(--card-2);stroke-width:9}.mring .ring-arc{fill:none;stroke:var(--tone);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}.mring .ring-over{fill:none;stroke:var(--coral);stroke-width:9;stroke-linecap:round}.mring .ring-num{fill:var(--ink);font-size:22px;font-weight:800;letter-spacing:-.02em}.mring .ring-g{fill:var(--mute);font-size:11px;font-weight:700}.mring .ring-name{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-top:2px}.mring .ring-goal{font-size:.75rem;color:var(--mute);font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:800;letter-spacing:.01em;padding:3px 9px;border-radius:999px;background:var(--card-2);color:var(--mute);white-space:nowrap}.pill:first-letter{text-transform:uppercase}.pill.met{background:var(--mint-soft);color:var(--mint)}.pill.below{background:var(--amber-soft);color:#9a5b00}.pill.above{background:var(--coral-soft);color:var(--coral)}.pill.planned{background:var(--accent-soft);color:var(--accent)}.pill.eaten{background:var(--mint-soft);color:var(--mint)}.pill.locked{background:var(--card-2);color:var(--ink)}.pill.new{background:var(--orange-soft);color:var(--orange)}.pill.ds{font-size:.6875rem;padding:2px 8px;vertical-align:middle}.pill.ds-confirmed{background:var(--mint-soft);color:var(--mint)}.pill.ds-estimate{background:var(--card-2);color:var(--mute)}.pill.ds-needs_confirmation{background:var(--amber-soft);color:#9a5b00}.foods-top{display:grid;gap:8px;margin:4px 0 10px}.foods-top a.primary{margin:0;min-height:48px}.seg.views{grid-template-columns:repeat(4,1fr)}.seg.views button{font-size:.8125rem;padding:0 4px}.food-sub{font-size:.8125rem;color:var(--mute);margin-top:1px}.pref-btns button.restore[aria-pressed=true],.pref-btns button.restore{background:var(--mint-soft);border-color:var(--mint);color:var(--mint)}.food-tools{display:flex;gap:14px;margin-top:6px;font-size:.8125rem}.food-tools a,.food-tools button.link{font-size:.8125rem;padding:0;font-weight:700}.my-food{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:start}.my-food:last-child{border-bottom:0}.my-food .food-icon{width:44px;height:44px;border-radius:14px;font-size:1.25rem}.review-box{display:grid;gap:4px;font-size:.9375rem}.review-box b{font-weight:800}:root[data-theme=dark] .pill.below{color:#ffcf7a}.mring .pill{margin-top:4px}.mring .ring-left{font-size:.75rem;color:var(--mute);margin-top:2px;font-variant-numeric:tabular-nums}.fart{position:relative;flex:none;display:grid;place-items:center;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,var(--art-a, #ffe3c8),var(--art-b, #ffd3b0))}.fart .plate{position:absolute;width:72%;height:72%;border-radius:50%;background:#ffffffc7;box-shadow:inset 0 0 0 6% #ffffffe6,0 4px 10px #0f1f3d1f}.fart .main{position:relative;font-size:calc(var(--art, 64px) * .42);line-height:1}.fart .side{position:absolute;font-size:calc(var(--art, 64px) * .22);line-height:1}.fart .side.a{right:8%;top:8%}.fart .side.b{left:8%;bottom:8%}.fart.tone-protein{--art-a: #ffe6d8;--art-b: #ffd0b6}.fart.tone-dairy{--art-a: #e6f1ff;--art-b: #cfe3ff}.fart.tone-vegetables{--art-a: #e5f7dc;--art-b: #cdeebb}.fart.tone-fruit{--art-a: #fde6f0;--art-b: #fbd0e3}.fart.tone-starches{--art-a: #fff3d6;--art-b: #ffe6ad}.fart.tone-fats{--art-a: #eee9ff;--art-b: #dcd3ff}.fart.tone-sauces{--art-a: #ffeada;--art-b: #ffd6b8}.fart.tone-drinks{--art-a: #dff8f3;--art-b: #c4efe6}.fart.tone-snacks{--art-a: #ffe6ee;--art-b: #ffd0de}.fart.photo img{width:100%;height:100%;object-fit:cover;display:block}.mcard{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;width:100%;padding:12px 14px;border:0;background:var(--card);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);margin:10px 0;font:inherit;text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.mcard:active{transform:scale(.995)}.mcard.eaten{opacity:.92}.mcard.locked{box-shadow:var(--shadow),inset 0 0 0 1.5px var(--accent-soft)}.mcard .mtap{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;min-width:0;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.mcheck{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--card);color:var(--mint);font-size:1.25rem;font-weight:800;cursor:pointer;display:grid;place-items:center;flex:none}.mcheck[aria-pressed=true]{background:var(--mint);border-color:var(--mint);color:#fff}.mcard .mbody{min-width:0;display:flex;flex-direction:column;gap:4px}.mcard .mtitle{font-weight:800;font-size:1rem;line-height:1.25;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mcard .msub{font-size:.8125rem;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcard .mchev{color:var(--mute);font-size:1.25rem;padding-left:4px}.mcard .mhead{font-weight:800;font-variant-numeric:tabular-nums;font-size:1.125rem;text-align:right;line-height:1.1}.mcard .mhead small{display:block;font-size:.6875rem;color:var(--mute);font-weight:700;letter-spacing:.04em}.mchips{display:inline-flex;gap:6px;flex-wrap:wrap}.mchips span{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:var(--ink);background:var(--card-2);border-radius:999px;padding:2px 8px;font-variant-numeric:tabular-nums}.mchips span i{width:7px;height:7px;border-radius:50%;display:inline-block}.mchips .p i{background:var(--m-protein)}.mchips .f i{background:var(--m-fat)}.mchips .c i{background:var(--m-carbs)}.mopen{margin:-4px 0 12px;padding:4px 14px 12px;background:var(--card);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow)}.mcard.open{border-radius:var(--radius) var(--radius) 0 0;margin-bottom:0}.mactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.mactions button,.mactions a{flex:1 1 auto;margin:0;min-height:44px;font-size:.9375rem}.mactions button.primary{box-shadow:none}.ing{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.ing:last-child{border-bottom:0}.ing .iname{font-weight:700;font-size:.9375rem;line-height:1.2}.ing .isub{font-size:.75rem;color:var(--mute);margin-top:2px}.ing .igrams{font-weight:800;font-variant-numeric:tabular-nums;font-size:1rem;white-space:nowrap}.ing .igrams small{color:var(--mute);font-weight:600;font-size:.75rem;margin-left:2px}.gstep{display:inline-grid;grid-template-columns:36px 68px 36px;align-items:center;gap:2px}.gstep button{min-height:36px;min-width:36px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;font:inherit;font-size:1.125rem;font-weight:700;cursor:pointer}.gstep button:disabled{opacity:.35}.gstep input{min-height:36px;padding:4px 6px;text-align:center;font-weight:800;border-radius:10px;font-variant-numeric:tabular-nums}.gstep .unit{font-size:.75rem;color:var(--mute)}.ilock{min-width:40px;min-height:40px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;font-size:1rem;cursor:pointer}.ilock[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.ing.locked .iname:after{content:" 🔒";font-size:.8em}.fit{padding:0;overflow:hidden}.fit .fit-head{padding:16px 16px 12px;background:linear-gradient(135deg,var(--accent-soft),var(--card))}.fit .fit-head h2{margin:0 0 2px;font-size:1.1875rem}.fit .fit-head .small{margin:0}.fit .fit-body{padding:4px 16px 16px}.delta{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.delta:last-child{border-bottom:0}.delta .dname{font-weight:700;display:flex;align-items:center;gap:8px}.delta .dname i{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--tone, var(--accent))}.delta .dvals{font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.delta .dvals .from,.delta .dvals .arrow{color:var(--mute)}.delta .dvals .to{font-weight:800;font-size:1.0625rem}.delta .dvals .same{color:var(--mute);font-weight:600}.delta .dtarget{font-size:.75rem;color:var(--mute);grid-column:1;grid-row:2}.delta .dvals{grid-column:2;grid-row:1 / span 2}.dbar{height:6px;border-radius:3px;background:var(--card-2);overflow:hidden;margin-top:6px;grid-column:1 / -1;grid-row:3}.dbar i{display:block;height:100%;border-radius:3px;background:var(--tone, var(--accent))}.meal-group{margin-top:12px}.meal-group .mg-head{display:flex;align-items:center;gap:8px;font-weight:800;margin:0 0 2px}.meal-group .mg-head .pill{margin-left:2px}.chg{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:7px 0;font-size:.9375rem}.chg .cname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chg .cvals{font-variant-numeric:tabular-nums;white-space:nowrap}.chg .cvals b{font-weight:800}.chg .cvals .same{color:var(--mute)}.chg button.link{padding:0;font-size:.8125rem}.chg.chg-log{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}.chg.chg-log .cname{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.chg.chg-log .cnote{grid-column:1 / -1;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.actions{display:grid;gap:8px;margin-top:14px}.actions button{margin:0}.actions .primary{min-height:52px}.fit-note{font-size:.8125rem;color:var(--mute);margin-top:8px}details.disc{margin-top:8px}details.disc summary{cursor:pointer;font-size:.875rem;font-weight:700;color:var(--accent);list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:36px}details.disc summary::-webkit-details-marker{display:none}details.disc summary:before{content:"›";display:inline-block;transition:transform .2s ease;font-size:1.125rem;line-height:1}details.disc[open] summary:before{transform:rotate(90deg)}details.disc .disc-body{font-size:.875rem;color:var(--mute);padding:4px 0 2px}.gapq{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.gapq .gap{font-size:1.0625rem;font-weight:800}.gapq .q{font-size:1rem;font-weight:700;color:var(--accent)}.cands{display:grid;gap:8px}.cand{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:10px 12px;background:var(--card-2);border-radius:14px}.cand .cname{font-weight:800}.cand .csub{font-size:.8125rem;color:var(--mute)}.cand .cbtns{display:flex;gap:8px;margin-top:6px}.cand .cbtns button{margin:0;min-height:40px;font-size:.875rem;flex:1 1 auto}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:10px 0 4px}.week-day{position:relative;min-height:68px;border:0;background:var(--card);color:var(--ink);border-radius:14px;padding:8px 2px 6px;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:var(--shadow-sm)}.week-day .wd{font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.week-day .dn{font-size:1.125rem;font-weight:800;line-height:1}.week-day.selected{background:var(--brand-navy);color:#fff}.week-day.selected .wd{color:#ffffffb3}.week-day.today:not(.selected){box-shadow:var(--shadow-sm),inset 0 0 0 2px var(--cta)}.week-day .dots{display:flex;gap:3px}.week-day .dots i{width:5px;height:5px;border-radius:50%;background:var(--line);display:inline-block}.week-day .dots i.on{background:var(--mint)}.week-day.selected .dots i{background:#ffffff4d}.week-day.selected .dots i.on{background:var(--cta)}.week-day .train{position:absolute;top:5px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--cta);font-size:0}.fitbars{display:grid;gap:8px;margin:6px 0 2px}.fitbar{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;font-size:.875rem}.fitbar .fb-dot{width:10px;height:10px;border-radius:50%;background:var(--tone);justify-self:center}.fitbar .fb-track{height:8px;border-radius:4px;background:var(--card-2);overflow:hidden}.fitbar .fb-fill{display:block;height:100%;border-radius:4px;background:var(--tone);transition:width .4s ease}.fitbar .fb-val{font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.fitbar .fb-val b{font-weight:800}.rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}.rcard{border:0;background:var(--card);color:var(--ink);border-radius:var(--radius-lg);padding:0;overflow:hidden;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .12s ease}.rcard:active{transform:scale(.985)}.rcard .fart{width:100%;height:120px;border-radius:0;--art: 110px}.rcard .rbody{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}.rcard .rtitle{font-weight:800;font-size:.9375rem;line-height:1.2}.rcard .rmeta{font-size:.75rem;color:var(--mute)}.rcard .rfoot{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.rhero{display:flex;gap:14px;align-items:center;margin:2px 0 12px}.rhero .fart{width:84px;height:84px;--art: 84px}.rhero h1{margin:0 0 2px}.rhero .rsub{font-size:.875rem;color:var(--mute)}.rbanner{position:relative;height:160px;border-radius:var(--radius-lg);overflow:hidden;margin:4px 0 12px}.rbanner .fart{width:100%;height:100%;border-radius:0;--art: 150px}.lrow{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;min-height:56px;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.lrow:last-child{border-bottom:0}.lrow .licon{width:44px;height:44px;border-radius:14px;background:var(--card-2);display:grid;place-items:center;font-size:1.375rem}.lrow .ltitle{font-weight:700}.lrow .lsub{font-size:.8125rem;color:var(--mute)}.lrow .lchev{color:var(--mute);font-size:1.25rem}.card.list{padding:4px 16px}.segwrap{margin:6px 0 10px}.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}.cat-tile{position:relative;min-height:104px;border:0;border-radius:var(--radius-lg);padding:14px;text-align:left;color:var(--vb-ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.cat-tile .cat-emoji{font-size:2rem;line-height:1}.cat-tile .cat-name{font-weight:800;font-size:1.0625rem;letter-spacing:-.01em}.cat-tile .cat-count{font-size:.75rem;font-weight:600;opacity:.75}.cat-protein{background:var(--vb-coral)}.cat-dairy{background:var(--vb-sky)}.cat-vegetables{background:var(--vb-lime)}.cat-fruit{background:var(--vb-berry)}.cat-starches{background:var(--vb-amber)}.cat-fats{background:var(--vb-violet)}.cat-sauces{background:var(--vb-tangerine)}.cat-drinks{background:var(--vb-aqua)}.cat-snacks{background:var(--vb-pink)}.food-card{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.food-card:last-child{border-bottom:0}.food-card.blocked .food-name{color:var(--mute);text-decoration:line-through}.food-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--vb-ink);background:var(--card-2)}.food-name{font-weight:700;font-size:1rem}.food-preview,.food-reason{font-size:.8125rem;color:var(--mute);font-variant-numeric:tabular-nums;margin-top:2px}.pref-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.pref-btns button{min-height:42px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}.pref-btns button[aria-pressed=true]{background:var(--orange-soft);border-color:var(--cta)}.pref-btns button.like[aria-pressed=true]{background:var(--coral-soft);border-color:var(--coral)}.pref-btns button.never[aria-pressed=true]{background:var(--card-2);border-color:var(--mute);color:var(--mute)}.pref-btns button:disabled{opacity:.4;cursor:not-allowed}.verdict{display:inline-block;font-size:.625rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;margin-left:6px;vertical-align:middle;color:var(--ink);background:var(--card-2)}.verdict.block{background:var(--coral-soft);color:var(--coral)}.verdict.needs_verification{background:var(--amber-soft);color:#9a5b00}.verdict.conditional{background:var(--accent-soft);color:var(--accent)}.scan-cta{display:flex;align-items:center;gap:12px}.scan-cta .food-icon{background:var(--accent-soft)}.food-list{max-height:44vh;overflow:auto;border:0;border-radius:14px;background:var(--card-2)}.food-list button,.food-list a.rowlink{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;text-align:left;min-height:var(--tap);border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;padding:10px 14px;cursor:pointer}.food-list button:last-child,.food-list a.rowlink:last-child{border-bottom:0}.food-list a.rowlink{text-decoration:none}button.primary:disabled,button.secondary:disabled{cursor:not-allowed}.food-list .serving{color:var(--mute);font-size:.8125rem}.food-list .headline{color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums}.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.macro-grid label{display:block;font-size:.75rem;color:var(--mute);font-weight:700;margin-bottom:4px}.flabel{display:block;font-size:.8125rem;color:var(--mute);font-weight:700;margin:10px 0 4px}.review-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem;align-items:center}.review-row:last-child{border-bottom:0}.review-row .k{color:var(--mute)}.unit-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.unit-card{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:64px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:14px;padding:10px 8px;font:inherit;cursor:pointer}.unit-card[aria-checked=true]{border-color:var(--cta);background:var(--orange-soft)}.unit-card .unit-title{font-weight:800;font-size:1rem;line-height:1.2;text-align:center}.unit-card .unit-sub{font-size:.8125rem;color:var(--mute)}.steps{display:flex;gap:6px;margin:8px 0 14px}.steps span{flex:1;height:5px;border-radius:3px;background:var(--line)}.steps span.done{background:var(--accent)}.steps span.current{background:var(--cta)}.step-label{font-size:.75rem;color:var(--mute);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.step-nav{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:8px}.step-nav button{margin-top:0}.step-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.step-chips button{min-height:36px;border:1.5px solid var(--line);background:var(--card);color:var(--mute);border-radius:999px;padding:4px 12px;font:inherit;font-size:.8125rem;font-weight:700;cursor:pointer}.plain-list{margin:0;padding-left:18px}.plain-list li{margin:6px 0}.install-card{border:0;box-shadow:var(--shadow)}.install-card .install-btn{margin:0;min-height:44px;font-size:1rem}.weights-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:6px 0 4px}.weights-row label{display:block;font-size:.8125rem;color:var(--mute);font-weight:700;margin-bottom:4px}.unit-field{position:relative}.unit-field input{padding-right:40px;font-size:1.375rem;font-weight:800;min-height:56px}.unit-field span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:.875rem;color:var(--mute);pointer-events:none;font-weight:700}.journey-card{background:var(--card);border:0;box-shadow:var(--shadow);border-radius:var(--radius-lg);padding:14px 16px 10px;margin:12px 0}.journey-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.journey-head .eyebrow{margin-bottom:0}.journey-caption{font-size:.875rem;font-weight:800;color:var(--ink);text-align:right}.journey-estimate{margin:-2px 0 6px}.j2{width:100%;height:auto;display:block;margin:6px 0 2px;overflow:visible}.j2 .j2-base{fill:none;stroke:var(--card-2);stroke-width:7;stroke-linecap:round}.j2 .j2-seg{fill:none;stroke-width:7;stroke-linecap:butt;opacity:.4;transition:opacity .3s ease,stroke-width .3s ease}.j2 .j2-seg.on{opacity:1;stroke-width:9}.j2 .j2-trail{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-dasharray:1 7;stroke-linecap:round;opacity:.8}.j2 .j2-node{fill:var(--card);stroke-width:3}.j2 .j2-ms{font-size:13px;font-weight:800;letter-spacing:.04em;fill:var(--mute)}.j2 .j2-label{font-size:13.5px;fill:var(--mute)}.j2 .j2-goal-label{font-weight:800;fill:var(--ink)}.j2 .j2-goal-ring{fill:var(--card);stroke:var(--mint);stroke-width:3}.j2 .j2-flag{fill:none;stroke:var(--mint);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.j2 .j2-now-dot{fill:var(--cta);stroke:var(--card);stroke-width:3}.j2 .j2-pulse{fill:var(--cta);opacity:.22;transform-box:fill-box;transform-origin:center;animation:j2-pulse 2.4s ease-in-out infinite}@keyframes j2-pulse{0%,to{transform:scale(.85);opacity:.18}50%{transform:scale(1.1);opacity:.32}}.j2 .j2-now-label{font-size:14px;font-weight:800;fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round}.stage-steps{display:grid;gap:0;margin-top:4px}.stage-step{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;text-align:left;width:100%;min-height:56px;border:0;background:transparent;color:var(--ink);border-radius:14px;padding:10px 8px 10px 6px;font:inherit;cursor:pointer}.stage-step+.stage-step:before{content:"";position:absolute;left:16px;top:-14px;width:2px;height:22px;background:var(--line)}.stage-step[aria-checked=true]{background:color-mix(in srgb,var(--tone) 12%,transparent)}.stage-step .stage-dot{width:14px;height:14px;margin:4px 0 0 4px;border-radius:50%;background:var(--tone);box-shadow:0 0 0 3px var(--card)}.stage-step[aria-checked=true] .stage-dot{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--tone)}.stage-step .stage-body{display:flex;flex-direction:column;gap:2px}.stage-step .stage-title{font-weight:800}.stage-step .stage-text{font-size:.875rem;color:var(--mute)}.stage-step[aria-checked=true] .stage-text{color:var(--ink)}.stage-now{display:inline-block;margin-left:8px;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--tone, var(--accent));border-radius:999px;padding:1px 8px;vertical-align:middle}.pillar{grid-template-columns:96px 1fr 76px}.pillar-track{background:var(--card-2)}.pillar.mint .pillar-fill{background:var(--m-protein)}.pillar.blue .pillar-fill{background:var(--m-carbs)}.pillar.orange .pillar-fill{background:var(--m-fat)}.pillar.lav .pillar-fill{background:var(--lav)}.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat{padding:10px 12px;border-radius:14px;background:var(--card-2)}.stat .big{font-size:1.75rem}.grocery-row{display:grid;grid-template-columns:24px 36px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.grocery-row:last-child{border-bottom:0}.grocery-row input[type=checkbox]{width:24px;height:24px;accent-color:var(--mint);min-height:0}.grocery-row.done .food-name{text-decoration:line-through;color:var(--mute)}.grocery-row .grams{font-weight:800;font-variant-numeric:tabular-nums}.grocery-row .buy{font-weight:800;font-variant-numeric:tabular-nums;text-align:right;color:var(--accent);max-width:150px;line-height:1.25}.ingredient-row{display:grid;grid-template-columns:36px 1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.ingredient-row:last-of-type{border-bottom:0}.ingredient-row .grams{font-weight:800;font-variant-numeric:tabular-nums}.grams-edit{display:inline-flex;align-items:center;gap:4px}.grams-edit input{width:76px;min-height:40px;text-align:right;font-weight:700}.plate-card{box-shadow:var(--shadow-sm)}.plate-card.preview{outline:1.5px dashed var(--line)}.label-card{border:1.5px dashed var(--line);border-radius:14px;padding:8px 10px;margin:6px 0;background:var(--card)}.member-card{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.meal-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.meal-row:last-child{border-bottom:0}.meal-row .meal-name{font-weight:700}.meal-row .meal-macros{color:var(--mute);font-size:.8125rem;font-variant-numeric:tabular-nums}.meal-row button.link{padding:0;font-size:.8125rem}.eaten-tag{display:inline-block;font-size:.625rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--mint-soft);color:var(--mint);margin-left:6px;vertical-align:middle}.strips{display:grid;gap:10px;margin-top:12px}.strip{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;font-size:.875rem}.strip-track{height:8px;border-radius:4px;background:var(--card-2);overflow:hidden}.strip-fill{display:block;height:100%;border-radius:4px;background:var(--accent);transition:width .3s ease}.strip.protein .strip-fill{background:var(--m-protein)}.strip.carbs .strip-fill{background:var(--m-carbs)}.strip.fat .strip-fill{background:var(--m-fat)}.strip-value{font-variant-numeric:tabular-nums;color:var(--mute);white-space:nowrap}.strip-value b{color:var(--ink)}.bar{display:block;height:6px;border-radius:3px;background:var(--card-2);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:3px}.brand-hero{background:var(--brand-navy);border-radius:var(--radius-lg);padding:22px 16px 16px;margin:0 0 14px;box-shadow:var(--shadow)}.brand-hero .brand-slogan{color:var(--brand-orange)}.screen{animation:screen-in .22s ease both}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.pop{animation:pop-in .28s cubic-bezier(.2,.9,.3,1.2) both}.seg2{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--card-2);border-radius:999px}.seg2 button{min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--mute);font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.seg2 button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.seg2 button[aria-pressed=true].train{background:var(--cta);color:var(--cta-ink)}.dtype{display:grid;gap:8px;margin:0 0 12px}.today-log{margin-top:14px;font-size:1.0625rem}.today-hint{text-align:center;margin:8px 8px 0}.today-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:10px 0 2px}.today-links a{color:var(--mute);font-weight:700;text-decoration:none}.today-links a:after{content:" ›"}.dtype .dt-note{font-size:.8125rem;color:var(--mute);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.dtype .dt-change{font-weight:800;color:var(--ink)}.mealpick{display:flex;flex-wrap:wrap;gap:6px}.mealpick button{min-height:46px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;line-height:1.1}.mealpick button[aria-checked=true]{background:var(--orange-soft);border-color:var(--cta)}.mealpick button.logged{border-style:dashed}.mealpick button.add{color:var(--accent);border-color:var(--accent);background:transparent}.hfood{padding:10px 0;border-bottom:1px solid var(--line)}.hfood:last-of-type{border-bottom:0}.hf-top{display:grid;grid-template-columns:1.4fr 1fr;gap:6px}.hf-top input{margin:0}.hf-macros{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;align-items:end;margin-top:6px}.hf-macros label span{display:block;font-size:.75rem;font-weight:700;color:var(--mute);margin-bottom:2px}.hf-macros input{margin:0;min-height:44px;width:100%;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;padding:4px 6px}.hf-tools{display:flex;gap:2px}.hf-tools button{min-width:36px;min-height:44px;border:0;background:var(--card-2);color:var(--ink);border-radius:10px;font:inherit;cursor:pointer}.hf-tools button:disabled{opacity:.35}.addfood{width:100%;min-height:50px;margin:10px 0 6px;border:2px dashed var(--accent);background:var(--accent-soft);color:var(--accent);border-radius:999px;font:inherit;font-weight:800;cursor:pointer}.hf-total{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;padding:10px 0 4px;border-top:1px solid var(--line);font-size:.9375rem}.hf-total>span:first-child{font-weight:800;margin-right:auto}.again{display:grid;width:100%;text-align:left;gap:2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-weight:700;padding:10px 0;cursor:pointer;min-height:var(--tap)}.again:last-child{border-bottom:0}.rp-list{display:grid;gap:4px;margin-top:4px}.rp-day{padding:8px 10px;border-radius:12px;background:var(--card-2)}.rp-day.on{background:var(--accent-soft)}.rp-day.source{background:var(--orange-soft)}.rp-day.kept{opacity:.8}.rp-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:800;cursor:pointer}.rp-head input{width:22px;height:22px;margin:0;accent-color:var(--accent)}.rp-dot{width:22px;height:22px;display:inline-block}.rp-pat{font-weight:600;color:var(--mute);font-size:.8125rem}.rp-sub{margin:2px 0 0 30px}.rp-macros{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0 0 30px;font-size:.875rem;font-variant-numeric:tabular-nums}.rp-m .dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px;background:var(--mint)}.rp-m.below .dot{background:var(--m-fat)}.rp-m.above .dot{background:var(--coral)}.rp-m small{color:var(--mute)}.rp-k{font-weight:800}.wk-choice{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 2px}.wk-choice button{min-height:52px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;padding:6px 8px;line-height:1.15}.wk-choice button[aria-pressed=true]{background:var(--orange-soft);border-color:var(--cta)}.wk-choice button small{display:block;font-weight:600;color:var(--mute);font-size:.75rem}output{display:block}fieldset{border:0;padding:0;margin:0;min-width:0}.rcard .rtitle,.mcard .mtitle{overflow-wrap:anywhere}@media(max-width:400px){.ing{grid-template-columns:40px 1fr}.ing .gstep,.ing .igrams{grid-column:2;justify-self:start}}.back-row{display:flex;align-items:center;gap:8px;margin:0 0 8px}.wchart{width:100%;height:auto;display:block}.wc-grid{stroke:var(--line);stroke-width:1}.wc-tick{fill:var(--mute);font-size:10px;font-weight:700}.wc-goal{stroke:var(--cta);stroke-width:2;stroke-dasharray:6 5}.wc-goal-label{fill:var(--cta);font-size:11px;font-weight:800}.wc-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.wc-dot{fill:var(--card);stroke:var(--accent);stroke-width:2.5}.wc-now{fill:var(--ink);font-size:12px;font-weight:800}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.screen,.pop,.j2 .j2-pulse{animation:none}.mring .ring-arc,.fitbar .fb-fill,.strip-fill{transition:none}}@media(max-width:340px){.rings3{gap:2px}.mring svg{width:80px;height:80px}.unit-picker,.cat-grid,.rgrid{grid-template-columns:1fr}.macro-grid{grid-template-columns:repeat(2,1fr)!important}.gstep{grid-template-columns:32px 56px 32px}}@media(min-width:720px){.cat-grid,.rgrid{grid-template-columns:repeat(3,1fr)}.stat-row{grid-template-columns:repeat(4,1fr)}.mring svg{width:108px;height:108px}}@media(min-width:1024px){.cat-grid,.rgrid{grid-template-columns:repeat(4,1fr)}}.hfood.saved .hf-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.hfood.saved .hf-name{min-width:0;font-size:.9375rem;line-height:1.3}.hfood.saved .hf-grams{display:grid;gap:2px;width:112px}.hfood.saved .hf-grams span{font-size:.6875rem;font-weight:700;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}.hfood.saved .hf-grams input{min-height:40px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.hfood.saved .hf-macros{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:6px}.hfood.saved .hf-calc b{font-variant-numeric:tabular-nums}.dm-row{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}.dm-row:last-child{border-bottom:0}.dm-row.fixed{cursor:default}.dm-row.on{background:var(--accent-soft);margin:0 -8px;padding:8px;border-radius:12px}.dm-row input[type=checkbox]{width:20px;height:20px;margin-top:2px}.dm-row .dm-body{display:grid;gap:2px;min-width:0}.dm-row .dm-name{font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.log-eaten{margin:8px 0 4px}.today-ledger{margin-top:10px;display:grid;gap:3px;font-variant-numeric:tabular-nums}.today-ledger .mute{margin-right:6px}input[type=search]{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:12px;padding:0 12px;font:inherit;color:var(--ink);background:var(--card);-webkit-appearance:none;appearance:none}input[type=search]:focus{outline:2px solid var(--accent);outline-offset:1px}.food-list.grow{max-height:none;overflow:visible}.delta .dvals{flex-wrap:wrap;row-gap:4px}.delta .pill{white-space:normal;text-align:right}.trend-table td{white-space:nowrap;padding:6px 2px;font-size:.875rem}.trend-table td.status{white-space:normal;font-size:.75rem;max-width:120px}.save-bar{position:sticky;bottom:calc(var(--tabbar, 72px) + env(safe-area-inset-bottom));z-index:5}.ilock.small{min-width:34px;min-height:34px;font-size:.875rem}.ilock:disabled{opacity:.7;cursor:default}:root[data-theme=dark] .fart.tone-protein{--art-a: #4a2a1e;--art-b: #6a3a26}:root[data-theme=dark] .fart.tone-dairy{--art-a: #1f3556;--art-b: #2c4b78}:root[data-theme=dark] .fart.tone-vegetables{--art-a: #1f3f22;--art-b: #2f5a30}:root[data-theme=dark] .fart.tone-fruit{--art-a: #4a2240;--art-b: #6b2f5c}:root[data-theme=dark] .fart.tone-starches{--art-a: #4a3a12;--art-b: #6b541c}:root[data-theme=dark] .fart.tone-fats{--art-a: #2f2a52;--art-b: #433b74}:root[data-theme=dark] .fart.tone-sauces{--art-a: #4a2d1a;--art-b: #6a4026}:root[data-theme=dark] .fart.tone-drinks{--art-a: #173f3a;--art-b: #205a52}:root[data-theme=dark] .fart.tone-snacks{--art-a: #4a1f2c;--art-b: #6b2c40}:root[data-theme=dark] .fart .plate{background:#ffffff24;box-shadow:inset 0 0 0 6% #ffffff2e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .fart.tone-protein{--art-a: #4a2a1e;--art-b: #6a3a26}:root:not([data-theme=light]) .fart.tone-dairy{--art-a: #1f3556;--art-b: #2c4b78}:root:not([data-theme=light]) .fart.tone-vegetables{--art-a: #1f3f22;--art-b: #2f5a30}:root:not([data-theme=light]) .fart.tone-fruit{--art-a: #4a2240;--art-b: #6b2f5c}:root:not([data-theme=light]) .fart.tone-starches{--art-a: #4a3a12;--art-b: #6b541c}:root:not([data-theme=light]) .fart.tone-fats{--art-a: #2f2a52;--art-b: #433b74}:root:not([data-theme=light]) .fart.tone-sauces{--art-a: #4a2d1a;--art-b: #6a4026}:root:not([data-theme=light]) .fart.tone-drinks{--art-a: #173f3a;--art-b: #205a52}:root:not([data-theme=light]) .fart.tone-snacks{--art-a: #4a1f2c;--art-b: #6b2c40}:root:not([data-theme=light]) .fart .plate{background:#ffffff24}}.today-drink{display:block;text-align:center;margin:8px 0 0;text-decoration:none}.drinks-card{padding-top:6px;padding-bottom:8px}.drink-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.drink-row:last-of-type{border-bottom:0}.drink-row .drink-body{display:grid;gap:2px;min-width:0}.drink-row .drink-name{font-weight:800;overflow-wrap:anywhere}.drink-row>.link{padding:0 4px;color:var(--mute);font-size:.8125rem}:root{--splash-navy: #031426;--splash-gold: #f2c14e;--splash-white: #f6f8fc}#root:empty{position:fixed;inset:0;background:var(--splash-navy)}.splash{position:fixed;inset:0;z-index:1000;background:var(--splash-navy);color:var(--splash-white);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));overflow:hidden}.splash .splash-logo{width:min(62vw,280px);height:auto;display:block;opacity:0;animation:splash-in .7s ease-out .1s forwards}.splash .splash-word{margin-top:26px;font-size:clamp(1.75rem,7vw,2.25rem);font-weight:700;letter-spacing:.06em;line-height:1.1;color:var(--splash-white);opacity:0;animation:splash-in .6s ease-out .6s forwards}.splash .splash-tag{margin-top:14px;font-size:clamp(1.0625rem,4.4vw,1.3125rem);font-weight:600;letter-spacing:.02em;color:var(--splash-gold);opacity:0;animation:splash-in .6s ease-out 1.05s forwards}.splash.out{animation:splash-out .26s ease-in forwards;pointer-events:none}@keyframes splash-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes splash-out{to{opacity:0}}@media(orientation:landscape)and (max-height:520px){.splash .splash-logo{width:min(34vw,220px)}.splash .splash-word{margin-top:14px;font-size:1.5rem}.splash .splash-tag{margin-top:8px;font-size:1.0625rem}}@media(prefers-reduced-motion:reduce){.splash .splash-logo,.splash .splash-word,.splash .splash-tag{animation:none;opacity:1}.splash.out{animation:none;display:none}}.start-grid{display:grid;gap:12px;margin:8px 0 12px}.start-card{display:grid;gap:6px;text-align:left;width:100%;min-height:128px;padding:18px 18px 16px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow);font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.start-card:active{transform:scale(.99)}.start-card:focus-visible{border-color:var(--accent)}.start-card:disabled{opacity:.6}.start-card .start-mark{font-size:1.75rem;line-height:1}.start-card .start-head{font-size:1.1875rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}.start-card .start-text{font-size:.9375rem;color:var(--mute);line-height:1.4}.start-card .start-go{color:var(--accent);font-weight:800;font-size:.9375rem;margin-top:2px}@media(min-width:720px){.start-grid{grid-template-columns:1fr 1fr}}.hint{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px 12px;margin:8px 0;border-radius:14px;background:var(--accent-soft);color:var(--ink);font-size:.9375rem;line-height:1.4}.hint .hint-mark{font-size:1.125rem;line-height:1.3}.hint .hint-text b{font-weight:800}.hint .hint-done{padding:0 2px;min-height:0;align-self:center;white-space:nowrap;font-size:.875rem}.gs-row{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.gs-row:last-child{border-bottom:0}.gs-row .lsub{line-height:1.4;margin-top:2px}.cat-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.cat-chips::-webkit-scrollbar{display:none}.cat-chips .chip{flex:none;white-space:nowrap;padding:7px 12px;font-size:.875rem;min-height:40px}.save-meal{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.save-meal-card{margin:-4px 0 12px;padding:4px 14px 12px;background:var(--card);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow)}.save-meal-card .save-meal{border-top:0;padding-top:0}.prov-line{margin-top:10px;text-align:center}.simple-start .primary{margin-top:10px}dialog.sheet{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;color:inherit}fieldset.mring,fieldset.unit-picker,fieldset.seg,fieldset.stage-steps,fieldset.pref-btns{border:0;padding:0;margin:0;min-width:0}.install-screen{max-width:560px;margin:0 auto}.install-seg{margin:10px 0 12px;border:0;padding:4px}.install-seg button{font-size:1.0625rem;min-height:48px}.install-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.install-steps li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}.install-steps .n{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:800;display:grid;place-items:center;font-size:.9375rem}.install-steps b{display:block;font-size:1.0625rem;line-height:1.3}.install-steps .small{display:block;margin-top:2px}.install-steps .ctrls{display:block;margin-top:8px}.ctrl{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:var(--card-2);color:var(--ink);font-weight:700;font-size:.9375rem;line-height:1}.ctrl svg{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ctrl svg.toggle{width:34px;height:20px;color:var(--mint)}.ctrl.pill{border-radius:999px;background:var(--accent);color:var(--accent-ink);padding:9px 18px}.install-done{text-align:center;padding:6px 0 4px}.install-icon{width:72px;height:72px;border-radius:18px;margin:0 auto 6px;display:block;box-shadow:var(--shadow)}.install-card .primary{margin-top:12px}.install-address{display:block;word-break:break-all;font-size:.875rem;padding:10px 12px;border-radius:var(--radius-sm);background:var(--card-2);color:var(--ink)}.install-screen p svg{width:16px;height:16px;vertical-align:-3px;margin-right:4px;stroke:var(--mint);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
