@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2-variations");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}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:56px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--font-sans:"Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--leading-tight:1.2;--leading-normal:1.5;--shadow-xs:0 1px 2px #1018150a;--shadow-sm:0 1px 3px #1018150d, 0 1px 2px #1018150a;--shadow-md:0 6px 20px #10181514, 0 1px 3px #1018150d;--shadow-lg:0 18px 44px #1018151f, 0 4px 10px #1018150f;--color-bg:#f6f8f7;--color-bg-tint:#eef4f1;--color-surface:#fff;--color-surface-raised:#fff;--color-border:#e3e8e6;--color-border-strong:#cdd7d3;--color-text:#16211d;--color-text-muted:#5b6b64;--color-text-faint:#64736c;--color-accent:#0a8564;--color-accent-strong:#086b50;--color-accent-soft:#e2f5ee;--color-accent-contrast:#fff;--color-protein:#2f8fd6;--color-carb:#f2a93c;--color-fat:#e26a6a;--color-fiber:#8f6bd1;--color-success:#0f9d78;--color-caution:#d99a2b;--color-danger:#c4372d;--color-focus-ring:#0f9d78;--chart-grid:#e3e8e6;--chart-axis-text:#64736c;--chart-bar:#0f9d78;--chart-bar-muted:#cfe9df;--chart-target-line:#d99a2b;--motion-fast:.12s;--motion-normal:.2s;--motion-slow:.32s;--motion-ease:cubic-bezier(.2, .7, .3, 1);--motion-spring:cubic-bezier(.34, 1.56, .64, 1);--nav-height:64px;--sidebar-width:240px;--content-max-width:1200px;--gradient-accent:linear-gradient(135deg, var(--color-accent), var(--color-accent-strong));--surface-glass:color-mix(in srgb, var(--color-surface) 72%, transparent);--surface-glass-strong:color-mix(in srgb, var(--color-surface) 88%, transparent);--border-hairline:color-mix(in srgb, var(--color-border) 70%, transparent);--focus-ring-glow:0 0 0 4px color-mix(in srgb, var(--color-focus-ring) 22%, transparent);--tracking-tight:-.015em;--tracking-tighter:-.03em;--lift-sm:-2px;--lift-md:-3px}@media (prefers-color-scheme:dark){:root{--color-bg:#121518;--color-bg-tint:#191e22;--color-surface:#1e2429;--color-surface-raised:#293138;--color-border:#343d44;--color-border-strong:#56626b;--color-text:#e9edf0;--color-text-muted:#b4bec5;--color-text-faint:#99a6af;--color-accent:#75d6b3;--color-accent-strong:#a1e4cc;--color-accent-soft:#243b33;--color-accent-contrast:#11251d;--color-protein:#6cb2f0;--color-carb:#f4c06a;--color-fat:#ef8f8f;--color-fiber:#b39bec;--color-success:#75d6b3;--color-caution:#f4c06a;--color-danger:#ef8f8f;--color-focus-ring:#75d6b3;--chart-grid:#343d44;--chart-axis-text:#99a6af;--chart-bar:#75d6b3;--chart-bar-muted:#2b443b;--chart-target-line:#f4c06a;--shadow-xs:0 1px 2px #00000047;--shadow-sm:0 1px 3px #00000052, 0 2px 6px #0003;--shadow-md:0 6px 22px #0000006b;--shadow-lg:0 22px 48px #00000080, 0 4px 12px #0000004d}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-normal:0s}}:root[data-theme=dark]{--color-bg:#121518;--color-bg-tint:#191e22;--color-surface:#1e2429;--color-surface-raised:#293138;--color-border:#343d44;--color-border-strong:#56626b;--color-text:#e9edf0;--color-text-muted:#b4bec5;--color-text-faint:#99a6af;--color-accent:#75d6b3;--color-accent-strong:#a1e4cc;--color-accent-soft:#243b33;--color-accent-contrast:#11251d;--color-protein:#6cb2f0;--color-carb:#f4c06a;--color-fat:#ef8f8f;--color-fiber:#b39bec;--color-success:#75d6b3;--color-caution:#f4c06a;--color-danger:#ef8f8f;--color-focus-ring:#75d6b3;--chart-grid:#343d44;--chart-axis-text:#99a6af;--chart-bar:#75d6b3;--chart-bar-muted:#2b443b;--chart-target-line:#f4c06a;--shadow-xs:0 1px 2px #00000047;--shadow-sm:0 1px 3px #00000052, 0 2px 6px #0003;--shadow-md:0 6px 22px #0000006b;--shadow-lg:0 22px 48px #00000080, 0 4px 12px #0000004d}:root[data-theme=light]{--color-bg:#f6f8f7;--color-bg-tint:#eef4f1;--color-surface:#fff;--color-surface-raised:#fff;--color-border:#e3e8e6;--color-border-strong:#cdd7d3;--color-text:#16211d;--color-text-muted:#5b6b64;--color-text-faint:#64736c;--color-accent:#0a8564;--color-accent-strong:#086b50;--color-accent-soft:#e2f5ee;--color-accent-contrast:#fff;--color-protein:#2f8fd6;--color-carb:#f2a93c;--color-fat:#e26a6a;--color-fiber:#8f6bd1;--color-success:#0f9d78;--color-caution:#d99a2b;--color-danger:#c4372d;--color-focus-ring:#0f9d78;--chart-grid:#e3e8e6;--chart-axis-text:#64736c;--chart-bar:#0f9d78;--chart-bar-muted:#cfe9df;--chart-target-line:#d99a2b;--shadow-xs:0 1px 2px #1018150a;--shadow-sm:0 1px 3px #1018150d, 0 1px 2px #1018150a;--shadow-md:0 6px 20px #10181514, 0 1px 3px #1018150d;--shadow-lg:0 18px 44px #1018151f, 0 4px 10px #1018150f}:root{--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--accent-glow:color-mix(in srgb, var(--color-accent) 28%, transparent);--sheen:linear-gradient(105deg, transparent 35%, #ffffff52 50%, transparent 65%)}.page-title{background:linear-gradient(120deg, var(--color-text) 40%, var(--color-accent-strong));color:#0000;-webkit-background-clip:text;background-clip:text}.page-enter{display:contents}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.page-enter>*{animation:rise-in .52s var(--ease-out-expo) backwards}.page-enter>:first-child{animation-delay:0s}.page-enter>:nth-child(2){animation-delay:60ms}.page-enter>:nth-child(3){animation-delay:.12s}.page-enter>:nth-child(4){animation-delay:.18s}.page-enter>:nth-child(5){animation-delay:.24s}.page-enter>:nth-child(n+6){animation-delay:.3s}.card-grid>*{animation:rise-in .52s var(--ease-out-expo) backwards}.card-grid>:nth-child(2){animation-delay:70ms}.card-grid>:nth-child(3){animation-delay:.14s}.card-grid>:nth-child(n+4){animation-delay:.21s}.stack>.meal-card{animation:rise-in .42s var(--ease-out-expo) backwards}.stack>.meal-card:nth-child(2){animation-delay:50ms}.stack>.meal-card:nth-child(3){animation-delay:.1s}.stack>.meal-card:nth-child(n+4){animation-delay:.15s}.card{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-raised) 100%, transparent), var(--color-surface));box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff0f;isolation:isolate;position:relative}.card:after{content:"";border-radius:inherit;background:linear-gradient(140deg, var(--accent-glow), transparent 40%, transparent 60%, color-mix(in srgb, var(--color-protein) 22%, transparent));-webkit-mask-composite:xor;opacity:0;transition:opacity var(--motion-slow) var(--motion-ease);pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (hover:hover){.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:hover:after{opacity:1}}.btn{-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.btn-primary:before{content:"";background:var(--sheen);pointer-events:none;position:absolute;inset:0;transform:translate(-120%)}@media (hover:hover){.btn-primary:hover{box-shadow:var(--shadow-md), 0 10px 24px -8px var(--accent-glow)}.btn-primary:hover:before{transition:transform .7s var(--ease-out-expo);transform:translate(120%)}}.btn:active,.sticky-add-button:active,.favorite-chip:active{transform:scale(.96)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.ripple{opacity:.22;animation:ripple .6s var(--ease-out-expo) forwards;pointer-events:none;background:currentColor;border-radius:50%;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(1)}}.sticky-add-button{box-shadow:var(--shadow-lg), 0 8px 24px -6px var(--accent-glow)}.sticky-add-button svg{transition:transform var(--motion-normal) var(--motion-spring)}.sticky-add-button:hover svg{transform:rotate(90deg)scale(1.1)}.sticky-add-button:after{content:"";border-radius:inherit;box-shadow:0 0 0 0 var(--accent-glow);animation:pulse-ring 2.8s var(--motion-ease) infinite;pointer-events:none;position:absolute;inset:0}@keyframes pulse-ring{0%,70%,to{box-shadow:0 0 0 0 var(--accent-glow)}35%{box-shadow:0 0 0 10px #0000}}.nav-link{transition:background var(--motion-normal) var(--motion-ease), color var(--motion-normal) var(--motion-ease), transform var(--motion-fast) var(--motion-ease), padding var(--motion-normal) var(--motion-ease)}.nav-link:hover{transform:translate(2px)}.nav-link.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 22%, transparent)}.nav-link.active:before{animation:indicator-in .36s var(--motion-spring) both;transform-origin:50%}@keyframes indicator-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bottom-nav-link{transition:color var(--motion-normal) var(--motion-ease);-webkit-tap-highlight-color:transparent;position:relative}.bottom-nav-link:active svg{transform:scale(.85)}.bottom-nav-link.active:before{content:"";border-radius:var(--radius-pill);background:var(--gradient-accent);width:36px;height:3px;box-shadow:0 2px 8px var(--accent-glow);animation:indicator-pop .38s var(--motion-spring) both;position:absolute;top:4px}@keyframes indicator-pop{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.input,.select,.textarea{background:color-mix(in srgb, var(--color-surface) 92%, var(--color-bg-tint))}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-text-faint)}.input:focus,.select:focus,.textarea:focus{background:var(--color-surface);transform:translateY(-1px)}.field:focus-within .field-label{color:var(--color-accent-strong);transition:color var(--motion-fast) var(--motion-ease)}.favorite-chip{color:var(--color-text);transition-timing-function:var(--motion-spring)}.meal-card{position:relative;overflow:hidden}.meal-card:before{content:"";border-radius:var(--radius-pill);background:var(--gradient-accent);width:3px;transition:transform var(--motion-normal) var(--motion-spring);position:absolute;top:14%;bottom:14%;left:0;transform:scaleY(0)}.meal-card:hover:before{transform:scaleY(1)}.meter-track,.budget-bar{box-shadow:inset 0 1px 2px #00000014}.meter-fill,.budget-bar-fill{transition:width .9s var(--ease-out-expo);background-image:var(--gradient-accent);position:relative;overflow:hidden}.meter-fill:after,.budget-bar-fill:after{content:"";background:var(--sheen);animation:3.2s ease-in-out 1s infinite sheen-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes sheen-sweep{60%,to{transform:translate(100%)}}.budget-bar-fill.warn{background-image:linear-gradient(135deg, var(--color-danger), var(--color-caution))}.streak-badge svg{transform-origin:50% 80%;animation:2.4s ease-in-out infinite flicker}@keyframes flicker{0%,to{transform:scale(1)rotate(0)}40%{transform:scale(1.18)rotate(-5deg)}70%{transform:scale(.96)rotate(3deg)}}.ring-progress{transition:stroke-dasharray 1.1s var(--ease-out-expo), stroke .3s var(--motion-ease);filter:drop-shadow(0 0 3px var(--accent-glow))}.chart-svg rect,.chart-svg path{transition:opacity var(--motion-normal) var(--motion-ease)}.chart-svg rect{transform-box:fill-box;transform-origin:bottom;animation:bar-grow .7s var(--ease-out-expo) both}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-svg rect:hover{opacity:.8}.chart-legend-dot{transition:transform var(--motion-fast) var(--motion-spring)}.chart-legend-item:hover .chart-legend-dot{transform:scale(1.5)}.modal-backdrop{-webkit-backdrop-filter:blur(8px)saturate(140%)}.modal-sheet{animation:sheet-spring .46s var(--ease-out-expo) both}@keyframes sheet-spring{0%{opacity:0;transform:translateY(40px)scale(.97)}to{opacity:1;transform:none}}.toast{-webkit-backdrop-filter:blur(12px);animation:toast-spring .42s var(--motion-spring) both;border:1px solid #ffffff14}@keyframes toast-spring{0%{opacity:0;transform:translate(-50%)translateY(20px)scale(.92)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.toast-action{transition:transform var(--motion-fast) var(--motion-spring)}.toast-action:hover{transform:scale(1.06)}.banner{animation:fade-in .4s var(--motion-ease) both}.empty-state svg{animation:4s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mini-remove-btn{transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-spring)}.mini-remove-btn:hover{transform:scale(1.15)rotate(8deg)}.skeleton{border-radius:var(--radius-lg)}.value-pop{animation:value-pop .38s var(--motion-spring)}@keyframes value-pop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}:root[data-accent=ocean]{--color-accent:#2873c8;--color-accent-strong:#1d5aa0;--color-accent-soft:#e1edfa;--color-accent-contrast:#fff;--color-focus-ring:#2873c8;--chart-bar:#2873c8;--chart-bar-muted:#e1edfa}@media (prefers-color-scheme:dark){:root[data-accent=ocean]:not([data-theme=light]){--color-accent:#6cb2f0;--color-accent-strong:#9fcdf7;--color-accent-soft:#16304a;--color-accent-contrast:#10151a;--color-focus-ring:#6cb2f0;--chart-bar:#6cb2f0;--chart-bar-muted:#16304a}}:root[data-accent=ocean][data-theme=dark]{--color-accent:#6cb2f0;--color-accent-strong:#9fcdf7;--color-accent-soft:#16304a;--color-accent-contrast:#10151a;--color-focus-ring:#6cb2f0;--chart-bar:#6cb2f0;--chart-bar-muted:#16304a}:root[data-accent=ocean][data-theme=light]{--color-accent:#2873c8;--color-accent-strong:#1d5aa0;--color-accent-soft:#e1edfa;--color-accent-contrast:#fff;--color-focus-ring:#2873c8;--chart-bar:#2873c8;--chart-bar-muted:#e1edfa}:root[data-accent=violet]{--color-accent:#7c5ad6;--color-accent-strong:#6038b8;--color-accent-soft:#ece6fa;--color-accent-contrast:#fff;--color-focus-ring:#7c5ad6;--chart-bar:#7c5ad6;--chart-bar-muted:#ece6fa}@media (prefers-color-scheme:dark){:root[data-accent=violet]:not([data-theme=light]){--color-accent:#b39bec;--color-accent-strong:#cdbcf5;--color-accent-soft:#2a2145;--color-accent-contrast:#10151a;--color-focus-ring:#b39bec;--chart-bar:#b39bec;--chart-bar-muted:#2a2145}}:root[data-accent=violet][data-theme=dark]{--color-accent:#b39bec;--color-accent-strong:#cdbcf5;--color-accent-soft:#2a2145;--color-accent-contrast:#10151a;--color-focus-ring:#b39bec;--chart-bar:#b39bec;--chart-bar-muted:#2a2145}:root[data-accent=violet][data-theme=light]{--color-accent:#7c5ad6;--color-accent-strong:#6038b8;--color-accent-soft:#ece6fa;--color-accent-contrast:#fff;--color-focus-ring:#7c5ad6;--chart-bar:#7c5ad6;--chart-bar-muted:#ece6fa}:root[data-accent=sunset]{--color-accent:#c4571a;--color-accent-strong:#9c4210;--color-accent-soft:#fbe9dc;--color-accent-contrast:#fff;--color-focus-ring:#c4571a;--chart-bar:#c4571a;--chart-bar-muted:#fbe9dc}@media (prefers-color-scheme:dark){:root[data-accent=sunset]:not([data-theme=light]){--color-accent:#f4a36a;--color-accent-strong:#f8c39b;--color-accent-soft:#40261a;--color-accent-contrast:#10151a;--color-focus-ring:#f4a36a;--chart-bar:#f4a36a;--chart-bar-muted:#40261a}}:root[data-accent=sunset][data-theme=dark]{--color-accent:#f4a36a;--color-accent-strong:#f8c39b;--color-accent-soft:#40261a;--color-accent-contrast:#10151a;--color-focus-ring:#f4a36a;--chart-bar:#f4a36a;--chart-bar-muted:#40261a}:root[data-accent=sunset][data-theme=light]{--color-accent:#c4571a;--color-accent-strong:#9c4210;--color-accent-soft:#fbe9dc;--color-accent-contrast:#fff;--color-focus-ring:#c4571a;--chart-bar:#c4571a;--chart-bar-muted:#fbe9dc}:root[data-accent=rose]{--color-accent:#c43a6c;--color-accent-strong:#9d2753;--color-accent-soft:#fae1ea;--color-accent-contrast:#fff;--color-focus-ring:#c43a6c;--chart-bar:#c43a6c;--chart-bar-muted:#fae1ea}@media (prefers-color-scheme:dark){:root[data-accent=rose]:not([data-theme=light]){--color-accent:#ef8fb0;--color-accent-strong:#f5b5cc;--color-accent-soft:#41202e;--color-accent-contrast:#10151a;--color-focus-ring:#ef8fb0;--chart-bar:#ef8fb0;--chart-bar-muted:#41202e}}:root[data-accent=rose][data-theme=dark]{--color-accent:#ef8fb0;--color-accent-strong:#f5b5cc;--color-accent-soft:#41202e;--color-accent-contrast:#10151a;--color-focus-ring:#ef8fb0;--chart-bar:#ef8fb0;--chart-bar-muted:#41202e}:root[data-accent=rose][data-theme=light]{--color-accent:#c43a6c;--color-accent-strong:#9d2753;--color-accent-soft:#fae1ea;--color-accent-contrast:#fff;--color-focus-ring:#c43a6c;--chart-bar:#c43a6c;--chart-bar-muted:#fae1ea}@media (prefers-color-scheme:dark){:root[data-oled=true]:not([data-theme=light]){--color-bg:#000;--color-bg-tint:#151a1e;--color-surface:#1b2126;--color-surface-raised:#252d34;--color-border:#343d44}}:root[data-oled=true][data-theme=dark]{--color-bg:#000;--color-bg-tint:#151a1e;--color-surface:#1b2126;--color-surface-raised:#252d34;--color-border:#343d44}.chart-interactive{position:relative}.chart-hit{cursor:pointer;animation:none!important}.chart-tooltip{border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-size:var(--text-xs);white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;animation:fade-in .12s var(--motion-ease);flex-direction:column;align-items:center;gap:1px;padding:6px 10px;line-height:1.25;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.chart-tooltip strong{font-size:var(--text-sm)}.chart-tooltip span{opacity:.75}.chart-tooltip-multi{transform:translate(-50%)}.chart-tooltip .chart-legend-dot{margin-right:3px}.ring-legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600;display:flex}.ring-legend span{align-items:center;gap:6px;display:inline-flex}.section-toggle{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--surface-glass);color:var(--color-text);font-weight:700;font-size:var(--text-sm);cursor:pointer;text-align:left;display:flex}.section-toggle>span:nth-child(2){margin-left:auto;font-weight:500}.section-toggle:hover{background:var(--color-surface)}.chevron{transition:transform var(--motion-normal) var(--motion-spring);flex-shrink:0}.chevron.open{transform:rotate(180deg)}.pull-indicator{color:var(--color-accent);transition:height var(--motion-normal) var(--motion-ease);justify-content:center;align-items:center;display:flex;overflow:hidden}.pull-indicator.spinning svg{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.date-header{z-index:5;padding:var(--space-2) var(--space-3);margin:0 calc(var(--space-3) * -1);background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-hairline);position:sticky;top:0}.meal-type-badge{border-radius:var(--radius-md);width:36px;height:36px;color:var(--meal-accent,var(--color-accent));background:color-mix(in srgb, var(--meal-accent,var(--color-accent)) 14%, transparent);transition:transform var(--motion-normal) var(--motion-spring);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.meal-card:hover .meal-type-badge{transform:rotate(-8deg)scale(1.08)}.meal-swipe{border-radius:var(--radius-md);position:relative}.meal-swipe-bg{padding:0 var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);opacity:0;justify-content:space-between;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.meal-swipe:has(.meal-card.dragging) .meal-swipe-bg{opacity:1}.swipe-repeat,.swipe-delete{align-items:center;gap:var(--space-2);display:inline-flex}.swipe-repeat{color:var(--color-accent-strong)}.swipe-delete{color:var(--color-danger)}.meal-card{touch-action:pan-y}.meal-card.dragging{cursor:grabbing;transition:none}.meal-swipe .meal-card{z-index:1;position:relative}.bottom-nav-link.active-parent{color:var(--color-accent-strong)}.more-backdrop,.speed-dial-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);animation:fade-in .18s var(--motion-ease);background:#0a0f0d5c;position:fixed;inset:0}.more-sheet{left:var(--space-3);right:var(--space-3);bottom:calc(var(--nav-height) + var(--space-3) + env(safe-area-inset-bottom));padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--border-hairline);box-shadow:var(--shadow-lg);animation:sheet-spring .38s var(--ease-out-expo) both;position:absolute}.more-grid{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.more-tile{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-1);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;min-height:64px;transition:background var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-spring);background:0 0;border:none;flex-direction:column;font-size:11px;font-weight:600;display:flex}.more-tile svg{width:24px;height:24px}.more-tile:hover,.more-tile.active{background:var(--color-accent-soft);color:var(--color-accent-strong)}.more-tile:active{transform:scale(.92)}.speed-dial{right:var(--space-4);bottom:calc(var(--nav-height) + var(--space-4) + 56px + env(safe-area-inset-bottom));align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex;position:absolute}.speed-dial-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-hairline);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;min-height:44px;animation:dial-in .32s var(--motion-spring) both;display:inline-flex}.speed-dial-item svg{color:var(--color-accent)}@keyframes dial-in{0%{opacity:0;transform:translateY(16px)scale(.85)}to{opacity:1;transform:none}}.sticky-add-button.open svg{transform:rotate(45deg)}.sticky-add-button{z-index:51;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.modal-backdrop.closing{animation:fade-out .2s var(--motion-ease) forwards}.modal-sheet.closing{animation:sheet-out .2s var(--motion-ease) forwards}@keyframes fade-out{to{opacity:0}}@keyframes sheet-out{to{opacity:0;transform:translateY(24px)scale(.97)}}.swatch-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.swatch{border:2px solid var(--color-surface);width:36px;height:36px;box-shadow:0 0 0 1px var(--color-border-strong);cursor:pointer;transition:transform var(--motion-fast) var(--motion-spring), box-shadow var(--motion-fast) var(--motion-ease);border-radius:50%}.swatch:hover{transform:scale(1.12)}.swatch.selected{box-shadow:0 0 0 2px var(--color-text), 0 4px 12px var(--accent-glow);transform:scale(1.08)}.switch-row{justify-content:space-between;align-items:center;gap:var(--space-4);cursor:pointer;display:flex}.switch{appearance:none;border-radius:var(--radius-pill);background:var(--color-border-strong);cursor:pointer;width:46px;height:28px;transition:background var(--motion-normal) var(--motion-ease);flex-shrink:0;position:relative}.switch:after{content:"";width:22px;height:22px;box-shadow:var(--shadow-sm);transition:transform var(--motion-normal) var(--motion-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch:checked{background:var(--color-accent)}.switch:checked:after{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.login-screen{min-height:100dvh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:380px;padding:var(--space-7) var(--space-6);text-align:center}.login-card .field{text-align:left}.login-logo{border-radius:var(--radius-xl);width:64px;height:64px;color:var(--color-accent-contrast);background:var(--gradient-accent);box-shadow:0 12px 28px -8px var(--accent-glow);animation:logo-in .7s var(--motion-spring) both, logo-float 5s ease-in-out .8s infinite;justify-content:center;align-items:center;margin:0 auto;display:flex}@keyframes logo-in{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.login-card.shake{animation:shake .42s var(--ease-out-expo)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.boot-screen{min-height:100dvh;color:var(--color-accent);justify-content:center;align-items:center;display:flex}.boot-logo{filter:drop-shadow(0 4px 14px var(--accent-glow));animation:1.4s ease-in-out infinite boot-pulse}@keyframes boot-pulse{0%,to{opacity:.7;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}.confetti-layer{z-index:90;pointer-events:none;width:0;height:0;position:fixed;top:0;left:50%}.confetti-piece{opacity:0;border-radius:2px;width:8px;height:12px;animation:1.6s cubic-bezier(.2,.8,.3,1) forwards confetti;position:absolute;top:80px;left:0}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 260px)) rotate(var(--rot))}}@media (prefers-reduced-transparency:reduce){.bottom-nav,.date-header,.toast,.modal-backdrop,.more-backdrop,.speed-dial-backdrop{-webkit-backdrop-filter:none}.bottom-nav,.date-header{background:var(--color-surface)}}.nav-link svg,.bottom-nav-link svg,.more-tile svg{transition:fill var(--motion-normal) var(--motion-ease), stroke-width var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-spring)}.nav-link.active svg,.bottom-nav-link.active svg,.bottom-nav-link.active-parent svg,.more-tile.active svg{fill:color-mix(in srgb, currentColor 20%, transparent);stroke-width:2.1px}.num-display{font-size:var(--text-xl);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums lining-nums;font-weight:800;line-height:1.15}.empty-illustration{filter:drop-shadow(0 10px 18px var(--accent-glow));animation:5s ease-in-out infinite float}.empty-state .empty-illustration{width:120px;height:120px;color:inherit}.steam{opacity:0;animation:2.6s ease-in-out infinite steam}.steam.s2{animation-delay:.5s}.steam.s3{animation-delay:1s}@keyframes steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:.9}to{opacity:0;transform:translateY(-8px)}}.trend{stroke-dasharray:120;stroke-dashoffset:120px;animation:draw 1.4s var(--ease-out-expo) .2s forwards}@keyframes draw{to{stroke-dashoffset:0}}.meals-section{gap:var(--space-5);flex-direction:column;display:flex}.meals-section>.stack{min-width:0}@media (width>=1100px){.meals-section:not(:has(.empty-state)){align-items:start;gap:var(--space-5) var(--space-6);grid-template-columns:1fr 1fr;display:grid}}.segmented{border-radius:var(--radius-md);background:var(--color-bg-tint);border:1px solid var(--border-hairline);min-height:44px;padding:3px;display:inline-flex}.segmented button{color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);padding:0 var(--space-3);border-radius:calc(var(--radius-md) - 3px);cursor:pointer;transition:background var(--motion-normal) var(--motion-ease), color var(--motion-normal) var(--motion-ease), box-shadow var(--motion-normal) var(--motion-ease);background:0 0;border:none;font-weight:600}.segmented button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.compact-list{gap:var(--space-2)}.compact-list .meal-card{padding:var(--space-2) var(--space-3);gap:0}.compact-list .meal-card-detail{display:none}.compact-list .meal-type-badge{width:28px;height:28px}.compact-list .meal-type-badge svg{width:15px;height:15px}.compact-list .meal-card .btn-icon{width:36px;height:36px}.insight-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=720px){.insight-grid{grid-template-columns:repeat(4,1fr)}}.insight-tile{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-tint);border:1px solid var(--border-hairline);transition:transform var(--motion-normal) var(--motion-spring), box-shadow var(--motion-normal) var(--motion-ease);flex-direction:column;gap:2px;display:flex}.insight-tile:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.insight-tile.good{border-left:3px solid var(--color-success)}.insight-tile.warn{border-left:3px solid var(--color-caution)}.confidence-badge{align-items:center;gap:6px;font-weight:600;display:inline-flex}.confidence-dots{gap:3px;display:inline-flex}.confidence-dots i{background:var(--color-border-strong);border-radius:50%;width:6px;height:6px}.confidence-badge.high{color:var(--color-success)}.confidence-badge.high .confidence-dots i{background:var(--color-success)}.confidence-badge.medium{color:var(--color-caution)}.confidence-badge.medium .confidence-dots i:nth-child(-n+2){background:var(--color-caution)}.confidence-badge.low{color:var(--color-danger)}.confidence-badge.low .confidence-dots i:first-child{background:var(--color-danger)}.page-header .page-title{view-transition-name:page-title}::view-transition-old(root){animation:.16s var(--motion-ease) both fade-out}::view-transition-new(root){animation:.26s var(--ease-out-expo) both vt-in}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}::view-transition-group(page-title){animation-duration:.32s;animation-timing-function:var(--ease-out-expo)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}body{font-feature-settings:"cv11", "ss01", "calt", "kern";font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{text-wrap:balance}.page-title,.brand,.num-display,.login-card .page-title{font-family:var(--font-display);font-optical-sizing:auto;font-variation-settings:"opsz" 72}.page-title{letter-spacing:-.025em;font-size:clamp(30px,4.2vw,40px);font-weight:600;line-height:1.08}.page-title.num-display,.card .page-title{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600}.page-subtitle{font-size:var(--text-md);letter-spacing:.005em;margin-top:var(--space-2)}.brand{letter-spacing:-.02em;font-size:22px;font-weight:650}.num-display{letter-spacing:-.02em;font-size:26px;font-weight:600}.page-title.num-display,.num-display.big{font-size:var(--text-3xl)}.card-title{letter-spacing:-.012em;font-weight:650}.field-label{letter-spacing:.01em}.meals-section h3{letter-spacing:.09em;font-size:11px}.btn,.nav-link,.bottom-nav-link,.favorite-chip{letter-spacing:.005em}.page-title{animation:title-in .8s var(--ease-out-expo) backwards}@keyframes title-in{0%{opacity:0;filter:blur(8px);letter-spacing:.02em;transform:translateY(.35em)}to{opacity:1;filter:blur();transform:none}}body:before{will-change:transform;animation:38s ease-in-out infinite alternate aurora;inset:-12%}@keyframes aurora{0%{transform:translate(-2%,-1%)scale(1)}50%{transform:translate(2%,2%)scale(1.06)}to{transform:translate(-1%,3%)rotate(1.5deg)scale(1.03)}}.sidebar{background:linear-gradient(180deg, var(--surface-glass-strong), var(--surface-glass));-webkit-backdrop-filter:blur(22px)saturate(150%)}.card{box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff12, 0 0 0 .5px color-mix(in srgb, var(--color-text) 4%, transparent)}.card:before,.insight-tile:before{content:"";border-radius:inherit;background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--color-accent) 13%, transparent), transparent 70%);opacity:0;transition:opacity var(--motion-slow) var(--motion-ease);pointer-events:none;z-index:-1;position:absolute;inset:0}.insight-tile{isolation:isolate;position:relative;overflow:hidden}@media (hover:hover){.card:hover:before,.insight-tile:hover:before{opacity:1}}.sidebar-nav{position:relative}.nav-slider{z-index:0;border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent-soft), color-mix(in srgb, var(--color-accent-soft) 60%, var(--color-surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 22%, transparent), 0 6px 16px -10px var(--accent-glow);transition:transform .52s var(--ease-out-expo), width .52s var(--ease-out-expo), height .52s var(--ease-out-expo);pointer-events:none;position:absolute;top:0;left:0}.sidebar-nav .nav-link{z-index:1}.sidebar-nav .nav-link.active{box-shadow:none;background:0 0}.sidebar-nav .nav-link.active:before{display:none}.nav-slider-bottom{border-radius:0 0 var(--radius-pill) var(--radius-pill);background:var(--gradient-accent);width:36px;height:3px;box-shadow:0 4px 12px var(--accent-glow);transition:transform .52s var(--ease-out-expo);pointer-events:none;position:absolute;top:0;left:0}.bottom-nav-link.active:before{display:none}.meter-fill,.budget-bar-fill{transform-origin:0;animation:grow-x 1.1s var(--ease-out-expo) both}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.favorite-chip:hover,.btn-secondary:hover{box-shadow:var(--shadow-sm)}.btn-secondary:hover{transform:translateY(-1px)}.field-label{transition:color var(--motion-fast) var(--motion-ease), transform var(--motion-normal) var(--motion-ease)}.field:focus-within .field-label{transform:translate(2px)}.input[type=checkbox],input[type=checkbox]:not(.switch){accent-color:var(--color-accent);cursor:pointer;width:18px;height:18px}.brand{background:linear-gradient(100deg, var(--color-text) 40%, var(--color-accent-strong) 50%, var(--color-text) 60%);color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out 1.2s infinite brand-shine}@keyframes brand-shine{0%,60%,to{background-position:100% 0}85%{background-position:0 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.ripple{display:none}}#main-content:focus,#main-content:focus-visible{outline:none}.pace-badge{font-size:var(--text-xs);border-radius:var(--radius-pill);border:1px solid #0000;padding:3px 10px;font-weight:700}.pace-badge.good{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, transparent);border-color:color-mix(in srgb, var(--color-success) 30%, transparent)}.pace-badge.warn{color:var(--color-caution);background:color-mix(in srgb, var(--color-caution) 12%, transparent);border-color:color-mix(in srgb, var(--color-caution) 30%, transparent)}.pace-badge.bad{color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 12%, transparent);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent)}@media print{.sidebar,.bottom-nav,.sticky-add-button,.no-print,.skip-link,.more-backdrop,.speed-dial-backdrop,.toast{display:none!important}body:before{display:none}html,body,#root{color:#000;background:#fff;height:auto}.app-main{padding:0}.content-column{max-width:none}.card{box-shadow:none;break-inside:avoid;background:#fff;border:1px solid #ccc}.card:before,.card:after{display:none}.page-title{-webkit-text-fill-color:#000;color:#000;background:0 0;animation:none}.page-enter>*,.card-grid>*{animation:none!important}*{transition:none!important}}.theme-icon{flex-shrink:0;width:20px;height:20px;display:inline-flex;position:relative}.theme-icon svg{transition:transform .5s var(--ease-out-expo), opacity .3s var(--motion-ease);position:absolute;inset:0;width:100%!important;height:100%!important}.theme-moon{opacity:1;color:var(--color-fiber);transform:rotate(0)scale(1)}.theme-sun{opacity:0;color:var(--color-caution);transform:rotate(-90deg)scale(.4)}.theme-icon.is-dark .theme-moon{opacity:0;transform:rotate(90deg)scale(.4)}.theme-icon.is-dark .theme-sun{opacity:1;transform:rotate(0)scale(1)}.more-tile .theme-icon{width:24px;height:24px}.theme-toggle:hover .theme-icon{transform:rotate(12deg)}.theme-icon{transition:transform var(--motion-normal) var(--motion-spring)}.session-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--color-bg-tint);flex-wrap:wrap;display:flex}.suggestion-list,.grocery-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.suggestion-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--color-bg-tint);transition:transform var(--motion-normal) var(--motion-spring), box-shadow var(--motion-normal) var(--motion-ease);display:flex}.suggestion-row:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.suggestion-text{flex-direction:column;gap:2px;min-width:0;display:flex}.suggestion-text strong{overflow-wrap:anywhere}.suggestion-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-strong);font-size:11px;font-weight:700}.grocery-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer;border-bottom:1px solid var(--border-hairline);min-height:44px;display:flex}.grocery-name{overflow-wrap:anywhere;min-width:0;transition:opacity var(--motion-normal) var(--motion-ease);flex:1}.grocery-qty{font-size:var(--text-sm);color:var(--color-text-muted);text-align:right}.grocery-row.done .grocery-name{opacity:.5;text-decoration:line-through}.grocery-row input{accent-color:var(--color-accent);flex-shrink:0;width:20px;height:20px}.wizard-steps{gap:var(--space-2);margin:0 0 var(--space-2);padding:0;list-style:none;display:flex}.wizard-steps li{border-radius:var(--radius-pill);background:var(--color-border);height:4px;transition:background var(--motion-normal) var(--motion-ease);flex:1}.wizard-steps li.done,.wizard-steps li.current{background:var(--gradient-accent)}.wizard-steps li.current{box-shadow:0 0 10px var(--accent-glow)}.wizard-plan{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.wizard-plan>div{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-tint);border:1px solid var(--border-hairline);flex-direction:column;gap:2px;display:flex}.level-card{position:relative;overflow:hidden}.level-card:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--color-fiber) 22%, transparent), transparent 70%);pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;inset:auto -40px -60px auto}.level-ring{filter:drop-shadow(0 4px 12px var(--accent-glow));flex-shrink:0}.quest-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.quest-chip{border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:var(--color-bg-tint);color:var(--color-text-muted);font-size:var(--text-xs);transition:background var(--motion-normal) var(--motion-ease), color var(--motion-normal) var(--motion-ease), transform var(--motion-normal) var(--motion-spring);align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.quest-chip.done{background:var(--color-accent-soft);color:var(--color-accent-strong);border-color:color-mix(in srgb, var(--color-accent) 35%, transparent)}.stat-pill{border-radius:var(--radius-pill);background:var(--color-bg-tint);border:1px solid var(--border-hairline);font-size:var(--text-sm);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.quest-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.quest-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-hairline);min-height:40px;display:flex}.quest-check{border:2px solid var(--color-border-strong);color:#fff;width:22px;height:22px;transition:background var(--motion-normal) var(--motion-ease), border-color var(--motion-normal) var(--motion-ease), transform var(--motion-normal) var(--motion-spring);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.quest-row.done .quest-check{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.08)}.quest-label{flex:1;min-width:0}.quest-row.done .quest-label{color:var(--color-text-muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--color-text-muted) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--color-text-muted) 50%, transparent)}.quest-xp{font-size:var(--text-xs);color:var(--color-accent-strong);font-weight:700}.badge-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.badge-card{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--color-surface);transition:transform var(--motion-normal) var(--motion-spring), box-shadow var(--motion-normal) var(--motion-ease);align-items:flex-start;display:flex}.badge-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.badge-medal{background:var(--color-bg-tint);border:2px solid var(--color-border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:inline-flex}.badge-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.badge-name{font-weight:700}.badge-state{letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.badge-progress{align-items:center;gap:var(--space-2);margin-top:4px;display:flex}.badge-progress .meter-track{flex:1;height:6px;display:block}.badge-progress .meter-fill{display:block}.badge-card.locked .badge-medal{filter:grayscale();opacity:.55}.badge-card.earned.tier-bronze .badge-medal{background:color-mix(in srgb, #b87333 18%, var(--color-surface));border-color:#b87333}.badge-card.earned.tier-silver .badge-medal{background:color-mix(in srgb, #9aa5b1 20%, var(--color-surface));border-color:#9aa5b1}.badge-card.earned.tier-gold .badge-medal{background:color-mix(in srgb, #d9a21b 22%, var(--color-surface));border-color:#d9a21b;animation:3.2s ease-in-out infinite medal-glow;box-shadow:0 0 0 4px #d9a21b2e,0 6px 16px -6px #d9a21b}.badge-card.earned.tier-bronze .badge-state{color:#9a5b22}.badge-card.earned.tier-silver .badge-state{color:#5b6672}.badge-card.earned.tier-gold .badge-state{color:#8a6500}:root[data-theme=dark] .badge-card.earned.tier-bronze .badge-state,:root[data-theme=dark] .badge-card.earned.tier-silver .badge-state,:root[data-theme=dark] .badge-card.earned.tier-gold .badge-state{color:var(--color-text-muted)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge-card.earned .badge-state{color:var(--color-text-muted)}}.badge-card.earned .badge-medal{animation:medal-pop .6s var(--motion-spring) backwards}@keyframes medal-pop{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes medal-glow{0%,to{box-shadow:0 0 0 4px #d9a21b2e,0 6px 16px -6px #d9a21b}50%{box-shadow:0 0 0 7px #d9a21b1a,0 8px 20px -6px #d9a21b}}.session-row>span{overflow-wrap:anywhere;min-width:0}.session-row>span:first-child{flex-basis:100%}.task-shortcuts,.tool-action-bar{gap:var(--space-2);flex-wrap:wrap;display:flex}.tool-action-bar{padding:var(--space-3) 0}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%}.table-scroll th,.table-scroll td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border);overflow-wrap:anywhere}.journey-actions{gap:var(--space-3);padding-left:var(--space-5);display:grid}.nutrition-provenance{font-size:var(--text-sm);overflow-wrap:anywhere;max-width:100%}.nutrition-provenance summary{cursor:pointer;color:var(--color-text-muted)}.editor-dirty{color:var(--color-text-muted)}.compact-toggle{align-items:center;gap:var(--space-2);margin:var(--space-2) 0;display:inline-flex}.today-screen.compact{gap:var(--space-3)}.today-screen.compact .card,.today-screen.compact .meal-card{padding:var(--space-3)}.today-screen.compact .page-header{margin-bottom:var(--space-2)}.assistant-field:has(input:invalid:not(:placeholder-shown)) input:focus{outline-color:var(--color-danger)}@media (width<=600px){.tool-action-bar{bottom:calc(80px + env(safe-area-inset-bottom));z-index:4;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:var(--shadow-sm);position:sticky}.tool-action-bar .btn{flex:140px}.task-shortcuts .btn{text-align:left;white-space:normal;flex:100%}.tool-card-grid>*,.card.stack{min-width:0}.tool-card-grid p{overflow-wrap:anywhere}}.field-error{color:var(--color-danger);font-size:var(--text-sm)}@media (width<=600px){.food-assistant fieldset>.btn-primary{width:100%;margin-top:var(--space-2)}}.assistant-field>label{display:block}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;font-variant-numeric:tabular-nums}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);margin:0;position:relative}body:before{content:"";z-index:-1;background:radial-gradient(1100px 560px at 12% -8%, var(--color-accent-soft), transparent 55%), radial-gradient(900px 500px at 100% 0%, var(--color-bg-tint), transparent 60%), var(--color-bg);position:fixed;inset:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:var(--tracking-tight)}button{font-family:inherit}a{color:inherit}::selection{background:var(--color-accent-soft);color:var(--color-accent-strong)}.app-shell{min-height:100%;display:flex}.app-main{min-width:0;padding:var(--space-5) var(--space-4) calc(var(--nav-height) + var(--space-7));flex:1}@media (width>=960px){.app-main{padding:var(--space-7) var(--space-7) var(--space-8)}}.content-column{max-width:var(--content-max-width);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.sidebar{display:none}@media (width>=960px){.sidebar{width:var(--sidebar-width);padding:var(--space-6) var(--space-4);border-right:1px solid var(--border-hairline);gap:var(--space-6);flex-direction:column;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0}}.brand{align-items:center;gap:var(--space-2);padding:0 var(--space-2);font-weight:800;font-size:var(--text-lg);letter-spacing:var(--tracking-tight);color:var(--color-text);display:flex}.brand svg{color:var(--color-accent);filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--color-accent) 35%, transparent))}.sidebar-nav{gap:var(--space-1);flex-direction:column;display:flex}.nav-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);text-align:left;background:0 0;border:none;width:100%;min-height:44px;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-link svg{width:20px;height:20px;transition:transform var(--motion-fast) var(--motion-spring);flex-shrink:0}.nav-link:hover{background:var(--color-surface);color:var(--color-text)}.nav-link:hover svg{transform:translateY(-1px)}.nav-link.active{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:700}.nav-link.active:before{content:"";border-radius:var(--radius-pill);background:var(--gradient-accent);width:3px;position:absolute;top:20%;bottom:20%;left:-1px}.bottom-nav{background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(20px)saturate(160%);border-top:1px solid var(--border-hairline);padding-bottom:env(safe-area-inset-bottom);z-index:40;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1018150d}@media (width>=960px){.bottom-nav{display:none}}.bottom-nav-link{padding:var(--space-2) var(--space-2);min-width:56px;min-height:56px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex}.bottom-nav-link svg{width:22px;height:22px;transition:transform var(--motion-fast) var(--motion-spring)}.bottom-nav-link.active{color:var(--color-accent-strong)}.bottom-nav-link.active svg{transform:translateY(-1px)scale(1.08)}.sticky-add-button{right:var(--space-4);bottom:calc(var(--nav-height) + var(--space-4) + env(safe-area-inset-bottom));z-index:41;border-radius:var(--radius-pill);background:var(--gradient-accent);color:var(--color-accent-contrast);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-5);align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-sm);cursor:pointer;min-height:48px;transition:transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);border:none;display:inline-flex;position:fixed}.sticky-add-button:active{transform:scale(.96)}@media (width>=960px){.sticky-add-button{display:none}}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-title{font-size:var(--text-2xl);letter-spacing:var(--tracking-tighter);font-weight:800}.page-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.card{background:var(--color-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);transition:box-shadow var(--motion-normal) var(--motion-ease), transform var(--motion-normal) var(--motion-ease)}.card-title{font-size:var(--text-md);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-4);font-weight:700}.card-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=720px){.card-grid.cols-2{grid-template-columns:1fr 1fr}}@media (width>=1024px){.card-grid.cols-3{grid-template-columns:repeat(3,1fr)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);min-height:44px;padding:0 var(--space-4);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);border:1px solid #0000;display:inline-flex}.btn:active{transform:scale(.98)}.btn:focus-visible{box-shadow:var(--focus-ring-glow);outline:none}.btn-primary{background:var(--gradient-accent);color:var(--color-accent-contrast);box-shadow:var(--shadow-xs)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(var(--lift-sm))}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-bg-tint);border-color:var(--color-text-faint)}.btn-ghost{color:var(--color-text-muted);background:0 0}.btn-sm{min-height:32px;padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-ghost:hover{background:var(--color-bg-tint);color:var(--color-text)}.btn-danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.btn-danger:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent)}.btn-block{width:100%}.btn-icon{width:44px;height:44px;padding:0}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.field-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.input,.select,.textarea{padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);width:100%;min-height:44px;transition:border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);font-family:inherit;font-size:16px}.textarea{resize:vertical;min-height:88px}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring-glow);outline:none}.form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-bg-tint) 37%, var(--color-border) 63%);border-radius:var(--radius-md);background-size:400% 100%;animation:1.4s infinite skeleton-shimmer}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.empty-state{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);color:var(--color-text-muted);flex-direction:column;display:flex}.empty-state svg{width:40px;height:40px;color:var(--color-text-faint)}.banner{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border:1px solid var(--color-border);background:var(--color-bg-tint);color:var(--color-text-muted)}.banner.warning{border-color:color-mix(in srgb, var(--color-caution) 40%, var(--color-border));background:color-mix(in srgb, var(--color-caution) 10%, var(--color-surface));color:var(--color-text)}.banner.danger{border-color:color-mix(in srgb, var(--color-danger) 40%, var(--color-border));background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface));color:var(--color-text)}.meal-card{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:box-shadow var(--motion-normal) var(--motion-ease), transform var(--motion-normal) var(--motion-ease), border-color var(--motion-normal) var(--motion-ease);flex-direction:column;display:flex}.meal-card:hover{box-shadow:var(--shadow-md);transform:translateY(var(--lift-sm));border-color:var(--color-border-strong)}.meal-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.meal-card-name{font-weight:700;font-size:var(--text-md)}.meal-card-meta{font-size:var(--text-xs);color:var(--color-text-faint)}.meal-card-actions{gap:var(--space-1);display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(3px);z-index:60;animation:backdrop-in var(--motion-normal) var(--motion-ease);background:#0a0f0d70;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=720px){.modal-backdrop{align-items:center}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-sheet{background:var(--color-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:90dvh;padding:var(--space-5);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:sheet-in var(--motion-normal) var(--motion-ease);overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-sheet{animation:none}}@media (width>=720px){.modal-sheet{border-radius:var(--radius-xl)}}.stack{gap:var(--space-3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{top:-100px;left:var(--space-3);z-index:1000;background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-md);font-weight:600;text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-3)}@media (prefers-reduced-motion:no-preference){.card,.btn,.nav-link{transition-duration:var(--motion-fast)}}.toast{left:50%;bottom:calc(var(--nav-height) + var(--space-4) + env(safe-area-inset-bottom));z-index:70;align-items:center;gap:var(--space-3);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);max-width:calc(100vw - var(--space-6));font-size:var(--text-sm);animation:toast-in var(--motion-normal) var(--motion-ease);display:flex;position:fixed;transform:translate(-50%)}@media (width>=960px){.toast{bottom:var(--space-6)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.toast-message{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.toast-action{min-height:44px;color:var(--color-accent-soft,#9fd8b8);cursor:pointer;padding:var(--space-1) var(--space-2);background:0 0;border:none;flex-shrink:0;font-weight:700}.toast-close{min-width:44px;min-height:44px;color:inherit;opacity:.6;cursor:pointer;padding:var(--space-1);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-close:hover{opacity:1}.meal-plan-table{border-collapse:collapse;width:100%;min-width:640px}.meal-plan-table th,.meal-plan-table td{padding:var(--space-2);text-align:center;vertical-align:middle}.meal-plan-table thead th{font-size:var(--text-xs);color:var(--color-text-muted);border-bottom:1px solid var(--border-hairline);font-weight:600}.meal-plan-table tbody th{font-size:var(--text-sm);text-align:left;white-space:nowrap;padding-right:var(--space-3);font-weight:600}.meal-plan-table tbody tr+tr th,.meal-plan-table tbody tr+tr td{border-top:1px solid var(--border-hairline)}.meal-plan-table select{width:100%}.streak-badge{margin-top:var(--space-1);padding:3px var(--space-2) 3px 7px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-text);font-size:var(--text-xs);letter-spacing:var(--tracking-tight);box-shadow:var(--shadow-xs);align-items:center;gap:5px;font-weight:600;display:inline-flex}.streak-badge svg{color:var(--color-accent-strong)}.pill-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.mini-entry-row{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);display:flex}.mini-remove-btn{border-radius:var(--radius-sm);width:26px;height:26px;min-height:26px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mini-remove-btn:hover{background:var(--color-bg-tint);color:var(--color-danger)}.meter-track{background:var(--chart-grid);border-radius:999px;height:8px;overflow:hidden}.meter-fill{height:100%;transition:width var(--motion-normal) var(--motion-ease)}.favorites-strip{gap:var(--space-3);padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.favorite-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:var(--color-surface);box-shadow:var(--shadow-xs);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;min-height:44px;transition:border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);flex:none;font-weight:600;display:flex}.favorite-chip:hover{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:var(--shadow-sm);transform:translateY(var(--lift-sm))}.favorite-chip:disabled{opacity:.6;cursor:default}.favorite-chip svg{color:var(--color-caution,#d9a441);flex-shrink:0}.favorite-chip .favorite-chip-meta{color:var(--color-text-faint);font-weight:500}.net-calories-row{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-tint);justify-content:space-between;align-items:baseline;display:flex}.ai-provider-option{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex}.ai-provider-option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.ai-provider-option input{margin-top:3px}.budget-bar{border-radius:var(--radius-pill);background:var(--color-bg-tint);height:8px;overflow:hidden}.budget-bar-fill{background:var(--color-accent);border-radius:var(--radius-pill);height:100%}.budget-bar-fill.warn{background:var(--color-danger)}.barcode-video{object-fit:cover;border-radius:var(--radius-md);background:#000;width:100%;max-height:320px}.recipe-ingredient{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.recipe-ingredient-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(92px,1fr));display:grid}.recipe-ingredient-grid .input{min-height:38px;padding:var(--space-2)}.coaching-tips{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}:root{--rail-width:88px}.sidebar>*{flex-shrink:0}@media (width>=600px){.bottom-nav,.sticky-add-button,.more-backdrop,.speed-dial-backdrop{display:none!important}.toast{bottom:var(--space-6)}.sidebar{width:var(--rail-width);padding:var(--space-5) var(--space-2) var(--space-4);padding-left:calc(var(--space-2) + env(safe-area-inset-left));border-right:1px solid var(--border-hairline);align-items:stretch;gap:var(--space-4);overscroll-behavior:contain;flex-direction:column;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.brand{justify-content:center;padding:0}.brand-text,.sidebar-add-text{display:none}.sidebar-add{border-radius:var(--radius-lg);background:var(--gradient-accent);width:52px;height:52px;color:var(--color-accent-contrast);box-shadow:var(--shadow-md), 0 8px 18px -8px var(--accent-glow);cursor:pointer;transition:transform var(--motion-fast) var(--motion-spring), box-shadow var(--motion-fast) var(--motion-ease);border:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}.sidebar-add:active{transform:scale(.94)}.sidebar .nav-link{text-align:center;flex-direction:column;justify-content:center;gap:4px;min-height:60px;padding:10px 2px;font-size:11px;line-height:1.2}.sidebar .nav-link svg{width:22px;height:22px}.sidebar-nav{gap:var(--space-1)}.app-main{padding:var(--space-6) var(--space-6) var(--space-8);padding-right:calc(var(--space-6) + env(safe-area-inset-right))}}@media (width>=960px){.sidebar{width:var(--sidebar-width);padding:var(--space-6) var(--space-4);padding-left:calc(var(--space-4) + env(safe-area-inset-left));gap:var(--space-5)}.brand{padding:0 var(--space-2);justify-content:flex-start}.brand-text{display:inline}.sidebar-add{align-self:stretch;gap:var(--space-2);width:auto;height:48px;font-weight:700;font-size:var(--text-sm);letter-spacing:.005em}.sidebar-add-text{display:inline}.sidebar .nav-link{justify-content:flex-start;gap:var(--space-3);padding:var(--space-3);min-height:44px;font-size:var(--text-sm);text-align:left;flex-direction:row}.sidebar .nav-link svg{width:20px;height:20px}.app-main{padding:var(--space-7) var(--space-7) var(--space-8);padding-right:calc(var(--space-7) + env(safe-area-inset-right))}}@media (width>=1440px){:root{--content-max-width:1320px;--sidebar-width:264px}}@media (width>=1920px){:root{--content-max-width:1480px}.app-main{padding-top:var(--space-8)}}@media (width>=720px) and (width<=1099px){.card-grid.cols-3{grid-template-columns:repeat(2,1fr)}.card-grid.cols-3>:last-child:nth-child(odd){grid-column:1/-1}}@media (width>=480px){.card .card-grid.cols-3{grid-template-columns:repeat(3,1fr)}.card .card-grid.cols-3>:last-child:nth-child(odd){grid-column:auto}}@media (width>=1100px){.card-grid.cols-3{grid-template-columns:repeat(3,1fr)}}@media (width<=599px){.sticky-add-button{width:56px;height:56px;min-height:56px;right:calc(var(--space-4) + env(safe-area-inset-right));justify-content:center;padding:0}.fab-text{display:none}.page-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid!important}.page-actions .btn{width:100%;padding:0 var(--space-2);white-space:nowrap;gap:6px}.page-header{gap:var(--space-3)}.page-header>.btn,.page-header>select{align-self:flex-start}}@media (width>=600px){.fab-text{display:inline}}.favorite-chip{max-width:100%}.pill-row .favorite-chip{white-space:normal;text-align:left;height:auto}.favorites-strip .favorite-chip{white-space:nowrap}@media (pointer:coarse){.btn,.btn-sm,.segmented button,.nav-link,.favorite-chip,.more-tile{min-height:44px}.btn-sm{padding:0 var(--space-4);font-size:var(--text-sm)}.segmented{min-height:50px}.segmented button{min-height:44px;padding:0 var(--space-4)}.mini-remove-btn,.mini-remove-btn:after,.swatch{position:relative}.mini-remove-btn:after{content:"";position:absolute;inset:-10px}.swatch:after{content:"";border-radius:50%;position:absolute;inset:-5px}.ai-provider-option,.switch-row,.checkbox-row{min-height:48px}input[type=checkbox]:not(.switch),input[type=radio]{width:22px;height:22px}.row-between>button[class=""],button.row-between{min-height:44px}}@media (hover:none){.btn:hover,.card:hover,.meal-card:hover,.favorite-chip:hover,.insight-tile:hover,.nav-link:hover,.btn-primary:hover,.btn-secondary:hover,.swatch:hover,.more-tile:hover{transform:none}}@media (height<=500px) and (orientation:landscape){.app-main{padding-top:var(--space-4);padding-bottom:var(--space-5)}.content-column{gap:var(--space-4)}.page-title{font-size:28px}.sidebar{padding-top:var(--space-3);gap:var(--space-2)}.sidebar .nav-link{min-height:52px;padding-block:6px}}.app-shell{padding-left:0}@media (width<=599px){.app-main{padding-left:calc(var(--space-4) + env(safe-area-inset-left));padding-right:calc(var(--space-4) + env(safe-area-inset-right))}}@media (width>=600px){.page-actions .page-add{display:none}}.tool-card-grid,.comparison-grid{gap:var(--space-3,12px);grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));display:grid}.tool-tile{text-align:start;background:var(--color-surface);color:var(--color-text);border:1px solid var(--border-hairline);border-radius:var(--radius-md,12px);overflow-wrap:anywhere;cursor:pointer;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:16px;display:flex}.tool-tile:hover,.tool-tile[aria-pressed=true]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.tool-tile span{opacity:.8;font-size:.85rem}.tool-discovery{margin-block:20px}.quick-tools,.workflow-trail,.review-steps,.source-badges{flex-wrap:wrap;gap:8px;display:flex}.workflow-trail{margin-block:12px}.workflow-step{border:1px solid var(--border-hairline);border-radius:999px;align-items:center;gap:6px;padding:8px 12px;text-decoration:none;display:inline-flex}.workflow-step span{opacity:.6;font-size:.8em}.household-context{border-bottom:1px solid var(--border-hairline);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:10px 0;font-size:.85rem;display:flex}.household-context label{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.household-context .select{width:auto;max-width:150px}.household-context details ul{padding-inline-start:20px}.review-steps{margin-block:14px;padding:0;list-style:none}.review-steps li{border:1px solid var(--border-hairline);border-radius:999px;padding:6px 12px}.review-steps [aria-current=step]{border-color:var(--color-accent);font-weight:700}.review-summary,.next-meal{border:1px solid var(--border-hairline);overflow-wrap:anywhere;border-radius:12px;margin-block:12px;padding:12px}.source-badge{border:1px solid var(--border-hairline);border-radius:999px;margin-block:4px;padding:3px 8px;font-size:.75rem;display:inline-flex}.nutrition-details{margin-block:16px}.nutrition-details>summary{cursor:pointer;padding:12px;font-weight:600}.example-code{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:.8rem}.choice-grid{flex-wrap:wrap;gap:12px;display:flex}html[lang=ta]{--font-display:"Noto Sans Tamil","Nirmala UI","Latha",sans-serif;--font-sans:"Noto Sans Tamil","Nirmala UI","Latha",sans-serif}html[lang=ta] body{font-family:Noto Sans Tamil,Nirmala UI,Latha,sans-serif;line-height:1.75}html[lang=ta] button,html[lang=ta] .btn{white-space:normal;line-height:1.6}html[lang=ta] h1,html[lang=ta] h2,html[lang=ta] h3{line-height:1.5}@media (width<=600px){.mobile-primary{width:100%;min-height:48px;margin-block:16px}.household-context label{margin-inline-start:0}.workflow-step{padding:8px;font-size:.85rem}.review-steps{font-size:.85rem}}.secondary-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-surface)}.secondary-section>summary{cursor:pointer;padding-block:var(--space-2);font-weight:650}.secondary-section[open]>summary{margin-bottom:var(--space-4)}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.save-actions{bottom:calc(var(--bottom-nav-height,70px) + env(safe-area-inset-bottom,0px));z-index:2;gap:var(--space-2);background:var(--color-surface);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex;position:sticky}.status-feedback{align-items:baseline;gap:var(--space-2);border-inline-start:3px solid var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-sm);padding:var(--space-3);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.status-feedback.error,.status-feedback.review{border-color:var(--color-caution);background:var(--color-surface)}.status-feedback.device{border-color:var(--color-text-muted);background:var(--color-surface)}.undo-bar{bottom:calc(var(--bottom-nav-height,70px) + env(safe-area-inset-bottom,0px));z-index:3;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-wrap:wrap;display:flex;position:sticky}.tool-picker{position:relative}.tool-picker-heading{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tool-picker-heading label{font-weight:650}.tool-picker-results{margin-top:var(--space-3)}.tool-picker-filters{gap:var(--space-1);margin-block:var(--space-2);flex-wrap:wrap;display:flex}.tool-picker-filters button[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent)}.tool-picker-list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:18rem;overflow-y:auto}.tool-picker-option{justify-content:space-between;gap:var(--space-2);padding:var(--space-3);cursor:pointer;border-bottom:1px solid var(--color-border);flex-wrap:wrap;min-height:44px;display:flex}.tool-picker-option span{color:var(--color-text-muted);font-size:var(--text-sm)}.tool-picker-option.active,.tool-picker-option[aria-selected=true]{background:var(--color-accent-soft)}.today-next-meal{gap:var(--space-3);padding-block:var(--space-3);display:grid}.today-next-meal h3,.today-next-meal p{margin:0}.today-next-meal>button{justify-self:start}.chart-inspector{gap:var(--space-2);margin-top:var(--space-3);text-align:start;display:grid}.card .field-error{color:var(--color-danger);font-size:var(--text-sm)}@media (width<=640px){.card :is(input.input,select.select,textarea.input){font-size:max(16px,1em)}.card .save-actions>.btn{flex:10rem}.tool-picker-heading{align-items:start}}@media (prefers-reduced-motion:no-preference){.tool-picker-results{animation:.12s ease-out fade-in}}.food-assistant :is(fieldset>.btn-primary,.form-actions:has(.btn-primary)){bottom:calc(var(--bottom-nav-height,70px) + env(safe-area-inset-bottom,0px));z-index:2;box-shadow:0 0 0 5px var(--color-surface);position:sticky}html[data-large-targets=true] .tool-picker-option{min-height:56px;padding-block:var(--space-4)}.field-help{color:var(--color-text-muted);font-size:var(--text-sm);margin:.35rem 0 0}.navigation-pin,.correction-target,.check-row{align-items:flex-start;gap:.75rem;padding:.65rem 0;display:flex}.navigation-pin input,.correction-target input,.check-row input{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem}.correction-target{border-bottom:1px solid var(--color-border);min-height:44px}.workflow-skeleton{gap:.75rem;min-height:9rem;padding:1rem 0;display:grid}.workflow-skeleton span{border-radius:var(--radius-md);background:var(--color-border);height:1.25rem;animation:1.4s ease-in-out infinite alternate workflow-loading}.workflow-skeleton span:nth-child(2){width:75%}.workflow-skeleton span:nth-child(3){width:55%}@keyframes workflow-loading{to{opacity:.4}}.mobile-portion-button{display:none}@media (width<=600px){.mobile-portion-button{margin-bottom:.75rem;display:inline-flex}.modal-sheet{max-height:calc(100dvh - 1rem);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom))}.modal-sheet:before{content:"";background:var(--color-border);border-radius:1rem;width:2.5rem;height:.25rem;margin:0 auto 1rem;display:block}.modal-sheet .save-actions{padding-bottom:env(safe-area-inset-bottom);bottom:0}}@media (prefers-reduced-motion:reduce){.workflow-skeleton span{animation:none}}.modal-sheet .save-actions{margin-top:var(--space-3);position:static}.comparison-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));display:grid}.tool-start{margin-block:var(--space-3)}.receipt-review-summary{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-block:var(--space-3)}.tool-workspace input[type=number]{font-variant-numeric:tabular-nums}@media (width<=600px){.mobile-save-action{bottom:calc(5rem + env(safe-area-inset-bottom));z-index:2;width:100%;box-shadow:var(--shadow-md);position:sticky}.speed-dial{max-width:calc(100vw - 2rem);max-height:calc(100dvh - 8rem);overflow-y:auto}.tool-workspace .form-actions{gap:.75rem}.tool-workspace input,.tool-workspace select,.tool-workspace textarea{font-size:1rem}}.quick-add-actions{gap:var(--space-3);display:grid}.quick-add-actions .btn{justify-content:flex-start;min-height:48px}.transformation-journey{container-type:inline-size}.journey-next{border-radius:var(--radius-md,12px);background:var(--surface-muted,#14826414);padding:1rem}.journey-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.journey-metrics>div{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.journey-metrics strong{font-size:1.4rem}.journey-actions{flex-wrap:wrap;gap:.5rem;display:flex}.transformation-journey details{border-top:1px solid var(--border);padding-block:.8rem}.transformation-journey summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.transformation-journey label{gap:.4rem;display:grid}.transformation-journey label:has(input[type=checkbox]){align-items:center;display:flex}.transformation-journey input:not([type=checkbox]),.transformation-journey select,.transformation-journey textarea{width:100%;max-width:36rem}.transformation-journey .table-scroll{max-width:100%;overflow-x:auto}.transformation-journey table{border-collapse:collapse;width:100%}.transformation-journey th,.transformation-journey td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem}.transformation-journey fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.transformation-journey fieldset label{min-height:44px}.journey-priorities,.journey-milestones{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.journey-priorities article,.journey-milestones article{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.journey-insights details{padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}.journey-insights summary{cursor:pointer;min-height:44px;font-weight:600}.journey-insights progress{width:100%;accent-color:var(--color-accent)}.connected-journey{animation:.18s ease-out journey-enter}@keyframes journey-enter{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.connected-journey{animation:none}}.app-shell{--content-max-width:1240px}.workspace-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.workspace-heading{font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;gap:4px;display:flex}.ui-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--color-accent-strong);font-size:11px;font-weight:750;line-height:1.5;display:block}.navigation-search-trigger{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-height:46px;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:10px;padding:12px 14px;display:flex}.navigation-search-trigger kbd{font:inherit;border:1px solid var(--color-border);border-radius:5px;margin-left:12px;padding:2px 5px;font-size:11px}.navigation-search-trigger:hover{border-color:var(--color-accent);color:var(--color-text)}.navigation-search-dialog{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);width:min(640px,100% - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto}.navigation-search-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08141094}.navigation-search-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.navigation-search-heading h2{margin-top:6px;font-size:22px}.navigation-result-count,.navigation-search-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:12px 0}.navigation-results{gap:6px;display:grid}.navigation-result{text-align:left;width:100%;min-height:64px;color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:12px;display:flex}.navigation-result:hover,.navigation-result:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent)}.navigation-result>span:nth-child(2){flex:1;min-width:0}.navigation-result strong,.navigation-result small{overflow-wrap:anywhere;display:block}.navigation-result small{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px}.navigation-result-icon{background:var(--color-bg-tint);width:36px;height:36px;color:var(--color-accent-strong);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.navigation-result-icon svg{width:18px;height:18px}.navigation-empty{text-align:center;gap:12px;padding:28px 12px;display:grid}.navigation-search-hint{border-top:1px solid var(--color-border);margin-bottom:0;padding-top:16px}.tools-page-heading{padding-block:8px}.tools-page-heading .page-title{margin-top:8px}.feature-spotlight{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(140deg, var(--color-bg-tint), var(--color-surface));padding:24px}.feature-section-heading{cursor:pointer;justify-content:space-between;align-items:flex-end;gap:16px;list-style:none;display:flex}.feature-section-heading::-webkit-details-marker{display:none}.feature-spotlight[open] .feature-section-heading{margin-bottom:20px}.feature-section-title{margin-top:6px;font-size:22px;font-weight:650;display:block}.feature-section-note{color:var(--color-text-muted);font-size:var(--text-xs)}.feature-spotlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.feature-spotlight-card{text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;min-width:0;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;align-items:flex-start;gap:12px;padding:20px;display:flex}.feature-spotlight-card:hover,.feature-spotlight-card[aria-pressed=true]{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.feature-category{color:var(--color-accent-strong);background:var(--color-accent-soft);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700}.feature-spotlight-card strong{text-wrap:balance;font-size:16px;line-height:1.4}.feature-description{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.65}.feature-open{width:100%;font-size:var(--text-xs);color:var(--color-accent-strong);border-top:1px solid var(--color-border);justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;font-weight:650;display:flex}.food-assistant .tool-discovery{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin:0;padding:20px}.food-assistant .tool-discovery>summary{cursor:pointer;min-height:28px;font-weight:650}.food-assistant .tool-discovery[open]>summary{padding-bottom:16px}.food-assistant .tool-discovery h2,.food-assistant .tool-discovery h3{margin:16px 0 12px}.food-assistant .tool-finder{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;padding:20px;display:grid}.tool-finder>label{font-size:var(--text-sm);flex-direction:column;gap:8px;min-width:0;font-weight:600;display:flex}.food-assistant .tool-finder>label:has(input[type=checkbox]){flex-direction:row;align-items:center;margin:0;display:flex}.tool-finder>.btn{justify-self:end}.active-tool-heading{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:16px 0;display:flex}.active-tool-heading>.ui-eyebrow{flex-basis:100%}.active-tool-heading>strong{font-size:20px}.active-tool-status{color:var(--color-text-muted);font-size:var(--text-xs);border:1px solid var(--color-border);border-radius:var(--radius-pill);margin-left:auto;padding:5px 9px}.daily-launchpad{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-tint);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.daily-launchpad strong{font-size:var(--text-sm);margin-top:5px;display:block}.daily-launchpad-actions{flex-wrap:wrap;gap:8px;display:flex}.app-shell .brand{color:var(--color-text);background:0 0;animation:none}.app-shell .page-title{animation:none}.app-shell .card:hover{transform:none}.app-shell .card:before{display:none}.app-shell .sidebar{background:var(--color-surface);-webkit-backdrop-filter:none;overflow-y:auto}.app-shell .household-context{margin-bottom:0;padding:0 0 16px}@media (width>=960px){.app-shell .content-column{gap:20px}}@media (width<=1100px){.feature-spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-launchpad{flex-direction:column;align-items:flex-start}}@media (width<=600px){.workspace-header{flex-direction:column;align-items:stretch;gap:12px;padding-bottom:16px}.workspace-heading{flex-flow:wrap;justify-content:space-between;gap:8px}.navigation-search-trigger{width:100%}.navigation-search-trigger kbd{margin-left:auto}.feature-spotlight{padding:16px}.feature-section-heading{flex-direction:column;align-items:flex-start;gap:8px}.feature-section-title{font-size:20px}.feature-spotlight-grid{grid-template-columns:minmax(0,1fr)}.feature-spotlight-card{gap:10px;padding:16px}.food-assistant .tool-finder{grid-template-columns:minmax(0,1fr);padding:16px}.tool-finder>.btn{justify-self:stretch}.active-tool-status{margin-left:0}.daily-launchpad{padding:16px}.daily-launchpad-actions{width:100%}.daily-launchpad-actions .btn{flex:100%;justify-content:space-between}.navigation-search-dialog{border-radius:var(--radius-lg);padding:16px}.navigation-search-heading h2{font-size:18px}.navigation-search-heading .btn{padding:8px}}@media print{.workspace-header,.daily-launchpad,.navigation-search-dialog{display:none!important}}.everyday-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.everyday-form-grid .assistant-field{margin:0}.everyday-form-grid>.btn,.everyday-form-grid>.review-summary{grid-column:1/-1}.everyday-nutrition{font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;gap:8px 16px;padding-block:10px;display:flex}.everyday-nutrition strong{color:var(--color-text)}.everyday-record-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.meal-photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.meal-timeline-image{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);width:100%}.meal-photo-placeholder{aspect-ratio:4/3;background:var(--color-bg-tint);color:var(--color-text-muted);border-radius:var(--radius-md);font-size:var(--text-sm);place-items:center;display:grid}.meal-photo-card{min-width:0}.meal-photo-card>details>summary{cursor:pointer;padding:12px 0}.travel-task-list{gap:12px;padding:0;list-style:none;display:grid}.travel-task-list>li{border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) minmax(130px,180px) auto;align-items:center;gap:16px;padding:16px;display:grid}.travel-task-check{align-items:flex-start;gap:12px;display:flex!important}.travel-task-check input{flex-shrink:0}.travel-task-check small{color:var(--color-text-muted);margin-top:4px;display:block}.accessibility-preferences{border-top:1px solid var(--color-border);padding-top:20px}.accessibility-description{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:4px;display:block}:root[data-text-size=large]{--text-xs:14px;--text-sm:16px;--text-md:18px;--text-lg:21px;--text-xl:25px;--text-2xl:31px;--text-3xl:39px}:root[data-text-size=extra-large]{--text-xs:16px;--text-sm:18px;--text-md:20px;--text-lg:24px;--text-xl:28px;--text-2xl:34px;--text-3xl:42px}:root:not([data-text-size=standard]) .ui-eyebrow,:root:not([data-text-size=standard]) .feature-category{font-size:var(--text-xs)}:root:not([data-text-size=standard]) .feature-spotlight-card strong,:root:not([data-text-size=standard]) .navigation-search-trigger,:root:not([data-text-size=standard]) .navigation-result strong{font-size:var(--text-md)}:root[data-high-contrast=true]{--color-text:#111b16;--color-text-muted:#33463b;--color-text-faint:#33463b;--color-border:#738278;--color-border-strong:#53665a;--color-accent:#006b46;--color-accent-strong:#005636;--color-accent-contrast:#fff;--color-focus-ring:#005636}:root[data-theme=dark][data-high-contrast=true]{--color-text:#fff;--color-text-muted:#d5e7da;--color-text-faint:#d5e7da;--color-border:#83968a;--color-border-strong:#afc3b7;--color-accent:#69f0b5;--color-accent-strong:#a8ffdd;--color-accent-contrast:#042418;--color-focus-ring:#a8ffdd}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-high-contrast=true]{--color-text:#fff;--color-text-muted:#d5e7da;--color-text-faint:#d5e7da;--color-border:#83968a;--color-border-strong:#afc3b7;--color-accent:#69f0b5;--color-accent-strong:#a8ffdd;--color-accent-contrast:#042418;--color-focus-ring:#a8ffdd}}:root[data-high-contrast=true] :focus-visible{outline-offset:3px;outline-width:3px}:root[data-large-targets=true] .btn,:root[data-large-targets=true] .nav-link,:root[data-large-targets=true] .bottom-nav-link,:root[data-large-targets=true] .navigation-search-trigger,:root[data-large-targets=true] .input,:root[data-large-targets=true] .select,:root[data-large-targets=true] summary{min-height:56px}:root[data-large-targets=true] .btn,:root[data-large-targets=true] summary{padding-block:16px}:root[data-simple-ui=true] body:before{background:var(--color-bg);animation:none}:root[data-simple-ui=true] *,:root[data-simple-ui=true] :before,:root[data-simple-ui=true] :after{transition:none!important;animation:none!important}:root[data-simple-ui=true] .card{box-shadow:none}:root[data-simple-ui=true] .feature-spotlight{background:var(--color-surface)}@media (width<=600px){.everyday-form-grid{grid-template-columns:minmax(0,1fr)}.travel-task-list>li{grid-template-columns:minmax(0,1fr);gap:8px}.everyday-record-heading>*{overflow-wrap:anywhere}.food-assistant .everyday-form-grid{gap:16px;display:grid}.accessibility-preferences .switch-row{gap:12px}.accessibility-preferences .switch-row>span{min-width:0}}@media print{.meal-timeline-image{object-fit:contain;max-height:180px}.meal-photo-card details,.accessibility-preferences{display:none}}.app-shell .page-enter>*,.app-shell .card-grid>*{animation:none}.app-shell .content-column{gap:14px}.app-shell .workspace-header{gap:12px;padding-bottom:10px}.workspace-heading{gap:2px}.app-shell .household-context{gap:8px 14px;margin-bottom:6px;padding-block:8px}.household-context .select{min-height:40px;padding-block:7px}.today-screen{gap:18px}.today-screen .page-header{align-items:center;gap:16px}.today-screen .page-subtitle{margin-top:6px}.today-display-controls{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px;display:flex}.today-display-controls .compact-toggle{font-size:var(--text-sm);align-items:center;gap:7px;display:inline-flex}.today-display-controls .btn{min-height:40px;font-size:var(--text-sm);padding:8px 12px;text-decoration:none}.today-screen .daily-launchpad{border-radius:var(--radius-md);gap:12px;padding:12px 16px}.today-screen .daily-launchpad .ui-eyebrow{display:none}.today-screen .daily-launchpad strong{margin-top:0}.today-screen .daily-launchpad .btn{min-height:44px;font-size:var(--text-sm);padding:9px 12px}.today-at-a-glance{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.today-at-a-glance article{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);gap:6px;min-width:0;padding:18px;display:grid}.today-at-a-glance span{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.today-at-a-glance strong{font-variant-numeric:tabular-nums;font-size:clamp(22px,2vw,30px);line-height:1.25}.today-at-a-glance small{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:450}.daily-food-card{gap:14px;padding:20px}.daily-food-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.daily-food-heading .card-title{margin:0}.daily-food-heading p{font-size:var(--text-sm);color:var(--color-text-muted)}.daily-action-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;display:grid}.daily-action{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;flex-direction:column;gap:6px;min-height:70px;padding:12px;display:flex}.daily-action span{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.daily-action:hover{border-color:var(--color-accent);background:var(--color-bg-tint)}.reliability-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reliability-comparison article{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-wrap:anywhere;min-width:0;padding:14px}.reliability-tool table{border-collapse:collapse;width:100%}.reliability-tool td,.reliability-tool th{text-align:left;border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;padding:8px}.reliability-tool .source-note{font-size:var(--text-sm);color:var(--color-text-muted)}@media (width<=700px){.today-screen .page-actions{gap:8px}.today-at-a-glance{grid-template-columns:1fr;gap:8px}.today-at-a-glance article{grid-template-columns:1fr 1fr;align-items:baseline;padding:12px 14px}.today-at-a-glance article>span:last-child{grid-column:1/-1}.today-at-a-glance strong{text-align:end;font-size:22px}.today-screen .daily-launchpad{flex-direction:column;align-items:stretch}.today-screen .daily-launchpad-actions{flex-wrap:wrap;display:flex}.today-screen .daily-launchpad-actions .btn{flex:130px;width:auto}.reliability-comparison{grid-template-columns:1fr}.workspace-heading{display:none}}@media (prefers-reduced-motion:reduce){.daily-action{transition:none}}:root[data-large-targets=true] .today-screen .btn,:root[data-large-targets=true] .today-screen .compact-toggle,:root[data-large-targets=true] .household-context .select{min-height:56px}.app-shell :is(.btn,.nav-link,.more-tile,.daily-food-action,.feature-spotlight-card,.tool-tile){transition:background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s var(--motion-ease)}.app-shell :is(.input,.select,textarea){transition:border-color .16s,box-shadow .16s}.app-shell :is(.input,.select,textarea):focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:2px}.app-shell :is(.btn,.nav-link,.more-tile,.daily-food-action,.feature-spotlight-card,.tool-tile):active:not(:disabled){transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.app-shell :is(.feature-spotlight-card,.daily-food-action,.tool-tile):hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 5px 16px #0000000f}}.tool-workspace{animation:tool-arrive .18s var(--motion-ease)}@keyframes tool-arrive{0%{transform:translateY(4px)}to{transform:none}}.tool-loading{align-items:center;gap:14px;min-height:104px;display:flex}.tool-loading p{margin:4px 0 0}.loading-indicator{border:2px solid var(--border);border-top-color:var(--color-accent);border-radius:50%;flex:0 0 24px;width:24px;height:24px;animation:.8s linear infinite loading-turn}@keyframes loading-turn{to{transform:rotate(360deg)}}.active-tool-status{border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 9px;display:inline-flex}.active-tool-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}:root[data-simple-ui=true] .app-shell :is(.tool-workspace,.loading-indicator){animation:none}:root[data-simple-ui=true] .app-shell :is(.btn,.nav-link,.more-tile,.daily-food-action,.feature-spotlight-card,.tool-tile){transition:none;transform:none}@media (prefers-reduced-motion:reduce){.app-shell :is(.btn,.nav-link,.more-tile,.daily-food-action,.feature-spotlight-card,.tool-tile,.input,.select,textarea){transition:none;transform:none}.tool-workspace,.loading-indicator{animation:none}}:root{--premium-warm:#b5a38a;--premium-surface:color-mix(in srgb, var(--color-surface) 97%, var(--premium-warm));--premium-rule:color-mix(in srgb, var(--color-border) 88%, var(--premium-warm))}body:before{background:radial-gradient(ellipse at 0 0, color-mix(in srgb, var(--color-accent-soft) 45%, transparent), transparent 45%), color-mix(in srgb, var(--color-bg) 96%, var(--premium-warm))}.content-column{gap:clamp(20px,3vw,32px)}.workspace-header{padding-bottom:var(--space-4)}.sidebar{background:var(--premium-surface)}.page-title{font-size:clamp(30px,4vw,42px);font-weight:650;line-height:1.15}.page-subtitle{max-width:65ch;line-height:1.6}.card{background:var(--premium-surface);border-color:var(--premium-rule);box-shadow:var(--shadow-xs);border-radius:var(--radius-lg)}.card :is(h2,h3,h4){text-wrap:balance;line-height:1.3}.card :is(h3,h4){font-family:var(--font-sans);font-weight:650}.card h3{font-size:var(--text-lg)}.card h4{font-size:var(--text-md)}.btn{border-radius:var(--radius-md);min-height:44px;font-weight:600}.btn-primary{box-shadow:0 2px 5px color-mix(in srgb,var(--color-accent-strong) 16%,transparent)}.btn-secondary{border-color:var(--color-border-strong);box-shadow:none;background:0 0}.btn-ghost{color:var(--color-text-muted)}:where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:var(--radius-md);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}:where(input,select,textarea):user-invalid{border-color:var(--color-danger)}:where(input,select,textarea):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}:where(details)>summary{min-height:44px;font-size:var(--text-md);align-content:center}:where(details)[open]>summary{margin-bottom:var(--space-3)}:where(details)>summary::marker{color:var(--color-accent-strong)}.secondary-section{background:var(--premium-surface);border:1px solid var(--premium-rule);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.connected-journey{background:linear-gradient(140deg,color-mix(in srgb,var(--color-accent-soft) 40%,var(--color-surface)),var(--premium-surface));padding:clamp(20px,3vw,32px)}.journey-priorities{grid-template-columns:1fr}.journey-priorities article{background:color-mix(in srgb,var(--color-surface) 72%,transparent);border-color:var(--premium-rule)}.journey-priorities article:first-child{border-left:3px solid var(--color-accent-strong)}.journey-priorities article:first-child h3{font-family:var(--font-display);font-size:var(--text-2xl)}.journey-priorities article p{margin-block:var(--space-2);max-width:50ch}.journey-priorities article a{font-size:var(--text-sm);text-underline-offset:4px}.today-at-a-glance article{border-color:var(--premium-rule);box-shadow:none}.today-at-a-glance strong{letter-spacing:var(--tracking-tight)}.inbox-count{border-radius:var(--radius-pill);background:var(--color-accent-soft);min-width:24px;min-height:24px;color:var(--color-accent-strong);font-size:var(--text-xs);justify-content:center;align-items:center;margin-left:auto;padding-inline:6px;font-weight:750;display:inline-flex}.meal-photo-card{padding:var(--space-4);overflow:hidden}.meal-timeline-image,.meal-photo-placeholder{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);width:100%;height:auto;min-height:0}.meal-photo-placeholder{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);text-align:center;background:linear-gradient(145deg,var(--color-bg-tint),var(--premium-surface));color:var(--color-text-muted);flex-direction:column;display:flex}.meal-photo-placeholder svg{color:var(--color-accent-strong);flex-shrink:0}.meal-photo-placeholder small{max-width:25ch}.meal-card{border-radius:var(--radius-lg);padding:var(--space-5)}.meal-card-name{font-size:var(--text-lg)}.chart-legend{gap:var(--space-3);flex-wrap:wrap}.chart-legend-item{font-size:var(--text-sm)}.chart-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6)}.empty-state{background:color-mix(in srgb,var(--color-bg-tint) 50%,var(--color-surface));border-radius:var(--radius-lg)}.banner,.toast{box-shadow:var(--shadow-xs)}.modal-sheet{border-color:var(--premium-rule);background:var(--premium-surface)}@media (width>=760px){.journey-priorities{grid-template-columns:1.5fr 1fr 1fr}}@media (width<=420px){.page-header .page-actions{gap:var(--space-2)}.meal-card-header{flex-wrap:wrap;align-items:flex-start}.meal-card-actions{margin-left:auto}.journey-priorities article:first-child h3{font-size:var(--text-xl)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.journey-priorities article{transition:border-color var(--motion-normal),box-shadow var(--motion-normal)}.journey-priorities article:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}}@media (prefers-reduced-motion:reduce){:where(input,select,textarea),.journey-priorities article{transition:none}}:root[data-high-contrast=true]{--premium-surface:var(--color-surface);--premium-rule:var(--color-border-strong)}:root[data-high-contrast=true] body:before{background:var(--color-bg)}.progress-summary{gap:var(--space-3);padding:clamp(20px,3vw,32px);display:grid}.progress-summary p{max-width:72ch}.progress-summary h2{font-family:var(--font-display);font-size:clamp(24px,3vw,32px)}.progress-summary .btn{justify-self:start}.more-tile.inbox-navigation .inbox-count{margin:0}@supports selector(details::details-content){@media (prefers-reduced-motion:no-preference){details::details-content{transition:opacity var(--motion-normal)}@starting-style{details[open]::details-content{opacity:0}}}}.journey-phase-pill{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-sm);align-self:flex-start;padding:4px 10px;display:inline-flex}:root[data-simple-ui=true] .connected-journey{background:var(--color-surface)}:root[data-oled=true] body:before{background:var(--color-bg)}.status-feedback{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);gap:var(--space-2)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.journey-report-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);padding:var(--space-4);background:var(--color-bg-tint);border-radius:var(--radius-md)}.page-intro{gap:var(--space-3) var(--space-6);border:1px solid var(--premium-rule);border-radius:var(--radius-xl);background:linear-gradient(110deg,var(--premium-surface),color-mix(in srgb,var(--color-accent-soft) 18%,var(--premium-surface)));grid-template-columns:minmax(0,1fr) auto;padding:clamp(20px,2.5vw,32px);display:grid}.page-intro-label{grid-column:1/-1}.page-intro>:not(.page-intro-label){min-width:0}.page-intro .page-title{color:var(--color-text);-webkit-text-fill-color:currentColor;font-size:clamp(var(--text-2xl),3vw,calc(var(--text-2xl)*1.5));font-variation-settings:"opsz" 40;background:0 0}.page-intro .page-subtitle{font-size:var(--text-md);max-width:60ch;margin-top:var(--space-2);line-height:1.55}.page-intro :is(.btn,select,.page-actions,.range-selector){align-self:center}.page-intro a:not(.btn){font-size:var(--text-sm);color:var(--color-text-muted);-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);text-underline-offset:4px}.input-methods,.range-selector,.settings-section-buttons{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-lg);background:var(--color-bg-tint)}.input-methods .btn,.range-selector .btn,.settings-section-buttons .btn{color:var(--color-text-muted);box-shadow:none;background:0 0;border-color:#0000}.input-methods [aria-selected=true],.range-selector [aria-pressed=true],.settings-section-buttons [aria-pressed=true]{background:var(--color-surface-raised);border-color:var(--color-border);color:var(--color-accent-strong);box-shadow:var(--shadow-xs)}.settings-sections{gap:var(--space-3);display:grid}.settings-sections>p{color:var(--color-text-muted);font-size:var(--text-sm)}.addmeal-page{max-width:980px;margin-inline:auto}.addmeal-page .card{padding:clamp(20px,3vw,32px)}.addmeal-page .form-actions{padding-top:var(--space-4);border-top:1px solid var(--premium-rule);justify-content:flex-end}.mealreview-page .form-actions{padding:var(--space-4);background:var(--premium-surface);border:1px solid var(--premium-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:flex-end}.journey-metrics>div{border:1px solid var(--premium-rule);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface)}.transformation-journey>.journey-next{padding:var(--space-5);border-left:3px solid var(--color-accent)}.transformation-journey>details{border-top:1px solid var(--premium-rule);padding-top:var(--space-3)}.journey-quests ul{gap:var(--space-3);padding-left:var(--space-5);display:grid}.meal-plan-table{border-collapse:separate;border-spacing:0}.meal-plan-table thead th{background:var(--color-bg-tint);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em}.meal-plan-table td{padding:var(--space-4)}.meal-plan-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-bg-tint) 35%,transparent)}.login-layout{gap:var(--space-8);align-items:center;width:min(100%,1040px);display:grid}.login-intro{display:none}.login-layout .login-card{justify-self:center;width:100%;max-width:480px;padding:clamp(24px,4vw,40px)}.login-card .page-title{color:var(--color-text);font-size:calc(var(--text-2xl)*1.2);-webkit-text-fill-color:currentColor;background:0 0}.login-intro h2{font-family:var(--font-display);margin-block:var(--space-5);font-size:clamp(36px,4vw,58px);font-weight:550;line-height:1.12}.login-intro>p{color:var(--color-text-muted);font-size:var(--text-lg);max-width:38ch;line-height:1.6}.login-intro-note{align-items:center;gap:var(--space-3);color:var(--color-accent-strong);font-size:var(--text-sm);margin-top:var(--space-8);display:flex}@media (width>=900px){.login-layout{grid-template-columns:1fr 1fr}.login-intro{display:block}}@media (width<=600px){.page-intro{padding:var(--space-5);gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.page-intro>.page-actions,.page-intro>.range-selector{margin-top:var(--space-3)}.input-methods{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.input-methods .btn{padding-inline:var(--space-2)}.settings-section-buttons .btn{flex:100px}}:root[data-high-contrast=true] .page-intro,:root[data-simple-ui=true] .page-intro{background:var(--color-surface)}@media print{.section-navigation,.page-intro-label{display:none}.page-intro{background:#fff;border:none;padding:0}.metric-card{box-shadow:none}}.sidebar-add.active{outline:2px solid var(--color-accent-strong);outline-offset:3px}@media (width<=600px){.history-page .metric-grid{margin-top:var(--space-1)}.today-at-a-glance{gap:var(--space-2)}}
