:root{--sand-25:#fdfbf7;--sand-50:#faf6ee;--sand-100:#f4ece0;--sand-200:#e9dfcd;--sand-300:#d9cbb2;--sand-400:#bfae93;--sand-500:#a08d74;--sand-600:#7d6c56;--sand-700:#5c4e3d;--sand-800:#3d3428;--sand-900:#2a221a;--sand-950:#1a1410;--copper-50:#fdf4e8;--copper-100:#fae4cb;--copper-200:#f2ca99;--copper-300:#e6ab68;--copper-400:#d48b41;--copper-500:#bd7026;--copper-600:#9e5a1c;--copper-700:#7d4618;--copper-800:#5c3414;--copper-900:#3d230f;--sage-50:#f1f5ec;--sage-100:#e2ebd9;--sage-300:#b4c7a4;--sage-500:#6f8a5a;--sage-700:#4c6440;--sage-900:#2b3a23;--clay-50:#fbeeea;--clay-100:#f6ded7;--clay-300:#e0a99c;--clay-500:#b5503f;--clay-700:#8c3a2c;--clay-900:#4a1f18;color-scheme:light;--bg:var(--sand-100);--bg-sunken:var(--sand-200);--paper-2:var(--sand-25);--surface-dark:var(--sand-900);--ink:var(--sand-900);--ink-soft:var(--sand-600);--muted:var(--sand-700);--on-dark:var(--sand-50);--on-dark-muted:var(--sand-300);--line:var(--sand-200);--line-strong:var(--sand-300);--line-contrast:var(--sand-400);--accent:var(--copper-600);--accent-hover:var(--copper-700);--accent-ink:var(--copper-700);--accent-soft:var(--copper-50);--accent-line:var(--copper-200);--on-danger:#ffffff;--danger:var(--clay-500);--danger-ink:var(--clay-700);--danger-soft:var(--clay-50);--success:var(--sage-500);--success-ink:var(--sage-700);--success-soft:var(--sage-50);--elev-1:0 1px 1px rgba(42,34,26,.035),0 1px 2px rgba(42,34,26,.03);--elev-2:0 1px 2px rgba(42,34,26,.04),0 3px 6px rgba(42,34,26,.04);--elev-3:0 1px 2px rgba(42,34,26,.04),0 4px 10px rgba(42,34,26,.045),0 12px 24px rgba(42,34,26,.05);--elev-4:0 2px 4px rgba(42,34,26,.04),0 10px 20px rgba(42,34,26,.06),0 28px 56px rgba(42,34,26,.09);--text-xs:0.75rem;--text-sm:0.8125rem;--text-md:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:4rem;--track-tight:-0.03em;--track-snug:-0.015em;--track-normal:0;--track-wide:0.06em;--track-caps:0.09em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--dur-fast:140ms;--dur:240ms;--dur-slow:420ms;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.4,.64,1);--motion:var(--dur);--tap:44px;--z-nav:20;--z-sticky:30;--z-modal:50;--content:1240px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#14100c;--bg-sunken:#0e0b08;--paper:#1e1811;--paper-2:#241d15;--surface-dark:#241d15;--ink:var(--sand-50);--ink-soft:var(--sand-500);--muted:var(--sand-300);--on-dark:var(--sand-50);--on-dark-muted:var(--sand-400);--line:#33291f;--line-strong:#473a2c;--line-contrast:#5c4b39;--accent:var(--copper-400);--accent-hover:var(--copper-300);--accent-ink:var(--copper-200);--accent-soft:#33240f;--accent-line:var(--copper-800);--on-accent:#241304;--on-danger:#2b0f0a;--danger:#d97a6a;--danger-ink:var(--clay-300);--danger-soft:#351914;--success:var(--sage-300);--success-ink:var(--sage-300);--success-soft:#1f2818;--elev-1:0 1px 1px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.24);--elev-2:0 1px 2px rgba(0,0,0,.32),0 3px 6px rgba(0,0,0,.3);--elev-3:0 1px 2px rgba(0,0,0,.32),0 4px 10px rgba(0,0,0,.34),0 12px 24px rgba(0,0,0,.38);--elev-4:0 2px 4px rgba(0,0,0,.34),0 10px 20px rgba(0,0,0,.42),0 28px 56px rgba(0,0,0,.55)}}:root[data-theme=dark]{color-scheme:dark;--bg:#14100c;--bg-sunken:#0e0b08;--paper:#1e1811;--paper-2:#241d15;--surface-dark:#241d15;--ink:var(--sand-50);--ink-soft:var(--sand-500);--muted:var(--sand-300);--on-dark:var(--sand-50);--on-dark-muted:var(--sand-400);--line:#33291f;--line-strong:#473a2c;--line-contrast:#5c4b39;--accent:var(--copper-400);--accent-hover:var(--copper-300);--accent-ink:var(--copper-200);--accent-soft:#33240f;--accent-line:var(--copper-800);--on-accent:#241304;--danger:#d97a6a;--danger-ink:var(--clay-300);--danger-soft:#351914;--success:var(--sage-300);--success-ink:var(--sage-300);--success-soft:#1f2818;--elev-1:0 1px 1px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.24);--elev-2:0 1px 2px rgba(0,0,0,.32),0 3px 6px rgba(0,0,0,.3);--elev-3:0 1px 2px rgba(0,0,0,.32),0 4px 10px rgba(0,0,0,.34),0 12px 24px rgba(0,0,0,.38);--elev-4:0 2px 4px rgba(0,0,0,.34),0 10px 20px rgba(0,0,0,.42),0 28px 56px rgba(0,0,0,.55)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{--font-body:var(--font-sans),"Segoe UI",system-ui,sans-serif;--font-display:var(--font-serif),Georgia,serif;margin:0;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a,button{touch-action:manipulation}a{color:inherit;text-decoration:none}img,svg{max-width:100%}[role=switch]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:650;letter-spacing:-.01em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-size:var(--text-lg)}.eyebrow{margin:0 0 var(--sp-2);color:var(--accent-ink);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{letter-spacing:-.02em}.primary-button,.secondary-button,.text-button{display:inline-flex;justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);border:1px solid transparent;border-radius:var(--r-md);font-size:var(--text-md);font-weight:650;cursor:pointer;transition:background var(--motion) ease,border-color var(--motion) ease,color var(--motion) ease}.primary-button{color:var(--on-accent)}.primary-button:disabled{opacity:.5;cursor:wait}.secondary-button,.text-button{border-color:var(--line-strong);background:var(--paper)}.secondary-button:hover,.text-button:hover{background:var(--bg-sunken);border-color:var(--ink-soft)}.auth-form input,.field input,.field select,.search-field input{width:100%;min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);color:var(--ink);transition:border-color var(--motion) ease}.auth-form input:hover,.field input:hover,.field select:hover{border-color:var(--ink-soft)}.field{display:grid;gap:var(--sp-2);margin-top:var(--sp-4);color:var(--muted);font-size:var(--text-md);font-weight:600}.field-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--sp-3)}.field-grid.four{grid-template-columns:repeat(4,1fr)}.form-message{margin:var(--sp-3) 0 0;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--text-md)}.form-message.error{background:var(--danger-soft);color:var(--danger-ink)}.form-message.success{background:var(--success-soft);color:var(--success-ink)}.cook-switch>div:last-child,.library-tools>div,.profile-switch,.profile-tabs{display:inline-flex;gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-sunken);max-width:100%;overflow-x:auto;scrollbar-width:none}.cook-switch>div:last-child button,.library-tools>div button,.profile-switch button,.profile-tabs button{min-height:38px;padding:0 var(--sp-4);border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:var(--text-md);font-weight:600;white-space:nowrap;text-align:left;cursor:pointer;transition:background var(--motion) ease,color var(--motion) ease}.cook-switch>div:last-child button:hover,.library-tools>div button:hover,.profile-switch button:hover,.profile-tabs button:hover{color:var(--ink)}.cook-switch>div:last-child button.active,.library-tools>div button.active,.profile-switch button.active,.profile-tabs button.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.profile-switch button small{display:block;font-size:var(--text-xs);font-weight:500}.ios-switch{position:relative;flex:0 0 auto;width:48px;height:28px;min-height:28px;padding:0;border:0;border-radius:var(--r-pill);background:var(--line-strong);cursor:pointer;transition:background var(--motion) ease}.ios-switch i{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform var(--motion) ease}.ios-switch.on{background:var(--success)}.ios-switch.on i{transform:translateX(20px)}.ios-switch:disabled{opacity:.5;cursor:not-allowed}.ios-switch.large{width:52px;height:30px}.ios-switch.large i{width:24px;height:24px}.ios-switch.large.on i{transform:translateX(22px)}.landing{overflow:hidden}.landing-nav{position:sticky;z-index:var(--z-nav);top:var(--sp-3);max-width:var(--content);margin:var(--sp-3) auto 0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);border-radius:var(--r-xl);background:var(--surface-dark);color:var(--on-dark)}.landing-nav .brand-mark{background:var(--accent)}.landing-nav nav{display:flex;align-items:center;gap:var(--sp-5);font-size:var(--text-md)}.landing-nav nav>a:not(.text-button){color:var(--on-dark-muted);transition:color var(--motion) ease}.landing-nav nav>a:not(.text-button):hover{color:var(--on-dark)}.landing-nav .text-button{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.landing-nav .text-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.hero{max-width:var(--content);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-16);align-items:center;padding:var(--sp-16) var(--sp-6) var(--sp-20)}.app-intro h1,.auth-card h1,.feature-section h2,.flex-day h2,.hero h1,.legal-page h1,.price-section h2,.recipe-detail h2,.safety-section h2,.wizard-card h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.03em}.hero h1{margin:0;font-size:clamp(var(--text-4xl),6vw,var(--text-5xl))}.hero h1 em{color:var(--accent);font-style:normal}.hero-lead{max-width:54ch;margin:var(--sp-6) 0;color:var(--muted);font-size:var(--text-lg);line-height:1.7}.hero-actions{display:flex;gap:var(--sp-3);align-items:center}.trust-line{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-6);color:var(--muted);font-size:var(--text-md)}.trust-line span{color:var(--accent-ink);font-weight:700}.hero-visual{position:relative;min-height:540px}.week-card{position:absolute;inset:var(--sp-5) var(--sp-6) var(--sp-12) 0;padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--shadow-lg)}.week-card-head{display:flex;align-items:center;justify-content:space-between;padding:0 0 var(--sp-4)}.week-card-head span{font-family:var(--font-display);font-size:var(--text-xl)}.week-card-head strong{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--text-xs)}.mini-meal{display:grid;grid-template-columns:68px 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-top:1px solid var(--line)}.mini-photo{width:68px;height:62px;border-radius:var(--r-md);background-size:cover;background-position:50%}.photo-1{background:#b4763f}.photo-2{background:#a8683c}.photo-3{background:#6f7d4a}.mini-meal span:nth-child(2){display:grid;gap:var(--sp-1);min-width:0}.mini-meal small{color:var(--accent-ink);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.mini-meal strong{font-size:var(--text-base)}.mini-meal strong,.mini-meal>b{font-family:var(--font-display);font-weight:500}.mini-meal>b{font-size:var(--text-lg)}.flex-preview{display:grid;grid-template-columns:40px 1fr auto;align-items:center;margin-top:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-md);background:var(--accent-soft)}.flex-preview span{color:var(--accent-ink);font-size:var(--text-md);font-weight:700}.flex-preview small{color:var(--muted);font-size:var(--text-md)}.feature-section{padding:var(--sp-20) max(var(--sp-6),calc((100vw - var(--content)) / 2));background:var(--surface-dark);color:var(--on-dark)}.feature-section>.eyebrow{color:var(--accent)}.feature-section h2{max-width:22ch;margin:0 0 var(--sp-12);font-size:var(--text-4xl)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}.feature-grid article{padding:var(--sp-6) 0 0;border-top:1px solid rgba(255,255,255,.2)}.feature-grid article>span{color:var(--accent);font-size:var(--text-md);font-weight:700}.feature-grid h3{margin:var(--sp-6) 0 var(--sp-3);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.feature-grid p{margin:0;color:var(--on-dark-muted);line-height:1.7}.price-section,.safety-section{max-width:var(--content);margin:auto;padding:var(--sp-20) var(--sp-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center}.price-section h2,.safety-section h2{margin:0;font-size:var(--text-3xl)}.price-section>div>p,.safety-section>p{color:var(--muted);font-size:var(--text-lg);line-height:1.8}.price-section{border-top:1px solid var(--line)}.price-card{padding:var(--sp-8);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--shadow-md)}.price-card>span{color:var(--accent-ink);font-weight:700;font-size:var(--text-md)}.price-card>p{margin:var(--sp-2) 0!important;color:var(--ink)!important}.price-card>p strong{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:500}.price-card>small{display:block;margin-bottom:var(--sp-6);color:var(--muted)}.price-card .primary-button{width:100%}footer{max-width:var(--content);margin:auto;display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-8);align-items:center;padding:var(--sp-8) var(--sp-6);border-top:1px solid var(--line);font-size:var(--text-md);color:var(--muted)}footer p{text-align:center}footer>div{display:flex;gap:var(--sp-4)}.auth-page,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6);background:var(--bg)}.auth-card,.auth-panel{width:min(520px,100%);padding:var(--sp-10);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--shadow-md)}.back-link{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);margin-bottom:var(--sp-4);color:var(--muted);font-size:var(--text-md)}.back-link:hover{color:var(--ink)}.auth-card h1{margin:0 0 var(--sp-3);font-size:var(--text-3xl);line-height:1.1}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.auth-form{display:grid;gap:var(--sp-4);margin-top:var(--sp-6)}.auth-form label{display:grid;gap:var(--sp-2);font-size:var(--text-md);font-weight:600}.auth-links{display:flex;justify-content:space-between;gap:var(--sp-4);font-size:var(--text-md)}.auth-links a{color:var(--accent-ink);font-weight:600}.auth-links a:hover{text-decoration:underline}.legal-page{min-height:100vh;padding:var(--sp-6);background:var(--bg)}.legal-page>header{max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.legal-page>header>a:last-child{color:var(--accent-ink);font-size:var(--text-md);font-weight:700}.legal-page>article{max-width:760px;margin:var(--sp-16) auto;padding:var(--sp-12);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--shadow-md)}.legal-page h1{margin:0 0 var(--sp-6);font-size:var(--text-3xl)}.legal-page article>p:not(.eyebrow){color:var(--muted);line-height:1.8}.legal-page aside{margin-top:var(--sp-6);padding:var(--sp-5);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-ink)}.legal-page aside p{margin:var(--sp-2) 0 0;font-size:var(--text-md);line-height:1.65}.onboarding-page{min-height:100vh;background:var(--bg)}.onboarding-header{position:sticky;z-index:var(--z-nav);top:var(--sp-3);max-width:1180px;margin:var(--sp-3) auto 0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-xl);background:var(--surface-dark)}.onboarding-header,.onboarding-header .brand{color:var(--on-dark)}.onboarding-header>span{color:var(--on-dark-muted);font-size:var(--text-md)}.onboarding-shell{max-width:1180px;margin:auto;display:grid;grid-template-columns:260px 1fr;gap:var(--sp-10);padding:var(--sp-10) var(--sp-6) var(--sp-20)}.onboarding-shell>aside{position:sticky;top:calc(var(--sp-16) + var(--sp-4));align-self:start}.onboarding-shell aside h1{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;line-height:1.15}.onboarding-shell aside ol{display:grid;gap:var(--sp-1);margin:var(--sp-6) 0;padding:0;list-style:none;counter-reset:step}.onboarding-shell aside li{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--muted);font-size:var(--text-md);font-weight:600}.onboarding-shell aside li span{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font-size:var(--text-xs);font-weight:700}.onboarding-shell aside li.active{background:var(--paper);box-shadow:var(--shadow-sm)}.onboarding-shell aside li.active span{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.onboarding-shell aside li.done{color:var(--success-ink)}.onboarding-shell aside li.done span{border-color:var(--success);background:var(--success-soft);color:var(--success-ink)}.privacy-note{margin-top:var(--sp-6);padding:var(--sp-4);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--text-md);line-height:1.6}.wizard-card{padding:var(--sp-10);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-md)}.wizard-card h2{margin:0 0 var(--sp-3);font-size:var(--text-3xl)}.wizard-card>p:not(.eyebrow):not(.form-message){max-width:65ch;margin:0;color:var(--muted);line-height:1.7}.profile-editor{display:grid;gap:var(--sp-3);margin-top:var(--sp-6)}.goal-card,.profile-editor article{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2)}.profile-title{display:flex;align-items:center;gap:var(--sp-3)}.profile-title>span{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--surface-dark);color:var(--on-dark);font-size:var(--text-md);font-weight:700}.profile-title>span.child{background:var(--accent);color:var(--on-accent)}.profile-title strong{font-size:var(--text-lg)}.profile-title button{min-height:var(--tap);margin-left:auto;padding:0 var(--sp-3);border:0;border-radius:var(--r-sm);background:none;color:var(--danger-ink);font-size:var(--text-md);font-weight:600;cursor:pointer}.profile-title button:hover{background:var(--danger-soft)}.add-profile{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);margin-top:var(--sp-3);padding:0 var(--sp-3);border:0;border-radius:var(--r-sm);background:none;color:var(--accent-ink);font-size:var(--text-md);font-weight:700;cursor:pointer}.add-profile:hover{background:var(--accent-soft)}.goal-card{margin-top:var(--sp-4)}.goal-card h3{margin:0 0 var(--sp-2);font-size:var(--text-lg)}.goal-card>p{margin:0;color:var(--muted);font-size:var(--text-md)}.deficit-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);margin-top:var(--sp-4)}.deficit-choice button{min-height:58px;display:grid;place-content:center;gap:2px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--ink);cursor:pointer}.deficit-choice button small{color:var(--muted)}.deficit-choice button.active{border-color:var(--success);background:var(--success-soft);color:var(--success-ink);box-shadow:inset 0 0 0 1px var(--success)}.target-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--sp-3);align-items:center;margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-md);background:var(--accent-soft)}.target-row span{font-weight:650}.target-row span small{display:block;margin-top:var(--sp-1);color:var(--muted);font-size:var(--text-md);font-weight:400}.target-row label{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-md);font-weight:650}.target-row input{width:92px;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);text-align:center}.target-row button{min-height:var(--tap);padding:0 var(--sp-3);border:0;border-radius:var(--r-sm);background:none;color:var(--accent-ink);font-size:var(--text-md);font-weight:700;cursor:pointer}.target-row button:hover{background:var(--paper)}.safety-box{margin-top:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:0;border-left:4px solid var(--accent);background:var(--accent-soft)}.safety-box p,.safety-box strong{font-size:var(--text-md)}.safety-box p{margin:var(--sp-1) 0 0;color:var(--accent-ink);line-height:1.6}.profile-tabs{margin:var(--sp-6) 0 var(--sp-4)}.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);max-height:460px;overflow:auto;padding-right:var(--sp-1)}.ingredient-grid article{padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper)}.ingredient-grid strong{display:block;font-size:var(--text-md)}.ingredient-grid article>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1);margin-top:var(--sp-2)}.ingredient-grid button{min-height:38px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-sunken);color:var(--muted);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:background var(--motion) ease,color var(--motion) ease}.ingredient-grid button.liked.active{border-color:var(--success);background:var(--success-soft);color:var(--success-ink)}.ingredient-grid button.excluded.active{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-ink)}.ingredient-grid.toggles article{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:64px}.ingredient-grid.toggles article>span{min-width:0}.ingredient-grid.toggles small{display:block;margin-top:var(--sp-1);color:var(--muted);font-size:var(--text-sm)}.ingredient-grid.toggles article.allergy-blocked{background:var(--bg-sunken);color:var(--muted)}.ingredient-grid.toggles article.allergy-blocked small{color:var(--danger-ink)}.ingredient-grid button.food-check{width:34px;height:34px;min-height:34px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);color:white}.ingredient-grid button.food-check.selected{border-color:var(--success);background:var(--success)}.ingredient-grid button.food-check:disabled{border-color:var(--line);background:var(--bg-sunken);opacity:.65;cursor:not-allowed}.allergen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);max-height:340px;overflow:auto}.allergen-grid button{min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--muted);font-size:var(--text-md);cursor:pointer;transition:background var(--motion) ease,border-color var(--motion) ease,color var(--motion) ease}.allergen-grid button:hover{border-color:var(--ink-soft);color:var(--ink)}.allergen-grid button.active{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-ink);font-weight:650}.allergen-grid.common{grid-template-columns:repeat(2,1fr);max-height:420px}.allergen-grid.common button{display:grid;gap:var(--sp-1);padding:var(--sp-3);text-align:left}.allergen-grid.common button strong{font-size:var(--text-md)}.allergen-grid.common button small{font-size:var(--text-sm);line-height:1.45}.dietary-pattern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);margin-bottom:var(--sp-3)}.dietary-pattern-grid button{display:grid;gap:var(--sp-1);min-height:76px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:background var(--motion) ease,border-color var(--motion) ease}.dietary-pattern-grid button:hover{border-color:var(--ink-soft)}.dietary-pattern-grid button strong{font-size:var(--text-md)}.dietary-pattern-grid button small{color:var(--muted);font-size:var(--text-sm);line-height:1.45}.dietary-pattern-grid button.active{border-color:var(--accent);background:var(--accent-soft)}.dietary-pattern-grid button.active strong{color:var(--accent-ink)}.food-selection-summary,.main-choice-summary{display:flex;justify-content:space-between;gap:var(--sp-4);margin:var(--sp-4) 0 var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--accent-soft);font-size:var(--text-md)}.food-selection-summary strong,.main-choice-summary strong{color:var(--accent-ink)}.food-selection-summary span,.main-choice-summary span{color:var(--muted)}.family-sync-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--accent-soft)}.family-sync-card>span{display:grid;gap:var(--sp-1)}.family-sync-card strong{font-size:var(--text-md)}.family-sync-card small{max-width:68ch;color:var(--muted);font-size:var(--text-sm);line-height:1.6}.consent-check{display:grid;grid-template-columns:22px 1fr;gap:var(--sp-3);margin-top:var(--sp-5);padding:var(--sp-4);border-radius:var(--r-md);background:var(--bg-sunken);color:var(--muted);font-size:var(--text-md);line-height:1.6}.consent-check input{width:20px;height:20px;accent-color:var(--accent)}.consent-check strong{display:block;color:var(--ink)}.finish-icon{width:60px;height:60px;display:grid;place-items:center;margin-bottom:var(--sp-5);border-radius:50%;background:var(--success-soft);color:var(--success-ink)}.setup-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);margin-top:var(--sp-6)}.setup-summary>div{padding:var(--sp-4);border-radius:var(--r-md);background:var(--bg-sunken)}.setup-summary span{display:block;color:var(--muted);font-size:var(--text-md)}.setup-summary strong{display:block;margin-top:var(--sp-1);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.wizard-actions{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--line)}.product-app{min-height:100vh}.app-topbar{position:sticky;z-index:var(--z-nav);top:var(--sp-3);max-width:1280px;margin:var(--sp-3) auto 0;display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);border-radius:var(--r-xl);background:var(--surface-dark);box-shadow:var(--shadow-md)}.app-topbar,.app-topbar .brand{color:var(--on-dark)}.app-topbar .brand-mark{background:var(--accent)}.app-topbar nav{display:flex;align-items:center;gap:var(--sp-1);margin-right:auto}.app-topbar nav button{min-height:38px;padding:0 var(--sp-4);border:0;border-radius:var(--r-pill);background:transparent;color:var(--on-dark-muted);font-size:var(--text-md);font-weight:600;white-space:nowrap;cursor:pointer;transition:background var(--motion) ease,color var(--motion) ease}.app-topbar nav button:hover{color:var(--on-dark);background:rgba(255,255,255,.08)}.app-topbar nav button.active{background:rgba(255,255,255,.14);color:var(--on-dark)}.theme-toggle{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:var(--on-dark);cursor:pointer;transition:background var(--motion) ease}.theme-toggle:hover{background:rgba(255,255,255,.2)}.user-avatar{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700}.demo-banner{max-width:1280px;margin:var(--sp-3) auto 0;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--text-md)}.demo-banner strong{flex:0 0 auto}.demo-banner span{color:var(--muted)}.demo-banner a{margin-left:auto;font-weight:700;text-decoration:underline;white-space:nowrap}.app-content{max-width:1280px;margin:auto;padding:var(--sp-8) var(--sp-6) var(--sp-20)}.app-intro{display:grid;grid-template-columns:1fr auto;gap:var(--sp-10);margin-bottom:var(--sp-6)}.app-intro>div:first-child{min-width:0}.app-intro h1{margin:0;font-size:var(--text-3xl);line-height:1.1}.app-intro .eyebrow{color:var(--ink-soft)}.app-intro>div>p:last-child{max-width:60ch;margin:var(--sp-2) 0 0;color:var(--muted)}.week-summary{min-width:210px;padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}.week-summary>strong{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;line-height:1.1}.week-summary>span{color:var(--muted);font-size:var(--text-md)}.week-summary>small{display:block;margin-top:var(--sp-1);color:var(--accent-ink);font-size:var(--text-md);font-weight:650}.profile-switch{margin-bottom:var(--sp-4)}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-2);margin-bottom:var(--sp-6)}.calendar-strip button{display:grid;gap:2px;min-height:var(--tap);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--muted);text-align:left;cursor:pointer;transition:background var(--motion) ease,border-color var(--motion) ease}.calendar-strip button:hover{border-color:var(--ink-soft)}.calendar-strip button>span{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.calendar-strip button>strong{color:var(--ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.calendar-strip button>small{font-size:var(--text-sm)}.calendar-strip button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.calendar-strip button.active>strong{color:var(--ink)}.day-layout{display:grid;grid-template-columns:320px 1fr;gap:var(--sp-5);align-items:start}.day-meals{display:grid;gap:var(--sp-2)}.day-meals>.eyebrow{margin:0 0 var(--sp-1)}.day-meals>button{display:grid;grid-template-columns:60px 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--motion) ease,background var(--motion) ease}.day-meals>button:hover{border-color:var(--ink-soft)}.day-meals>button.active{border-color:var(--accent);background:var(--accent-soft)}.day-meals>button>span{min-width:0;display:grid;gap:2px}.day-meals>button small{color:var(--accent-ink);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.day-meals>button strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;line-height:1.25}.day-meals>button b{color:var(--muted);font-size:var(--text-md);font-weight:400}.day-meals>button em{display:grid;justify-items:center;gap:1px;width:58px;padding:var(--sp-1) 2px;border-radius:var(--r-sm);background:var(--bg-sunken);font-style:normal;text-align:center}.day-meals>button em b{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--ink)}.day-meals>button em i{font-style:normal;color:var(--muted);font-size:.6875rem;line-height:1.2;overflow-wrap:anywhere}.day-meals .meal-photo{width:60px}.meal-photo{width:100%;aspect-ratio:1/1;border-radius:var(--r-md);background-image:var(--meal-image);background-size:var(--meal-size,300% auto);background-position:var(--meal-x) var(--meal-y);background-repeat:no-repeat;background-color:var(--bg-sunken);overflow:hidden;justify-self:center;background-origin:border-box}.recipe-detail{display:grid;grid-template-columns:340px 1fr;align-items:start;gap:0;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--shadow-md)}.meal-photo.large{position:sticky;top:var(--sp-6);width:100%;border-radius:var(--r-xl) 0 0 0}.recipe-copy{padding:var(--sp-6);min-width:0}.recipe-heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-4)}.recipe-heading h2{margin:0;font-size:var(--text-2xl);line-height:1.15}.recipe-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.swap-button{flex:0 0 auto;align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);color:var(--ink);font-size:var(--text-md);font-weight:650;cursor:pointer;transition:background var(--motion) ease,border-color var(--motion) ease}.swap-button:hover{background:var(--bg-sunken);border-color:var(--ink-soft)}.macro-grid{display:grid;grid-template-columns:repeat(5,minmax(0,auto));justify-content:start;column-gap:0;margin-top:var(--sp-5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.macro-grid>span{display:grid;gap:2px;padding:var(--sp-4) var(--sp-3) var(--sp-4) 0;min-width:0}.macro-grid>span+span{padding-left:var(--sp-3);border-left:1px solid var(--line)}.macro-grid strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;white-space:nowrap}.macro-grid small{color:var(--muted);font-size:var(--text-md)}.swap-panel{margin-top:var(--sp-5);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--bg-sunken)}.swap-panel>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4)}.swap-panel>div:first-child>span{display:grid;gap:2px}.swap-panel>div:first-child strong{font-size:var(--text-md)}.swap-panel>div:first-child small{color:var(--muted);font-size:var(--text-md)}.swap-scope{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--paper)}.swap-scope>span{display:grid;gap:2px}.swap-scope strong{font-size:var(--text-md)}.swap-scope small{color:var(--muted);font-size:var(--text-sm)}.alternative-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin-top:var(--sp-4)}.alternative-grid>button{padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--motion) ease}.alternative-grid>button:hover{border-color:var(--ink-soft)}.alternative-grid .meal-photo{width:100%}.alternative-grid>button>span{display:grid;gap:2px;padding:var(--sp-2) var(--sp-1) var(--sp-1)}.alternative-grid strong{font-family:var(--font-display);font-size:var(--text-md);font-weight:500}.alternative-grid small{color:var(--muted);font-size:var(--text-sm)}.alternative-grid>button.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.swap-confirm{display:grid;grid-template-columns:1fr auto auto;gap:var(--sp-3);align-items:center;margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line)}.swap-confirm>span{color:var(--muted);font-size:var(--text-md)}.swap-confirm>span strong{color:var(--ink)}.cook-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);background:var(--accent-soft)}.cook-switch>div:first-child{display:grid;gap:2px}.cook-switch>div:first-child strong{font-size:var(--text-md)}.cook-switch small{color:var(--muted);font-size:var(--text-sm)}.cook-switch>div:first-child{flex:1 1 220px}.cook-switch>div:last-child{flex:0 0 auto;background:var(--paper);border-color:var(--line)}.recipe-sections{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--sp-8);margin-top:var(--sp-6)}.recipe-sections h3{margin:0 0 var(--sp-3);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.ingredient-list{margin:0;padding:0;list-style:none}.ingredient-list li{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line);font-size:var(--text-md)}.ingredient-list strong{color:var(--accent-ink);text-align:right;white-space:nowrap}.steps-list{margin:0;padding:0;list-style:none}.steps-list,.steps-list li{display:grid;gap:var(--sp-3)}.steps-list li{grid-template-columns:26px 1fr}.steps-list li>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--surface-dark);color:var(--on-dark);font-size:var(--text-xs);font-weight:700}.steps-list p{margin:0;color:var(--muted);font-size:var(--text-md);line-height:1.65}.storage-note{margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-md);background:var(--bg-sunken)}.storage-note p,.storage-note strong{font-size:var(--text-md)}.storage-note p{margin:var(--sp-1) 0 0;color:var(--muted);line-height:1.6}.rating-box{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line)}.rating-box>div:first-child{display:grid;gap:2px}.rating-box strong{font-size:var(--text-md)}.rating-box small{color:var(--muted);font-size:var(--text-sm)}.rating-box>div:last-child{display:flex;gap:var(--sp-2)}.rating-box button{width:var(--tap);height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);color:var(--muted);font-size:var(--text-md);font-weight:650;cursor:pointer;transition:background var(--motion) ease,border-color var(--motion) ease,color var(--motion) ease}.rating-box button:hover{border-color:var(--accent);color:var(--ink)}.rating-box button.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.flex-day{padding:var(--sp-16) var(--sp-10);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--shadow-md);text-align:center}.flex-day-icon{width:60px;height:60px;display:grid;place-items:center;margin:0 auto var(--sp-5);border-radius:50%;background:var(--accent-soft);color:var(--accent-ink)}.flex-day h2{max-width:20ch;margin:0 auto;font-size:var(--text-3xl)}.flex-day>p:not(.eyebrow){max-width:62ch;margin:var(--sp-5) auto;color:var(--muted);line-height:1.75}.flex-day>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);margin-top:var(--sp-8);text-align:left}.flex-day article{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg)}.flex-day article>strong{color:var(--accent-ink);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.flex-day h3{margin:var(--sp-4) 0 var(--sp-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.flex-day article p{margin:0;color:var(--muted);font-size:var(--text-md)}.main-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);max-height:540px;padding-right:var(--sp-1);overflow:auto}.main-choice-grid>button{display:grid;grid-template-columns:88px 1fr 30px;gap:var(--sp-3);align-items:center;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--motion) ease,background var(--motion) ease}.main-choice-grid>button:hover{border-color:var(--ink-soft)}.main-choice-grid>button.selected{border-color:var(--accent);background:var(--accent-soft)}.main-choice-grid>button:disabled{cursor:not-allowed;opacity:.45}.main-choice-grid .meal-photo{width:88px}.main-choice-grid>button>span{min-width:0;display:grid;gap:2px}.main-choice-grid small{color:var(--accent-ink);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.main-choice-grid strong{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;line-height:1.25}.main-choice-grid b{color:var(--muted);font-size:var(--text-sm);font-weight:400}.main-choice-grid em{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--bg-sunken);color:var(--accent-ink);font-style:normal}.main-choice-grid>button.selected em{background:var(--accent);color:var(--on-accent)}.main-choice-grid.planner-grid{max-height:none;overflow:visible}.planner-page .family-sync-card{margin-top:0}.planner-actions{position:sticky;z-index:var(--z-sticky);bottom:var(--sp-4);display:flex;justify-content:flex-end;margin-top:var(--sp-5);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-md)}.planner-actions .primary-button{min-width:200px}.progress-track,.shopping-page .primary-button{margin-top:var(--sp-3)}.progress-track{height:8px;border-radius:var(--r-pill);background:var(--bg-sunken);overflow:hidden}.progress-track i{display:block;height:100%;background:var(--success);transition:width var(--motion) ease}.shopping-groups{columns:300px 3;column-gap:var(--sp-5)}.shopping-groups>section{display:inline-block;width:100%;margin:0 0 var(--sp-5);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);page-break-inside:avoid;break-inside:avoid}.shopping-groups h2{margin:0 0 var(--sp-2);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.shopping-groups ul{margin:0;padding:0;list-style:none}.shopping-groups li{border-top:1px solid var(--line)}.shopping-groups label{display:grid;grid-template-columns:20px 1fr auto;gap:var(--sp-3);align-items:center;min-height:var(--tap);font-size:var(--text-md);cursor:pointer}.shopping-groups input{width:20px;height:20px;accent-color:var(--success)}.shopping-groups strong{color:var(--accent-ink);font-size:var(--text-md);white-space:nowrap}.shopping-groups li.done span,.shopping-groups li.done strong{color:var(--muted);text-decoration:line-through}.recipe-category-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2);margin-bottom:var(--sp-5);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-sunken)}.recipe-category-tabs button{min-width:0;min-height:var(--tap);display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-3);border:0;border-radius:var(--r-md);background:transparent;color:var(--muted);font:inherit;font-weight:650;cursor:pointer}.recipe-category-tabs button strong{min-width:26px;padding:2px var(--sp-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--line) 70%,transparent);color:inherit;font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe-category-tabs button.active{background:var(--paper);color:var(--accent-ink);box-shadow:var(--elev-1),inset 0 1px 0 var(--edge-light)}.recipe-category-tabs button.active strong{background:var(--accent-soft)}.library-tools{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5)}.library-tools>strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.library-tools>span,.search-field{color:var(--muted);font-size:var(--text-md)}.search-field{display:grid;gap:var(--sp-2);font-weight:600}.search-field input{width:320px}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}.recipe-grid article{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);overflow:hidden;transition:border-color var(--motion) ease}.recipe-grid article:hover{border-color:var(--ink-soft)}.recipe-grid .meal-photo{width:100%;border-radius:0}.recipe-grid article>div{padding:var(--sp-5)}.recipe-grid h2{margin:0 0 var(--sp-2);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:1.2}.recipe-grid article p:not(.eyebrow){margin:0;color:var(--muted);font-size:var(--text-md)}.recipe-grid article button{min-height:var(--tap);margin-top:var(--sp-2);padding:0;border:0;background:none;color:var(--accent-ink);font-size:var(--text-md);font-weight:700;cursor:pointer}.recipe-grid article button:hover{text-decoration:underline}.recipe-empty{display:grid;justify-items:start;gap:var(--sp-2);padding:var(--sp-8);border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--paper)}.recipe-empty h2{margin:0;font-family:var(--font-display);font-weight:500}.recipe-empty p{margin:0 0 var(--sp-2);color:var(--muted)}.recipe-browser-backdrop{overflow:auto}.recipe-browser-modal{position:relative;width:min(1080px,100%);max-height:calc(100vh - var(--sp-10));display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);align-items:start;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);overflow:auto}.recipe-browser-modal>.meal-photo.large{border-radius:var(--r-xl) 0 0 var(--r-xl)}.recipe-browser-modal .modal-close{z-index:2}.recipe-browser-copy{min-width:0;padding:var(--sp-7)}.recipe-browser-copy>h2{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.1}.recipe-browser-copy .recipe-sections{grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:start}.account-grid>section{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}.account-grid h2{margin:0 0 var(--sp-4);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.account-grid article{display:grid;grid-template-columns:42px 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-top:1px solid var(--line)}.account-grid article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--surface-dark);color:var(--on-dark);font-weight:700}.account-grid article>span.child{background:var(--accent);color:var(--on-accent)}.account-grid article>div{display:grid;gap:2px}.account-grid article>b,.account-grid small,.account-grid>section>p{color:var(--muted);font-size:var(--text-md);font-weight:400}.subscription-card{display:grid;gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--accent-soft)}.subscription-card>span{color:var(--accent-ink);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.subscription-card p{margin:0;color:var(--muted);font-size:var(--text-md);line-height:1.6}.subscription-card button{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);color:var(--ink);font-size:var(--text-md);font-weight:650;cursor:pointer}.subscription-card button:hover{background:var(--bg-sunken)}.account-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.account-actions a,.account-actions button{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);color:var(--ink);font-size:var(--text-md);font-weight:600;cursor:pointer}.account-actions a:hover,.account-actions button:hover{background:var(--bg-sunken)}.account-actions button.danger{border-color:var(--danger);color:var(--danger-ink)}.account-actions button.danger:hover{background:var(--danger-soft)}.invite-box{margin-top:var(--sp-5);padding:var(--sp-4);border-radius:var(--r-md);background:var(--bg-sunken)}.invite-box,.invite-box>div{display:grid;gap:var(--sp-2)}.invite-box>div{grid-template-columns:1fr auto}.delete-box input,.invite-box input{min-width:0;min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper)}.delete-box button,.invite-box button{min-height:var(--tap);padding:0 var(--sp-4);border:0;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:var(--text-md);font-weight:650;cursor:pointer}.invite-box button:hover{background:var(--accent-hover)}.invite-box p{margin:0;color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.delete-box{display:grid;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-md);background:var(--danger-soft)}.delete-box p{margin:0;color:var(--danger-ink);font-size:var(--text-md)}.delete-box button.danger{border:1px solid var(--danger);background:var(--danger);color:var(--on-danger)}.account-page .form-message{margin-top:var(--sp-3)}.modal-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:var(--sp-5);background:rgba(20,13,9,.6);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.share-modal{position:relative;width:min(440px,100%);padding:var(--sp-8);border-radius:var(--r-xl);background:var(--paper);text-align:center;box-shadow:var(--shadow-lg)}.share-modal h2{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500}.share-modal img{width:240px;height:240px;margin:var(--sp-5) auto;background:#fff;border-radius:var(--r-md)}.share-modal>p:not(.eyebrow){color:var(--muted);font-size:var(--text-md);line-height:1.65}.modal-close{position:absolute;right:var(--sp-3);top:var(--sp-3);width:var(--tap);height:var(--tap);display:grid;place-items:center;border:0;border-radius:50%;background:var(--bg-sunken);color:var(--muted);cursor:pointer;transition:background var(--motion) ease,color var(--motion) ease}.modal-close:hover{background:var(--line);color:var(--ink)}.admin-denied{min-height:100vh;display:grid;place-content:center;justify-items:start;padding:var(--sp-8)}.admin-denied h1{margin:0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:500}.admin-denied p{color:var(--muted)}.admin-page{max-width:var(--content);margin:auto;padding:var(--sp-12) var(--sp-6) var(--sp-20)}.admin-page>header{display:flex;justify-content:space-between;align-items:end;gap:var(--sp-6)}.admin-page>header h1{margin:0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:500}.admin-page>header p:last-child{color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin:var(--sp-8) 0}.admin-stats article{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}.admin-stats strong{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500}.admin-stats span{color:var(--muted);font-size:var(--text-md)}.admin-table,.category-readiness{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}.category-readiness{margin-bottom:var(--sp-5)}.admin-table h2,.category-readiness h2{margin:0 0 var(--sp-4);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.category-readiness>div{display:grid;grid-template-columns:180px 44px 1fr;gap:var(--sp-3);align-items:center;padding:var(--sp-2) 0;border-top:1px solid var(--line);font-size:var(--text-md)}.category-readiness i{height:8px;border-radius:var(--r-pill);background:var(--bg-sunken);overflow:hidden}.category-readiness b{display:block;height:100%;border-radius:var(--r-pill);background:var(--success)}.admin-table{overflow:auto}.admin-table-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4)}.admin-table-head>span{color:var(--muted);font-size:var(--text-md)}.admin-row{display:grid;grid-template-columns:2fr 1fr repeat(6,.7fr);gap:var(--sp-3);align-items:center;min-width:960px;padding:var(--sp-3) 0;border-top:1px solid var(--line);font-size:var(--text-sm)}.admin-row.header{color:var(--muted);font-weight:700;text-transform:uppercase}.admin-row>strong{font-size:var(--text-md)}.admin-row .reviewed{color:var(--success-ink)}.admin-row .open,.admin-row .state{color:var(--muted)}.admin-row .state{justify-self:start;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--bg-sunken)}body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--accent-ink)}.hero h1{letter-spacing:var(--track-tight);line-height:1.02}.admin-page>header h1,.app-intro h1,.auth-card h1,.flex-day h2,.legal-page h1,.recipe-detail h2,.wizard-card h2{letter-spacing:var(--track-snug)}.app-intro h1,.auth-card h1,.flex-day h2,.hero h1,.legal-page h1,.recipe-detail h2,.wizard-card h2{font-weight:400}.admin-row.header,.calendar-strip button>span,.day-meals>button small,.eyebrow,.flex-day article>strong,.main-choice-grid small,.subscription-card>span{letter-spacing:var(--track-caps)}.admin-stats strong,.day-meals>button b,.day-meals>button em b,.ingredient-list strong,.macro-grid strong,.profile-switch button small,.shopping-groups strong,.target-row input,.week-summary>strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-stats strong,.week-summary>strong{font-feature-settings:"kern" 1}[role=switch]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 5px var(--accent-soft)}.auth-form input:focus-visible,.field input:focus-visible,.field select:focus-visible,.search-field input:focus-visible{border-color:var(--accent);outline-offset:0}.app-topbar,.landing-nav,.onboarding-header{box-shadow:var(--elev-3)}.auth-card,.auth-panel,.flex-day,.legal-page>article,.price-card,.recipe-detail,.wizard-card{box-shadow:var(--elev-2)}.account-grid>section,.admin-stats article,.admin-table,.category-readiness,.recipe-grid article,.shopping-groups>section,.week-summary{box-shadow:var(--elev-1)}.share-modal{box-shadow:var(--elev-4)}.allergen-grid button,.alternative-grid>button,.calendar-strip button,.day-meals>button,.dietary-pattern-grid button,.main-choice-grid>button,.recipe-grid article{transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.allergen-grid button:hover,.alternative-grid>button:hover,.calendar-strip button:hover,.day-meals>button:hover,.dietary-pattern-grid button:hover,.main-choice-grid>button:not(:disabled):hover,.recipe-grid article:hover{transform:translateY(-2px);box-shadow:var(--elev-3)}.alternative-grid>button:active,.calendar-strip button:active,.day-meals>button:active,.main-choice-grid>button:not(:disabled):active{transform:translateY(0);box-shadow:var(--elev-1)}.app-topbar nav button,.modal-close,.primary-button,.rating-box button,.secondary-button,.swap-button,.text-button,.theme-toggle{transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease)}.primary-button{box-shadow:var(--elev-1)}.primary-button:hover:not(:disabled){box-shadow:var(--elev-2)}.primary-button:active:not(:disabled),.rating-box button:active,.secondary-button:active,.swap-button:active{transform:scale(.985)}.theme-toggle:hover{transform:rotate(-12deg)}@keyframes fp-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fp-fade{0%{opacity:0}to{opacity:1}}@keyframes fp-scale-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.app-content>*,.onboarding-shell>aside,.wizard-card>*{animation:fp-rise var(--dur-slow) var(--ease-out) both}.app-content>:first-child{animation-delay:0s}.app-content>:nth-child(2){animation-delay:45ms}.app-content>:nth-child(3){animation-delay:90ms}.app-content>:nth-child(4){animation-delay:135ms}.app-content>:nth-child(n+5){animation-delay:.18s}.day-meals>button{animation:fp-rise var(--dur-slow) var(--ease-out) both}.day-meals>button:first-of-type{animation-delay:.12s}.day-meals>button:nth-of-type(2){animation-delay:165ms}.day-meals>button:nth-of-type(3){animation-delay:.21s}.day-meals>button:nth-of-type(n+4){animation-delay:255ms}.app-topbar,.landing-nav,.onboarding-header{animation:fp-fade var(--dur-slow) var(--ease-out) both}.demo-banner{animation:fp-rise var(--dur-slow) var(--ease-out) both;animation-delay:60ms}.swap-panel{animation:fp-scale-in var(--dur) var(--ease-out) both}.modal-backdrop{animation:fp-fade var(--dur) var(--ease) both}.share-modal{animation:fp-scale-in var(--dur-slow) var(--ease-spring) both}.form-message{animation:fp-rise var(--dur) var(--ease-out) both}.progress-track i{transition:width var(--dur-slow) var(--ease-out)}.shopping-groups li span,.shopping-groups li strong{transition:color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}.shopping-groups label:hover{color:var(--ink)}.ingredient-list li{transition:background var(--dur-fast) var(--ease)}.ingredient-list li:hover{background:var(--bg-sunken)}.allergen-grid,.ingredient-grid,.main-choice-grid{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.allergen-grid::-webkit-scrollbar,.ingredient-grid::-webkit-scrollbar,.main-choice-grid::-webkit-scrollbar{width:8px}.allergen-grid::-webkit-scrollbar-thumb,.ingredient-grid::-webkit-scrollbar-thumb,.main-choice-grid::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:var(--line-strong)}.meal-photo{box-shadow:inset 0 0 0 1px rgba(42,34,26,.06)}.meal-photo.dedicated{position:relative;overflow:hidden;background:var(--bg-sunken)}.app-topbar nav button.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}.ios-switch i{transition:transform var(--dur) var(--ease-spring)}:root{--edge-light:rgba(255,255,255,.92);--sheen:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,0) 58%);--sheen-deep:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 42%);--glow-page:radial-gradient(1200px 560px at 50% -10%,rgba(189,112,38,.10),transparent 62%);--glow-accent:radial-gradient(120% 140% at 50% 0%,rgba(189,112,38,.13),transparent 70%);--hero-scrim:linear-gradient(100deg,rgba(250,246,238,.97),rgba(250,246,238,.93) 30%,rgba(250,246,238,.55) 52%,rgba(250,246,238,.10) 70%,rgba(250,246,238,0) 84%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--edge-light:rgba(255,255,255,.055);--sheen:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 58%);--sheen-deep:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 42%);--glow-page:radial-gradient(1200px 560px at 50% -10%,rgba(212,139,65,.11),transparent 62%);--glow-accent:radial-gradient(120% 140% at 50% 0%,rgba(212,139,65,.14),transparent 70%);--hero-scrim:linear-gradient(100deg,rgba(20,16,12,.96),rgba(20,16,12,.90) 30%,rgba(20,16,12,.62) 52%,rgba(20,16,12,.22) 70%,rgba(20,16,12,.05) 88%)}}:root[data-theme=dark]{--edge-light:rgba(255,255,255,.055);--sheen:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 58%);--sheen-deep:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 42%);--glow-page:radial-gradient(1200px 560px at 50% -10%,rgba(212,139,65,.11),transparent 62%);--glow-accent:radial-gradient(120% 140% at 50% 0%,rgba(212,139,65,.14),transparent 70%);--hero-scrim:linear-gradient(100deg,rgba(20,16,12,.96),rgba(20,16,12,.90) 30%,rgba(20,16,12,.62) 52%,rgba(20,16,12,.22) 70%,rgba(20,16,12,.05) 88%)}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--glow-page)}body>*{position:relative;z-index:1}.account-grid>section,.admin-stats article,.admin-table,.auth-card,.auth-panel,.category-readiness,.flex-day,.legal-page>article,.price-card,.recipe-detail,.recipe-grid article,.share-modal,.shopping-groups>section,.week-summary,.wizard-card{background-image:var(--sheen);background-repeat:no-repeat;background-size:100% 220px;box-shadow:var(--elev-3),inset 0 1px 0 var(--edge-light)}.allergen-grid button,.alternative-grid>button,.calendar-strip button,.day-meals>button,.dietary-pattern-grid button,.goal-card,.ingredient-grid article,.main-choice-grid>button,.profile-editor article{background-image:var(--sheen-deep);background-repeat:no-repeat;background-size:100% 60px;box-shadow:var(--elev-1),inset 0 1px 0 var(--edge-light)}.allergen-grid button:hover,.alternative-grid>button:hover,.calendar-strip button:hover,.day-meals>button:hover,.dietary-pattern-grid button:hover,.main-choice-grid>button:not(:disabled):hover,.recipe-grid article:hover{box-shadow:var(--elev-3),inset 0 1px 0 var(--edge-light)}.calendar-strip button.active,.day-meals>button.active,.dietary-pattern-grid button.active,.main-choice-grid>button.selected{background-image:var(--glow-accent);background-size:100% 100%;box-shadow:var(--elev-2),inset 0 1px 0 var(--edge-light),0 0 0 1px var(--accent-line)}.app-topbar,.landing-nav,.onboarding-header{background-image:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,0) 60%);box-shadow:var(--elev-4),inset 0 1px 0 rgba(255,255,255,.13)}.cook-switch,.family-sync-card,.food-selection-summary,.invite-box,.main-choice-summary,.privacy-note,.storage-note,.subscription-card,.swap-panel,.target-row{background-image:linear-gradient(180deg,rgba(42,34,26,.035),transparent 46%);box-shadow:inset 0 1px 2px rgba(42,34,26,.05)}.cook-switch>div:last-child,.library-tools>div,.profile-switch,.profile-tabs{background-image:linear-gradient(180deg,rgba(42,34,26,.05),transparent 60%);box-shadow:inset 0 1px 2px rgba(42,34,26,.06)}.cook-switch>div:last-child button.active,.library-tools>div button.active,.profile-switch button.active,.profile-tabs button.active{background-image:var(--sheen-deep);background-size:100% 100%;box-shadow:var(--elev-2),inset 0 1px 0 var(--edge-light)}.primary-button{background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 55%);box-shadow:var(--elev-2),inset 0 1px 0 rgba(255,255,255,.28)}.primary-button:hover:not(:disabled){box-shadow:var(--elev-3),inset 0 1px 0 rgba(255,255,255,.34)}.brand-mark,.finish-icon,.flex-day-icon,.user-avatar{background-image:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 60%);box-shadow:var(--elev-1),inset 0 1px 0 rgba(255,255,255,.3)}.recipe-detail{grid-template-columns:400px 1fr}.meal-photo{position:relative;box-shadow:inset 0 0 0 1px rgba(42,34,26,.07),inset 0 -30px 48px -30px rgba(26,20,16,.35)}.meal-photo.large:after{content:"";position:absolute;inset:auto 0 0 0;height:32%;background:linear-gradient(180deg,transparent,rgba(26,20,16,.16));pointer-events:none}.app-intro h1{font-size:clamp(2.75rem,4.6vw,4.25rem);font-weight:500;line-height:1;letter-spacing:-.035em}.recipe-detail h2{font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:500;line-height:1.1;letter-spacing:-.03em}.auth-card h1,.flex-day h2,.legal-page h1,.wizard-card h2{font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1.05;letter-spacing:-.03em}.admin-stats strong,.macro-grid strong,.week-summary>strong{font-weight:500;letter-spacing:-.02em}.app-intro .eyebrow{display:inline-block;padding-bottom:var(--sp-2);border-bottom:1px solid var(--accent-line)}.macro-grid{border-top:0;border-bottom:0;padding:var(--sp-1) 0;background-image:var(--rule),var(--rule);background-size:100% 1px,100% 1px;background-position:0 0,0 100%;background-repeat:no-repeat}@media (max-width:1100px){.hero{grid-template-columns:1fr;gap:var(--sp-10);padding-top:var(--sp-12)}.hero-visual{min-height:500px}.feature-grid{grid-template-columns:1fr}.price-section,.safety-section{grid-template-columns:1fr;gap:var(--sp-8);padding:var(--sp-16) var(--sp-6)}.onboarding-shell{grid-template-columns:minmax(0,1fr);gap:var(--sp-5);padding-top:var(--sp-5)}.onboarding-shell>aside{position:static}.onboarding-shell aside h1,.privacy-note{display:none}.onboarding-shell aside ol{display:flex;gap:var(--sp-2);margin:0;padding-bottom:var(--sp-2);overflow-x:auto;scrollbar-width:none}.onboarding-shell aside li{flex:0 0 auto;background:var(--paper);border:1px solid var(--line)}.onboarding-shell aside li.active{border-color:var(--accent)}.day-layout{grid-template-columns:1fr}.day-meals{grid-template-columns:repeat(2,1fr)}.day-meals>.eyebrow{grid-column:1/-1}.recipe-detail{grid-template-columns:1fr}.meal-photo.large{position:static;border-radius:var(--r-xl) var(--r-xl) 0 0}.recipe-grid{grid-template-columns:repeat(2,1fr)}.recipe-browser-modal{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.recipe-browser-modal>.meal-photo.large{position:sticky;border-radius:var(--r-xl) 0 0 var(--r-xl)}.recipe-browser-copy .recipe-sections{grid-template-columns:1fr}.shopping-groups{columns:280px 2}.ingredient-grid{grid-template-columns:repeat(2,1fr)}.allergen-grid{grid-template-columns:repeat(3,1fr)}.dietary-pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.landing-nav{top:var(--sp-2);margin:var(--sp-2) var(--sp-3) 0;padding:var(--sp-2)}.landing-nav nav>a:not(.text-button){display:none}.hero{padding:var(--sp-10) var(--sp-4) var(--sp-16)}.hero-actions{align-items:stretch;flex-direction:column}.feature-section{padding:var(--sp-16) var(--sp-4)}.feature-section h2,.price-section h2,.safety-section h2{font-size:var(--text-2xl)}footer{grid-template-columns:1fr;text-align:center}footer>div{justify-content:center}.app-topbar{top:var(--sp-2);margin:var(--sp-2) var(--sp-3) 0;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.app-topbar .brand{margin-right:auto}.app-topbar nav{order:3;width:100%;margin-right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.app-topbar nav button{min-width:0;padding:0 var(--sp-1);font-size:var(--text-sm)}.demo-banner{flex-wrap:wrap;margin:var(--sp-3) var(--sp-3) 0}.demo-banner a{margin-left:0}.app-content{padding:var(--sp-6) var(--sp-4) var(--sp-16)}.app-intro{grid-template-columns:1fr;gap:var(--sp-4);align-items:stretch}.app-intro h1{font-size:var(--text-2xl)}.week-summary{min-width:0}.calendar-strip{display:flex;margin:0 calc(var(--sp-4) * -1) var(--sp-5);padding:0 var(--sp-4) var(--sp-2);overflow-x:auto;scrollbar-width:none}.calendar-strip button{flex:0 0 auto;min-width:112px}.day-meals{grid-template-columns:1fr}.recipe-copy{padding:var(--sp-5) var(--sp-4)}.recipe-heading{align-items:stretch;flex-direction:column}.swap-button{width:100%}.recipe-sections{grid-template-columns:1fr;gap:var(--sp-6)}.macro-grid{grid-template-columns:repeat(3,1fr)}.macro-grid>span:nth-child(3n+1){padding-left:0;border-left:0}.alternative-grid{grid-template-columns:1fr}.alternative-grid>button{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-2)}.alternative-grid .meal-photo{width:96px}.cook-switch{align-items:stretch;flex-direction:column;gap:var(--sp-3)}.cook-switch>div:first-child{flex:0 0 auto}.cook-switch>div:last-child{display:grid;grid-template-columns:1fr 1fr}.rating-box{align-items:stretch;flex-direction:column;gap:var(--sp-3)}.rating-box>div:last-child{display:grid;grid-template-columns:repeat(5,1fr)}.rating-box button{width:100%}.flex-day{padding:var(--sp-10) var(--sp-5)}.flex-day>div:last-child{grid-template-columns:1fr}.shopping-groups{column-count:1}.recipe-grid{grid-template-columns:1fr}.recipe-category-tabs{display:flex;margin-right:calc(var(--sp-4) * -1);margin-left:calc(var(--sp-4) * -1);padding:var(--sp-1) var(--sp-4);border-right:0;border-left:0;border-radius:0;overflow-x:auto;scrollbar-width:none}.recipe-category-tabs button{flex:0 0 auto}.recipe-browser-backdrop{place-items:end center;padding:0}.recipe-browser-modal{width:100%;max-height:94vh;grid-template-columns:1fr;border-radius:var(--r-xl) var(--r-xl) 0 0}.recipe-browser-modal>.meal-photo.large{position:static;aspect-ratio:16/10;border-radius:var(--r-xl) var(--r-xl) 0 0}.recipe-browser-copy{padding:var(--sp-5) var(--sp-4) var(--sp-8)}.library-tools{align-items:stretch;flex-direction:column;gap:var(--sp-3)}.search-field input{width:100%}.account-grid,.main-choice-grid{grid-template-columns:1fr}.family-sync-card{align-items:flex-start;flex-direction:column;gap:var(--sp-3)}.swap-panel>div:first-child{align-items:stretch;flex-direction:column;gap:var(--sp-3)}.swap-scope{justify-content:space-between}.swap-confirm{grid-template-columns:1fr 1fr}.swap-confirm>span{grid-column:1/-1}.swap-confirm button{width:100%}.onboarding-header{top:var(--sp-2);margin:var(--sp-2) var(--sp-3) 0}.onboarding-shell{padding:var(--sp-4) var(--sp-4) var(--sp-16)}.wizard-card{width:100%;min-width:0;padding:var(--sp-6) var(--sp-5)}.wizard-card h2{font-size:var(--text-2xl)}.allergen-grid,.allergen-grid.common{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-grid.toggles{grid-template-columns:1fr}.deficit-choice,.setup-summary{grid-template-columns:1fr 1fr}.field-grid.four{grid-template-columns:repeat(2,1fr)}.target-row{grid-template-columns:1fr}.admin-page{padding:var(--sp-8) var(--sp-4) var(--sp-16)}.admin-page>header,.admin-table-head{align-items:flex-start;flex-direction:column}.admin-table-head{gap:var(--sp-2)}.legal-page>article{margin:var(--sp-8) auto;padding:var(--sp-6) var(--sp-5)}}@media (max-width:560px){.onboarding-page,.onboarding-shell,.wizard-card{min-width:0;max-width:100%}.onboarding-shell{overflow-x:clip}.dietary-pattern-grid{grid-template-columns:1fr}.hero h1{font-size:var(--text-3xl)}.hero-lead{font-size:var(--text-base)}.auth-page,.auth-shell{padding:var(--sp-4)}.auth-card,.auth-panel{padding:var(--sp-6) var(--sp-5)}.auth-card h1{font-size:var(--text-2xl)}.auth-links{flex-direction:column;gap:var(--sp-2)}.app-intro h1{font-size:var(--text-xl)}.day-meals>button{grid-template-columns:52px 1fr auto}.day-meals .meal-photo{width:52px}.recipe-heading h2{font-size:var(--text-xl)}.macro-grid{grid-template-columns:repeat(2,1fr)}.macro-grid>span{padding-left:0;border-left:0}.macro-grid>span:nth-child(2n){padding-left:var(--sp-4);border-left:1px solid var(--line)}.flex-day h2{font-size:var(--text-2xl)}.account-actions{flex-direction:column}.account-actions a,.account-actions button{justify-content:center}.share-modal{padding:var(--sp-6) var(--sp-5)}.share-modal img{width:200px;height:200px}.field-grid,.field-grid.four,.setup-summary{grid-template-columns:1fr}.wizard-actions{position:sticky;bottom:0;margin:var(--sp-5) calc(var(--sp-5) * -1) calc(var(--sp-6) * -1);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);background:var(--paper)}.wizard-actions .primary-button{flex:1 1}.main-choice-grid>button{grid-template-columns:76px 1fr 28px}.main-choice-grid .meal-photo{width:76px}.planner-actions .primary-button{width:100%}.legal-page h1{font-size:var(--text-2xl)}.admin-stats{grid-template-columns:1fr}.category-readiness>div{grid-template-columns:120px 36px 1fr}}.skip-link{position:absolute;z-index:calc(var(--z-modal) + 1);left:var(--sp-4);top:var(--sp-4);display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-5);border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-size:var(--text-md);font-weight:650;box-shadow:var(--elev-3);transform:translateY(calc(-100% - var(--sp-5)));transition:transform var(--dur) var(--ease-out)}.skip-link:focus-visible{transform:none}.hero{position:relative;display:block;max-width:none;margin:0;padding:clamp(var(--sp-16),12vh,var(--sp-20)) max(var(--sp-6),calc((100vw - var(--content)) / 2)) clamp(var(--sp-16),14vh,120px);background-image:var(--hero-scrim),url(/hero/landing-hero.webp);background-size:cover,cover;background-position:50%,62%;background-repeat:no-repeat,no-repeat}.hero-copy{max-width:640px}.hero h1{font-size:clamp(3rem,6.4vw,5.5rem);max-width:12ch}.hero-lead{max-width:38ch}.hero-actions .primary-button,.hero-actions .secondary-button{white-space:nowrap}.trust-line{margin:var(--sp-6) 0 0;padding:0;list-style:none}.trust-line li{display:inline-flex;align-items:center;gap:var(--sp-2);margin-right:var(--sp-5);color:var(--muted);font-size:var(--text-md);white-space:nowrap}.trust-line li svg{color:var(--accent);flex:0 0 auto}.preview-section{max-width:var(--content);margin:auto;padding:var(--sp-20) var(--sp-6)}.preview-section .hero-visual{min-height:540px}@media (max-width:1100px){.hero-copy{max-width:none}.hero{background-position:50%,72%}}@media (max-width:820px){.hero{padding-left:var(--sp-5);padding-right:var(--sp-5);background-image:linear-gradient(180deg,rgba(250,246,238,.96),rgba(250,246,238,.9) 55%,rgba(250,246,238,.55)),url(/hero/landing-hero.webp);background-position:50%,78%}.preview-section{padding:var(--sp-16) var(--sp-4)}}@media (max-width:820px) and (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero{background-image:linear-gradient(180deg,rgba(20,16,12,.95),rgba(20,16,12,.9) 55%,rgba(20,16,12,.6)),url(/hero/landing-hero.webp)}}@media (max-width:820px){:root[data-theme=dark] .hero{background-image:linear-gradient(180deg,rgba(20,16,12,.95),rgba(20,16,12,.9) 55%,rgba(20,16,12,.6)),url(/hero/landing-hero.webp)}}.editorial-onboarding{background:var(--bg);color:var(--ink)}.editorial-onboarding .onboarding-header{min-height:72px;padding-inline:max(20px,calc((100vw - 1440px) / 2));border-bottom:1px solid var(--ink);background:var(--bg)}.editorial-onboarding .draft-state{color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.editorial-onboarding .onboarding-shell{width:min(1280px,calc(100% - 40px));grid-template-columns:220px minmax(0,1fr);gap:clamp(40px,7vw,110px);padding-block:clamp(48px,8vw,100px)}.editorial-onboarding .onboarding-shell>aside{top:112px}.editorial-onboarding .onboarding-shell>aside>p{margin:0 0 20px;font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.editorial-onboarding .onboarding-shell aside ol{border-top:1px solid var(--ink)}.editorial-onboarding .onboarding-shell aside li{min-height:58px;border-bottom:1px solid var(--line-strong);color:var(--muted)}.editorial-onboarding .onboarding-shell aside li.active{color:var(--ink);font-weight:750}.editorial-onboarding .onboarding-shell aside li span{border:1px solid var(--line-strong);border-radius:50%}.editorial-onboarding .onboarding-shell aside li.active span,.editorial-onboarding .onboarding-shell aside li.done span{border-color:var(--ink);background:var(--ink);color:var(--paper)}.editorial-onboarding .wizard-card{padding:0 0 56px;border:0;background:transparent;box-shadow:none}.editorial-onboarding .wizard-title{margin-bottom:clamp(30px,5vw,58px)}.editorial-onboarding .wizard-title .eyebrow{margin-bottom:12px}.editorial-onboarding .wizard-title h1{max-width:12ch;margin:0;font-family:var(--font-display);font-size:clamp(3.3rem,7vw,7.4rem);font-weight:500;line-height:.88;letter-spacing:-.065em}.editorial-onboarding .wizard-title>p:last-child{max-width:55ch;margin:22px 0 0;color:var(--muted);font-size:clamp(1rem,1.4vw,1.17rem);line-height:1.65}.editorial-onboarding .field.prominent{max-width:620px;margin-bottom:34px}.editorial-onboarding .field input,.editorial-onboarding .field select,.editorial-onboarding .onboarding-search{border-radius:0;border-color:var(--ink);background:var(--paper)}.editorial-onboarding .profile-editor{display:grid;gap:16px}.editorial-onboarding .profile-editor article{padding:clamp(20px,3vw,32px);border:1px solid var(--ink);background:var(--paper)}.editorial-onboarding .profile-title{margin-bottom:22px}.editorial-onboarding .profile-title>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper)}.editorial-onboarding .profile-title button{display:inline-flex;align-items:center;gap:5px;margin-left:auto;border:0;background:transparent;color:var(--muted)}.editorial-onboarding .field.full{grid-column:1/-1}.editorial-onboarding .add-profile-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 36px}.editorial-onboarding .add-profile{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-weight:700}.editorial-onboarding .add-profile:disabled{opacity:.35}.editorial-onboarding .main-meal-choice{max-width:620px;padding:0;border:0}.editorial-onboarding .main-meal-choice legend,.editorial-onboarding .section-label{margin:0 0 12px;font-size:.78rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.editorial-onboarding .main-meal-choice button{min-height:50px;padding:0 22px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink)}.editorial-onboarding .main-meal-choice button+button{border-left:0}.editorial-onboarding .main-meal-choice button.active{background:var(--ink);color:var(--paper)}.onboarding-progress-mobile{display:none}.editorial-onboarding .profile-tabs{margin-bottom:24px;border-bottom:1px solid var(--ink)}.editorial-onboarding .profile-tabs button{min-height:50px;border-radius:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted)}.editorial-onboarding .profile-tabs button.active{border-bottom-color:var(--ink);background:transparent;color:var(--ink)}.editorial-onboarding .onboarding-search{display:flex;align-items:center;gap:10px;width:min(100%,520px);min-height:50px;margin:0 0 22px;padding:0 15px;border:1px solid var(--ink)}.editorial-onboarding .onboarding-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.editorial-onboarding .allergen-grid.common,.editorial-onboarding .dietary-pattern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-height:none;margin:0 0 26px;border-top:1px solid var(--ink);border-left:1px solid var(--ink);overflow:visible}.editorial-onboarding .allergen-grid.common button,.editorial-onboarding .dietary-pattern-grid button{display:grid;grid-template-columns:28px 1fr;gap:12px;min-height:92px;padding:18px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);text-align:left}.editorial-onboarding .allergen-grid.common button.active,.editorial-onboarding .dietary-pattern-grid button.active{background:var(--ink);color:var(--paper)}.editorial-onboarding .allergen-grid.common button.active small,.editorial-onboarding .dietary-pattern-grid button.active small{color:color-mix(in srgb,var(--paper) 68%,transparent)}.editorial-onboarding .choice-check{display:grid;width:22px;height:22px;place-items:center;border:1px solid;border-radius:50%}.editorial-onboarding .allergen-grid button span:last-child,.editorial-onboarding .dietary-pattern-grid button span:last-child{display:grid;gap:5px}.editorial-onboarding .consent-check{padding:20px;border:1px solid var(--ink);border-radius:0;background:var(--paper)}.editorial-onboarding .food-selection-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:42px 0 18px}.editorial-onboarding .food-selection-head h3,.editorial-onboarding .food-selection-head p{margin:0}.editorial-onboarding .food-selection-head p{margin-top:5px;color:var(--muted)}.editorial-onboarding .onboarding-search.compact{width:min(100%,340px);margin:0}.editorial-onboarding .ingredient-sections{display:grid;gap:28px}.editorial-onboarding .ingredient-sections section>h4{margin:0 0 10px;color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.editorial-onboarding .ingredient-grid.toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.editorial-onboarding .ingredient-grid.toggles article{min-height:70px;border:0;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);border-radius:0;background:var(--paper)}.editorial-onboarding .ingredient-grid article.allergy-blocked{opacity:.48;background:color-mix(in srgb,var(--bg) 80%,var(--paper))}.editorial-onboarding .food-check{border-radius:50%;border-color:var(--ink);background:transparent;color:var(--paper)}.editorial-onboarding .food-check.selected{background:var(--ink)}.editorial-onboarding .goal-card{padding:clamp(22px,4vw,40px);border:1px solid var(--ink);border-radius:0;background:var(--paper)}.editorial-onboarding .goal-card+.goal-card{margin-top:22px}.editorial-onboarding .goal-card-head{display:flex;align-items:center;gap:12px;margin-bottom:28px}.editorial-onboarding .goal-card-head>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font-weight:750}.editorial-onboarding .goal-card-head h3,.editorial-onboarding .goal-card-head p{margin:0}.editorial-onboarding .goal-card-head p{color:var(--muted);font-size:.86rem}.editorial-onboarding .safety-gate{margin:0 0 30px;padding:22px;border:1px solid var(--line-strong)}.editorial-onboarding .safety-gate legend{max-width:720px;padding:0 8px;font-weight:700;line-height:1.45}.editorial-onboarding .safety-gate>div{display:flex;gap:0;margin-top:8px}.editorial-onboarding .safety-gate button{min-height:42px;padding:0 18px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink)}.editorial-onboarding .safety-gate button+button{border-left:0}.editorial-onboarding .safety-gate button.active{background:var(--ink);color:var(--paper)}.editorial-onboarding .safety-gate>p{display:flex;gap:8px;margin:16px 0 0;color:var(--muted)}.editorial-onboarding .deficit-choice{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:28px;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.editorial-onboarding .deficit-choice button{min-height:82px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink)}.editorial-onboarding .deficit-choice button.active{background:var(--ink);color:var(--paper)}.editorial-onboarding .deficit-choice button:disabled{opacity:.3}.editorial-onboarding .target-row{background:var(--bg)}.editorial-onboarding .target-row,.editorial-onboarding .target-row input{border-radius:0;border-color:var(--ink)}.editorial-onboarding .setup-summary.detailed{border-top:1px solid var(--ink)}.editorial-onboarding .setup-summary.detailed>div{padding-block:17px;border-bottom:1px solid var(--line-strong)}.editorial-onboarding .invitation-status{margin-top:26px;padding:22px;border:1px solid var(--ink)}.editorial-onboarding .invitation-status p{margin:6px 0 16px;color:var(--muted)}.editorial-onboarding .invitation-status.warning{border-style:dashed}.editorial-onboarding .wizard-actions{margin-top:42px;padding-top:22px;border-top:1px solid var(--ink);background:var(--bg)}.editorial-onboarding .wizard-actions button{border-radius:0}@media (max-width:900px){.editorial-onboarding .onboarding-shell{grid-template-columns:1fr;width:min(100% - 32px,760px);padding-top:28px}.editorial-onboarding .onboarding-shell>aside{display:none}.onboarding-progress-mobile{display:grid;gap:8px;width:min(100% - 32px,760px);margin:20px auto 0;color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.onboarding-progress-mobile>div{height:2px;background:var(--line-strong)}.onboarding-progress-mobile i{display:block;height:100%;background:var(--ink);transition:width .25s ease}.editorial-onboarding .deficit-choice{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.editorial-onboarding .onboarding-header{min-height:58px}.editorial-onboarding .draft-state{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editorial-onboarding .onboarding-shell{width:100%;padding:24px 14px 80px}.editorial-onboarding .wizard-card{padding:0}.editorial-onboarding .wizard-title h1{font-size:clamp(3.2rem,17vw,4.8rem)}.editorial-onboarding .allergen-grid.common,.editorial-onboarding .dietary-pattern-grid,.editorial-onboarding .field-grid,.editorial-onboarding .field-grid.four,.editorial-onboarding .ingredient-grid.toggles{grid-template-columns:1fr}.editorial-onboarding .food-selection-head{align-items:stretch;flex-direction:column}.editorial-onboarding .onboarding-search.compact{width:100%}.editorial-onboarding .safety-gate>div{display:grid;grid-template-columns:repeat(3,1fr)}.editorial-onboarding .safety-gate button{padding-inline:8px}.editorial-onboarding .safety-gate button+button{border-left:1px solid var(--ink);border-top:0}.editorial-onboarding .target-row{align-items:stretch;flex-direction:column}.editorial-onboarding .target-row button,.editorial-onboarding .target-row label{width:100%}.editorial-onboarding .wizard-actions{position:static}}.cinematic-hero{position:relative;min-height:min(920px,calc(100svh - 74px));overflow:clip;display:grid;align-items:end;padding:clamp(120px,17vh,190px) max(var(--sp-6),calc((100vw - var(--content)) / 2)) clamp(70px,10vh,108px);border-bottom:1px solid var(--line);isolation:isolate}.cinematic-hero-image,.cinematic-scrim{position:absolute;inset:0}.cinematic-hero-image{z-index:-3}.cinematic-hero-image img{object-fit:cover;object-position:center}.cinematic-scrim{z-index:-2;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 98%,transparent) 0,color-mix(in srgb,var(--bg) 88%,transparent) 34%,color-mix(in srgb,var(--bg) 18%,transparent) 72%)}.cinematic-copy{width:min(660px,58vw)}.cinematic-copy h1{margin:0;font:500 clamp(4.4rem,9vw,9rem)/.78 var(--font-display);letter-spacing:-.085em}.cinematic-copy h1 em{color:var(--accent-ink);font-style:italic}.cinematic-meta{position:absolute;right:max(var(--sp-6),calc((100vw - var(--content)) / 2));bottom:var(--sp-8);display:flex;gap:var(--sp-6);color:var(--ink);font-size:var(--text-xs);font-weight:750;letter-spacing:var(--track-caps);text-transform:uppercase}.editorial-meal-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.editorial-meal-strip article{position:relative;aspect-ratio:.88;overflow:hidden;border-right:1px solid var(--line)}.editorial-meal-strip article:last-child{border-right:0}.editorial-meal-strip img{object-fit:cover;object-position:center;transition:transform .7s var(--ease-out)}.editorial-meal-strip article:hover img{transform:scale(1.035)}.editorial-meal-strip span{position:absolute;left:var(--sp-4);bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-pill);background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--ink);font-size:var(--text-xs);font-weight:800;letter-spacing:var(--track-caps);text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-topbar nav a{min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-pill);color:var(--on-dark-muted);display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--text-md);font-weight:700;text-decoration:none;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.app-topbar nav a:hover{color:var(--on-dark);background:rgba(255,255,255,.08)}.app-topbar nav a.active{color:var(--on-dark);background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}.app-topbar nav a:active{transform:scale(.98)}.family-today{margin-top:var(--sp-8)}.family-today-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-6)}.family-today-heading h2{margin:0;font:500 clamp(2.25rem,5vw,4.8rem)/.9 var(--font-display);letter-spacing:var(--track-tight)}.family-today-heading>span{color:var(--muted);font-size:var(--text-md)}.family-meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}.family-meal-card{display:grid;grid-template-columns:minmax(170px,.78fr) 1.22fr;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--elev-2),inset 0 1px 0 var(--edge-light)}.family-meal-card .meal-photo{width:100%;height:auto;aspect-ratio:1;min-height:0;align-self:center;border-radius:0}.profile-consent{margin-left:auto;display:grid;justify-items:end;gap:2px}.profile-consent small{color:var(--muted);font-weight:500}.profile-consent button{min-height:34px;padding:0 var(--sp-3);border:1px solid var(--accent);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-weight:700;cursor:pointer}.family-meal-copy{padding:var(--sp-5);display:flex;flex-direction:column;min-width:0}.family-meal-copy h3{margin:0 0 var(--sp-4);font:520 var(--text-2xl)/1 var(--font-display);letter-spacing:var(--track-tight)}.family-meal-copy ul{margin:0;padding:0;list-style:none}.family-meal-copy li{padding:var(--sp-3) 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--text-sm)}.family-meal-copy li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-meal-copy li strong{color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.family-meal-copy button{margin-top:auto;min-height:44px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--accent-ink);text-align:left;font-weight:750;cursor:pointer}.main-meal-choice{margin-top:var(--sp-5);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md)}.main-meal-choice legend{padding:0 var(--sp-2);color:var(--muted);font-size:var(--text-sm)}.main-meal-choice button{min-height:44px;margin-right:var(--sp-2);padding:0 var(--sp-5);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);cursor:pointer}.main-meal-choice button.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.deficit-choice{grid-template-columns:repeat(5,minmax(0,1fr))}.sync-status{max-width:52ch;padding:var(--sp-3) var(--sp-4);border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--text-sm)}.app-loading,.offline-page{min-height:100svh;display:grid;place-content:center;justify-items:start;gap:var(--sp-4);padding:var(--sp-6)}.offline-page h1{margin:0;font:500 clamp(3rem,9vw,7rem)/.85 var(--font-display);letter-spacing:var(--track-tight)}.offline-page>p:not(.eyebrow){max-width:52ch;color:var(--muted);line-height:1.7}.app-loading{justify-items:center}.app-loading span{width:min(420px,82vw);height:18px;border-radius:var(--r-pill);background:var(--line);animation:fp-pulse 1.2s ease-in-out infinite alternate}.app-loading span:nth-child(2){width:min(340px,68vw)}.app-loading span:nth-child(3){width:min(280px,56vw)}@keyframes fp-pulse{to{opacity:.38}}@media (max-width:1100px){.family-meal-grid{grid-template-columns:1fr}.deficit-choice{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.cinematic-hero{min-height:780px;padding:110px var(--sp-5) 100px;align-items:start}.cinematic-hero-image img{object-position:68% center}.cinematic-scrim{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 98%,transparent) 0,color-mix(in srgb,var(--bg) 88%,transparent) 48%,color-mix(in srgb,var(--bg) 20%,transparent) 100%)}.cinematic-copy{width:100%}.cinematic-copy h1{font-size:clamp(4rem,18vw,7rem)}.cinematic-meta{left:var(--sp-5);right:var(--sp-5);bottom:var(--sp-5);justify-content:space-between;gap:var(--sp-2)}.editorial-meal-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.editorial-meal-strip article{flex:0 0 80vw;scroll-snap-align:start}.app-topbar{padding:0 var(--sp-4)}.app-topbar nav{position:fixed;z-index:var(--z-sticky);left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));min-height:68px;margin:0;padding:7px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line-contrast);background:color-mix(in srgb,var(--surface-dark) 92%,transparent);box-shadow:var(--elev-4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-topbar nav,.app-topbar nav a{gap:2px;border-radius:var(--r-pill)}.app-topbar nav a{min-width:0;min-height:54px;padding:4px;flex-direction:column;justify-content:center;font-size:.72rem}.app-topbar nav a svg{width:18px}.app-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.family-meal-card{grid-template-columns:140px 1fr}.family-meal-card .meal-photo{min-height:0}}@media (max-width:560px){.cinematic-hero{padding-left:var(--sp-4);padding-right:var(--sp-4)}.cinematic-meta{left:var(--sp-4);right:var(--sp-4)}.cinematic-meta span{font-size:.62rem}.trust-line{display:grid;gap:var(--sp-2)}.family-meal-card{display:block}.family-meal-card .meal-photo{aspect-ratio:1;min-height:0}.family-meal-copy li{align-items:start;flex-direction:column;gap:3px}.deficit-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}.product-app{background:radial-gradient(circle at 8% 0,color-mix(in srgb,var(--accent-soft) 42%,transparent) 0,transparent 28rem),linear-gradient(180deg,var(--bg) 0,color-mix(in srgb,var(--bg) 92%,var(--bg-sunken)) 100%)}.app-topbar{width:min(1420px,calc(100% - 32px));min-height:66px;margin:12px auto 0;padding:8px 12px;border-color:color-mix(in srgb,var(--line-contrast) 70%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface-dark) 90%,transparent);box-shadow:0 18px 60px rgba(20,13,7,.18),inset 0 1px 0 rgba(255,255,255,.08)}.app-topbar .brand{min-width:156px}.app-topbar nav{justify-content:center}.app-topbar nav a{padding-inline:18px}.app-content{max-width:1400px;padding-top:clamp(38px,6vw,76px)}.app-intro{align-items:end;margin-bottom:clamp(28px,4vw,52px)}.app-intro h1{max-width:13ch;font:500 clamp(3rem,6vw,6.4rem)/.88 var(--font-display);letter-spacing:-.065em;text-wrap:balance}.app-intro>div>p:last-child{max-width:48ch;margin-top:18px;font-size:var(--text-base);line-height:1.65}.library-page .app-intro{padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(115deg,color-mix(in srgb,var(--paper) 96%,transparent),color-mix(in srgb,var(--paper-2) 86%,transparent));box-shadow:var(--elev-3),inset 0 1px 0 var(--edge-light)}.search-field{min-width:min(100%,340px);padding:10px 12px 12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg-sunken) 55%,transparent)}.search-field input{width:100%;min-height:46px;border-color:transparent;background:var(--paper)}.recipe-category-tabs{position:sticky;z-index:10;top:88px;width:fit-content;max-width:100%;grid-template-columns:repeat(4,auto);margin:0 auto clamp(28px,4vw,48px);padding:6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--bg-sunken) 86%,transparent);box-shadow:var(--elev-2);-webkit-backdrop-filter:none;backdrop-filter:none}.recipe-category-tabs button{min-width:138px;border-radius:var(--r-pill)}.library-tools{margin-bottom:18px;padding-inline:2px}.library-tools>strong{font-size:clamp(1.55rem,2vw,2.2rem)}.recipe-featured{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);min-height:540px;margin-bottom:clamp(24px,3vw,38px);overflow:hidden;border:1px solid var(--line);border-radius:30px;background:var(--paper);box-shadow:var(--elev-4),inset 0 1px 0 var(--edge-light)}.recipe-featured>.meal-photo{width:100%;height:100%;min-height:540px;aspect-ratio:auto;border-radius:0}.recipe-featured-copy{position:relative;display:flex;flex-direction:column;justify-content:end;padding:clamp(30px,4vw,58px)}.recipe-featured-copy:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),transparent 82%)}.recipe-featured-copy h2{max-width:11ch;margin:8px 0 18px;font:500 clamp(2.5rem,4.6vw,5.4rem)/.88 var(--font-display);letter-spacing:-.055em;text-wrap:balance}.recipe-featured-lede{max-width:34ch;margin:0 0 26px;color:var(--muted);line-height:1.65}.recipe-featured-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:28px;border-block:1px solid var(--line)}.recipe-featured-stats span{display:grid;gap:3px;padding:16px 10px 16px 0;border-right:1px solid var(--line)}.recipe-featured-stats span:last-child{border-right:0;padding-left:12px}.recipe-featured-stats strong{font:600 var(--text-xl)/1 var(--font-display)}.recipe-featured-stats small{color:var(--muted)}.recipe-featured-copy .primary-button{align-self:flex-start;min-width:170px}.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px)}.recipe-grid article{display:flex;flex-direction:column;border-radius:20px;box-shadow:var(--elev-1);transition:transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.recipe-grid article:hover{transform:translateY(-5px);border-color:var(--accent-line);box-shadow:var(--elev-3)}.recipe-grid article .meal-photo{transition:transform .52s var(--ease-out),filter .3s var(--ease)}.recipe-grid article:hover .meal-photo{transform:scale(1.018);filter:saturate(1.04)}.recipe-grid article>div{display:flex;flex:1 1;flex-direction:column;padding:18px}.recipe-grid h2{font-size:clamp(1.2rem,1.7vw,1.6rem)}.recipe-grid article button{margin-top:auto;padding-top:14px;text-align:left}.planner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}.planner-grid>button{border-radius:22px;box-shadow:var(--elev-1)}.family-meal-card{border-radius:22px}@media (max-width:1160px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-featured{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}}@media (max-width:900px){.app-intro h1{max-width:16ch}.recipe-category-tabs{top:12px;overflow-x:auto}.recipe-category-tabs button{min-width:126px}.recipe-featured{grid-template-columns:1fr;min-height:0}.recipe-featured>.meal-photo{min-height:0;aspect-ratio:16/10}.recipe-featured-copy h2{max-width:14ch}.planner-grid,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.app-topbar{width:calc(100% - 20px);margin-top:8px;border-radius:16px}.app-content{padding:30px 14px calc(112px + env(safe-area-inset-bottom))}.library-page .app-intro{padding:24px 20px;border-radius:22px}.app-intro h1{font-size:clamp(2.7rem,15vw,4.7rem)}.recipe-category-tabs{width:100%;justify-content:start;margin-bottom:28px;border-radius:16px}.recipe-category-tabs button{min-width:120px}.recipe-featured{border-radius:22px}.recipe-featured>.meal-photo{aspect-ratio:1/.78}.recipe-featured-copy{padding:26px 20px 24px}.recipe-featured-copy h2{font-size:clamp(2.35rem,12vw,3.8rem)}.recipe-grid{grid-template-columns:1fr}.recipe-grid article{display:grid;grid-template-columns:126px 1fr;min-height:126px}.recipe-grid article .meal-photo{height:100%;min-height:126px;border-radius:0}.recipe-grid article>div{padding:14px}.recipe-grid article .eyebrow{margin-bottom:5px}.recipe-grid h2{margin-bottom:6px;font-size:1.15rem}.recipe-grid article button{min-height:34px;padding-top:6px}.planner-grid{grid-template-columns:1fr}}:root{--sand-25:#ffffff;--sand-50:#fbfaf7;--sand-100:#f4f3ef;--sand-200:#e7e6e1;--sand-300:#d0cfc9;--sand-400:#aaa9a3;--sand-500:#85857f;--sand-600:#666660;--sand-700:#4b4b47;--sand-800:#2d2d2b;--sand-900:#171717;--sand-950:#080808;--copper-50:#f0f0ed;--copper-100:#e5e5e1;--copper-200:#cbcbc5;--copper-300:#a8a8a1;--copper-400:#767670;--copper-500:#52524e;--copper-600:#171717;--copper-700:#080808;--copper-800:#050505;--copper-900:#000000;--bg:#f4f3ef;--bg-sunken:#e7e6e1;--paper:#ffffff;--paper-2:#fbfaf7;--surface-dark:#111111;--ink:#111111;--ink-soft:#666660;--muted:#4b4b47;--on-dark:#f8f7f2;--on-dark-muted:#c9c8c2;--line:#d6d5cf;--line-strong:#b7b6b0;--line-contrast:#85857f;--accent:#111111;--accent-hover:#000000;--accent-ink:#111111;--accent-soft:#efefeb;--accent-line:#8a8983;--on-accent:#ffffff;--edge-light:transparent;--sheen:none;--sheen-deep:none;--glow-page:none;--glow-accent:none;--hero-scrim:none;--rule:linear-gradient(90deg,transparent,var(--line-strong) 12%,var(--line-strong) 88%,transparent);--elev-1:0 1px 2px rgba(0,0,0,.035);--elev-2:0 4px 14px rgba(0,0,0,.055);--elev-3:0 10px 30px rgba(0,0,0,.075);--elev-4:0 24px 70px rgba(0,0,0,.13);--shadow-sm:var(--elev-1);--shadow-md:var(--elev-2);--shadow-lg:var(--elev-4);--r-sm:2px;--r-md:3px;--r-lg:4px;--r-xl:5px}:root[data-theme=dark]{--bg:#090909;--bg-sunken:#050505;--paper:#141414;--paper-2:#1b1b1b;--surface-dark:#080808;--ink:#f5f4ef;--ink-soft:#d0cfc9;--muted:#c1c0ba;--on-dark:#f5f4ef;--on-dark-muted:#aaa9a3;--line:#303030;--line-strong:#484848;--line-contrast:#666660;--accent:#f5f4ef;--accent-hover:#ffffff;--accent-ink:#f5f4ef;--accent-soft:#242424;--accent-line:#767670;--on-accent:#111111;--edge-light:transparent;--sheen:none;--sheen-deep:none;--glow-page:none;--glow-accent:none}body{background:var(--bg)}body:before{display:none}.primary-button,.secondary-button,.text-button{border-radius:0;box-shadow:none;letter-spacing:.01em}.primary-button{background:var(--accent);border-color:var(--accent)}.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.secondary-button,.text-button{background:transparent;border-color:var(--ink);color:var(--ink)}.secondary-button:hover,.text-button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.landing{background:var(--bg)}.landing-nav{top:0;max-width:none;margin:0;padding:17px max(24px,calc((100vw - 1440px) / 2));border:0;border-bottom:1px solid var(--ink);border-radius:0;background:color-mix(in srgb,var(--bg) 94%,transparent);background-image:none;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing-nav,.landing-nav .brand{color:var(--ink)}.landing-nav .brand-mark{border-radius:0;background:var(--ink);color:var(--paper)}.landing-nav nav>a:not(.text-button){color:var(--muted)}.landing-nav nav>a:not(.text-button):hover{color:var(--ink)}.landing-nav .text-button{background:var(--ink);border-color:var(--ink);color:var(--paper)}.landing-nav .text-button:hover{background:transparent;border-color:var(--ink);color:var(--ink)}.cinematic-hero{min-height:min(880px,calc(100svh - 70px));align-items:center;padding:clamp(110px,14vh,160px) max(24px,calc((100vw - 1440px) / 2)) clamp(88px,10vh,120px);border-bottom-color:var(--ink);background:var(--bg)}.cinematic-hero-image{inset:0 0 0 51%;overflow:hidden}.cinematic-hero-image img{object-position:52% center}.cinematic-scrim{display:none}.cinematic-copy{width:min(690px,47vw)}.cinematic-copy h1{max-width:8ch;font-size:clamp(5rem,8.5vw,9rem);line-height:.8;letter-spacing:-.08em}.cinematic-copy h1 em{color:var(--ink)}.cinematic-copy .hero-lead{max-width:48ch}.cinematic-copy .eyebrow{color:var(--ink)}.cinematic-meta{right:max(24px,calc((100vw - 1440px) / 2));left:max(24px,calc((100vw - 1440px) / 2));justify-content:space-between;padding-top:14px;border-top:1px solid var(--ink)}.trust-line li svg{color:var(--ink)}.preview-section{padding-block:clamp(72px,9vw,130px)}.preview-section .hero-visual{min-height:0}.preview-section .week-card{position:relative;inset:auto;width:min(900px,100%);margin:auto;padding:0;border-color:var(--ink);border-radius:0;box-shadow:none}.week-card-head{padding:22px 24px;border-bottom:1px solid var(--ink)}.week-card-head span{font-size:clamp(1.6rem,3vw,2.6rem)}.week-card-head strong{border-radius:0;background:var(--ink);color:var(--paper)}.mini-meal{grid-template-columns:96px 1fr auto;min-height:112px;padding:0 24px 0 0;border-top:1px solid var(--line-strong)}.mini-meal:first-of-type{border-top:0}.mini-photo{position:relative;width:96px;height:112px;overflow:hidden;border-radius:0}.mini-photo img{object-fit:cover;object-position:center}.mini-meal small{color:var(--muted)}.flex-preview{margin:0;padding:22px 24px;border-top:1px solid var(--ink);border-radius:0;background:var(--ink)}.flex-preview,.flex-preview small,.flex-preview span{color:var(--paper)}.editorial-meal-strip{border-color:var(--ink)}.editorial-meal-strip article{border-right-color:var(--ink)}.editorial-meal-strip span{border:1px solid var(--ink);border-radius:0;background:color-mix(in srgb,#fff 88%,transparent);color:#111}.feature-section{background:#0a0a0a}.feature-grid article>span,.feature-section>.eyebrow{color:#f7f6f1}.feature-grid article{border-top-color:rgba(255,255,255,.48)}.feature-grid p{color:#c9c8c2}.price-card,.price-section,.safety-section{border-color:var(--ink)}.price-card{border-radius:0;box-shadow:none}.price-card>span{color:var(--ink)}.onboarding-header{top:0;max-width:none;margin:0;padding:17px max(24px,calc((100vw - 1440px) / 2));border:0;border-bottom:1px solid var(--ink);border-radius:0;background:color-mix(in srgb,var(--bg) 94%,transparent);background-image:none;color:var(--ink);box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.onboarding-header .brand{color:var(--ink)}.onboarding-header .brand-mark{border-radius:0;background:var(--ink);color:var(--paper)}.onboarding-shell{max-width:1380px;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:clamp(42px,7vw,110px);padding-top:clamp(54px,7vw,100px)}.onboarding-shell>aside{top:110px}.onboarding-shell aside ol{gap:0;border-top:1px solid var(--ink)}.onboarding-shell aside li{min-height:54px;padding:0;border-bottom:1px solid var(--line-strong);border-radius:0;font-weight:650}.onboarding-shell aside li span{border:0;border-radius:0}.onboarding-shell aside li.active{background:transparent;box-shadow:none;color:var(--ink)}.onboarding-shell aside li.active span{background:var(--ink);color:var(--paper)}.onboarding-shell aside li.done{color:var(--muted)}.onboarding-shell aside li.done span{border:0;background:transparent;color:var(--ink)}.wizard-card{padding:clamp(28px,5vw,72px);border:1px solid var(--ink);border-radius:0;background:var(--paper);background-image:none;box-shadow:none}.wizard-card h2{max-width:13ch;font-size:clamp(3.3rem,7vw,6.8rem);line-height:.88;letter-spacing:-.06em}.allergen-grid button,.consent-check,.dietary-pattern-grid button,.goal-card,.ingredient-grid article,.main-meal-choice,.profile-editor article,.safety-box,.target-row{border-radius:0;background-image:none;box-shadow:none}.goal-card,.profile-editor article{border-color:var(--line-strong);background:var(--paper)}.profile-tabs{padding:0;border:0;border-bottom:1px solid var(--ink);background:transparent;background-image:none;box-shadow:none}.profile-tabs,.profile-tabs button{border-radius:0}.profile-tabs button.active{background:var(--ink);color:var(--paper);box-shadow:none}.auth-form input,.field input,.field select,.search-field input{border-radius:0}.wizard-actions{border-top-color:var(--ink)}.product-app{background:var(--bg)}.app-topbar{top:0;width:100%;max-width:none;min-height:70px;margin:0;padding:0 max(20px,calc((100vw - 1440px) / 2));border:0;border-bottom:1px solid var(--ink);border-radius:0;background:color-mix(in srgb,var(--bg) 94%,transparent);background-image:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-topbar,.app-topbar .brand{color:var(--ink)}.app-topbar .brand-mark{border-radius:0;background:var(--ink);color:var(--paper)}.app-topbar nav a{border-radius:0;color:var(--muted)}.app-topbar nav a:hover{background:transparent;color:var(--ink)}.app-topbar nav a.active{background:var(--ink);color:var(--paper);box-shadow:none}.theme-toggle{border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink)}.theme-toggle:hover,.user-avatar{background:var(--ink);color:var(--paper)}.user-avatar{border-radius:0}.app-content{max-width:1440px}.library-page .app-intro{padding:clamp(30px,5vw,72px) 0;border:0;border-block:1px solid var(--ink);border-radius:0;background:transparent;box-shadow:none}.library-page .app-intro h1{max-width:10ch}.search-field{padding:0;border:0;border-radius:0;background:transparent}.search-field input{border-color:var(--ink)}.recipe-category-tabs{top:70px;width:100%;margin-bottom:clamp(34px,5vw,64px);padding:0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:color-mix(in srgb,var(--bg) 94%,transparent);box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.recipe-category-tabs button{min-height:58px;border-radius:0;border-bottom:3px solid transparent}.recipe-category-tabs button.active{background:transparent;color:var(--ink);box-shadow:none;border-bottom-color:var(--ink)}.recipe-category-tabs button strong,.recipe-category-tabs button.active strong{border-radius:0;background:transparent}.recipe-featured{min-height:560px;border-color:var(--ink);border-radius:0;box-shadow:none}.recipe-featured-copy:before{height:1px;background:var(--ink)}.recipe-featured-copy .primary-button{min-width:190px}.recipe-grid{gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.recipe-grid article{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;box-shadow:none}.recipe-grid article:hover{transform:none;border-color:var(--ink);box-shadow:none}.recipe-grid article button{color:var(--ink)}.recipe-browser-backdrop{background:rgba(0,0,0,.72)}.recipe-browser-modal{width:min(1320px,calc(100% - 32px));max-height:calc(100vh - 32px);grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);border-color:var(--ink);border-radius:0;box-shadow:var(--elev-4)}.recipe-browser-modal>.meal-photo.large{position:sticky;top:0;align-self:start;width:100%;height:auto;min-height:0;aspect-ratio:1;border-right:1px solid var(--ink);border-radius:0}.recipe-browser-copy{padding:clamp(32px,5vw,72px)}.recipe-browser-copy>h2{max-width:11ch;font-size:clamp(3rem,6vw,6.8rem);line-height:.86;letter-spacing:-.06em}.recipe-browser-copy .recipe-sections{border-top:1px solid var(--ink)}.recipe-browser-copy .recipe-sections>section{padding-top:24px}.recipe-browser-copy .recipe-sections li{border-color:var(--line-strong)}.modal-close{border-radius:0;background:var(--ink);color:var(--paper)}@media (max-width:900px){.cinematic-hero{min-height:900px;align-items:start;padding:72px 20px 470px}.cinematic-hero-image{inset:48% 0 0}.cinematic-hero-image img{object-position:center}.cinematic-copy{width:100%}.cinematic-copy h1{font-size:clamp(4.2rem,18vw,7rem)}.cinematic-meta{left:20px;right:20px;bottom:20px;color:#fff;border-top-color:rgba(255,255,255,.7)}.onboarding-shell{grid-template-columns:1fr;gap:30px}.onboarding-shell>aside{position:static}.recipe-browser-modal{grid-template-columns:minmax(280px,38%) 1fr}}@media (max-width:820px){.app-topbar{padding:0 14px}.app-topbar nav{border-radius:0;border-color:var(--ink);background:color-mix(in srgb,var(--bg) 96%,transparent);box-shadow:none}.app-topbar nav a{color:var(--muted)}.app-topbar nav a.active{background:var(--ink);color:var(--paper)}}@media (max-width:560px){.landing-nav{padding:12px 14px}.landing-nav nav{gap:8px}.landing-nav .text-button{min-height:40px;padding-inline:12px}.cinematic-hero{min-height:840px;padding:58px 16px 410px}.cinematic-hero-image{inset:52% 0 0}.cinematic-copy h1{font-size:clamp(3.7rem,19vw,5.4rem)}.cinematic-copy .hero-actions{align-items:stretch}.cinematic-copy .hero-actions a{width:100%}.cinematic-meta{left:16px;right:16px}.preview-section{padding:56px 14px}.mini-meal{grid-template-columns:82px 1fr auto;min-height:96px;padding-right:14px}.mini-photo{width:82px;height:96px}.editorial-meal-strip article{flex-basis:78vw}.feature-section,.price-section,.safety-section{padding-left:18px;padding-right:18px}.onboarding-header{padding:12px 14px}.onboarding-shell{padding:20px 14px 80px}.onboarding-shell aside ol{display:flex;border-top:0;border-bottom:1px solid var(--ink)}.onboarding-shell aside li{flex:1 0 48px;justify-content:center;border:0}.onboarding-shell aside li:not(.active){font-size:0}.wizard-card{padding:28px 18px}.wizard-card h2{font-size:clamp(3rem,16vw,4.6rem)}.wizard-actions{position:static;margin:28px 0 0;padding:18px 0 0}.app-topbar{width:100%;margin:0;border-radius:0}.library-page .app-intro{padding:30px 0;border-radius:0}.recipe-category-tabs{border-radius:0}.recipe-category-tabs button{min-width:118px}.recipe-featured{border-radius:0}.recipe-grid{border-left:0}.recipe-grid article{grid-template-columns:118px 1fr}.recipe-browser-backdrop{place-items:start stretch;padding:0;overflow-x:hidden}.recipe-browser-modal{width:100%;max-width:100%;max-height:none;min-height:100%;grid-template-columns:1fr;border:0}.recipe-browser-modal>.meal-photo.large{min-height:0;aspect-ratio:1/.82}.recipe-browser-copy{padding:28px 18px 54px}.recipe-browser-copy>h2{font-size:clamp(3rem,15vw,5rem);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.recipe-browser-copy .recipe-sections{grid-template-columns:1fr}}