@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:optional;src:url(/assets/fonts/fraunces-latin.woff2) format("woff2-variations"),url(/assets/fonts/fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:optional;src:url(/assets/fonts/fraunces-latin-italic.woff2) format("woff2-variations"),url(/assets/fonts/fraunces-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:optional;src:url(/assets/fonts/inter-latin.woff2) format("woff2-variations"),url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:optional;src:url(/assets/fonts/inter-greek.woff2) format("woff2-variations"),url(/assets/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Fallback;src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:106.3%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:Fraunces Fallback;font-style:normal;src:local("Georgia"),local("Times New Roman");size-adjust:90%}@font-face{font-family:Fraunces Fallback;font-style:italic;src:local("Georgia Italic"),local("Georgia-Italic"),local("Times New Roman Italic");size-adjust:100%}:root{color-scheme:light;--ivory-25:#fffdf8;--ivory-50:#fbf7ee;--ivory-100:#f5eedf;--ivory-200:#ebe1ca;--ivory-300:#dccfae;--forest-950:#0c2016;--forest-900:#133224;--forest-800:#1b4332;--forest-700:#25573f;--forest-600:#2f6d51;--forest-500:#3f8566;--forest-300:#8fb8a1;--forest-200:#c9dfd1;--forest-100:#e1eee6;--forest-50:#eff6f1;--olive-700:#566422;--olive-600:#69792c;--olive-500:#819139;--olive-400:#9eaa5e;--olive-300:#c2cc8c;--olive-200:#dde4b6;--olive-100:#eef2d6;--terra-800:#85381b;--terra-700:#a0441d;--terra-600:#b9532a;--terra-500:#cd673a;--terra-400:#e08a5f;--terra-300:#eeb08d;--terra-200:#f5d2bb;--terra-100:#fbe8dc;--champ-800:#76591c;--champ-700:#8c6c26;--champ-500:#c6a156;--champ-400:#d8ba7b;--champ-300:#e7d3a1;--champ-200:#f1e4c0;--champ-100:#f8f0dc;--ink-950:#101c15;--ink-900:#16261c;--ink-700:#33443a;--ink-600:#485a4e;--ink-500:#617065;--ink-400:#8a9789;--bg:var(--ivory-50);--bg-sunken:var(--ivory-100);--bg-tint:var(--forest-50);--surface:var(--ivory-25);--surface-2:#ffffff;--surface-sunken:var(--ivory-100);--hero:var(--forest-900);--hero-2:var(--forest-800);--hero-text:var(--ivory-50);--hero-soft:rgb(251 247 238 / .78);--overlay:rgb(12 32 22 / .56);--text:var(--ink-900);--text-soft:var(--ink-600);--text-faint:var(--ink-500);--text-on-brand:var(--ivory-25);--link:var(--forest-700);--brand:var(--forest-800);--brand-hover:var(--forest-900);--brand-soft:var(--forest-100);--accent:var(--terra-600);--accent-text:var(--terra-700);--accent-soft:var(--terra-100);--fresh:var(--olive-600);--fresh-text:var(--olive-700);--fresh-soft:var(--olive-100);--gold:var(--champ-500);--gold-soft:var(--champ-100);--gold-text:var(--champ-800);--gold-deco:var(--champ-700);--ok:var(--forest-600);--ok-soft:var(--forest-100);--warn:#8f5a0b;--warn-soft:#fbefd2;--danger:#a2342a;--danger-soft:#fbe4df;--focus:#1f6fd1;--line:rgb(20 50 36 / .12);--line-strong:rgb(20 50 36 / .22);--line-soft:rgb(20 50 36 / .07);--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:30px;--r-2xl:40px;--r-pill:999px;--sh-1:0 1px 2px rgb(19 50 36 / .06),0 1px 1px rgb(19 50 36 / .04);--sh-2:0 2px 4px -1px rgb(19 50 36 / .06),0 10px 26px -10px rgb(19 50 36 / .18);--sh-3:0 4px 10px -2px rgb(19 50 36 / .08),0 28px 60px -22px rgb(19 50 36 / .34);--sh-inset:inset 0 0 0 1px var(--line);--sh-gold:0 0 0 1px rgb(198 161 86 / .45),0 8px 24px -10px rgb(198 161 86 / .5);--font-display:"Fraunces","Fraunces Fallback",Georgia,"Times New Roman",serif;--font-ui:"Inter","Inter Fallback",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.0625rem;--fs-lg:1.1875rem;--fs-xl:clamp(1.3rem,1.15rem + .7vw,1.6rem);--fs-2xl:clamp(1.6rem,1.3rem + 1.4vw,2.2rem);--fs-3xl:clamp(2rem,1.45rem + 2.6vw,3.1rem);--fs-4xl:clamp(2.35rem,1.5rem + 4vw,4.2rem);--fs-hero:clamp(2.45rem,1.4rem + 5.2vw,5.1rem);--gutter:clamp(16px,4.6vw,40px);--max:1240px;--max-read:68ch;--header-h:64px;--nav-h:68px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--ease:cubic-bezier(.22,.7,.2,1);--ease-spring:cubic-bezier(.34,1.4,.5,1);--t-fast:.14s;--t-med:.26s;--t-slow:.5s}:root[data-theme=dark]{color-scheme:dark;--bg:#0d1912;--bg-sunken:#09120d;--bg-tint:#112018;--surface:#14241a;--surface-2:#1a2d21;--surface-sunken:#101e16;--hero:#0f2a1e;--hero-2:#163a2a;--hero-text:#f6f0e0;--hero-soft:rgb(246 240 224 / .78);--overlay:rgb(5 14 9 / .66);--text:#f3eddc;--text-soft:#c5cfc1;--text-faint:#9eac9b;--text-on-brand:#10241a;--link:#a9d3ba;--brand:#e7d3a1;--brand-hover:#f1e1b7;--brand-soft:#1d3527;--accent:#e58f66;--accent-text:#f0a583;--accent-soft:#3a2418;--fresh:#b6c47a;--fresh-text:#c6d38d;--fresh-soft:#25301a;--gold:#d8ba7b;--gold-soft:#2f2813;--gold-text:#e7d3a1;--gold-deco:#d8ba7b;--ok:#7cc29c;--ok-soft:#173326;--warn:#e6b45c;--warn-soft:#352810;--danger:#f08a7c;--danger-soft:#3b1a16;--focus:#7db4ff;--line:rgb(243 237 220 / .13);--line-strong:rgb(243 237 220 / .26);--line-soft:rgb(243 237 220 / .07);--sh-1:0 1px 2px rgb(0 0 0 / .4);--sh-2:0 2px 4px -1px rgb(0 0 0 / .35),0 12px 28px -10px rgb(0 0 0 / .55);--sh-3:0 4px 10px -2px rgb(0 0 0 / .4),0 30px 64px -22px rgb(0 0 0 / .7);--sh-gold:0 0 0 1px rgb(216 186 123 / .4),0 8px 24px -10px rgb(216 186 123 / .3)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);background:var(--bg)}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-base);line-height:1.55;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip;display:flex;flex-direction:column}body>main{flex:1 0 auto}img,svg,video,canvas,picture{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0;-webkit-tap-highlight-color:transparent}a{color:var(--link);text-decoration-thickness:.08em;text-underline-offset:.2em;-webkit-tap-highlight-color:transparent}a:hover{text-decoration-thickness:.14em}h1,h2,h3,h4{font-family:var(--font-display);font-weight:520;line-height:1.08;letter-spacing:-.018em;margin:0;text-wrap:balance;color:inherit;font-variation-settings:"SOFT" 50,"WONK" 0}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl);line-height:1.15}h4{font-size:var(--fs-lg);line-height:1.2}p{margin:0 0 1em;text-wrap:pretty}p:last-child{margin-bottom:0}ul,ol{margin:0;padding:0}small,.small{font-size:var(--fs-sm)}hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}em.accent,h1 em,h2 em,.display em{font-style:italic;color:var(--accent-text);font-weight:480}:target{scroll-margin-top:calc(var(--header-h) + 20px)}::selection{background:var(--champ-300);color:var(--ink-900)}[hidden]{display:none!important}dialog{color:var(--text)}table{border-collapse:collapse;width:100%}kbd{font:inherit;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.wrap .wrap{padding-inline:0;max-width:none}:focus{outline:none}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--r-xs)}.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible{outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;left:12px;top:-60px;z-index:1000;padding:12px 18px;border-radius:var(--r-pill);background:var(--brand);color:var(--text-on-brand);font-weight:600;text-decoration:none;transition:top var(--t-fast) var(--ease)}.skip:focus{top:calc(var(--safe-t) + 12px)}.icon{width:1.25em;height:1.25em;max-width:none;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em}.icon.fill,.icon .fill{fill:currentColor;stroke:none}.muted{color:var(--text-soft)}.fineprint{font-size:var(--fs-sm);color:var(--text-soft);line-height:1.5}.eyebrow{display:inline-flex;align-items:center;gap:.6em;margin:0 0 .85rem;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--fresh-text)}.eyebrow.small{font-size:var(--fs-2xs);margin-bottom:.5rem}.lead{font-size:var(--fs-lg);line-height:1.55;color:var(--text-soft);max-width:var(--max-read)}.stack>*+*{margin-top:var(--gap,1rem)}.nowrap{white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{:root,:root[data-theme=dark]{--bg:#fff;--surface:#fff;--text:#000;--text-soft:#222;--line:#bbb}.site-header,.bottom-nav,.site-footer,.skip,.toast,.update-note,.offline-notice{display:none!important}body{background:#fff;color:#000}}.site-header{position:sticky;top:0;z-index:60;height:calc(var(--header-h) + var(--safe-t));padding-top:var(--safe-t);background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid var(--line-soft)}.header-inner{display:flex;align-items:center;gap:12px;height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;min-width:0}.brand-mark{width:38px;height:38px;flex:none;display:block;border-radius:12px;box-shadow:0 2px 6px -1px #13322459}.brand-mark svg{width:100%;height:100%}.brand-word{font-family:var(--font-display);font-size:1.3rem;font-weight:500;letter-spacing:-.015em;line-height:1;white-space:nowrap;font-variation-settings:"SOFT" 60}.brand-word em{font-style:italic;color:var(--accent-text)}.main-nav{display:none;align-items:center;gap:2px;margin-inline:auto;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--sh-1)}.main-nav a{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:var(--r-pill);color:var(--text-soft);font-size:var(--fs-sm);font-weight:600;text-decoration:none;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.main-nav a .icon{width:18px;height:18px}.main-nav a:hover{background:var(--bg-sunken);color:var(--text)}.main-nav a[aria-current=page]{background:var(--brand);color:var(--text-on-brand);box-shadow:0 4px 12px -4px #13322480}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--text);text-decoration:none;box-shadow:var(--sh-1);transition:transform var(--t-fast) var(--ease),background var(--t-fast),border-color var(--t-fast)}.icon-btn:hover{background:var(--bg-sunken);border-color:var(--line-strong)}.icon-btn:active{transform:scale(.94)}.icon-btn .icon{width:20px;height:20px}.quick-open{display:inline-flex;align-items:center;justify-content:center;width:auto;gap:8px;padding-inline:13px;border-radius:var(--r-pill)}.quick-open kbd{display:none;padding:2px 7px;border-radius:7px;background:var(--bg-sunken);color:var(--text-soft);border:1px solid var(--line)}.header-actions .scan-cta{display:none}.mobile-toggle{display:none!important}.quick-open{min-width:44px}@media(min-width:900px){.main-nav{display:flex}.header-actions .scan-cta{display:inline-flex}.quick-open kbd{display:inline-block}.header-actions{margin-left:0}.bottom-nav{display:none!important}}@media(min-width:900px)and (max-width:1099px){.main-nav a span{display:none}.main-nav a{padding:10px 13px}.main-nav a[aria-current=page] span{display:inline}}@media(max-width:420px){.brand-word{font-size:1.15rem}.brand-mark{width:34px;height:34px;border-radius:11px}.header-inner{gap:8px}}.bottom-nav{position:fixed;left:50%;bottom:calc(10px + var(--safe-b));z-index:70;transform:translate(-50%);display:grid;grid-template-columns:repeat(5,1fr);align-items:end;width:min(calc(100% - 20px),480px);height:var(--nav-h);padding:6px 6px 7px;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border:1px solid var(--line);border-radius:28px;box-shadow:var(--sh-3)}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:54px;color:var(--text-soft);text-decoration:none;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.01em;-webkit-tap-highlight-color:transparent}.bn-icon{display:grid;place-items:center;width:52px;height:30px;border-radius:var(--r-pill);transition:background var(--t-med) var(--ease),color var(--t-med),transform var(--t-med) var(--ease-spring)}.bn-icon .icon{width:22px;height:22px}.bottom-nav a[aria-current=page]{color:var(--text)}.bottom-nav a[aria-current=page] .bn-icon{background:var(--brand-soft);color:var(--brand);transform:translateY(-1px)}:root[data-theme=dark] .bottom-nav a[aria-current=page] .bn-icon{color:var(--gold-text)}.bottom-nav a:active .bn-icon{transform:scale(.92)}.bottom-nav .bn-center{justify-content:flex-start}.bottom-nav .bn-center .bn-icon{width:58px;height:58px;margin-top:-26px;border-radius:50%;background:linear-gradient(160deg,var(--terra-500),var(--terra-700));color:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--bg) 92%,transparent),0 10px 22px -6px #a0441d99,inset 0 1px #ffffff59}.bottom-nav .bn-center .bn-icon .icon{width:27px;height:27px;stroke-width:1.7}.bottom-nav .bn-center[aria-current=page] .bn-icon{background:linear-gradient(160deg,var(--terra-500),var(--terra-700));color:#fff;transform:none}.bottom-nav .bn-center .bn-label{margin-top:2px}:root[data-theme=dark] .bottom-nav .bn-center .bn-icon{background:linear-gradient(160deg,var(--terra-400),var(--terra-600));box-shadow:0 0 0 5px color-mix(in srgb,var(--bg) 92%,transparent),0 10px 22px -6px #0009,inset 0 1px #ffffff4d}@media(max-width:899px){body{padding-bottom:0}.site-footer{padding-bottom:calc(var(--nav-h) + 34px + var(--safe-b))}.toast{bottom:calc(var(--nav-h) + 28px + var(--safe-b))!important}}.site-footer{position:relative;margin-top:clamp(40px,7vw,96px);padding-top:clamp(36px,5vw,60px);background:var(--hero);color:var(--hero-text);overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:repeating-linear-gradient(90deg,var(--champ-500) 0 14px,transparent 14px 22px);opacity:.45}.site-footer:after{content:"";position:absolute;right:-60px;bottom:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(closest-side,rgb(201 164 91 / .18),transparent);pointer-events:none}.site-footer .brand{color:var(--hero-text)}.site-footer .brand-word em{color:var(--champ-300)}.footer-grid{display:grid;gap:32px;position:relative;z-index:1}.footer-tagline{max-width:34ch;margin:14px 0;color:var(--hero-soft);font-size:var(--fs-sm)}.focus-trust{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:var(--fs-sm);color:var(--hero-soft)}.focus-trust .icon{margin-top:2px;color:var(--champ-300);width:1.1em;height:1.1em}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.footer-links h2{font-family:var(--font-ui);font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--champ-300);margin:0 0 12px}.footer-links a{display:block;padding:5px 0;color:var(--hero-text);text-decoration:none;font-size:var(--fs-sm);opacity:.86;min-height:32px}.footer-links a:hover{opacity:1;text-decoration:underline}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:34px;padding-block:18px 22px;border-top:1px solid rgb(251 247 238 / .13);font-size:var(--fs-xs);color:var(--hero-soft);position:relative;z-index:1}.release-label{font-variant-numeric:tabular-nums;opacity:.7}@media(min-width:720px){.footer-grid{grid-template-columns:1.1fr 1.6fr;gap:56px}}@media(max-width:520px){.footer-links{grid-template-columns:1fr 1fr}.footer-links>div:last-child{grid-column:1/-1}}.quick-dialog{width:min(640px,calc(100% - 24px));max-width:none;max-height:min(76dvh,640px);margin:min(12dvh,96px) auto auto;padding:0;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--sh-3);overflow:hidden}.quick-dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quick-dialog[open]{display:flex;flex-direction:column;animation:dialog-in var(--t-med) var(--ease)}.quick-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 4px}.quick-heading h2{font-size:var(--fs-xl)}.quick-search-field{display:flex;align-items:center;gap:12px;margin:10px 20px;padding:0 16px;height:56px;border-radius:var(--r-lg);background:var(--bg-sunken);border:1px solid var(--line);color:var(--text-soft)}.quick-search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 30%,transparent)}.quick-search-field input[type=search]{flex:1;min-width:0;height:100%;min-height:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;outline:0;font-size:var(--fs-md);color:var(--text)}.quick-results{flex:1;overflow:auto;padding:4px 12px 8px;overscroll-behavior:contain}.quick-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--r-md);color:var(--text);text-decoration:none}.quick-result:hover,.quick-result:focus-visible{background:var(--bg-sunken)}.quick-result strong{display:block;font-weight:600}.quick-result small{display:block;color:var(--text-soft);font-size:var(--fs-sm)}.quick-dialog>.fineprint{padding:10px 20px 16px;border-top:1px solid var(--line-soft);margin:0}.empty-state{padding:18px 14px;color:var(--text-soft)}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.toast{position:fixed;left:50%;bottom:calc(24px + var(--safe-b));z-index:200;transform:translate(-50%);max-width:min(92vw,460px);padding:13px 20px;border-radius:var(--r-pill);background:var(--forest-950);color:var(--ivory-50);font-size:var(--fs-sm);font-weight:500;box-shadow:var(--sh-3);text-align:center}:root[data-theme=dark] .toast{background:var(--ivory-100);color:var(--ink-900)}.toast:not([hidden]){animation:toast-in var(--t-med) var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.update-note{position:fixed;left:50%;top:calc(var(--header-h) + 12px + var(--safe-t));z-index:190;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-radius:var(--r-pill);background:var(--gold-soft);border:1px solid var(--gold);color:var(--text);font-size:var(--fs-sm);box-shadow:var(--sh-2)}.offline-notice,.storage-warning{margin-top:10px;padding:12px 16px;border-radius:var(--r-md);font-size:var(--fs-sm)}.offline-notice{background:var(--gold-soft);border:1px solid var(--line);color:var(--text)}.storage-warning{background:var(--danger-soft);border:1px solid var(--danger);color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 24px;border:1px solid transparent;border-radius:var(--r-pill);font-family:var(--font-ui);font-size:var(--fs-base);font-weight:650;letter-spacing:-.005em;line-height:1.15;text-align:center;text-decoration:none;white-space:normal;cursor:pointer;transition:transform var(--t-fast) var(--ease),background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-med) var(--ease),color var(--t-fast);-webkit-user-select:none;user-select:none;position:relative}.btn:active{transform:scale(.975)}.btn .icon{width:1.2em;height:1.2em}.btn.primary,.btn.accent{color:var(--text-on-brand)}.btn.primary{background:var(--brand);box-shadow:inset 0 1px #ffffff29,0 10px 20px -10px #133224a6}.btn.primary:hover{background:var(--brand-hover);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff29,0 14px 24px -10px #133224b3}.btn.primary:active{transform:scale(.975)}.btn.accent{background:linear-gradient(165deg,var(--terra-500),var(--terra-700));color:#fff;box-shadow:inset 0 1px #ffffff47,0 10px 22px -10px #a0441dbf}.btn.accent:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--line-strong);box-shadow:var(--sh-1)}.btn.secondary:hover{background:var(--bg-sunken);border-color:var(--forest-300)}.btn.text,.btn.ghost{background:transparent;color:var(--link);min-height:44px;padding-inline:14px}.btn.text:hover,.btn.ghost:hover{background:var(--brand-soft)}.btn.full{width:100%}.btn.small,.btn.compact{min-height:40px;padding:0 16px;font-size:var(--fs-sm)}.btn.large{min-height:56px;padding:0 30px;font-size:var(--fs-md)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;filter:saturate(.6)}.btn[aria-pressed=true]{background:var(--brand);color:var(--text-on-brand);border-color:var(--brand)}:root[data-theme=dark] .btn.primary{box-shadow:inset 0 1px #fff6,0 10px 24px -10px #000c}:root[data-theme=dark] .btn.secondary:not([aria-pressed=true]){background:var(--surface-2)}.text-button,.text-link{display:inline;padding:0;color:var(--link);font-weight:600;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.22em;background:none;border:0;cursor:pointer;font-size:inherit}.text-button.muted{color:var(--text-soft);font-weight:500}.text-button:hover,.text-link:hover{text-decoration-thickness:.15em}.text-link{display:inline-flex;align-items:center;gap:6px;min-height:36px}.on-hero .btn.primary{background:var(--champ-300);color:var(--forest-950);box-shadow:0 12px 28px -12px #0000008c,inset 0 1px #fff9}.on-hero .btn.primary:hover{background:var(--champ-200)}.on-hero .btn.secondary{background:#fbf7ee14;color:var(--hero-text);border-color:#fbf7ee52;box-shadow:none}.on-hero .btn.secondary:hover{background:#fbf7ee29;border-color:#fbf7ee80}.on-hero a:not(.btn){color:var(--champ-300)}.field{display:grid;gap:7px;min-width:0}.field>span,.field>label,label.field>span{font-size:var(--fs-sm);font-weight:600;color:var(--text)}input[type=text],input[type=search],input[type=number],input[type=email],input[type=date],input[type=time],input:not([type]),select,textarea{width:100%;min-height:48px;padding:0 16px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:max(16px,var(--fs-base));transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}textarea{min-height:104px;padding:12px 16px;line-height:1.5;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-faint);opacity:1}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--forest-300)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 28%,transparent);outline:2px solid transparent}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}select{appearance:none;-webkit-appearance:none;min-width:0;max-width:100%;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23617065' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;cursor:pointer;text-overflow:ellipsis}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c5cfc1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;min-height:0;padding:0;margin:0;border-radius:8px;border:1.6px solid var(--line-strong);background:var(--surface);display:inline-grid;place-content:center;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--ease-spring);vertical-align:middle}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--forest-500)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffdf8' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.8 4.2 4.2L18.8 7.6'/%3E%3C/svg%3E");background-size:16px;background-repeat:no-repeat;background-position:center;animation:pop var(--t-med) var(--ease-spring)}:root[data-theme=dark] input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310241a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.8 4.2 4.2L18.8 7.6'/%3E%3C/svg%3E")}input[type=radio]:checked{box-shadow:inset 0 0 0 5px var(--surface)}input[type=range]{width:100%;min-height:36px;padding:0;border:0;background:none;accent-color:var(--brand)}input[type=file]{padding:10px 14px;min-height:48px;height:auto}@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}label:has(>input[type=checkbox]),label:has(>input[type=radio]),.check-label,.ex-consent,.ex-check,.focus-unknown{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:var(--fs-sm);line-height:1.45;color:var(--text)}.ex-consent,.check-label{padding:14px 16px;border-radius:var(--r-md);background:var(--bg-sunken);border:1px solid var(--line-soft)}.input-with-button{display:flex;align-items:center;gap:8px;padding:6px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--sh-1);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.input-with-button:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 28%,transparent)}.input-with-button input{flex:1;min-width:0;min-height:46px;border:0;background:transparent;box-shadow:none;padding-left:18px}.input-with-button input:focus-visible{box-shadow:none}.input-with-button .btn{min-height:46px;flex:none}.stepper{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:var(--r-pill);background:var(--bg-sunken);border:1px solid var(--line)}.stepper input{width:56px;min-height:40px;text-align:center;border:0;background:transparent;padding:0;font-weight:650;font-variant-numeric:tabular-nums;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper .icon-btn{width:40px;height:40px;box-shadow:none}.switch-label{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.switch-label input[type=checkbox]{width:52px;height:30px;border-radius:var(--r-pill);background:var(--ivory-300);border-color:transparent;position:relative;transition:background var(--t-med)}.switch-label input[type=checkbox]:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0000004d;transition:transform var(--t-med) var(--ease-spring)}.switch-label input[type=checkbox]:checked{background:var(--brand);background-image:none;animation:none}.switch-label input[type=checkbox]:checked:after{transform:translate(22px)}:root[data-theme=dark] .switch-label input[type=checkbox]{background:#3b4f43}fieldset{margin:0;padding:0;border:0;min-width:0}legend{padding:0;font-size:var(--fs-sm);font-weight:650;margin-bottom:10px}.chip,.chip-button,.quick-ingredient,.focus-food,.photo-choice,.pantry-chip,.profile-choice,.preference-choice{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:600;line-height:1.1;cursor:pointer;transition:transform var(--t-fast) var(--ease),background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast);text-decoration:none}.chip:hover,.chip-button:hover,.quick-ingredient:hover,.focus-food:hover,.photo-choice:hover,.pantry-chip:hover{background:var(--brand-soft);border-color:var(--forest-300)}.chip:active,.chip-button:active,.quick-ingredient:active,.focus-food:active{transform:scale(.95)}.chip[aria-pressed=true],.chip.is-selected,.quick-ingredient.is-selected,.preference-choice.is-selected{background:var(--brand);border-color:var(--brand);color:var(--text-on-brand)}.count-badge{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 8px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums;vertical-align:middle}.badge,.image-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);font-size:var(--fs-xs);font-weight:650;letter-spacing:.01em}:root[data-theme=dark] .badge{color:var(--gold-text)}.round-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--brand);flex:none}.round-icon .icon{width:22px;height:22px}.panel,.note-panel,.prose-panel,.source-panel,.danger-panel,.ex-panel,.dt-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,3vw,28px);box-shadow:var(--sh-1)}.danger-panel{border-color:color-mix(in srgb,var(--danger) 40%,var(--line));background:color-mix(in srgb,var(--danger-soft) 55%,var(--surface))}.panel-title,.section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.panel-title h2,.section-title h2{font-size:var(--fs-xl)}.small-section-title{font-size:var(--fs-lg)}.notice,.small-notice{padding:14px 18px;border-radius:var(--r-md);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);color:var(--text);font-size:var(--fs-sm)}summary{cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}summary::-webkit-details-marker{display:none}details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-weight:600}details>summary:after{content:"";flex:none;width:20px;height:20px;background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform var(--t-med) var(--ease)}details[open]>summary:after{transform:rotate(180deg)}details.ex-panel{padding:4px 20px}details.ex-panel>summary{font-family:var(--font-ui)}details.ex-panel[open]{padding-bottom:20px}.ex-tabs,.ex-subtabs,.recipe-mode-tabs,.dt-tabs,.week-switcher,.day-tabs{display:flex;gap:6px;padding:5px;border-radius:var(--r-pill);background:var(--bg-sunken);border:1px solid var(--line);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.ex-tabs::-webkit-scrollbar,.ex-subtabs::-webkit-scrollbar,.recipe-mode-tabs::-webkit-scrollbar{display:none}.ex-tabs .btn,.ex-subtabs .btn,.recipe-mode-tabs button,.dt-tabs button,.week-switcher button,.day-tabs button{min-height:42px;padding:0 18px;border-radius:var(--r-pill);border:0;background:transparent;box-shadow:none;color:var(--text-soft);font-size:var(--fs-sm);font-weight:650;white-space:nowrap;flex:none}.ex-tabs .btn:hover,.ex-subtabs .btn:hover,.recipe-mode-tabs button:hover{background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text)}.ex-tabs .btn[aria-pressed=true],.ex-subtabs .btn[aria-pressed=true],.recipe-mode-tabs button[aria-pressed=true],.dt-tabs button[aria-pressed=true],.week-switcher button[aria-pressed=true],.day-tabs button[aria-pressed=true]{background:var(--brand);color:var(--text-on-brand);box-shadow:0 4px 12px -4px #13322480}.ex-subtabs{background:transparent;border:0;padding:0;gap:8px}.ex-subtabs .btn{border:1px solid var(--line-strong);background:var(--surface)}.ex-subtabs .btn[aria-pressed=true]{border-color:var(--brand)}.action-dialog{width:min(640px,100%);max-width:none;max-height:92dvh;margin:auto auto 0;padding:0;border:0;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);color:var(--text);box-shadow:var(--sh-3);overflow:hidden;overscroll-behavior:contain}.action-dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.action-dialog[open]{display:flex;flex-direction:column;animation:sheet-in var(--t-med) var(--ease)}.action-dialog>form:first-child{position:absolute;top:12px;right:12px;z-index:3;margin:0}.action-dialog #dialog-content{overflow-y:auto;padding:clamp(22px,4vw,34px);padding-top:clamp(26px,4vw,38px);-webkit-overflow-scrolling:touch}.action-dialog #dialog-content:before{content:"";display:block;width:42px;height:5px;border-radius:3px;background:var(--line-strong);margin:-14px auto 18px}.dialog-close{width:40px;height:40px;background:var(--bg-sunken);box-shadow:none}.ex-dialog>h2,.flow-dialog>h2,.dt-dialog>h2{font-size:var(--fs-2xl);margin-bottom:12px;padding-right:44px}.ex-dialog form,.flow-dialog form{display:grid;gap:16px;margin-top:18px}.ex-fields,.dialog-fields,.flow-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.ex-actions,.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.ex-allergens{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ex-allergens label{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.ex-review-foods{list-style:none;display:grid;gap:2px;margin:12px 0 0}.ex-review-foods li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line)}.ex-review-foods li:last-child{border:0}.ex-review-foods strong{font-variant-numeric:tabular-nums}[role=alert]:empty{display:none}#ex-form-error:not(:empty){padding:12px 14px;border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);font-weight:600}@keyframes sheet-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media(min-width:720px){.action-dialog{margin:auto;border-radius:var(--r-xl);max-height:88dvh}.action-dialog[open]{animation:dialog-in var(--t-med) var(--ease)}.action-dialog #dialog-content:before{display:none}}progress,meter{appearance:none;-webkit-appearance:none;display:block;width:100%;height:10px;border:0;border-radius:var(--r-pill);background:var(--bg-sunken);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line-soft)}progress::-webkit-progress-bar{background:var(--bg-sunken)}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--olive-500),var(--forest-500));border-radius:var(--r-pill);transition:width var(--t-slow) var(--ease)}progress::-moz-progress-bar{background:linear-gradient(90deg,var(--olive-500),var(--forest-500));border-radius:var(--r-pill)}.ring{display:block;width:var(--ring,64px);height:var(--ring,64px);transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:4;stroke-linecap:round}.ring .ring-bg{stroke:var(--line)}.ring .ring-fg{stroke:var(--fresh);transition:stroke-dasharray var(--t-slow) var(--ease)}.ring-wrap{position:relative;display:inline-grid;place-items:center}.ring-wrap>.ring-label{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.page-heading{padding-block:clamp(24px,5vw,48px) clamp(14px,2vw,22px)}.heading-actions,.toolbar-actions,.workspace-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 14px;font-size:var(--fs-sm);color:var(--text-soft)}.breadcrumbs a{color:var(--text-soft);text-decoration:none;display:inline-flex;align-items:center;min-height:32px;padding-inline:2px}.breadcrumbs a:hover{color:var(--text);text-decoration:underline}.breadcrumbs span:not(:last-child){opacity:.5}.food-icon{display:inline-block;width:1.4em;height:1.4em;max-width:none;flex:none;vertical-align:-.3em;overflow:visible}.recipe-media{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:inherit;background:var(--bg-sunken);isolation:isolate}.recipe-media picture{display:block;width:100%;height:100%}.recipe-media img,.food-photo{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.07) contrast(1.025);transition:transform .7s var(--ease),filter .4s}.recipe-media img.photo-fallback{object-fit:contain;padding:6%;filter:none;background:var(--bg-sunken)}a:hover>.recipe-media img,a:focus-visible>.recipe-media img,.mini-card:hover .recipe-media img,.ex-card:hover .recipe-media img{transform:scale(1.045)}.recipe-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgb(12 32 22 / .32));z-index:1}.media-label{position:absolute;left:10px;bottom:10px;z-index:2;max-width:calc(100% - 20px);padding:4px 10px;border-radius:var(--r-pill);background:#0c201694;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.02em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plate-media{background:radial-gradient(120% 100% at 30% 20%,var(--champ-100),var(--ivory-200));display:grid;place-items:center}:root[data-theme=dark] .plate-media{background:radial-gradient(120% 100% at 30% 20%,#244034,#14241a)}.plate-media:after{display:none}.plate{position:relative;aspect-ratio:1;height:88%;max-width:88%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff 0,#fbf5e6 55%,#efe4cb);box-shadow:0 0 0 1px #1332241a,0 18px 30px -14px #13322473,inset 0 0 0 7px #ffffffbf}.plate-rim{position:absolute;inset:9%;border-radius:50%;border:1.5px solid rgb(198 161 86 / .55);box-shadow:inset 0 0 0 4px #c6a1561a}.plate-food{position:absolute;width:34%;height:34%;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 3px rgb(19 50 36 / .25));vertical-align:baseline}.plate[data-n="1"] .plate-food{left:50%;top:50%;width:54%;height:54%}.plate[data-n="2"] .plate-food{width:40%;height:40%;top:50%}.plate[data-n="2"] .plate-food:nth-of-type(1){left:34%}.plate[data-n="2"] .plate-food:nth-of-type(2){left:66%}.plate[data-n="3"] .plate-food{width:38%;height:38%}.plate[data-n="3"] .plate-food:nth-of-type(1){left:50%;top:32%}.plate[data-n="3"] .plate-food:nth-of-type(2){left:33%;top:64%}.plate[data-n="3"] .plate-food:nth-of-type(3){left:67%;top:64%}.plate[data-n="4"] .plate-food{width:36%;height:36%}.plate[data-n="4"] .plate-food:nth-of-type(1){left:35%;top:35%}.plate[data-n="4"] .plate-food:nth-of-type(2){left:65%;top:35%}.plate[data-n="4"] .plate-food:nth-of-type(3){left:35%;top:65%}.plate[data-n="4"] .plate-food:nth-of-type(4){left:65%;top:65%}.plate[data-n="5"] .plate-food{width:32%;height:32%}.plate[data-n="5"] .plate-food:nth-of-type(1){left:50%;top:26%}.plate[data-n="5"] .plate-food:nth-of-type(2){left:27%;top:45%}.plate[data-n="5"] .plate-food:nth-of-type(3){left:73%;top:45%}.plate[data-n="5"] .plate-food:nth-of-type(4){left:37%;top:71%}.plate[data-n="5"] .plate-food:nth-of-type(5){left:63%;top:71%}.plate[data-n="6"] .plate-food{width:29%;height:29%}.plate[data-n="6"] .plate-food:nth-of-type(1){left:35%;top:28%}.plate[data-n="6"] .plate-food:nth-of-type(2){left:65%;top:28%}.plate[data-n="6"] .plate-food:nth-of-type(3){left:24%;top:52%}.plate[data-n="6"] .plate-food:nth-of-type(4){left:76%;top:52%}.plate[data-n="6"] .plate-food:nth-of-type(5){left:38%;top:75%}.plate[data-n="6"] .plate-food:nth-of-type(6){left:62%;top:75%}.stack-icons{display:inline-flex;align-items:center}.stack-icons .food-icon,.stack-icon{width:30px;height:30px;margin-left:-9px;padding:3px;border-radius:50%;background:var(--surface);box-shadow:0 0 0 2px var(--surface),0 1px 3px #13322433}.stack-icons .food-icon:first-child{margin-left:0}.arch{border-radius:999px 999px var(--r-xl) var(--r-xl)}#ex-profile-host{padding-top:14px}.ex-profile{display:flex;align-items:center;gap:8px;padding:0 24px 0 0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.ex-profile::-webkit-scrollbar{display:none}.ex-profile>*{scroll-snap-align:start}.ex-profile-name{display:inline-flex;align-items:center;gap:9px;flex:none;min-height:46px;padding:5px 14px 5px 5px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);font-size:var(--fs-sm);font-weight:650;color:var(--text);transition:background var(--t-fast),transform var(--t-fast)}.ex-profile-name:hover{background:var(--bg-sunken)}.ex-profile-name:active{transform:scale(.97)}.ex-profile-name .swap{width:16px;height:16px;color:var(--text-faint)}.ex-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(150deg,var(--champ-300),var(--champ-500));color:var(--forest-950);font-family:var(--font-display);font-size:1.1rem;font-weight:600;box-shadow:inset 0 1px #ffffff80}.focus-profile-badges{display:flex;align-items:center;gap:8px;flex:none}.focus-select{position:relative;display:inline-flex;flex:none}.focus-select select{width:auto;min-height:46px;padding:0 34px 0 14px;border-radius:var(--r-pill);border-color:var(--line);background-color:var(--surface);box-shadow:var(--sh-1);font-size:var(--fs-sm);font-weight:600;background-position:right 12px center;background-size:16px}.focus-select.has-icon select{padding-left:40px}.focus-select.has-icon>.icon{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none;color:var(--text-soft);z-index:1}.focus-inline-panel{position:relative;flex:none}.focus-inline-panel>summary{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 12px 0 14px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.focus-inline-panel>summary .icon{width:18px;height:18px;color:var(--text-soft)}.focus-inline-panel>summary:after{width:16px;height:16px}.focus-inline-panel.has-allergens>summary{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-text)}.focus-inline-panel.has-allergens>summary .icon{color:var(--accent-text)}.focus-inline-panel[open]>summary{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 22%,transparent)}.focus-inline-body{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + 30px + var(--safe-b));z-index:80;max-height:62dvh;overflow:auto;padding:20px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);animation:sheet-in var(--t-med) var(--ease)}.focus-inline-body fieldset{display:grid;gap:10px}.focus-inline-body small{display:block;margin-top:12px;color:var(--text-soft);font-size:var(--fs-xs);line-height:1.5}.focus-inline-body label{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm)}.focus-inline-body input[type=number],.focus-inline-body select{min-height:42px}.focus-allergen-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.focus-allergen-options label{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}.focus-allergen-options label:has(input:checked){background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.focus-inline-body details>summary{min-height:42px;color:var(--link);font-size:var(--fs-sm)}.focus-settings-link{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:46px;padding:0 14px;margin-left:auto;border-radius:var(--r-pill);color:var(--text-soft);font-size:var(--fs-sm);font-weight:600}.focus-settings-link:hover{background:var(--bg-sunken);color:var(--text)}.focus-settings-link .icon{width:18px;height:18px}.focus-backup{flex:none;padding:8px 14px;border-radius:var(--r-pill);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm);font-weight:650;text-decoration:none}@media(min-width:760px){.ex-profile{overflow:visible;padding-right:0;flex-wrap:wrap}.focus-inline-body{position:absolute;left:0;right:auto;bottom:auto;top:calc(100% + 10px);width:min(400px,calc(100vw - 32px));max-height:none}.focus-settings-link{margin-left:auto}}.ex-workbench,#daily-workbench{display:grid;gap:clamp(28px,5vw,56px);padding-block:clamp(14px,2.4vw,24px) 0;align-content:start}#daily-workbench>*{min-width:0}#daily-workbench>.btn{justify-self:center}.section-kicker{margin:0 0 14px;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft)}.home-hero{position:relative;display:grid;gap:clamp(22px,4vw,56px);padding:clamp(20px,4.4vw,56px);border-radius:var(--r-2xl);color:var(--hero-text);background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--forest-600) 60%,transparent),transparent 62%),linear-gradient(160deg,var(--hero-2),var(--hero));overflow:hidden;isolation:isolate;box-shadow:var(--sh-3)}.home-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40% 50% at 92% 8%,rgb(231 211 161 / .22),transparent 70%),radial-gradient(34% 40% at 6% 100%,rgb(129 145 57 / .28),transparent 70%)}.hero-glow:after{content:"";position:absolute;left:-30px;bottom:-30px;width:min(300px,60%);aspect-ratio:1;background:url(/assets/decor/olive-branch.svg) center/contain no-repeat;opacity:.16;transform:rotate(-8deg)}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;order:2}.home-hero .eyebrow{color:var(--champ-300);margin-bottom:.9rem}.home-hero h1{font-size:clamp(2.2rem,1.25rem + 4.3vw,4.1rem);line-height:1.02;letter-spacing:-.025em;color:var(--hero-text);font-weight:500;font-variation-settings:"SOFT" 40,"WONK" 1;max-width:15ch;text-wrap:balance}.home-hero h1 em{color:var(--champ-300);font-weight:420}.hero-lede{margin:1.1rem 0 0;max-width:46ch;font-size:var(--fs-md);line-height:1.55;color:var(--hero-soft)}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:1.3rem 0 0;padding:0}.hero-chips li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 11px;border-radius:var(--r-pill);background:#fbf7ee17;border:1px solid rgb(251 247 238 / .16);color:var(--hero-text);font-size:var(--fs-sm);font-weight:550;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-chips .icon{width:16px;height:16px;color:var(--champ-300)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.7rem;width:100%}.hero-actions .btn{flex:1 1 auto}.hero-actions .btn.primary,.hero-actions .btn.secondary{min-height:54px}.home-hero .focus-quick-row{margin-top:1.3rem}.hero-media{position:relative;order:1;margin:0;min-width:0;justify-self:center;width:100%}.hero-media>.recipe-media{aspect-ratio:6/5;border-radius:999px 999px var(--r-xl) var(--r-xl);box-shadow:0 30px 60px -24px #000000a6,0 0 0 6px #fbf7ee14,0 0 0 7px #e7d3a14d;background:var(--forest-800)}.hero-media>.plate-media{background:radial-gradient(100% 90% at 30% 20%,#fdf4de,#e8dcbf);padding:6%}.hero-media .media-label{left:50%;transform:translate(-50%);bottom:14px}.hero-float{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 7px;border-radius:var(--r-pill);background:#fffdf8f0;color:var(--ink-900);font-size:var(--fs-sm);font-weight:650;box-shadow:0 10px 24px -8px #00000080;animation:float-bob 6s ease-in-out infinite}.hero-float .food-icon{width:30px;height:30px;padding:3px;border-radius:50%;background:var(--ivory-100)}.hero-float.float-1{left:-4px;top:30%}.hero-float.float-2{right:-4px;top:58%;animation-delay:-3s}@keyframes float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.hero-caption{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:14px;text-align:center;font-size:var(--fs-xs);color:var(--hero-soft)}.hero-caption .eyebrow{margin:0}.hero-caption a{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--hero-text);text-decoration:none}.hero-caption a:hover{text-decoration:underline}@media(min-width:900px){.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;padding-block:clamp(36px,4.4vw,64px)}.hero-copy{order:1}.hero-media{order:2;justify-self:end;max-width:520px}.hero-media>.recipe-media{aspect-ratio:4/5}.hero-actions .btn{flex:0 0 auto}.hero-float.float-1{left:-26px}.hero-float.float-2{right:-22px}}@media(max-width:640px){.hero-media>.recipe-media{aspect-ratio:16/10}.hero-chips .opt{display:none}.home-hero{gap:14px;padding:16px 16px 20px}.hero-lede{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hero-caption{margin-top:10px}.hero-lede{margin-top:.8rem}.hero-chips{margin-top:1rem}.hero-actions{margin-top:1.2rem}}@media(max-width:420px){.hero-float{display:none}}.focus-quick-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.focus-quick-row>span:first-child{font-size:var(--fs-sm);color:var(--text-soft);margin-right:2px}.on-hero .focus-quick-row>span:first-child{color:var(--hero-soft)}.focus-food{padding:0 14px 0 8px;min-height:46px}.focus-food .food-icon{width:28px;height:28px}.focus-food .plus{opacity:.6;font-size:1.1em;line-height:1}.on-hero .focus-food{background:#fbf7ee17;border-color:#fbf7ee38;color:var(--hero-text)}.on-hero .focus-food:hover{background:#fbf7ee2e}.home-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);overflow:hidden}.glance-tile{display:grid;grid-template-rows:auto auto 1fr;gap:4px;padding:clamp(14px,2.4vw,24px);color:var(--text);text-decoration:none;transition:background var(--t-fast)}.glance-tile+.glance-tile{border-left:1px solid var(--line)}.glance-tile:hover{background:var(--bg-sunken)}.glance-visual{display:flex;align-items:center;min-height:44px;color:var(--brand)}.glance-visual .icon.xl{width:34px;height:34px}.glance-tile strong{font-family:var(--font-display);font-size:clamp(1.8rem,1.3rem + 2vw,2.8rem);line-height:1;font-weight:500;font-variant-numeric:lining-nums}.glance-tile>span:last-child{font-size:var(--fs-sm);color:var(--text-soft);line-height:1.35}@media(max-width:420px){.glance-tile>span:last-child{font-size:var(--fs-xs)}.stack-icons .food-icon{width:26px;height:26px}}.rail-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.rail-head h2{font-size:var(--fs-2xl)}.rail-head p{margin:6px 0 0;color:var(--text-soft);font-size:var(--fs-sm);max-width:52ch}.rail-head .text-link{white-space:nowrap;font-size:var(--fs-sm)}.rail-scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px var(--gutter) 14px;margin-inline:calc(var(--gutter) * -1);scrollbar-width:none;overscroll-behavior-x:contain}.rail-scroll::-webkit-scrollbar{display:none}.rail-scroll>div{flex:0 0 min(74vw,272px);scroll-snap-align:start}.mini-card{display:flex;flex-direction:column;height:100%;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden;color:var(--text);text-decoration:none;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}.mini-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}.mini-photo{display:block}.mini-photo .recipe-media{border-radius:0;aspect-ratio:4/3}.mini-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;flex:1}.mini-body strong{font-family:var(--font-display);font-weight:520;font-size:var(--fs-lg);line-height:1.15;letter-spacing:-.012em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance}.mini-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-xs);color:var(--text-soft)}.mini-time{display:inline-flex;align-items:center;gap:5px}.mini-time .icon{width:14px;height:14px}.mini-cover{display:grid;gap:6px;margin-top:auto;font-size:var(--fs-xs);color:var(--text-soft)}.mini-cover progress{height:6px}.ex-state{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;letter-spacing:.01em;background:var(--bg-sunken);color:var(--text-soft)}.ex-state.ready{background:var(--ok-soft);color:var(--ok)}.ex-state.almost{background:var(--warn-soft);color:var(--warn)}@media(min-width:1024px){.rail-scroll{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding:4px 0 0;margin-inline:0}.rail-scroll>div{flex:none}}.action-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.action-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;min-height:148px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);color:var(--text);text-align:left;text-decoration:none;cursor:pointer;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-fast)}.action-tile:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--forest-300)}.action-tile:active{transform:scale(.98)}.action-tile .tile-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:auto;border-radius:16px;background:var(--brand-soft);color:var(--brand)}.action-tile .tile-icon .icon{width:24px;height:24px}.action-tile strong{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:540;line-height:1.1;margin-top:14px}.action-tile>span:last-child{font-size:var(--fs-sm);color:var(--text-soft);line-height:1.35}.action-tile.tile-scan{background:linear-gradient(155deg,var(--terra-500),var(--terra-800));border-color:transparent;color:#fff;box-shadow:0 18px 34px -16px #85381bcc}.action-tile.tile-scan .tile-icon{background:#ffffff2e;color:#fff}.action-tile.tile-scan>span:last-child{color:#ffffffe0}:root[data-theme=dark] .action-tile .tile-icon{color:var(--gold-text)}@media(min-width:900px){.action-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.action-tile{min-height:176px;padding:22px}}.home-trust{padding:clamp(22px,3.4vw,36px);border-radius:var(--r-xl);background:linear-gradient(180deg,var(--gold-soft),transparent 140%),var(--surface);border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line))}.home-trust ul{display:grid;gap:18px;list-style:none;margin:0;padding:0}.home-trust li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:3px;align-items:start}.home-trust li>.icon{grid-row:span 2;width:42px;height:42px;padding:10px;border-radius:14px;background:var(--brand-soft);color:var(--brand)}.home-trust strong{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:540;line-height:1.2}.home-trust li>span{font-size:var(--fs-sm);color:var(--text-soft)}:root[data-theme=dark] .home-trust li>.icon{color:var(--gold-text)}@media(min-width:800px){.home-trust ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}.ex-support{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;color:var(--text-soft);font-size:var(--fs-sm)}.ex-support p{margin:0}.focus-more{margin-left:auto}.focus-more>summary{display:inline-flex;min-height:46px;padding:0 18px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line-strong);font-size:var(--fs-sm);font-weight:650;color:var(--text)}.focus-more-items{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding:16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.focus-more-items>a{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:650;text-decoration:none}.focus-more-items>a:hover{background:var(--bg-sunken)}.focus-more[open]{flex-basis:100%}.focus-more[open]>summary{margin-bottom:4px}.ex-notice,#ex-notice{padding:12px 16px;border-radius:var(--r-md);background:var(--brand-soft);color:var(--text);font-size:var(--fs-sm);display:flex;align-items:center;gap:12px;justify-content:space-between}.pantry-intro,.scanner-wrap,.flow-pantry-hero,.pantry-layout,.recipe-studio,.pantry-return-shortcuts{margin-top:clamp(20px,3.6vw,38px)}.pantry-intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}.pantry-intro h1{font-size:clamp(2.2rem,1.4rem + 3.8vw,3.8rem);line-height:1.02;letter-spacing:-.025em;max-width:16ch}.pantry-intro .lead{margin-top:.9rem;max-width:52ch}.pantry-intro-count{display:inline-flex;align-items:baseline;gap:8px;padding:10px 18px;border-radius:var(--r-pill);background:var(--fresh-soft);color:var(--fresh-text);font-weight:650;font-size:var(--fs-sm)}.flow-pantry-hero>.flow-pantry-entry{padding:clamp(20px,3.4vw,34px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2)}.flow-pantry-hero h2{font-size:var(--fs-2xl);margin-bottom:16px}#pantry-form .field>label{font-size:var(--fs-sm);font-weight:600;color:var(--text-soft)}#pantry-form .fineprint{margin:10px 4px 0}#flow-quick-host{margin-top:22px}#flow-quick-host>.eyebrow{margin-bottom:12px}.quick-ingredients,.flow-quick-grid{display:flex;flex-wrap:wrap;gap:8px}.quick-ingredient{padding:0 14px 0 8px;min-height:48px;position:relative}.quick-ingredient .food-icon{width:32px;height:32px;padding:3px;border-radius:50%;background:var(--ivory-100);transition:transform var(--t-med) var(--ease-spring)}:root[data-theme=dark] .quick-ingredient .food-icon{background:#e9dfc6}.quick-ingredient:hover .food-icon{transform:rotate(-8deg) scale(1.08)}.quick-ingredient[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}:root[data-theme=dark] .quick-ingredient[aria-pressed=true]{color:var(--gold-text);border-color:var(--gold)}.quick-ingredient[aria-pressed=true]:after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.8 4.2 4.2L19 7.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.8 4.2 4.2L19 7.2'/%3E%3C/svg%3E") center/contain no-repeat}.focus-more-foods{min-height:48px;padding:0 16px;border-radius:var(--r-pill);border:1px dashed var(--line-strong);color:var(--link);font-weight:650;font-size:var(--fs-sm);background:transparent}.focus-more-foods:hover{background:var(--brand-soft)}.flow-more-foods{margin-top:16px;border-top:1px solid var(--line-soft);padding-top:4px}.flow-more-foods>summary{color:var(--link);font-size:var(--fs-sm)}.flow-more-foods details{border-bottom:1px solid var(--line-soft)}.flow-more-foods details>summary{min-height:52px;font-size:var(--fs-sm);color:var(--text)}.flow-quick-grid{padding:4px 0 18px}.ex-photo-trigger{display:none}.focus-photo-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;color:var(--link);font-size:var(--fs-sm);font-weight:650;text-decoration:underline;text-underline-offset:.22em}.flow-return{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-radius:var(--r-lg);background:var(--fresh-soft);border:1px solid color-mix(in srgb,var(--fresh) 30%,transparent)}.flow-return strong{display:block;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:540}.flow-return span{font-size:var(--fs-sm);color:var(--text-soft)}.pantry-layout{display:grid;gap:clamp(20px,3vw,36px);align-items:start}@media(min-width:1000px){.pantry-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.pantry-panel{position:sticky;top:calc(var(--header-h) + 16px)}}.pantry-panel{padding:0;overflow:hidden}.focus-stock-panel>summary{padding:18px 22px;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:520}.focus-stock-panel[open]>summary{border-bottom:1px solid var(--line-soft)}.focus-stock-panel>*:not(summary){margin-inline:20px}.focus-stock-panel .panel-title,.focus-stock-panel .panel-title .round-icon{display:none}.panel-title h2{display:flex;align-items:center;gap:10px}.pantry-chips{display:grid;gap:8px;margin-bottom:16px}.pantry-chip{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 8px 8px 10px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);cursor:default}.pantry-chip:hover{background:var(--bg)}.pantry-chip>.food-icon{width:36px;height:36px;padding:3px;border-radius:50%;background:var(--ivory-100)}:root[data-theme=dark] .pantry-chip>.food-icon{background:#e9dfc6}.pantry-chip>span{flex:1;min-width:0;font-weight:600;font-size:var(--fs-sm);line-height:1.25}.pantry-chip small{display:block;font-weight:500;color:var(--text-soft);font-size:var(--fs-xs)}.pantry-chip button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:40px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:650;color:var(--text-soft);background:var(--surface);border:1px solid var(--line)}.pantry-chip button .icon{width:14px;height:14px}.pantry-chip button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.pantry-chip button[data-remove-pantry]{padding:0;width:40px;font-size:1.2rem;line-height:1}.pantry-chip button[data-remove-pantry]:hover{background:var(--danger-soft);color:var(--danger)}.pantry-chip.flow-priority{border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:var(--gold-soft)}#clear-pantry{margin:4px 0 10px}.reviewed-notes{margin-top:8px}.photo-saved-food{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft)}.photo-saved-food>span{flex:1;min-width:0}.photo-saved-food small{display:block;color:var(--text-soft)}.recommendation-workspace{display:grid;gap:18px;min-width:0}.recommendation-heading h2{font-size:var(--fs-2xl)}.recommendation-heading p{margin:6px 0 0;color:var(--text-soft);font-size:var(--fs-sm)}.recipe-filters{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.recipe-filters>summary{padding:6px 18px}.recipe-filters>summary small{margin-left:auto;margin-right:8px;color:var(--text-soft);font-weight:500;font-size:var(--fs-xs)}.recipe-filters[open]{padding-bottom:18px}.recipe-filters>*:not(summary){margin-inline:18px}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;padding-top:6px}.pantry-allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pantry-allergen-grid label{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}.pantry-allergen-choices{grid-column:1/-1}.flow-coverage-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px}.results-line #match-summary{font-size:var(--fs-sm);color:var(--text-soft);margin:0}.match-grid{display:grid;gap:16px}.match-card{display:grid;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden;transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.match-card:hover{box-shadow:var(--sh-2)}.recommendation-photo{display:block}.recommendation-photo .recipe-media{border-radius:0;aspect-ratio:16/10}.recommendation-content{display:flex;flex-direction:column;gap:10px;padding:clamp(16px,2.6vw,24px);min-width:0}.recommendation-meta{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--fresh-text)}.recommendation-meta span:last-child{color:var(--text-soft);letter-spacing:.02em;text-transform:none}.recommendation-content h3{font-size:var(--fs-xl);line-height:1.12}.recommendation-content h3 a{color:var(--text);text-decoration:none}.recommendation-content h3 a:hover{text-decoration:underline}.flow-match-reason{margin:0;color:var(--text-soft);font-size:var(--fs-sm)}.flow-first-step,.flow-caution{margin:0;font-size:var(--fs-sm)}.flow-caution{padding:10px 12px;border-radius:var(--r-sm);background:var(--warn-soft);color:var(--warn)}.match-cover{display:grid;gap:6px;font-size:var(--fs-xs);color:var(--text-soft)}.match-cover progress{height:7px}.flow-match-status{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:5px 12px;border-radius:var(--r-pill);background:var(--bg-sunken);font-size:var(--fs-xs);font-weight:700;color:var(--text-soft)}.flow-match-status span{font-weight:550;opacity:.85}.flow-match-status[data-ready=true]{background:var(--ok-soft);color:var(--ok)}.flow-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.flow-card-more{position:relative}.flow-card-more>summary{min-height:48px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line-strong);font-size:var(--fs-sm);color:var(--text);background:var(--surface)}.flow-card-more[open]>div{position:absolute;z-index:10;left:0;top:calc(100% + 6px);display:grid;min-width:210px;padding:8px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3)}.flow-card-more[open]>div .btn{justify-content:flex-start;border-radius:var(--r-sm);min-height:44px}.flow-recipe-details{border-top:1px solid var(--line-soft);margin-top:4px}.flow-recipe-details>summary{min-height:46px;font-size:var(--fs-sm);color:var(--text-soft)}.flow-recipe-details p{font-size:var(--fs-sm);color:var(--text-soft)}@media(min-width:720px){.match-card{grid-template-columns:minmax(220px,38%) 1fr}.recommendation-photo .recipe-media{height:100%;aspect-ratio:auto;min-height:220px}}.flow-match-empty{display:grid;justify-items:start;gap:10px;padding:clamp(22px,4vw,40px);border-radius:var(--r-xl);background:linear-gradient(160deg,var(--fresh-soft),transparent 120%),var(--surface);border:1px dashed var(--line-strong)}.flow-match-empty>span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--surface);color:var(--fresh-text);box-shadow:var(--sh-1)}.flow-match-empty h3{font-size:var(--fs-xl)}.flow-match-empty p{margin:0;max-width:52ch;color:var(--text-soft)}.flow-result-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.scanner{border-radius:var(--r-2xl);background:var(--surface);color:var(--text);position:relative}.scanner-summary{position:relative;display:grid;gap:clamp(18px,3vw,32px);padding:clamp(24px,4.4vw,52px);border-radius:var(--r-2xl);color:var(--hero-text);background:radial-gradient(70% 90% at 100% 0%,rgb(205 103 58 / .42),transparent 62%),radial-gradient(60% 80% at 0% 100%,rgb(129 145 57 / .3),transparent 65%),linear-gradient(160deg,var(--hero-2),var(--hero));box-shadow:var(--sh-3);overflow:hidden;isolation:isolate;cursor:pointer;list-style:none;min-height:0}.scanner-summary:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scanner-summary:after{display:none}.scanner-pitch{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}.scanner-pitch .eyebrow{color:var(--champ-300);margin:0}.scanner-title{display:block;font-family:var(--font-display);font-size:clamp(2.1rem,1.2rem + 4vw,3.9rem);font-weight:500;line-height:1;letter-spacing:-.028em;font-variation-settings:"SOFT" 40,"WONK" 1;text-wrap:balance;max-width:11ch}.scanner-title em{color:var(--champ-300);font-weight:420}.scanner-sub{display:block;max-width:44ch;font-size:var(--fs-md);line-height:1.55;color:var(--hero-soft)}.scanner-pills{display:flex;flex-wrap:wrap;gap:8px}.scanner-pills>span{display:inline-flex;align-items:center;gap:7px;padding:7px 14px 7px 11px;border-radius:var(--r-pill);background:#fbf7ee17;border:1px solid rgb(251 247 238 / .18);font-size:var(--fs-sm);font-weight:600}.scanner-pills .icon{width:16px;height:16px;color:var(--champ-300)}.scanner-cta{margin-top:6px;pointer-events:none}.scanner-summary:hover .scanner-cta{transform:translateY(-1px);filter:brightness(1.06)}.scanner-summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.scanner-art{display:grid;place-items:center;min-width:0}@media(min-width:860px){.scanner-summary{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}}.vf{position:relative;width:min(100%,340px);aspect-ratio:1;border-radius:34px;padding:12px;background:#fbf7ee12;border:1px solid rgb(251 247 238 / .16);box-shadow:inset 0 0 40px #00000040}.vf-board{position:absolute;inset:14px;border-radius:24px;background:radial-gradient(100% 90% at 30% 15%,#fdf4de,#e7d9b9);box-shadow:inset 0 0 0 1px #fff9,inset 0 -20px 40px -20px #785a2859;overflow:hidden}.vf-food{position:absolute;display:block;width:30%;height:30%;filter:drop-shadow(0 6px 5px rgb(19 50 36 / .3));animation:float-slow 7s ease-in-out infinite}.vf-food .food-icon{width:100%;height:100%}.vf-food.f1{left:8%;top:10%;transform:rotate(-8deg)}.vf-food.f2{left:38%;top:6%;width:26%;height:26%;animation-delay:-1.2s}.vf-food.f3{left:66%;top:14%;width:24%;height:24%;animation-delay:-2.4s}.vf-food.f4{left:12%;top:54%;width:30%;height:30%;animation-delay:-3.6s}.vf-food.f5{left:44%;top:50%;width:26%;height:26%;transform:rotate(18deg);animation-delay:-4.8s}.vf-food.f6{left:70%;top:48%;width:22%;height:36%;animation-delay:-6s}.vf-corner{position:absolute;z-index:3;width:44px;height:44px;border:0 solid var(--champ-300);filter:drop-shadow(0 0 6px rgb(231 211 161 / .75));animation:corner-pulse 2.6s ease-in-out infinite}.vf-corner.tl{left:0;top:0;border-top-width:4px;border-left-width:4px;border-top-left-radius:22px}.vf-corner.tr{right:0;top:0;border-top-width:4px;border-right-width:4px;border-top-right-radius:22px}.vf-corner.bl{left:0;bottom:0;border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:22px}.vf-corner.br{right:0;bottom:0;border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:22px}.vf-beam{position:absolute;z-index:2;left:14px;right:14px;top:14px;height:34%;transform:translateY(-100%);border-bottom:2px solid rgb(255 247 222 / .95);background:linear-gradient(to bottom,transparent,rgb(231 211 161 / .1) 55%,rgb(231 211 161 / .42) 92%,rgb(255 247 222 / .85));box-shadow:0 16px 30px #e7d3a14d;animation:vf-sweep 4.2s cubic-bezier(.65,0,.35,1) infinite;border-radius:6px}@keyframes vf-sweep{0%{transform:translateY(-100%)}55%,to{transform:translateY(190%)}}@keyframes corner-pulse{0%,to{opacity:.75;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}@keyframes float-slow{0%,to{translate:0 0}50%{translate:0 -6px}}.scanner[open]{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2)}.scanner[open]>.scanner-summary{grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 18px 14px 22px;border-radius:var(--r-2xl) var(--r-2xl) 0 0;box-shadow:none;background:linear-gradient(160deg,var(--hero-2),var(--hero))}.scanner[open]>.scanner-summary .scanner-art,.scanner[open]>.scanner-summary .scanner-sub,.scanner[open]>.scanner-summary .scanner-pills,.scanner[open]>.scanner-summary .scanner-cta,.scanner[open]>.scanner-summary .eyebrow{display:none}.scanner[open]>.scanner-summary .scanner-title{font-size:var(--fs-lg);max-width:none;line-height:1.1}.scanner[open]>.scanner-summary:after{display:block;content:"Close";width:auto;height:auto;padding:8px 16px;border-radius:var(--r-pill);background:#fbf7ee1f;color:var(--hero-text);opacity:1;font-size:var(--fs-sm);font-weight:650;-webkit-mask:none;mask:none;transform:none}.photo-lab{padding:clamp(18px,3.4vw,36px);background:var(--surface);border-radius:0 0 var(--r-2xl) var(--r-2xl)}.photo-lab-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}.photo-lab-head h2{font-size:var(--fs-2xl)}.photo-lab-head p:not(.eyebrow){margin:8px 0 0;max-width:56ch;color:var(--text-soft);font-size:var(--fs-sm)}.photo-service-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--r-pill);background:var(--bg-sunken);border:1px solid var(--line);font-size:var(--fs-xs);font-weight:650;color:var(--text-soft)}.photo-service-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-400)}.scanner-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0 24px;padding:6px;list-style:none;border-radius:var(--r-lg);background:var(--bg-sunken);border:1px solid var(--line-soft)}.scanner-stepper li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);color:var(--text-faint);transition:background var(--t-med),color var(--t-med)}.st-dot{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;border:1.8px solid currentColor;font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;transition:background var(--t-med),color var(--t-med),border-color var(--t-med)}.st-copy{display:grid;line-height:1.2;min-width:0}.st-copy strong{font-size:var(--fs-sm);font-weight:650}.st-copy small{font-size:var(--fs-xs);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scanner-stepper .st-see{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}.scanner-stepper .st-see .st-dot{background:var(--accent);border-color:var(--accent);color:#fff}#photo-kitchen[data-photo-stage="3"] .st-see{background:transparent;color:var(--ok);box-shadow:none}#photo-kitchen[data-photo-stage="3"] .st-see .st-dot{background:var(--ok);border-color:var(--ok);color:#fff;font-size:0}#photo-kitchen[data-photo-stage="3"] .st-see .st-dot:before,#photo-kitchen:has(#flow-photo-success:not([hidden])) .st-confirm .st-dot:before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.8 4.2 4.2L19 7.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.8 4.2 4.2L19 7.2'/%3E%3C/svg%3E") center/contain no-repeat}#photo-kitchen[data-photo-stage="3"] .st-confirm{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}#photo-kitchen[data-photo-stage="3"] .st-confirm .st-dot{background:var(--accent);border-color:var(--accent);color:#fff}#photo-kitchen:has(#flow-photo-success:not([hidden])) .st-confirm{background:transparent;color:var(--ok);box-shadow:none}#photo-kitchen:has(#flow-photo-success:not([hidden])) .st-confirm .st-dot{background:var(--ok);border-color:var(--ok);color:#fff;font-size:0}#photo-kitchen:has(#flow-photo-success:not([hidden])) .st-cook{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}#photo-kitchen:has(#flow-photo-success:not([hidden])) .st-cook .st-dot{background:var(--accent);border-color:var(--accent);color:#fff}@media(max-width:560px){.st-copy small{display:none}.scanner-stepper li{padding:8px;gap:8px}}.photo-workspace{display:grid;gap:22px}@media(min-width:920px){.photo-workspace{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:start}}.photo-workspace>div{min-width:0}.photo-drop{display:grid;justify-items:center;gap:10px;padding:clamp(26px,5vw,48px) clamp(18px,3vw,32px);text-align:center;border:2px dashed var(--line-strong);border-radius:var(--r-xl);background:radial-gradient(90% 100% at 50% 0%,var(--fresh-soft),transparent),var(--bg);transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-med) var(--ease)}.photo-drop.drag-over{border-color:var(--brand);background:var(--brand-soft);transform:scale(1.01)}.photo-camera-mark{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:linear-gradient(160deg,var(--terra-500),var(--terra-700));color:#fff;box-shadow:0 14px 28px -10px #a0441db3,0 0 0 8px color-mix(in srgb,var(--accent) 14%,transparent)}.photo-camera-mark .icon,.photo-camera-mark svg{width:34px;height:34px}.photo-drop h3{font-size:var(--fs-xl)}.photo-drop p{margin:0;color:var(--text-soft);font-size:var(--fs-sm);max-width:36ch}.photo-pick-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px}.upload-label{position:relative;overflow:hidden;cursor:pointer}.upload-label input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0;padding:0;border:0;font-size:0}.upload-label:focus-within{outline:3px solid var(--focus);outline-offset:3px}.photo-drop small{color:var(--text-faint);font-size:var(--fs-xs)}.photo-preview-wrap{margin:0;display:grid;gap:12px}.scan-stage{position:relative;overflow:hidden;border-radius:var(--r-xl);background:#0b1a12;box-shadow:var(--sh-3);isolation:isolate}.scan-stage img{width:100%;height:auto;max-height:min(62dvh,560px);object-fit:contain;transition:filter .7s var(--ease),transform 1.2s var(--ease)}#photo-kitchen[data-scan=on] .scan-stage img{filter:saturate(.7) brightness(.86) contrast(1.04);transform:scale(1.015)}#photo-kitchen[data-scan=on][data-scan-phase=analyze] .scan-stage img{filter:saturate(.9) brightness(.92) contrast(1.05)}.scan-fx{position:absolute;inset:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}#photo-kitchen[data-scan] .scan-fx{opacity:1;visibility:visible}.scan-tint{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,transparent 34%,rgb(6 22 14 / .62) 100%),linear-gradient(180deg,#18463261,#1846321f)}.scan-grid{position:absolute;inset:0;opacity:.85;background-image:linear-gradient(rgb(231 211 161 / .17) 1px,transparent 1px),linear-gradient(90deg,rgb(231 211 161 / .17) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 28%,transparent 76%);mask-image:radial-gradient(circle at 50% 50%,#000 28%,transparent 76%);animation:grid-drift 8s linear infinite}@keyframes grid-drift{to{background-position:34px 34px}}.scan-beam{position:absolute;left:0;right:0;top:0;height:30%;transform:translateY(-100%);border-bottom:2px solid rgb(255 247 222 / .95);background:linear-gradient(to bottom,transparent,rgb(231 211 161 / .1) 50%,rgb(231 211 161 / .4) 90%,rgb(255 247 222 / .9));box-shadow:0 18px 34px #e7d3a159;animation:beam-sweep 2.8s cubic-bezier(.65,0,.35,1) infinite}#photo-kitchen[data-scan-phase=prepare] .scan-beam,#photo-kitchen[data-scan-phase=security] .scan-beam{animation-duration:4.2s;opacity:.7}#photo-kitchen[data-scan-phase=analyze] .scan-beam{animation-duration:2.1s}@keyframes beam-sweep{0%{transform:translateY(-100%)}60%,to{transform:translateY(335%)}}.scan-corner{position:absolute;width:42px;height:42px;border:0 solid var(--champ-300);filter:drop-shadow(0 0 7px rgb(231 211 161 / .8));animation:corner-pulse 2.4s ease-in-out infinite}.scan-corner-tl{left:16px;top:16px;border-top-width:4px;border-left-width:4px;border-top-left-radius:20px}.scan-corner-tr{right:16px;top:16px;border-top-width:4px;border-right-width:4px;border-top-right-radius:20px}.scan-corner-bl{left:16px;bottom:16px;border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:20px}.scan-corner-br{right:16px;bottom:16px;border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:20px}.scan-readout{position:absolute;left:50%;bottom:22px;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 28px);padding:10px 18px 10px 14px;border-radius:var(--r-pill);background:#081a11c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgb(231 211 161 / .3);color:#fff;font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.scan-readout svg{width:18px;height:18px;color:var(--champ-300);animation:spin-slow 4s linear infinite}.scan-lines,.scan-live-phase{display:block;overflow:hidden;text-overflow:ellipsis}.scan-dots{display:inline-flex;gap:4px}.scan-dots i{width:5px;height:5px;border-radius:50%;background:var(--champ-300);animation:dot-bounce 1.1s ease-in-out infinite}.scan-dots i:nth-child(2){animation-delay:.15s}.scan-dots i:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes spin-slow{to{transform:rotate(360deg)}}.scan-done{position:absolute;left:50%;bottom:20px;transform:translate(-50%);display:none;flex-direction:column;align-items:center;gap:10px;width:calc(100% - 32px);max-width:420px;padding:16px 18px;border-radius:var(--r-lg);background:#081a11d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgb(231 211 161 / .35);color:#fff;text-align:center}.scan-done-count{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:520}.scan-found{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.scan-found span{padding:4px 11px;border-radius:var(--r-pill);background:#fffdf8f0;color:var(--ink-900);font-size:var(--fs-xs);font-weight:650;animation:chip-in .5s var(--ease-spring) both}.scan-found span:nth-child(2){animation-delay:.07s}.scan-found span:nth-child(3){animation-delay:.14s}.scan-found span:nth-child(4){animation-delay:.21s}.scan-found span:nth-child(5){animation-delay:.28s}.scan-found span:nth-child(6){animation-delay:.35s}.scan-found span:nth-child(7){animation-delay:.42s}.scan-found span:nth-child(8){animation-delay:.49s}@keyframes chip-in{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}#photo-kitchen[data-scan=done] .scan-done{display:flex;animation:chip-in .5s var(--ease-spring)}#photo-kitchen[data-scan=done] .scan-readout,#photo-kitchen[data-scan=done] .scan-beam,#photo-kitchen[data-scan=done] .scan-grid{display:none}#photo-kitchen[data-scan=done] .scan-tint{background:linear-gradient(180deg,transparent 40%,rgb(6 22 14 / .6))}#photo-kitchen[data-scan=done] .scan-stage img{filter:none;transform:none}.scan-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px}.scan-preview-toolbar strong{display:block;font-size:var(--fs-sm)}.scan-preview-toolbar small{color:var(--text-soft);font-variant-numeric:tabular-nums}.lens-quality{padding:12px 14px;border-radius:var(--r-md);background:var(--fresh-soft);color:var(--fresh-text);font-size:var(--fs-sm)}.lens-quality[data-tone=caution]{background:var(--warn-soft);color:var(--warn)}#photo-clear{margin-top:10px}.scan-feedback{display:grid;gap:14px;padding:18px;border-radius:var(--r-lg);background:var(--bg-sunken);border:1px solid var(--line)}.scan-feedback-top{display:flex;align-items:center;gap:14px}.scan-orbit{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:1.2rem;animation:spin-slow 5s linear infinite}.scan-feedback strong{display:block;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:520}.scan-feedback small{color:var(--text-soft);font-variant-numeric:tabular-nums}.scan-phase-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}.scan-phase-list li{position:relative;padding-top:14px;font-size:var(--fs-xs);font-weight:600;color:var(--text-faint);text-align:center;line-height:1.25}.scan-phase-list li:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-radius:3px;background:var(--line)}.scan-phase-list li.is-complete{color:var(--ok)}.scan-phase-list li.is-complete:before{background:var(--ok)}.scan-phase-list li.is-current{color:var(--text)}.scan-phase-list li.is-current:before{background:linear-gradient(90deg,var(--accent),var(--champ-400),var(--accent));background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.scan-indeterminate{display:block;height:4px;border-radius:2px;overflow:hidden;background:var(--line);position:relative}.scan-indeterminate:after{content:"";position:absolute;inset:0 auto 0 -40%;width:40%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:indet 1.3s ease-in-out infinite}@keyframes indet{to{left:100%}}.scan-feedback .fineprint{margin:0}.photo-controls{display:grid;gap:14px;align-content:start}.photo-controls h3{font-size:var(--fs-xl)}.photo-controls>.eyebrow{margin:6px 0 -6px}.photo-controls details{border:1px solid var(--line);border-radius:var(--r-lg);padding:0 16px;background:var(--bg)}.photo-controls details[open]{padding-bottom:16px}.photo-controls details summary{min-height:50px;font-size:var(--fs-sm)}.photo-controls details details{background:transparent;border:0;padding:0}.photo-controls label.field,.photo-crop label{display:grid;gap:6px;font-size:var(--fs-sm);font-weight:600;margin-top:12px}.photo-boundary{font-size:var(--fs-sm);color:var(--text-soft)}.photo-consent{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);font-size:var(--fs-sm);line-height:1.45;cursor:pointer}.photo-action-row{display:flex;flex-wrap:wrap;gap:10px}.photo-action-row .btn{flex:1 1 220px;min-height:56px;font-size:var(--fs-md)}.photo-status{margin:0;padding:12px 16px;border-radius:var(--r-md);background:var(--bg-sunken);color:var(--text-soft);font-size:var(--fs-sm)}.photo-status[data-tone=error]{background:var(--danger-soft);color:var(--danger);font-weight:600}.ex-photo-gate{padding:14px 16px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm)}.ex-photo-recovery{display:flex;flex-wrap:wrap;gap:10px}#photo-check{min-height:0}.photo-results{margin-top:clamp(26px,4vw,44px);padding-top:clamp(22px,3.6vw,36px);border-top:1px solid var(--line);display:grid;gap:18px;animation:rise-in .6s var(--ease) both}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.photo-results-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px}.photo-results-head h3{font-size:var(--fs-2xl)}.photo-results-head p{margin:8px 0 0;color:var(--text-soft);font-size:var(--fs-sm)}.photo-results-head small{color:var(--text-faint)}.photo-review-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.photo-review-reference{display:flex;align-items:center;gap:16px;padding:12px;border-radius:var(--r-lg);background:var(--bg-sunken);border:1px solid var(--line-soft)}.photo-review-reference img{width:120px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-md);flex:none}.photo-review-reference strong{display:block;font-size:var(--fs-sm)}.photo-review-reference p{margin:4px 0 0;font-size:var(--fs-xs);color:var(--text-soft)}.photo-issues{display:grid;gap:8px;list-style:none;margin:0;padding:0}.photo-issues li{padding:10px 14px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm)}.photo-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}.photo-food{position:relative;display:grid;gap:10px;padding:16px;border-radius:var(--r-lg);background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-1);transition:border-color var(--t-med),background var(--t-med),transform var(--t-med) var(--ease),opacity var(--t-med);animation:rise-in .55s var(--ease) both}.photo-food:nth-child(2){animation-delay:.05s}.photo-food:nth-child(3){animation-delay:.1s}.photo-food:nth-child(4){animation-delay:.15s}.photo-food:nth-child(5){animation-delay:.2s}.photo-food:nth-child(6){animation-delay:.25s}.photo-food:nth-child(n+7){animation-delay:.3s}.photo-food.is-reviewed{border-color:var(--brand);background:color-mix(in srgb,var(--brand-soft) 55%,var(--surface));box-shadow:0 0 0 1px var(--brand),var(--sh-2)}:root[data-theme=dark] .photo-food.is-reviewed{border-color:var(--gold)}.photo-food[data-review=rejected]{opacity:.55}.photo-food[data-review=rejected] .photo-food-name{text-decoration:line-through;text-decoration-thickness:2px}.photo-pick-food{display:flex;align-items:center;gap:12px;width:100%;cursor:pointer}.photo-food-icon{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:18px;background:var(--ivory-100)}:root[data-theme=dark] .photo-food-icon{background:#e9dfc6}.photo-food-icon .food-icon,.photo-food-icon .icon{width:38px;height:38px}.photo-food-icon .icon{color:var(--text-faint)}.photo-food-heading{display:grid;gap:4px;flex:1;min-width:0}.photo-food-name{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:530;line-height:1.15;overflow-wrap:anywhere}.photo-certainty{display:inline-flex;width:fit-content;max-width:100%;padding:3px 10px;border-radius:var(--r-pill);background:var(--fresh-soft);color:var(--fresh-text);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.03em}.photo-certainty.uncertain{background:var(--warn-soft);color:var(--warn)}.photo-certainty.corrected{background:var(--brand-soft);color:var(--brand)}:root[data-theme=dark] .photo-certainty.corrected{color:var(--gold-text)}.photo-pick-food input[type=checkbox]{order:3;width:30px;height:30px;border-radius:50%}.photo-pick-food input[type=checkbox]:checked{background-size:18px}.photo-evidence-brief{margin:0;font-size:var(--fs-sm);color:var(--text-soft);line-height:1.45}.photo-choices{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.photo-choices>span{font-size:var(--fs-xs);color:var(--text-faint)}.photo-choice{min-height:38px;padding:0 12px;font-size:var(--fs-xs)}.photo-edit-details{border:0!important;padding:0!important;background:transparent!important}.photo-edit-details>summary{min-height:40px;font-size:var(--fs-xs);color:var(--link);justify-content:flex-start;gap:6px}.photo-edit-details>summary:after{margin-left:2px}.photo-edit-fields{display:grid;gap:12px;padding-top:6px}.photo-observation,.photo-caution{margin:0;font-size:var(--fs-xs);color:var(--text-soft)}.photo-reject{justify-self:start;min-height:40px;padding:0 14px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:650;color:var(--text-soft);border:1px solid var(--line)}.photo-reject:hover{background:var(--danger-soft);color:var(--danger);border-color:transparent}.photo-confirm-bar{position:sticky;bottom:calc(var(--nav-h) + 24px + var(--safe-b));z-index:30;display:grid;gap:12px;padding:16px;border-radius:var(--r-xl);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--sh-3)}.photo-confirm-copy{display:grid;gap:8px}.photo-confirm-copy strong{font-size:var(--fs-sm)}.photo-confirm-copy .photo-consent{padding:10px 12px;background:var(--bg-sunken);border-color:var(--line-soft);font-size:var(--fs-xs)}.photo-confirm-bar .btn{min-height:54px}@media(min-width:900px){.photo-confirm-bar{bottom:16px;grid-template-columns:1fr auto;align-items:center}.photo-confirm-bar .btn{white-space:nowrap}}.photo-recipe-preview{padding:18px;border-radius:var(--r-xl);background:var(--fresh-soft)}.photo-commit-feedback{padding:12px 16px;border-radius:var(--r-md);background:var(--ok-soft);color:var(--ok);font-weight:600;font-size:var(--fs-sm);margin:0}.flow-photo-success{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 20px;border-radius:var(--r-xl);background:linear-gradient(160deg,var(--ok-soft),transparent 130%),var(--surface);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);animation:chip-in .6s var(--ease-spring)}.flow-photo-success strong{flex:1 1 100%;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:520}.photo-results>.fineprint{margin:0}.photo-agree{display:inline-flex;align-items:center;gap:7px;width:fit-content;max-width:100%;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.03em}.photo-agree:before{content:"";flex:none;width:8px;height:8px;border-radius:50%}.photo-agree.both{background:var(--ok-soft);color:var(--ok)}.photo-agree.both:before{background:currentColor}.photo-agree.single{background:var(--bg-sunken);color:var(--text-soft)}.photo-agree.single:before{border:2px solid currentColor}.ex-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}.ex-heading h1{font-size:var(--fs-4xl);line-height:1.02;letter-spacing:-.025em}.ex-heading p:not(.eyebrow){margin:.7rem 0 0;color:var(--text-soft);max-width:60ch}.ex-heading .eyebrow:empty{display:none}.ex-date-nav{display:flex;align-items:center;gap:8px}.ex-date-nav .btn{min-height:46px;padding:0 18px}.ex-date-nav .btn[aria-label]{width:46px;padding:0;font-size:1.1rem}.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,268px),1fr));gap:clamp(14px,2vw,22px);align-items:stretch}.ex-card{display:flex;flex-direction:column;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}.ex-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}.ex-photo-wrap{position:relative;overflow:hidden;border-radius:var(--r-xl) var(--r-xl) 0 0}.ex-photo{display:block}.ex-photo .recipe-media{border-radius:0;aspect-ratio:4/3}.ex-time-chip{position:absolute;left:10px;top:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:5px 11px 5px 8px;border-radius:var(--r-pill);background:#fffdf8ed;color:var(--ink-900);font-size:var(--fs-xs);font-weight:650;box-shadow:0 4px 12px -4px #00000059}.ex-time-chip .icon{width:14px;height:14px}.ex-heart{position:absolute;right:10px;top:10px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fffdf8ed;color:var(--ink-700);box-shadow:0 4px 12px -4px #00000059;transition:transform var(--t-med) var(--ease-spring),color var(--t-fast)}.ex-heart .icon{width:21px;height:21px}.ex-heart:hover{transform:scale(1.08)}.ex-heart:active{transform:scale(.88)}.ex-heart[aria-pressed=true]{color:var(--terra-600)}.ex-heart[aria-pressed=true] .icon{fill:currentColor}.ex-card-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:16px 18px 18px;min-width:0}.ex-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-soft)}.ex-card h2,.ex-card h3{font-size:var(--fs-xl);line-height:1.12;letter-spacing:-.015em}.ex-card h2 a,.ex-card h3 a{color:var(--text);text-decoration:none}.ex-card h2 a:hover,.ex-card h3 a:hover{text-decoration:underline;text-decoration-thickness:.07em}.ex-reason{margin:0;font-size:var(--fs-sm);color:var(--text-soft);line-height:1.45}.ex-warning{margin:0;padding:10px 14px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm);font-weight:550}.ex-done{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);font-size:var(--fs-sm);font-weight:650}.ex-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:2px}.ex-card-actions>.btn.primary,.ex-card-actions>.btn.secondary,.ex-card-actions>a.btn{flex:1 1 auto}.ex-more{position:relative}.ex-more>summary{min-height:48px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--fs-sm);color:var(--text)}.ex-more[open]>div{position:absolute;z-index:20;right:0;top:calc(100% + 6px);display:grid;min-width:220px;padding:8px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3)}.ex-more[open]>div .btn{justify-content:flex-start;border:0;box-shadow:none;background:transparent;border-radius:var(--r-sm);min-height:44px}.ex-more[open]>div .btn:hover{background:var(--bg-sunken)}.ex-day-controls{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px dashed var(--line)}.ex-day-controls .btn{min-height:42px;padding:0 16px;font-size:var(--fs-sm)}.ex-ingredients{border-top:1px solid var(--line-soft);margin-top:2px}.ex-ingredients>summary{min-height:46px;font-size:var(--fs-sm);color:var(--text-soft)}.ex-ingredients ul{list-style:none;display:grid;gap:2px;margin:0 0 6px}.ex-ingredients li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line-soft);font-size:var(--fs-sm)}.ex-ingredients li:last-child{border:0}.ex-ingredients strong{font-variant-numeric:tabular-nums;font-weight:600}.ex-ingredients p{font-size:var(--fs-sm);color:var(--text-soft);margin:6px 0}.focus-blocked .ex-card-body{background:var(--warn-soft)}.ex-empty{position:relative;display:grid;border-radius:var(--r-2xl);padding:clamp(26px,5vw,52px);background:radial-gradient(70% 90% at 100% 0%,var(--fresh-soft),transparent 70%),var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden}.ex-empty:after{content:"";position:absolute;right:-24px;bottom:-24px;width:min(220px,40%);aspect-ratio:1;background:url(/assets/decor/olive-branch.svg) center/contain no-repeat;opacity:.5;filter:invert(.6) sepia(.9) saturate(1.2) hue-rotate(35deg) brightness(.6);pointer-events:none}:root[data-theme=dark] .ex-empty:after{opacity:.2;filter:none}.ex-empty>div{position:relative;z-index:1;display:grid;justify-items:start;gap:14px;max-width:46ch}.ex-empty h2{font-size:var(--fs-2xl)}.ex-empty p{margin:0;color:var(--text-soft)}.focus-steps{display:grid;gap:8px;list-style:none;margin:0;padding:0}.focus-steps li{display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);color:var(--text-soft)}.focus-secondary-link{display:inline-flex;align-items:center;min-height:44px;color:var(--link);font-size:var(--fs-sm);font-weight:650;text-decoration:underline;text-underline-offset:.22em}.small{font-size:var(--fs-sm);color:var(--text-soft)}.ex-inline-swap{display:grid;gap:12px}.ex-swap-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}.ex-swap-row strong{display:block;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:520}.ex-swap-row p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-soft)}.ex-panel>summary{font-size:var(--fs-md)}.ex-panel .ex-grid{margin-top:12px}.ex-evening{display:grid;gap:12px;padding:clamp(20px,3.4vw,32px);border-radius:var(--r-xl);background:linear-gradient(160deg,var(--gold-soft),transparent 140%),var(--surface);border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line))}.ex-prep-row{padding:12px 0;border-top:1px dashed var(--line)}.ex-prep-row p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--text-soft)}.lib-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 28px}.lib-head h1{font-size:clamp(2.6rem,1.6rem + 4.6vw,4.6rem);line-height:.98;letter-spacing:-.03em}.lib-head .lead{margin-top:.9rem}.lib-stats{display:flex;gap:10px;margin:0}.lib-stats>div{padding:12px 20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1)}.lib-stats dt{font-size:var(--fs-2xs);font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft)}.lib-stats dd{margin:2px 0 0;font-family:var(--font-display);font-size:1.9rem;line-height:1;font-weight:500}.lib-feature{display:grid;gap:0;border-radius:var(--r-2xl);overflow:hidden;background:linear-gradient(160deg,var(--gold-soft),transparent 120%),var(--surface);border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));box-shadow:var(--sh-2)}.lib-feature-photo{display:block}.lib-feature-photo .recipe-media{border-radius:0;aspect-ratio:16/10}.lib-feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:clamp(20px,4vw,44px)}.lib-feature-copy .eyebrow{margin:0;color:var(--gold-text)}.lib-feature-copy h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3rem);line-height:1.04;letter-spacing:-.025em}.lib-feature-copy h2 a{color:inherit;text-decoration:none}.lib-feature-copy p{margin:0;color:var(--text-soft);max-width:44ch}.lib-feature-meta{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.lib-feature-meta li{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-sm);font-weight:550}.lib-feature-meta .icon{width:16px;height:16px;color:var(--fresh-text)}@media(min-width:860px){.lib-feature{grid-template-columns:1.05fr 1fr}.lib-feature-photo .recipe-media{height:100%;aspect-ratio:auto;min-height:340px}}.lib-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.lib-controls>*{min-width:0}.focus-availability>*{min-width:0}.focus-availability{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.focus-unknown{font-size:var(--fs-sm);color:var(--text-soft)}.slot-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;margin-inline:-2px}.slot-chips::-webkit-scrollbar{display:none}.slot-chips .chip{flex:none;padding:0 16px 0 12px}.slot-chips .chip .icon{width:18px;height:18px}.ex-library-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1)}.ex-search{position:relative;grid-column:1/-1;display:block}.ex-search>.icon{position:absolute;left:18px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--text-soft);pointer-events:none}.ex-search input{padding-left:48px;border-radius:var(--r-pill);min-height:52px;background:var(--bg-sunken);border-color:transparent}.ex-library-tools select{border-radius:var(--r-pill);background-color:var(--bg-sunken);border-color:transparent;font-weight:600;font-size:var(--fs-sm)}.ex-library-tools>.btn{grid-column:1/-1}.ex-library-tools>details{grid-column:1/-1}.ex-library-tools>details>summary{min-height:44px;padding:0 6px;font-size:var(--fs-sm);color:var(--link)}.ex-fields label{display:grid;gap:6px;font-size:var(--fs-sm);font-weight:600}@media(min-width:760px){.ex-library-tools{grid-template-columns:minmax(220px,1.6fr) minmax(130px,1fr) minmax(150px,1fr) auto;align-items:center}.ex-search{grid-column:auto}.ex-library-tools>.btn{grid-column:auto}.ex-library-tools>details{grid-column:1/-1}}.focus-library-count{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.ex-count{margin:0;font-size:var(--fs-sm);color:var(--text-soft)}@media(min-width:1180px){.ex-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.today-head{align-items:center}.today-head-side{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.today-ring .ring-fg{stroke:var(--accent)}.today-ring .ring-label{font-family:var(--font-display);font-size:1.15rem;font-weight:520}.ring-wrap .ring-bg{stroke:var(--line-strong)}.day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:6px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1)}.day-pill{position:relative;display:grid;justify-items:center;gap:1px;padding:8px 2px 12px;min-height:66px;border-radius:var(--r-lg);color:var(--text-soft);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease)}.day-pill span{font-size:var(--fs-2xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase}.day-pill strong{font-family:var(--font-display);font-size:1.35rem;font-weight:500;line-height:1.1;color:var(--text);font-variant-numeric:lining-nums}.day-pill:hover{background:var(--bg-sunken)}.day-pill:active{transform:scale(.94)}.day-pill.is-today strong{color:var(--accent-text)}.day-pill[aria-pressed=true]{background:var(--brand);color:var(--text-on-brand);box-shadow:0 8px 16px -8px #13322499}.day-pill[aria-pressed=true] strong{color:inherit}.pip{position:absolute;bottom:6px;left:50%;width:6px;height:6px;border-radius:50%;transform:translate(-50%);background:transparent}.pip[data-state=saved]{background:var(--gold)}.pip[data-state=done]{background:var(--ok);width:14px;border-radius:4px;height:4px;bottom:7px}.day-pill[aria-pressed=true] .pip[data-state=saved],.day-pill[aria-pressed=true] .pip[data-state=done]{background:var(--champ-300)}.today-next .ex-card{border-radius:var(--r-2xl);box-shadow:var(--sh-3);overflow:hidden}.today-next .ex-card:hover{transform:none}.today-next .ex-photo-wrap{border-radius:0}.today-next .ex-photo .recipe-media{aspect-ratio:16/10}.today-next .ex-card-body{gap:14px;padding:clamp(20px,3.4vw,36px)}.today-next .ex-card h2{font-size:clamp(1.8rem,1.2rem + 2.6vw,3rem);line-height:1.04;letter-spacing:-.025em}.today-next .ex-card-meta{font-size:var(--fs-sm)}.today-next .ex-reason{font-size:var(--fs-md)}.today-next .ex-card-actions .btn.primary{min-height:56px;font-size:var(--fs-md)}.today-next .ex-card-actions>.btn.primary,.today-next .ex-card-actions>a.btn.primary{flex:2 1 220px}.today-next .ex-time-chip{top:14px;left:14px;padding:7px 14px 7px 11px;font-size:var(--fs-sm)}.today-next .ex-heart{top:12px;right:12px}@media(min-width:900px){.today-next .ex-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.today-next .ex-photo-wrap,.today-next .ex-photo{height:100%}.today-next .ex-photo .recipe-media{height:100%;aspect-ratio:auto;min-height:420px}.today-next .ex-card-body{justify-content:center}}.tl-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.tl-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"slot actions" "photo body";align-items:center;gap:8px 14px;padding:12px 14px 14px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);transition:opacity var(--t-med),background var(--t-med)}.tl-slot{grid-area:slot;display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-xs);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--fresh-text)}.tl-slot .icon{width:16px;height:16px}.tl-photo{grid-area:photo;display:block;width:76px;border-radius:var(--r-md);overflow:hidden}.tl-photo .recipe-media{aspect-ratio:1;border-radius:var(--r-md)}.tl-photo .media-label{display:none}.tl-photo .plate-media{padding:0}.tl-body{grid-area:body;display:grid;gap:3px;min-width:0}.tl-body strong{font-family:var(--font-display);font-weight:520;font-size:var(--fs-lg);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tl-body strong a{color:var(--text);text-decoration:none}.tl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-soft)}.tl-state{padding:2px 9px;border-radius:var(--r-pill);background:var(--bg-sunken);font-weight:700}.tl-row[data-state=done]{background:color-mix(in srgb,var(--ok-soft) 55%,var(--surface))}.tl-row[data-state=done] .tl-state{background:var(--ok-soft);color:var(--ok)}.tl-row[data-state=done] .tl-body strong a{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ok) 60%,transparent);text-decoration-thickness:2px}.tl-row[data-state=skipped]{opacity:.62}.tl-actions{grid-area:actions;display:flex;align-items:center;gap:8px}.tl-check{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);color:transparent;transition:background var(--t-med),border-color var(--t-med),color var(--t-med),transform var(--t-med) var(--ease-spring)}.tl-check .icon{width:24px;height:24px;stroke-width:2.6}.tl-check:hover{border-color:var(--ok);color:var(--ok)}.tl-check:active{transform:scale(.88)}.tl-check[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff;animation:pop var(--t-med) var(--ease-spring)}:root[data-theme=dark] .tl-check[aria-pressed=true]{color:#10241a}.tl-row .ex-more>summary{min-height:48px}.tl-row .ex-more[open]>div{right:0}@media(min-width:700px){.tl-row{grid-template-columns:auto 96px minmax(0,1fr) auto;grid-template-areas:"slot photo body actions";gap:16px;padding:14px 18px}.tl-slot{min-width:104px}.tl-photo{width:96px}}.today-water{display:grid;gap:18px}.water-head{display:flex;align-items:center;gap:18px}.water-head h2{font-size:var(--fs-xl)}.water-head p{margin:2px 0 8px;font-size:var(--fs-md)}.water-head progress{height:8px;max-width:320px}.water-head>div{min-width:0;flex:1}.water-glass{width:54px;height:72px;flex:none}.water-glass .glass-body{fill:color-mix(in srgb,var(--surface) 70%,transparent)}.water-glass .glass-water{fill:#6fb3c8;opacity:.9;transition:y var(--t-slow) var(--ease),height var(--t-slow) var(--ease)}.water-glass .glass-line{fill:none;stroke:var(--text-soft);stroke-width:2.2;stroke-linejoin:round}.water-drop{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,#6fb3c8 22%,var(--surface));color:#2f7d95;flex:none}:root[data-theme=dark] .water-drop{color:#9fd4e4}.water-drop .icon{width:30px;height:30px}.water-quick{display:flex;flex-wrap:wrap;gap:10px;margin:0}.water-quick .btn{min-height:50px;padding:0 22px;background:color-mix(in srgb,#6fb3c8 16%,var(--surface));border-color:color-mix(in srgb,#6fb3c8 45%,transparent);color:var(--text)}.water-quick .btn:hover{background:color-mix(in srgb,#6fb3c8 28%,var(--surface))}.water-more{border-top:1px solid var(--line-soft)}.water-more>summary{min-height:48px;font-size:var(--fs-sm);color:var(--link)}.water-more form{display:grid;gap:12px;margin:8px 0 18px;max-width:520px}.water-more label{display:grid;gap:6px;font-size:var(--fs-sm);font-weight:600}.ex-week-build{display:grid;gap:14px;padding:clamp(18px,3vw,28px);border-radius:var(--r-xl);background:radial-gradient(70% 120% at 100% 0%,var(--fresh-soft),transparent 70%),var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1)}.ex-week-build h2{font-size:var(--fs-xl)}.ex-week-build p{margin:4px 0 0;color:var(--text-soft);font-size:var(--fs-sm)}.ex-week-build>.btn{justify-self:start}.focus-next-preview{padding:14px 16px;border-radius:var(--r-md);background:var(--bg-sunken);border:1px dashed var(--line-strong)}.focus-next-preview h2{font-size:var(--fs-lg);margin:4px 0}.focus-next-preview p{font-size:var(--fs-sm)}.focus-template-link{border-top:1px solid var(--line-soft);padding-top:2px}.focus-template-link>summary{font-size:var(--fs-sm);color:var(--link);min-height:44px}.focus-template-link .btn{margin:4px 6px 4px 0}.week-draft{border-color:var(--gold);background:linear-gradient(160deg,var(--gold-soft),transparent 140%),var(--surface)}.week-draft form{display:grid;gap:12px;margin-top:12px}.week-board{display:grid;gap:14px;align-items:start}.wk-day{padding:0;border-radius:var(--r-xl);overflow:hidden}.wk-day>summary{padding:14px 18px;min-height:60px}.wk-day[open]>summary{border-bottom:1px solid var(--line-soft)}.wk-day.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--sh-2)}.wk-dayname{display:flex;align-items:baseline;gap:8px}.wk-dayname strong{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:520}.wk-dayname span{color:var(--text-soft);font-size:var(--fs-sm)}.wk-dayname em{font-style:normal;padding:2px 9px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:700}.wk-day>summary small{margin-left:auto;color:var(--text-soft);font-weight:500;font-size:var(--fs-xs)}.wk-list{display:grid;gap:10px;list-style:none;margin:0;padding:12px}.wk-cell{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;border-radius:var(--r-lg);background:var(--bg);border:1px solid var(--line-soft)}.wk-photo{position:relative;display:block;border-radius:var(--r-md);overflow:hidden}.wk-photo .recipe-media{aspect-ratio:1;border-radius:var(--r-md)}.wk-photo .media-label{display:none}.wk-photo .plate-media{padding:0}.wk-slot{position:absolute;left:6px;bottom:6px;z-index:3;display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:var(--r-pill);background:#0c2016b8;color:#fff;font-size:var(--fs-2xs);font-weight:650}.wk-slot .icon{width:12px;height:12px}.wk-lock{position:absolute;right:6px;top:6px;z-index:3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fffdf8f0;color:var(--ink-900)}.wk-lock .icon{width:13px;height:13px}.wk-body{display:grid;gap:4px;min-width:0}.wk-title{padding-block:3px;font-family:var(--font-display);font-size:var(--fs-md);font-weight:520;line-height:1.15;color:var(--text);text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wk-title:hover{text-decoration:underline}.wk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:var(--fs-xs);color:var(--text-soft)}.wk-cell[data-state=done]{background:color-mix(in srgb,var(--ok-soft) 55%,var(--bg))}.wk-cell[data-state=done] .tl-state{background:var(--ok-soft);color:var(--ok)}.wk-cell[data-state=skipped]{opacity:.6}.wk-cell[data-state=locked] .tl-state{background:var(--gold-soft);color:var(--gold-text)}.wk-more>summary{min-width:46px;min-height:46px;padding:0;justify-content:center;border-radius:50%}.wk-more>summary:after{display:none}.wk-more>summary .icon{width:19px;height:19px}.wk-more[open]>div{right:0}@media(min-width:900px){.week-board{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px}.wk-day>summary{display:grid;gap:2px;justify-items:start;padding:12px 12px 10px;min-height:0;pointer-events:none}.wk-day>summary:after{display:none}.wk-day>summary small{margin:0}.wk-dayname{flex-direction:column;align-items:flex-start;gap:0}.wk-list{padding:8px;gap:8px}.wk-cell{grid-template-columns:1fr;gap:8px;padding:6px 6px 10px;align-items:start}.wk-photo .recipe-media{aspect-ratio:4/3}.wk-body{padding-inline:4px}.wk-more{position:absolute;right:10px;top:10px;z-index:4}.wk-more>summary{width:36px;min-height:36px;background:#fffdf8f0;color:var(--ink-900);border:0;box-shadow:0 4px 10px -4px #0006}.wk-more[open]>div{right:0;left:auto}}@media(min-width:1280px){.wk-title{font-size:var(--fs-base)}}.ex-shop-range{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:14px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}.ex-shop-range label{display:grid;gap:6px;font-size:var(--fs-sm);font-weight:600;flex:1 1 150px}.shop-summary{display:grid;gap:12px;padding:clamp(18px,3vw,28px);border-radius:var(--r-xl);background:linear-gradient(150deg,var(--hero-2),var(--hero));color:var(--hero-text);box-shadow:var(--sh-3)}.shop-summary-main{display:flex;align-items:baseline;gap:12px}.shop-summary-main strong{font-family:var(--font-display);font-size:clamp(3rem,2rem + 4vw,4.6rem);line-height:.9;font-weight:480;color:var(--champ-300)}.shop-summary-main span{font-size:var(--fs-lg);font-family:var(--font-display)}.shop-summary progress{background:#ffffff24;box-shadow:none}.shop-summary progress::-webkit-progress-bar{background:#ffffff24}.shop-summary progress::-webkit-progress-value{background:linear-gradient(90deg,var(--champ-400),var(--champ-300))}.shop-summary progress::-moz-progress-bar{background:linear-gradient(90deg,var(--champ-400),var(--champ-300))}.shop-summary-bar{display:grid;gap:6px}.shop-summary small{color:var(--hero-soft);font-size:var(--fs-sm)}.ex-shopping-group{display:grid;gap:10px}.ex-shopping-group>h2{display:flex;align-items:center;gap:10px;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft)}.ex-shopping-group>h2 small{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 8px;border-radius:var(--r-pill);background:var(--bg-sunken);font-size:var(--fs-xs);letter-spacing:0;color:var(--text-soft)}.aisle-icon{width:32px;height:32px;padding:4px;border-radius:12px;background:var(--surface);box-shadow:var(--sh-1);color:var(--brand)}svg.icon.aisle-icon{padding:7px}.buy-list{display:grid;gap:8px}.ex-buy-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon main action" "more more more";align-items:center;gap:0 14px;padding:10px 12px;min-height:76px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);transition:transform var(--t-med) var(--ease),opacity var(--t-med)}.buy-icon{grid-area:icon;width:48px;height:48px;padding:5px;border-radius:16px;background:var(--ivory-100)}:root[data-theme=dark] .buy-icon{background:#e9dfc6}.ex-buy-main{grid-area:main;display:grid;gap:2px;min-width:0}.ex-buy-main strong{font-size:var(--fs-md);font-weight:650;line-height:1.2}.ex-buy-main span{font-size:var(--fs-sm);color:var(--text-soft);font-variant-numeric:tabular-nums}.ex-buy-row>.btn{grid-area:action}.buy-btn,.buy-btn.primary,.buy-btn.secondary{min-width:56px;min-height:56px;padding:0 18px 0 14px;border-radius:var(--r-pill);background:var(--surface);color:var(--brand);border:1.8px solid var(--line-strong);box-shadow:none}.buy-btn:hover{background:var(--brand);color:var(--text-on-brand);border-color:var(--brand)}:root[data-theme=dark] .buy-btn,:root[data-theme=dark] .buy-btn.primary,:root[data-theme=dark] .buy-btn.secondary{color:var(--gold-text)}:root[data-theme=dark] .buy-btn:hover{background:var(--brand);color:var(--text-on-brand)}.buy-btn .icon{width:22px;height:22px;stroke-width:2.6}.ex-buy-row>details{grid-area:more;margin-top:2px}.ex-buy-row>details>summary{min-height:34px;font-size:var(--fs-xs);color:var(--text-soft);font-weight:550}.ex-buy-row>details p,.ex-buy-row>details li{font-size:var(--fs-sm);color:var(--text-soft)}.ex-buy-row>details ul{margin:4px 0 10px 18px}.ex-buy-row>details .btn{margin:4px 6px 4px 0}@media(max-width:480px){.buy-btn{min-width:56px;padding:0}.buy-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ex-buy-row>.btn:not(.buy-btn){min-height:48px;font-size:var(--fs-sm);padding:0 14px}}@media(min-width:1000px){.buy-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.ex-shopping-extras{padding:0 clamp(16px,3vw,24px)}.ex-shopping-extras>summary{min-height:60px}.ex-shopping-extras form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:6px 0 14px}.ex-shopping-extras form label{display:grid;gap:6px;flex:1 1 220px;font-size:var(--fs-sm);font-weight:600}.ex-extra-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px dashed var(--line);min-height:60px}.ex-extra-row label{display:flex;align-items:center;gap:14px;flex:1;font-size:var(--fs-md)}.ex-extra-row input[type=checkbox]{width:28px;height:28px;border-radius:50%}.ex-extra-row input:checked+span{text-decoration:line-through;opacity:.6}.ex-extra-row .btn{min-height:44px}.shop-range-panel{padding:0 18px}.shop-range-panel>summary{gap:10px;justify-content:flex-start;min-height:54px}.shop-range-panel>summary .icon{width:20px;height:20px;color:var(--brand)}.shop-range-panel>summary small{margin-left:auto;color:var(--text-soft);font-weight:500;font-size:var(--fs-xs)}.shop-range-panel .ex-shop-range{border:0;box-shadow:none;padding:0 0 16px;background:none}.settings-heading{padding-bottom:clamp(8px,2vw,20px)}.settings-heading h1{font-size:clamp(2.4rem,1.6rem + 3.8vw,4rem);letter-spacing:-.025em}.settings-heading .lead{margin-top:.8rem;max-width:56ch}.settings-layout{display:grid;gap:22px;margin-top:6px;align-items:start}.settings-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 8px;margin-inline:-2px;position:sticky;top:calc(var(--header-h) + 4px);z-index:20;background:linear-gradient(var(--bg) 70%,transparent)}.settings-nav::-webkit-scrollbar{display:none}.settings-nav a{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:46px;padding:0 16px 0 12px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);color:var(--text);font-size:var(--fs-sm);font-weight:650;text-decoration:none}.settings-nav a .icon{width:18px;height:18px;color:var(--brand)}:root[data-theme=dark] .settings-nav a .icon{color:var(--gold-text)}.settings-nav a:hover{background:var(--bg-sunken)}.settings-stack{display:grid;gap:clamp(28px,4vw,48px);min-width:0}.settings-group{display:grid;gap:14px;min-width:0}.group-title{display:flex;align-items:center;gap:12px;font-size:var(--fs-2xl)}.group-title .icon{width:30px;height:30px;padding:6px;border-radius:12px;background:var(--brand-soft);color:var(--brand)}:root[data-theme=dark] .group-title .icon{color:var(--gold-text)}@media(min-width:980px){.settings-layout{grid-template-columns:230px minmax(0,1fr);gap:40px}.settings-nav{position:sticky;top:calc(var(--header-h) + 20px);flex-direction:column;overflow:visible;background:none;padding:0}.settings-nav a{justify-content:flex-start;border-radius:var(--r-lg);min-height:52px}}.settings-pair{display:grid;gap:14px}@media(min-width:760px){.settings-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.settings-stack .panel{display:grid;gap:12px;align-content:start}.settings-stack .panel>h2{font-size:var(--fs-xl)}.settings-stack .panel>.eyebrow{margin:0}.settings-stack .panel>p{margin:0;color:var(--text-soft);font-size:var(--fs-sm)}.profile-manager-panel{grid-template-columns:1fr;justify-items:start}@media(min-width:760px){.profile-manager-panel{grid-template-columns:1fr auto;align-items:center}}.profile-fields,.preferences-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.preferences-exclusions{display:flex;flex-wrap:wrap;gap:8px}.preference-choice{padding:0 16px 0 12px;gap:10px}.preference-choice input{width:22px;height:22px;border-radius:50%}.preference-choice:has(input:checked){background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent-text)}.preference-choice input:checked{background-color:var(--accent);border-color:var(--accent)}.v8-specific-foods{border:1px solid var(--line);border-radius:var(--r-lg);padding:0 16px;background:var(--bg)}.v8-specific-foods>summary{font-size:var(--fs-sm);color:var(--link)}.v8-specific-foods[open]{padding-bottom:16px}.v8-specific-foods select[multiple]{min-height:190px;padding:8px;background-image:none}.preferences-save{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.profile-next{margin:0}.round-icon{margin-bottom:2px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line-soft);cursor:pointer}.settings-row:first-of-type{border-top:0}.settings-row strong{display:block;font-size:var(--fs-md)}.settings-row small{display:block;margin-top:2px;color:var(--text-soft);font-size:var(--fs-sm);line-height:1.4}.settings-row input[type=checkbox]{flex:none;width:52px;height:30px;border-radius:var(--r-pill);background:var(--ivory-300);border-color:transparent;position:relative;transition:background var(--t-med)}.settings-row input[type=checkbox]:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0000004d;transition:transform var(--t-med) var(--ease-spring)}.settings-row input[type=checkbox]:checked{background:var(--brand);background-image:none;animation:none}.settings-row input[type=checkbox]:checked:after{transform:translate(22px)}:root[data-theme=dark] .settings-row input[type=checkbox]{background:#3b4f43}.stack{display:grid;gap:10px}#storage-summary{display:grid;gap:8px}#storage-summary span{display:flex;align-items:baseline;gap:8px;padding:10px 14px;border-radius:var(--r-md);background:var(--bg-sunken);font-size:var(--fs-sm);color:var(--text-soft)}#storage-summary strong{font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--text);min-width:2ch}.btn.danger{background:var(--danger);color:#fff;box-shadow:none}.btn.danger:hover{filter:brightness(1.08)}:root[data-theme=dark] .btn.danger{color:#1a0a07}.danger-panel h2{color:var(--danger)}#ex-routine-settings{display:grid;gap:12px}#ex-routine-settings h2{font-size:var(--fs-xl)}#ex-routine-settings>p{margin:0;color:var(--text-soft);font-size:var(--fs-sm)}.focus-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}.focus-metric-grid>div{padding:12px 14px;border-radius:var(--r-md);background:var(--bg-sunken)}.focus-metric-grid dt{font-size:var(--fs-xs);color:var(--text-soft)}.focus-metric-grid dd{margin:2px 0 0;font-family:var(--font-display);font-size:var(--fs-lg)}.dt-footer-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}#dt-local-measurement{margin-top:16px}#dt-local-measurement h2{font-size:var(--fs-xl);margin-bottom:8px}#interface-help{padding:4px 20px}#settings-routine-slot{min-height:296px}@media(max-width:759px){#settings-routine-slot{min-height:340px}}.recipe-page{padding-bottom:clamp(20px,4vw,48px)}.recipe-top{display:grid;gap:clamp(22px,4vw,48px);align-items:center;padding-block:clamp(6px,2vw,18px) clamp(26px,4vw,48px)}.recipe-top .eyebrow{margin-bottom:.8rem}.recipe-page h1{font-size:clamp(2.3rem,1.4rem + 4.4vw,4.4rem);line-height:1.02;letter-spacing:-.028em;max-width:16ch}.greek-title{margin:.7rem 0 0;font-family:var(--font-display);font-style:italic;font-size:var(--fs-lg);color:var(--text-soft)}.recipe-page .lead{margin:1rem 0 0;max-width:46ch}.recipe-facts{display:flex;flex-wrap:wrap;gap:8px;margin:1.3rem 0 0}.recipe-facts>span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px 8px 11px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-sm);font-weight:600;box-shadow:var(--sh-1)}.recipe-facts .icon{width:17px;height:17px;color:var(--fresh-text)}.recipe-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.6rem}.recipe-actions .btn.primary{min-height:56px;padding-inline:30px;font-size:var(--fs-md)}.recipe-actions .btn[aria-pressed=true]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent-text)}.recipe-top .fineprint{margin-top:1.1rem;max-width:52ch}.recipe-hero-image{position:relative;margin:0;display:grid;gap:12px}.recipe-hero-image>.recipe-media{aspect-ratio:5/4;border-radius:999px 999px var(--r-2xl) var(--r-2xl);box-shadow:var(--sh-3),0 0 0 7px var(--surface),0 0 0 8px color-mix(in srgb,var(--gold) 55%,transparent)}.recipe-hero-image .media-label{left:50%;transform:translate(-50%);bottom:16px}.photo-caption{font-size:var(--fs-xs);color:var(--text-soft);text-align:center;max-width:46ch;margin-inline:auto;line-height:1.45}@media(min-width:900px){.recipe-top{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.recipe-hero-image{max-width:540px;justify-self:end}.recipe-hero-image>.recipe-media{aspect-ratio:4/5}}.recipe-body-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;padding-top:clamp(8px,2vw,20px)}.recipe-body-layout>*,.recipe-top>*,.kitchen-cook-body>*{min-width:0}@media(min-width:980px){.recipe-body-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.ingredients-panel{position:sticky;top:calc(var(--header-h) + 18px)}}.ingredients-panel{display:grid;gap:16px}.ingredients-panel .panel-title{margin:0}.ingredients-panel .panel-title h2{font-size:var(--fs-xl)}.portion-control{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg-sunken)}.portion-control>label{font-size:var(--fs-sm);font-weight:650}.ingredient-list{display:grid;gap:2px}.ingredient-check{display:flex;align-items:center;gap:14px;min-height:56px;padding:6px 4px;border-bottom:1px dashed var(--line);cursor:pointer;font-size:var(--fs-md)}.ingredient-check:last-child{border:0}.ingredient-check>span{flex:1}.ingredient-check strong{font-variant-numeric:tabular-nums;font-weight:650;color:var(--text-soft)}.ingredient-check input{width:26px;height:26px;border-radius:50%}.ingredient-check input:checked~span{text-decoration:line-through;opacity:.55}.ingredients-panel .btn.full{min-height:54px}.ingredients-panel .btn.text{justify-self:center}.method-content{min-width:0}.method-content .eyebrow{margin-bottom:.4rem}.method-content h2{font-size:var(--fs-3xl);letter-spacing:-.025em;margin-bottom:clamp(14px,2vw,26px)}.method-list{list-style:none;display:grid;gap:clamp(12px,2vw,20px)}.method-list li{display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,2.4vw,26px);padding:clamp(16px,2.4vw,26px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);scroll-margin-top:calc(var(--header-h) + 20px)}.step-number{font-family:var(--font-display);font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem);line-height:.9;font-weight:400;font-style:italic;color:var(--gold-deco);font-variant-numeric:lining-nums;min-width:1.6ch}.method-list p{margin:0;font-size:clamp(1.05rem,1rem + .4vw,1.25rem);line-height:1.6;color:var(--text);max-width:60ch}.kitchen-tip{display:flex;gap:16px;align-items:flex-start;margin-top:clamp(16px,2.4vw,26px);padding:clamp(16px,2.4vw,24px);border-radius:var(--r-xl);background:linear-gradient(160deg,var(--gold-soft),transparent 130%),var(--surface);border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line))}.kitchen-tip>.icon{flex:none;width:44px;height:44px;padding:10px;border-radius:14px;background:var(--surface);color:var(--gold-text);box-shadow:var(--sh-1)}.kitchen-tip strong{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:540}.kitchen-tip p{margin:4px 0 0;color:var(--text-soft)}.source-panel{margin-top:clamp(18px,3vw,32px);padding:clamp(18px,3vw,28px);border-radius:var(--r-xl);background:var(--bg-sunken);box-shadow:none;border:1px dashed var(--line-strong)}.source-panel h3{font-size:var(--fs-lg);margin-bottom:12px}.source-panel p{font-size:var(--fs-sm);color:var(--text-soft)}.section{padding-block:clamp(36px,6vw,72px) 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(16px,2.4vw,28px)}.section-title h2{font-size:var(--fs-3xl);letter-spacing:-.025em}.section-title .eyebrow{margin-bottom:.5rem}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(14px,2vw,22px)}.recipe-card{display:flex;flex-direction:column;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}.recipe-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}.card-image{position:relative}.card-image .recipe-media{border-radius:0;aspect-ratio:4/3}.card-image .image-badge{position:absolute;left:10px;top:10px;z-index:3;background:#fffdf8ed;color:var(--ink-900);box-shadow:0 4px 12px -4px #00000059}.favorite{position:absolute;right:10px;top:10px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fffdf8ed;color:var(--ink-700);box-shadow:0 4px 12px -4px #00000059;transition:transform var(--t-med) var(--ease-spring),color var(--t-fast)}.favorite svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75}.favorite:hover{transform:scale(1.08)}.favorite[aria-pressed=true]{color:var(--terra-600)}.favorite[aria-pressed=true] svg{fill:currentColor}.card-content{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}.card-content .eyebrow{margin:0}.card-content h3{font-size:var(--fs-xl);line-height:1.12}.card-content h3 a{color:var(--text);text-decoration:none}.card-content h3 a:hover{text-decoration:underline}.card-tail{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;font-size:var(--fs-sm);color:var(--text-soft)}.card-tail a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}.card-tail a svg{width:20px;height:20px}.card-link{color:var(--link)}.catalog{display:grid;gap:18px}.match-grid .recipe-card{flex-direction:row}.page-heading{display:block;position:relative}.page-heading .eyebrow{margin-bottom:1rem}.page-heading h1{font-size:clamp(2.4rem,1.5rem + 4.6vw,4.6rem);line-height:1.02;letter-spacing:-.028em;max-width:18ch}.page-heading .lead{margin-top:1.1rem}article.narrow,.narrow{max-width:760px;margin-inline:auto}.prose{padding-block:clamp(10px,3vw,24px) clamp(20px,4vw,40px)}.prose h2{font-size:var(--fs-2xl);letter-spacing:-.02em;margin:clamp(28px,4vw,44px) 0 .7rem}.prose h2:first-child{margin-top:0}.prose p,.prose li{font-size:var(--fs-md);line-height:1.75;color:var(--text);max-width:68ch}.prose p{margin:0 0 1.1em}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em;display:grid;gap:.4em}.prose a{font-weight:600}.prose-panel{margin-block:12px}.prose-panel h2{font-size:var(--fs-xl);margin-bottom:.6rem}.wrap.panel{margin-block:clamp(20px,3vw,32px)}.wrap.panel h2{font-size:var(--fs-xl);margin-bottom:.7rem}.wrap.panel p,.wrap.panel li{color:var(--text-soft);font-size:var(--fs-md);line-height:1.7}section.wrap>h2:first-child{font-size:var(--fs-2xl);margin-bottom:.6rem}section.wrap>p{color:var(--text-soft);max-width:68ch}.credits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}.credits-grid .panel{padding:16px 18px;display:grid;gap:4px;box-shadow:none}.credits-grid h3{font-size:var(--fs-md);font-family:var(--font-ui);font-weight:650;letter-spacing:0}.credits-grid p{margin:0;font-size:var(--fs-sm);color:var(--text-soft)}.not-found-links,.not-found-picks{display:flex;flex-wrap:wrap;gap:10px;margin-top:1rem}.family-banner,.family-boundary{padding:16px 20px;border-radius:var(--r-lg);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}.guide-page .prose h2{font-family:var(--font-display)}.recipe-page .prose{padding-block:0}.today-layout,.shopping-layout{display:grid;gap:20px}.action-dialog:has(.dt-cook){width:min(820px,100%);height:100dvh;max-height:100dvh;margin:0 auto;border-radius:0;background:radial-gradient(90% 50% at 100% 0%,rgb(205 103 58 / .16),transparent 60%),linear-gradient(180deg,var(--hero-2),var(--hero));color:var(--hero-text)}.action-dialog:has(.dt-cook) #dialog-content{padding:0;display:flex;flex-direction:column;height:100%}.action-dialog:has(.dt-cook) #dialog-content:before{display:none}.action-dialog:has(.dt-cook)>form:first-child{display:none}.dt-cook{display:flex;flex-direction:column;min-height:100%;padding:calc(18px + var(--safe-t)) clamp(18px,4vw,36px) 0}.dt-cook .dt-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dt-cook .eyebrow{color:var(--champ-300);margin:0}.dt-cook .text-button,.dt-cook .btn.text{color:var(--hero-text);text-decoration:none;min-height:44px;padding:0 16px;border-radius:var(--r-pill);background:#fbf7ee1a;font-weight:650;font-size:var(--fs-sm)}.dt-cook h2{font-size:var(--fs-xl);margin-top:14px;color:var(--hero-text)}.dt-cook #dt-wake{margin:6px 0 0;color:var(--hero-soft)}.dt-day-progress{display:grid;gap:8px;margin-top:18px}.dt-day-progress strong{font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--champ-300)}.dt-cook progress{height:8px;background:#fbf7ee29;box-shadow:none}.dt-cook progress::-webkit-progress-bar{background:#fbf7ee29}.dt-cook progress::-webkit-progress-value{background:linear-gradient(90deg,var(--champ-400),var(--champ-300))}.dt-cook progress::-moz-progress-bar{background:var(--champ-300)}.dt-cook-step{flex:1;display:flex;align-items:center;margin:clamp(18px,4vw,40px) 0;font-family:var(--font-display);font-size:clamp(1.65rem,1.1rem + 2.6vw,2.9rem);line-height:1.28;letter-spacing:-.012em;font-weight:440;outline:none;color:var(--hero-text);text-wrap:pretty}.dt-chips .btn,.dt-chips button{min-height:46px;padding:0 18px;border-radius:var(--r-pill);background:#fbf7ee1a;border:1px solid rgb(251 247 238 / .26);color:var(--hero-text);font-size:var(--fs-sm);font-weight:650}.dt-timer{display:grid;gap:10px;margin-top:16px;padding:16px 18px;border-radius:var(--r-xl);background:#fbf7ee14;border:1px solid rgb(251 247 238 / .16)}#dt-timer-readout{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 2vw,2.6rem);line-height:1;font-weight:400;font-variant-numeric:tabular-nums;color:var(--champ-300)}.dt-inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.dt-inline-form label{display:grid;gap:4px;font-size:var(--fs-xs);font-weight:650;color:var(--hero-soft)}.dt-cook input[type=number]{width:96px;background:#fbf7ee1a;border-color:#fbf7ee42;color:var(--hero-text)}.dt-cook .btn.secondary{background:#fbf7ee1a;color:var(--hero-text);border-color:#fbf7ee4d;box-shadow:none}#dt-timer-status{margin:0;font-size:var(--fs-xs);color:var(--hero-soft)}.dt-needed{margin-top:14px;border-top:1px solid rgb(251 247 238 / .14)}.dt-needed>summary{font-size:var(--fs-sm);color:var(--hero-text)}.dt-needed ul{list-style:none;display:grid;gap:2px;margin:0 0 10px}.dt-needed li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed rgb(251 247 238 / .16)}.dt-needed .dt-check{display:flex;align-items:center;gap:12px;color:var(--hero-text);font-size:var(--fs-md)}.dt-needed input{background:transparent;border-color:#fbf7ee66}.dt-needed input:checked{background-color:var(--champ-300);border-color:var(--champ-300)}.dt-needed input:checked~*,.dt-needed li:has(input:checked) strong{opacity:.55}.dt-needed strong{font-variant-numeric:tabular-nums;color:var(--hero-soft)}.dt-cook-navigation{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-top:20px;padding:14px 0 calc(16px + var(--safe-b));background:linear-gradient(to top,var(--hero) 62%,transparent)}.dt-cook-navigation .btn{min-height:62px;font-size:var(--fs-md)}.dt-cook-navigation .btn.primary{background:var(--champ-300);color:var(--forest-950);box-shadow:0 14px 28px -12px #0009}.dt-cook-navigation .btn.secondary,.dt-cook-navigation .btn:not(.primary){background:#fbf7ee1a;color:var(--hero-text);border:1px solid rgb(251 247 238 / .26);box-shadow:none}.dt-dialog,.flow-dialog,.profile-dialog,.ex-dialog{display:grid;gap:14px;align-content:start}.dt-dialog>h2,.flow-dialog>h2,.profile-dialog>h2{font-size:var(--fs-2xl);padding-right:44px}.dt-dialog p,.flow-dialog p,.profile-dialog p,.ex-dialog p{margin:0;color:var(--text-soft);font-size:var(--fs-md)}.dt-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dt-allergen-grid,.dt-stock-grid,.quick-profile-fields,.quick-profile-exclusions{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.dt-allergens label,.dt-allergen-grid label,.quick-profile-exclusions label{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}.dt-allergens label:has(input:checked),.dt-allergen-grid label:has(input:checked){background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.dt-card,.dt-card-body{background:none}.dt-actions,.dt-eaten-control{display:flex;flex-wrap:wrap;gap:8px}.dt-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);font-weight:600;font-size:var(--fs-sm)}.dt-warning{padding:12px 14px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm)}.dt-badge{display:inline-flex;padding:3px 10px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);font-size:var(--fs-xs);font-weight:700}.dt-avatar,.flow-avatar,.profile-monogram{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(150deg,var(--champ-300),var(--champ-500));color:var(--forest-950);font-family:var(--font-display);font-weight:600;font-size:1.15rem;flex:none}.profile-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.profile-list li,.profile-list>div{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg);border:1px solid var(--line)}.profile-list li[aria-current=true],.profile-list .is-current{border-color:var(--brand);background:var(--brand-soft)}.profile-privacy{padding:12px 14px;border-radius:var(--r-md);background:var(--gold-soft);font-size:var(--fs-sm)}.profile-choice{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:8px 18px 8px 10px;border-radius:var(--r-xl);text-align:left}.profile-choice>span:nth-child(2){display:grid;gap:2px;flex:1;min-width:0}.profile-choice strong{font-size:var(--fs-md)}.profile-choice small{color:var(--text-soft);font-size:var(--fs-xs);font-weight:500}.profile-choice.is-active{background:var(--brand-soft);border-color:var(--brand);opacity:1}.profile-choice[disabled]{cursor:default}.profile-success{display:grid;justify-items:center;gap:10px;text-align:center;padding:20px}.profile-success-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--ok-soft);color:var(--ok)}.new-profile-form{display:grid;gap:12px}.profile-advanced{border:1px solid var(--line);border-radius:var(--r-lg);padding:0 16px}.profile-advanced[open]{padding-bottom:16px}.dialog-swap-list{display:grid;gap:10px}.swap-option{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:14px;padding:8px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg);text-align:left;width:100%}.swap-option .recipe-media{aspect-ratio:1;border-radius:var(--r-md)}.swap-option:hover{border-color:var(--brand)}.swap-option small{display:block;color:var(--text-soft)}.dt-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-sm);line-height:1.35;text-transform:capitalize}.dt-chips .dt-check,.flow-routine-meals .dt-check{padding:0 16px 0 12px;min-height:46px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);font-weight:600}.dt-chips{display:flex;flex-wrap:wrap;gap:8px}.dt-chips .dt-check:has(input:checked){background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}:root[data-theme=dark] .dt-chips .dt-check:has(input:checked){color:var(--gold-text);border-color:var(--gold)}.dt-chips .dt-check input{width:22px;height:22px;border-radius:50%}.flow-dialog form{display:grid;gap:18px}.flow-dialog fieldset{display:grid;gap:10px;padding:0}.flow-dialog legend{font-size:var(--fs-sm);font-weight:700;margin-bottom:6px}.flow-dialog label{font-size:var(--fs-sm)}.flow-dialog label>input:not([type=checkbox]):not([type=radio]),.flow-dialog label>select{margin-top:6px}.flow-dialog small{color:var(--text-soft);font-size:var(--fs-xs)}.flow-routine-meals{display:grid;gap:10px}.flow-routine-meals>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.8fr);gap:10px 16px;align-items:center;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg);border:1px solid var(--line)}.flow-routine-meals>div>label:first-child{padding:0;border:0;background:none;min-height:0;font-size:var(--fs-md);text-transform:capitalize}.flow-routine-meals>div>label:last-child{display:grid;gap:2px;font-size:var(--fs-xs);color:var(--text-soft);font-weight:600}.flow-routine-meals input[type=number]{min-height:44px}.flow-eaters{display:grid;gap:8px;margin:8px 0}.flow-eaters>div{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line)}.flow-eaters>div>span{flex:1;font-size:var(--fs-sm);color:var(--text-soft)}.flow-caution{padding:12px 14px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm)}#flow-form-error:not(:empty){padding:12px 14px;border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);font-weight:600}.dt-actions{display:flex;flex-wrap:wrap;gap:10px}.dialog-fields,.flow-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.flow-stock-disclosure{margin:0 20px 20px;border:1px solid var(--line);border-radius:var(--r-lg);padding:0 14px;background:var(--bg)}.flow-stock-disclosure>summary{font-size:var(--fs-sm)}.flow-stock-disclosure[open]{padding-bottom:14px}.dt-panel .dt-section-head h3{font-size:var(--fs-lg)}.dt-stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px}.dt-stock-chip{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);min-height:56px}.dt-stock-chip strong{font-size:var(--fs-sm)}.dt-stock-chip small{font-size:var(--fs-xs);color:var(--text-soft)}.dt-stock-chip:hover{border-color:var(--forest-300)}.dt-stock-chip.priority{border-color:var(--gold);background:var(--gold-soft)}.dt-stock-chip.priority small{color:var(--gold-text);font-weight:650}.dt-shell{display:grid;gap:clamp(20px,3vw,32px);padding-block:clamp(18px,3vw,36px) 0}.dt-heading h1{font-size:clamp(2.2rem,1.4rem + 3.8vw,3.8rem);line-height:1.04;letter-spacing:-.025em;max-width:20ch}.dt-heading .eyebrow{margin-bottom:1rem}.dt-heading p:not(.eyebrow){margin-top:1rem;max-width:62ch;color:var(--text-soft);font-size:var(--fs-md)}.dt-collection-links{display:flex;flex-wrap:wrap;gap:8px}.dt-collection-links a{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line-strong);color:var(--text);font-size:var(--fs-sm);font-weight:650;text-decoration:none}.dt-collection-links a:hover{background:var(--brand-soft)}.dt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(14px,2vw,22px)}.dt-card{display:flex;flex-direction:column;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}.dt-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}.dt-photo{display:block}.dt-photo .recipe-media{border-radius:0;aspect-ratio:4/3}.dt-card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}.dt-card-body h2{font-size:var(--fs-xl);line-height:1.12}.dt-card-body h2 a{color:var(--text);text-decoration:none}.dt-card-body p{margin:0;font-size:var(--fs-sm);color:var(--text-soft)}.dt-card-body .dt-actions{margin-top:auto;padding-top:8px}.dt-menu-recipes{list-style:none;display:grid;gap:2px;margin:12px 0 0}.dt-menu-recipes li{display:grid;grid-template-columns:96px 1fr;gap:2px 12px;padding:12px 0;border-bottom:1px dashed var(--line);align-items:baseline}.dt-menu-recipes li:last-child{border:0}.dt-menu-recipes strong{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fresh-text)}.dt-menu-recipes a{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--text)}.dt-menu-recipes small{grid-column:2;color:var(--text-soft);font-size:var(--fs-xs)}.dt-trust{font-size:var(--fs-sm);color:var(--text-soft)}.dt-panel h2{font-size:var(--fs-xl)}.dt-why{font-size:var(--fs-sm);color:var(--text-soft)}.dt-static-photo-label{display:inline-flex;padding:3px 10px;border-radius:var(--r-pill);background:var(--bg-sunken);font-size:var(--fs-xs);color:var(--text-soft)}.btn.cream{background:var(--champ-200);color:var(--forest-950)}.family-banner{display:grid;gap:20px;padding:clamp(24px,4vw,44px);border-radius:var(--r-2xl);background:linear-gradient(150deg,var(--hero-2),var(--hero));color:var(--hero-text)}.family-banner .eyebrow{color:var(--champ-300)}.family-banner h2{color:var(--hero-text);font-size:var(--fs-2xl)}.family-banner p{color:var(--hero-soft)}.family-boundary{background:var(--surface);border-color:var(--line)}.family-boundary>svg{width:32px;height:32px;color:var(--brand)}.kitchen-cook-hero{display:grid;gap:clamp(22px,4vw,48px);align-items:center;padding-block:clamp(10px,2vw,24px) clamp(24px,4vw,44px)}@media(min-width:900px){.kitchen-cook-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.kitchen-cook-hero h1{font-size:clamp(2.3rem,1.4rem + 4.2vw,4.2rem);line-height:1.02;letter-spacing:-.028em}.kitchen-cook-hero .lead{margin-top:1rem}.kitchen-cook-hero .recipe-media{aspect-ratio:5/4;border-radius:999px 999px var(--r-2xl) var(--r-2xl);box-shadow:var(--sh-3),0 0 0 7px var(--surface),0 0 0 8px color-mix(in srgb,var(--gold) 55%,transparent)}.kitchen-cook-body{display:grid;gap:clamp(20px,3vw,40px);align-items:start}@media(min-width:900px){.kitchen-cook-body{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}}.kitchen-ingredient-list{list-style:none;display:grid;gap:2px;margin:12px 0}.kitchen-ingredient-list li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:var(--fs-md)}.kitchen-ingredient-list strong{font-variant-numeric:tabular-nums}.kitchen-steps{list-style:none;display:grid;gap:12px;counter-reset:ks}.kitchen-steps li{position:relative;padding:clamp(16px,2.4vw,24px) clamp(16px,2.4vw,24px) clamp(16px,2.4vw,24px) clamp(64px,8vw,84px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);font-size:var(--fs-md);line-height:1.6;counter-increment:ks}.kitchen-steps li:before{content:counter(ks,decimal-leading-zero);position:absolute;left:clamp(16px,2.4vw,24px);top:clamp(12px,2vw,18px);font-family:var(--font-display);font-style:italic;font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);color:var(--gold-deco);line-height:1}.v8-portion-control{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg-sunken)}.cook-dialog{width:min(780px,100%);max-width:none;max-height:100dvh;height:100dvh;margin:0 auto;padding:0;border:0;background:linear-gradient(180deg,var(--hero-2),var(--hero));color:var(--hero-text)}.cook-dialog::backdrop{background:var(--overlay)}.cook-dialog[open]{display:flex;flex-direction:column}.cook-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(16px + var(--safe-t)) clamp(18px,4vw,32px) 8px}.cook-top h2{font-size:var(--fs-lg);color:var(--hero-text)}.cook-progress-row{display:grid;gap:8px;padding:8px clamp(18px,4vw,32px)}.cook-progress-row progress{height:8px;background:#fbf7ee29;box-shadow:none}.cook-progress-row progress::-webkit-progress-bar{background:#fbf7ee29}.cook-progress-row progress::-webkit-progress-value{background:linear-gradient(90deg,var(--champ-400),var(--champ-300))}.cook-step,.v8-cook-text{flex:1;display:flex;align-items:center;margin:0;padding:clamp(18px,4vw,36px) clamp(18px,4vw,32px);font-family:var(--font-display);font-size:clamp(1.65rem,1.1rem + 2.6vw,2.9rem);line-height:1.28;letter-spacing:-.012em;color:var(--hero-text);outline:none;overflow:auto}.v8-cook-content{display:flex;flex-direction:column;flex:1;min-height:0}.cook-step-timers{display:flex;flex-wrap:wrap;gap:8px;padding:0 clamp(18px,4vw,32px)}.cook-timer,.v8-cook-timer{margin:12px clamp(18px,4vw,32px);padding:16px 18px;border-radius:var(--r-xl);background:#fbf7ee14;border:1px solid rgb(251 247 238 / .16);color:var(--hero-text);font-variant-numeric:tabular-nums}.cook-footer{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:14px clamp(18px,4vw,32px) calc(16px + var(--safe-b))}.cook-footer .btn{min-height:62px;font-size:var(--fs-md)}.cook-footer .btn.primary{background:var(--champ-300);color:var(--forest-950)}.cook-footer .btn:not(.primary){background:#fbf7ee1a;color:var(--hero-text);border-color:#fbf7ee42;box-shadow:none}.cook-dialog .btn.secondary,.cook-dialog .btn.text{background:#fbf7ee1a;color:var(--hero-text);border-color:#fbf7ee42;box-shadow:none}.dt-recipe-facts{display:flex;flex-wrap:wrap;gap:8px}.pantry-top-actions{display:flex;gap:8px}.shop-summary-note{color:var(--hero-soft)}.recipe-studio{border-radius:var(--r-2xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);overflow:hidden}.studio-summary{display:flex;align-items:center;gap:16px;padding:18px clamp(18px,3vw,28px);min-height:76px;list-style:none;cursor:pointer}.studio-summary:after{display:none}.studio-summary>span:nth-child(2){flex:1;display:grid;gap:2px;min-width:0}.studio-summary strong{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:520;line-height:1.15}.studio-summary small{font-size:var(--fs-sm);color:var(--text-soft)}.studio-summary>span:last-child{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bg-sunken);font-size:1.4rem;line-height:1;transition:transform var(--t-med) var(--ease)}.recipe-studio[open]>.studio-summary>span:last-child{transform:rotate(45deg)}.studio-summary-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(150deg,var(--terra-500),var(--terra-700));color:#fff;font-size:1.3rem;flex:none}.studio-interior{display:grid;gap:clamp(18px,3vw,28px);padding:0 clamp(18px,3vw,32px) clamp(20px,3vw,32px);border-top:1px solid var(--line-soft)}.studio-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px 20px;padding-top:clamp(18px,3vw,28px)}.studio-head h2{font-size:var(--fs-3xl);line-height:1.02;letter-spacing:-.025em}.studio-head p:not(.eyebrow){margin:.9rem 0 0;max-width:52ch;color:var(--text-soft)}.studio-service{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--r-pill);background:var(--bg-sunken);border:1px solid var(--line);font-size:var(--fs-xs);font-weight:650;color:var(--text-soft)}.studio-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:6px;border-radius:var(--r-lg);background:var(--bg-sunken);border:1px solid var(--line-soft)}.studio-steps li{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;color:var(--text-soft)}.studio-steps li span{font-variant-numeric:tabular-nums;font-weight:700}.studio-steps li[aria-current=step]{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}.studio-steps li[aria-current=step] span{color:var(--accent-text)}@media(max-width:560px){.studio-steps{grid-template-columns:1fr}}.studio-columns{display:grid;gap:clamp(18px,3vw,32px);align-items:start}@media(min-width:980px){.studio-columns{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}.studio-input{display:grid;gap:16px}.studio-source-row{display:flex;flex-wrap:wrap;gap:10px}.studio-foods{display:grid;gap:8px}.studio-food-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:10px 12px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line)}.studio-food-row.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand-soft) 60%,var(--bg))}.studio-food-label{display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);font-weight:600;min-width:0}.studio-amount-label,.studio-unit-label{display:grid;gap:2px;font-size:var(--fs-2xs);font-weight:650;color:var(--text-soft)}.studio-food-row input[type=number]{min-height:44px;width:96px}.studio-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.studio-check{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--r-md);background:var(--bg-sunken);border:1px solid var(--line-soft);font-size:var(--fs-sm);line-height:1.45;cursor:pointer}.studio-build-actions{display:flex;flex-wrap:wrap;gap:10px}.studio-build-actions .btn.primary{flex:1 1 260px;min-height:56px}.studio-output{display:grid;gap:14px;align-content:start;padding:clamp(16px,2.6vw,24px);border-radius:var(--r-xl);background:radial-gradient(80% 60% at 100% 0%,var(--fresh-soft),transparent),var(--bg);border:1px dashed var(--line-strong);min-height:260px}.studio-idle,.studio-empty{display:grid;justify-items:start;gap:8px;color:var(--text-soft);font-size:var(--fs-sm)}.studio-idle h3,.studio-empty h3{font-size:var(--fs-xl);color:var(--text)}.studio-working{display:grid;justify-items:center;gap:12px;text-align:center;padding:24px 8px}.studio-orbit{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:1.6rem;animation:spin-slow 4s linear infinite}.studio-status{margin:0;padding:12px 14px;border-radius:var(--r-md);background:var(--bg-sunken);color:var(--text-soft);font-size:var(--fs-sm)}.studio-status[data-tone=error]{background:var(--danger-soft);color:var(--danger);font-weight:600}.studio-recipe-check{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);font-size:var(--fs-sm);font-weight:650;width:fit-content}.studio-recipe-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--fs-sm);color:var(--text-soft)}.studio-ingredient-list,.studio-method{display:grid;gap:6px;margin:0;padding-left:1.3em;font-size:var(--fs-md);line-height:1.55}.studio-local-recipe{display:grid;gap:10px;padding:14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}.studio-contract,.studio-limits,.studio-safety{font-size:var(--fs-xs);color:var(--text-soft);line-height:1.5}.studio-guidance:empty{display:none}.guide-card{display:grid;gap:10px;padding:16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.guide-card.is-complete{background:var(--ok-soft);border-color:transparent}.guide-card.has-gaps{background:var(--warn-soft);border-color:transparent}.guide-card h3,.guide-card h4{margin:0;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;color:var(--text)}.guide-card p{margin:0;font-size:var(--fs-sm);color:var(--text-soft);line-height:1.5}.guide-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.guide-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;font-size:var(--fs-sm);line-height:1.45;color:var(--text)}.guide-list li>span:first-child{font-weight:800;text-align:center}.guide-list li.ok>span:first-child{color:var(--ok)}.guide-list li.gap>span:first-child{color:var(--warn)}.guide-list small{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--text-soft)}.guide-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.guide-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;min-height:44px;padding:6px 14px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--fs-sm);font-weight:650;cursor:pointer;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast)}.guide-chip small{margin:0;font-size:var(--fs-2xs);font-weight:600;color:var(--text-soft)}.guide-chip:hover{border-color:var(--brand);transform:translateY(-1px)}.guide-optional{display:grid;gap:4px}.studio-health{display:grid;gap:6px;margin:0;padding-left:1.3em;font-size:var(--fs-sm);line-height:1.5;color:var(--text-soft)}.studio-guidance-result{margin:14px 0}.studio-ingredient-list{list-style:none;padding-left:0}.studio-ingredient-list li{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--line-soft)}.studio-ingredient-list li strong{flex:none;font-variant-numeric:tabular-nums}.guide-block{display:grid;gap:8px;padding:12px 14px;margin-bottom:4px;border-radius:var(--r-md);background:var(--danger-soft);border:1px solid var(--line)}.guide-block h3,.guide-block h4{margin:0;font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;color:var(--danger)}.guide-block .guide-list li.gap>span:first-child{color:var(--danger)}.guide-fix{border-color:var(--brand);background:var(--surface-2)}.studio-planner-note{margin:6px 0 10px;padding:10px 14px;border-radius:var(--r-md);background:var(--gold-soft);color:var(--text);font-size:var(--fs-sm);line-height:1.5}@keyframes skeleton{0%{background-position:120% 0}to{background-position:-120% 0}}html.js body[data-daily-page] main>*:not(#ex-profile-host):not(#daily-workbench){display:none}html.js body[data-daily-page] main:not(:has(#daily-workbench)):before{content:"";display:block;margin:clamp(26px,5vw,60px) auto 0;width:min(100% - 2*var(--gutter),var(--max));height:min(62dvh,520px);border-radius:var(--r-2xl);background:linear-gradient(100deg,var(--bg-sunken) 30%,color-mix(in srgb,var(--surface) 70%,var(--bg-sunken)) 50%,var(--bg-sunken) 70%);background-size:240% 100%;animation:skeleton 1.6s linear infinite}.ex-home-hero:not(.home-hero){min-height:min(70dvh,480px);padding:clamp(24px,4vw,52px);border-radius:var(--r-2xl);background:linear-gradient(100deg,var(--hero-2) 30%,var(--hero) 50%,var(--hero-2) 70%);background-size:240% 100%;animation:skeleton 1.8s linear infinite;color:var(--hero-text)}.ex-home-hero:not(.home-hero) h1{font-size:clamp(2.2rem,1.4rem + 4vw,3.6rem);color:var(--hero-text)}.ex-home-hero:not(.home-hero) p{color:var(--hero-soft)}html.js .ex-workbench>noscript{display:none}.offline-notice{display:flex;align-items:center;gap:10px}.offline-notice:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--warn);flex:none}.update-note .text-button{font-weight:700}@media print{.site-header,.bottom-nav,.site-footer,.ex-profile,#ex-profile-host,.quick-dialog,.scan-cta,.icon-btn,.ex-date-nav,.day-strip,.today-water,.hero-actions,.ex-heart,.focus-support,.buy-btn{display:none!important}.ex-buy-row,.ingredient-check,.method-list li,.ex-card{break-inside:avoid;box-shadow:none!important;border-color:#999!important}.method-list p{font-size:12pt}a{color:#000;text-decoration:none}.recipe-media:after,.media-label{display:none}}body>main{min-height:calc(100dvh - var(--header-h))}#ex-profile-host{min-height:60px}html.js .v8-profile-strip,html.js .dt-inline-profile,html.js .flow-profile{display:none}
/* gutf-attribution */
.footer-credit{margin:10px 0 0;font-size:var(--fs-sm)}
.footer-credit a{display:inline-flex;align-items:center;min-height:32px;color:var(--hero-text);opacity:.86;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.footer-credit a:hover{opacity:1}
.footer-credit a:focus-visible{outline:2px solid var(--champ-300);outline-offset:3px;border-radius:4px}
