.landing{display:grid;gap:5rem;padding-bottom:var(--space-16);min-width:0;overflow-x:clip}.landing-hero{display:grid;gap:var(--space-32);align-items:center;min-width:0}.landing-sample{min-width:0;max-width:100%}.hero-crate{position:relative;max-width:300px;margin:0 auto}.hero-crate-produce{display:flex;align-items:flex-end;justify-content:center;position:relative;z-index:0;margin:0 0 calc(var(--space-24) * -1)}.hero-crate-item{display:block;animation:crate-pop .45s ease backwards;animation-delay:calc(.08s * var(--i, 0))}.hero-crate-item .produce-icon{display:block;width:3.4rem;height:3.4rem}.hero-crate-item:nth-child(2n) .produce-icon{transform:translateY(.3rem) rotate(-7deg)}.hero-crate-item:nth-child(3n) .produce-icon{transform:translateY(.12rem) rotate(6deg)}.hero-crate-box{position:relative;z-index:1;display:block;width:100%;height:auto}.hero-crate-stamp{font-family:var(--font-display);font-size:var(--step-body);font-weight:800;letter-spacing:.08em;fill:var(--color-brand-dark)}.hero-cenovka{--rot: 3deg;position:absolute;z-index:2;display:grid;gap:var(--space-2);max-width:11rem;padding:var(--space-6) var(--space-10) var(--space-8) var(--space-18);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--elev-low);transform:rotate(var(--rot));font-size:var(--step-micro);line-height:1.2;animation:cenovka-drop .4s ease backwards}.hero-cenovka:before{content:"";position:absolute;left:.4rem;top:50%;translate:0 -50%;width:.4rem;height:.4rem;border-radius:50%;background:var(--color-cream);border:1px solid color-mix(in srgb,var(--color-ink) 25%,transparent)}.hero-cenovka--0{right:-1.1rem;top:54%;animation-delay:.5s}.hero-cenovka--1{--rot: -2.5deg;left:-1.1rem;bottom:-.6rem;animation-delay:.65s}.hero-cenovka-name{font-weight:600}.hero-cenovka-prices{display:flex;align-items:baseline;gap:var(--space-6);font-variant-numeric:tabular-nums}.hero-cenovka-was{font-size:var(--step-eyebrow);color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.hero-cenovka-now{font-weight:700;color:var(--color-tomato-ink)}@keyframes crate-pop{0%{opacity:0;translate:0 14px}}@keyframes cenovka-drop{0%{opacity:0;translate:0 -10px}}.landing-sample-title{margin:var(--space-24) 0 var(--space-12);font-size:var(--step-body);font-weight:600;text-align:center;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.landing-sample-loading{margin:var(--space-24) 0 0;padding:var(--space-20) var(--space-12);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-brand) 6%,transparent);font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 55%,transparent);text-align:center}.landing-sample-dishes{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-14);min-width:0}.landing-sample-dishes li{display:grid;gap:var(--space-2);justify-items:center;text-align:center;min-width:0}.landing-sample-saving{font-family:var(--font-accent);font-size:var(--step-section);line-height:1.1;color:var(--color-tomato-ink)}.landing-sample-chain{font-size:var(--step-micro);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand-dark)}.landing-sample-dish-title{margin:0;font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.25}.landing-sample-dish-title a{color:inherit;text-decoration:none}.landing-sample-dish-title a:hover{text-decoration:underline}.landing-hero-copy{text-align:center}.landing-title{margin:0;font-family:var(--font-display);font-size:var(--step-hero);font-weight:800;line-height:1.02;letter-spacing:-.03em;color:var(--color-brand-dark);text-wrap:balance}.landing-accent{position:relative;color:var(--color-tomato-ink);white-space:nowrap}.landing-accent:after{content:"";position:absolute;left:0;right:0;bottom:-.15rem;height:.5rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-lemon) 50%,transparent);z-index:-1}.landing-lead{margin:var(--space-16) auto 0;max-width:30rem;font-size:var(--step-section);line-height:1.5;color:color-mix(in srgb,var(--color-ink) 68%,transparent)}.landing-entry{display:grid;gap:var(--space-12);margin-top:var(--space-28)}.landing-entry-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--space-12);row-gap:var(--space-2);align-items:start;padding:var(--space-14) var(--space-16);text-decoration:none;color:inherit;text-align:left}.landing-entry-tile:hover,.landing-entry-tile:focus-visible{border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 7%,#fff);text-decoration:none}.landing-entry-icon{grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-top:var(--space-2);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-leaf) 14%,transparent);color:var(--color-brand-dark)}.landing-entry-title{font-family:var(--font-display);font-size:var(--step-section);font-weight:700;line-height:1.25}.landing-entry-text{font-size:var(--step-meta);line-height:1.35;color:color-mix(in srgb,var(--color-ink) 58%,transparent)}.landing-payoff{margin:var(--space-18) auto 0;max-width:28rem;font-size:var(--step-body);line-height:1.45;color:color-mix(in srgb,var(--color-ink) 72%,transparent)}.landing-note{margin:var(--space-8) 0 0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.landing-section-title{margin:0 0 var(--space-24);text-align:center}.landing-section--board{padding:var(--space-48) var(--space-24);border-radius:var(--radius-card);background:var(--wash-board),var(--surface-board);color:var(--on-board)}.landing-section--board .eyebrow{color:var(--on-board-accent)}.landing-section--board .eyebrow-dot{background:var(--on-board-accent)}.landing-section--board .card{background:color-mix(in srgb,#ffffff 8%,transparent);border-color:var(--on-board-border);box-shadow:none;color:inherit}.landing-section--board .landing-value p{color:var(--on-board-muted)}.landing-section--board .landing-value-icon{background:color-mix(in srgb,var(--on-board-accent) 18%,transparent);color:var(--on-board-accent)}.landing-values{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-20)}.landing-value{text-align:center}.landing-value h3{margin:var(--space-12) 0 0;font-family:var(--font-display);font-size:var(--step-title)}.landing-value p{margin:var(--space-6) 0 0;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.landing-value-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-leaf) 12%,transparent);color:var(--color-brand-dark)}.landing-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-20);counter-reset:none}.landing-step{padding:var(--space-14) var(--space-16)}.landing-step h3{margin:0;font-family:var(--font-display);font-size:var(--step-body)}.landing-step-examples{list-style:none;margin:var(--space-10) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-6)}.landing-step-examples li{padding:0}.landing-step-chip{display:inline-block;padding:var(--space-4) var(--space-10);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-leaf) 12%,transparent);color:var(--color-brand-dark);font-size:var(--step-meta);font-weight:600;text-decoration:none}.landing-step-chip:hover,.landing-step-chip:focus-visible{background:color-mix(in srgb,var(--color-leaf) 22%,transparent);text-decoration:none}.landing-compare{display:grid;gap:var(--space-16)}.landing-compare h3{margin:0;font-family:var(--font-display);font-size:var(--step-title)}.landing-compare ul{list-style:none;margin:var(--space-12) 0 0;padding:0;display:grid;gap:var(--space-8)}.landing-compare li{display:flex;align-items:center;gap:var(--space-8);font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.landing-compare-highlight{border-color:color-mix(in srgb,var(--color-leaf) 35%,transparent);background:color-mix(in srgb,var(--color-leaf) 4%,transparent)}.landing-compare-highlight h3{color:var(--color-brand-dark)}.landing-compare-highlight svg{color:var(--color-leaf);flex-shrink:0}@media(min-width:640px){.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.landing-hero-copy{text-align:left}.landing-lead,.landing-payoff{margin-left:0}.landing-values,.landing-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{color-scheme:light;--color-brand: #0e5a38;--color-brand-dark: #0a4730;--color-cream: #eff6f0;--color-leaf: #1f9d55;--color-tomato: #fb4d3d;--color-tomato-ink: #c5371f;--color-lemon: #f6b800;--color-lemon-ink: #7a5b00;--color-ink: #15231c;--color-muted: color-mix(in srgb, var(--color-ink) 68%, transparent);--color-border: color-mix(in srgb, var(--color-brand) 18%, transparent);--surface-page: var(--color-cream);--surface-raised: #ffffff;--surface-sunken: #e2ebe4;--surface-board: var(--color-brand-dark);--on-board: #eef5ef;--on-board-muted: #a9c9b6;--on-board-accent: #7fd3a3;--on-board-border: color-mix(in srgb, #ffffff 12%, transparent);--color-card: var(--surface-raised);--color-meal: color-mix(in srgb, var(--color-leaf) 12%, transparent);--border-meal: color-mix(in srgb, var(--color-leaf) 30%, transparent);--border-neutral: color-mix(in srgb, var(--color-ink) 12%, transparent);--border-card: color-mix(in srgb, var(--color-brand) 32%, transparent);--wash-promo: linear-gradient( 148deg, color-mix(in srgb, var(--color-lemon) 24%, transparent) 0%, transparent 58% );--wash-brand: linear-gradient( 148deg, color-mix(in srgb, var(--color-leaf) 14%, transparent) 0%, transparent 58% );--wash-board: linear-gradient( 148deg, color-mix(in srgb, var(--on-board-accent) 16%, transparent) 0%, transparent 62% );--surface-promo: color-mix(in srgb, var(--color-lemon) 10%, transparent);--surface-promo-hover: color-mix(in srgb, var(--color-lemon) 16%, transparent);--surface-promo-chip: color-mix(in srgb, var(--color-lemon) 14%, transparent);--surface-promo-chain: color-mix(in srgb, var(--color-lemon) 30%, transparent);--border-promo: color-mix(in srgb, var(--color-lemon) 45%, transparent);--border-promo-hover: color-mix(in srgb, var(--color-lemon) 60%, transparent);--ink-promo: var(--color-tomato-ink);--ink-promo-label: var(--color-lemon-ink);--dot-promo: color-mix(in srgb, var(--color-lemon) 85%, var(--color-lemon-ink));--step-hero: clamp(2rem, 6vw, 3.75rem);--step-figure: clamp(2.5rem, 10vw, 3.75rem);--step-display: clamp(2rem, 7vw, 3rem);--step-title: 1.25rem;--step-section: 1.0625rem;--step-body: .9375rem;--step-meta: .8125rem;--step-micro: .75rem;--step-eyebrow: .6875rem;--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--font-accent: "Caveat", ui-serif, cursive;--space-1: .0625rem;--space-2: .125rem;--space-4: .25rem;--space-6: .375rem;--space-8: .5rem;--space-10: .625rem;--space-12: .75rem;--space-14: .875rem;--space-16: 1rem;--space-18: 1.125rem;--space-20: 1.25rem;--space-24: 1.5rem;--space-28: 1.75rem;--space-32: 2rem;--space-40: 2.5rem;--space-48: 3rem;--space-64: 4rem;--radius-xs: 3px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--radius-card: var(--radius-2xl);--elev-flat: none;--elev-low: 0 1px 2px rgb(21 35 28 / .04), 0 10px 28px -18px rgb(14 90 56 / .25);--elev-high: 0 10px 28px -8px color-mix(in srgb, var(--color-brand) 25%, transparent);--elev-bar: 0 -4px 24px color-mix(in srgb, var(--color-ink) 10%, transparent);--ring-focus: 0 0 0 3px color-mix(in srgb, var(--color-leaf) 18%, transparent);--ring-error: 0 0 0 3px color-mix(in srgb, var(--color-tomato) 14%, transparent);--ring-selected: inset 0 0 0 2px var(--color-brand);--motion-lift: .18s cubic-bezier(.2, .7, .3, 1);--motion-enter: .22s cubic-bezier(.2, .7, .3, 1);--motion-count: .6s ease-out;--motion-confirm: .32s cubic-bezier(.2, .7, .3, 1);--motion-praise: .7s cubic-bezier(.2, .7, .3, 1)}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;font-family:var(--font-body);background:var(--surface-page);color:var(--color-ink);-webkit-font-smoothing:antialiased}a{color:var(--color-brand-dark);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px;border-radius:4px}.font-display{font-family:var(--font-display)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1 0 auto;position:relative;width:100%;max-width:64rem;margin-inline:auto;padding:var(--space-40) var(--space-16) 6rem}.app-footer{flex-shrink:0;width:100%;max-width:64rem;margin-inline:auto;padding:2.5rem 1rem calc(6.25rem + env(safe-area-inset-bottom,0px));font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 40%,transparent);transition:opacity var(--motion-enter)}.app-footer.is-loading-page{opacity:0;transition:none;pointer-events:none}.app-footer a{color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.layout-inner{max-width:64rem;margin-inline:auto;padding-inline:var(--space-16)}.app-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-cream) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header--staging{background:color-mix(in srgb,#ef4444 28%,var(--color-cream) 72%);border-bottom-color:color-mix(in srgb,#dc2626 35%,var(--color-border))}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-12)}.brand{display:inline-flex;align-items:center;gap:var(--space-8);flex-shrink:0;font-family:var(--font-display);font-weight:800;font-size:var(--step-title);letter-spacing:-.02em;color:var(--color-brand-dark);text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{display:block;width:1.625rem;height:1.625rem;border-radius:var(--radius-sm)}.header-nav{display:flex;align-items:center;flex-shrink:1;min-width:0;gap:var(--space-6);font-size:var(--step-meta)}.header-nav-link{color:color-mix(in srgb,var(--color-ink) 55%,transparent);text-decoration:none;transition:color .15s ease}.header-nav-link:hover,.header-nav-link.active{color:var(--color-brand-dark);text-decoration:none}.header-nav-link.active{font-weight:600}.header-nav-desktop{display:none}.btn-header-register,.btn-header-login{flex-shrink:0;padding:var(--space-6) var(--space-8);border-radius:var(--radius-md);font-weight:500;white-space:nowrap;text-decoration:none}.btn-header-label-full{display:none}.btn-header-register{border:1px solid color-mix(in srgb,var(--color-brand) 35%,transparent);background:transparent;color:var(--color-brand-dark);transition:background .15s ease,border-color .15s ease}.btn-header-register:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent);border-color:var(--color-brand);text-decoration:none}.btn-header-login{background:var(--color-brand);color:#fff;transition:background .15s ease}.btn-header-login:hover{background:var(--color-brand-dark);text-decoration:none}.btn-install{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6) var(--space-8);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-brand) 30%,transparent);background:color-mix(in srgb,var(--color-brand) 8%,transparent);font-size:inherit;font-weight:500;color:var(--color-brand-dark);white-space:nowrap;cursor:pointer;transition:background .15s ease}.btn-install:hover{background:color-mix(in srgb,var(--color-brand) 15%,transparent)}@media(min-width:640px){.app-header-inner{gap:var(--space-16)}.brand{font-size:var(--step-title)}.header-nav{gap:var(--space-16);font-size:var(--step-body)}.btn-header-register,.btn-header-login{padding:var(--space-6) var(--space-14)}.btn-header-label-full{display:inline}.btn-header-label-short{display:none}.btn-install{gap:var(--space-6);padding:var(--space-6) var(--space-12)}}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-brand) 8%,transparent);font-family:var(--font-display);font-size:var(--step-body);font-weight:700;color:var(--color-brand-dark);cursor:pointer;transition:border-color .15s ease,background .15s ease}.user-menu-trigger:hover{border-color:color-mix(in srgb,var(--color-brand) 45%,transparent);background:color-mix(in srgb,var(--color-brand) 15%,transparent)}.user-menu-panel{position:absolute;right:0;top:2.75rem;z-index:50;width:14rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-brand) 15%,transparent);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--elev-high)}.user-menu-email{margin:0;padding:var(--space-10) var(--space-16);border-bottom:1px solid color-mix(in srgb,var(--color-brand) 10%,transparent);font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-list{list-style:none;margin:0;padding:var(--space-4) 0}.user-menu-item{display:flex;align-items:center;gap:var(--space-10);width:100%;padding:var(--space-10) var(--space-16);border:none;background:none;font:inherit;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 75%,transparent);text-align:left;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}.user-menu-item:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent);color:var(--color-brand-dark);text-decoration:none}.user-menu-logout{border-top:1px solid color-mix(in srgb,var(--color-brand) 10%,transparent)}.page-slot{transition:opacity var(--motion-enter)}.app-main.is-loading-page .page-slot{opacity:0;transition:none;pointer-events:none}.page-loader{position:absolute;inset-inline:0;top:30vh;display:none;flex-direction:column;align-items:center;opacity:0}.app-main.is-loading-page .page-loader{display:flex;animation:page-loader-in .2s ease .22s forwards}@keyframes page-loader-in{to{opacity:1}}.page-loader-dots{display:flex;gap:var(--space-8)}.page-loader-dots span{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-pill);background:var(--color-brand);animation:page-loader-pulse 1.1s ease-in-out infinite}.page-loader-dots span:nth-child(2){animation-delay:.15s}.page-loader-dots span:nth-child(3){animation-delay:.3s}@keyframes page-loader-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.bottom-nav{position:fixed;inset-inline:0;bottom:0;z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--color-border);background:color-mix(in srgb,#fff 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bottom-nav-list{display:flex;align-items:stretch;justify-content:space-around;max-width:28rem;margin:0 auto;padding:0;list-style:none}.bottom-nav-item{flex:1}.bottom-nav-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-10) 0;font-size:var(--step-eyebrow);font-weight:500;color:color-mix(in srgb,var(--color-ink) 45%,transparent);text-decoration:none;transition:color .15s ease}.bottom-nav-label{text-align:center;line-height:1.15;text-wrap:balance}.bottom-nav-link:hover,.bottom-nav-link.active{color:var(--color-brand-dark);text-decoration:none}.page-heading{margin-bottom:var(--space-32)}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-6);margin:0 0 var(--space-8);font-size:var(--step-eyebrow);line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand)}.eyebrow--promo{color:var(--ink-promo-label)}.eyebrow--promo .eyebrow-dot{background:var(--dot-promo)}.eyebrow-dot{display:inline-block;width:.375rem;height:.375rem;border-radius:1px;background:var(--color-leaf);transform:rotate(45deg)}.page-title{margin:0;font-family:var(--font-display);font-size:var(--step-display);font-weight:700;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}.page-subtitle{margin:var(--space-6) 0 0;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.page-subtitle--spaced{margin-bottom:var(--space-20)}.card{border-radius:var(--radius-card);background:var(--surface-raised);border:1px solid var(--border-card);box-shadow:var(--elev-low);padding:var(--space-16)}.ui-badge{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-10);font-size:var(--step-micro);font-weight:600}.ui-badge--meal{background:color-mix(in srgb,var(--color-leaf) 22%,#fff);border-color:var(--border-meal);color:var(--color-brand-dark)}.ui-badge--neutral{background:color-mix(in srgb,var(--color-ink) 7%,#fff);border-color:var(--border-neutral);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.ui-badge--promo{background:color-mix(in srgb,var(--color-lemon) 24%,#fff);border-color:var(--border-promo);color:var(--ink-promo)}.ui-badge--active{background:var(--color-brand);color:#fff}.ui-badge--draft{background:color-mix(in srgb,var(--color-lemon) 25%,transparent);color:var(--color-lemon-ink)}.ui-badge--saved{background:color-mix(in srgb,var(--color-leaf) 15%,transparent);color:var(--color-brand-dark)}.back-link{display:inline-flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-12);border:none;background:none;padding:0;font:inherit;font-size:var(--step-body);font-weight:500;color:var(--color-brand-dark);cursor:pointer}.back-link:hover{text-decoration:underline}.stack{display:grid;gap:var(--space-16)}.field{display:grid;gap:var(--space-6);font-size:var(--step-body)}.field input,.field select,.field textarea{padding:var(--space-8) var(--space-10);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-lg);font:inherit;background:#fff}fieldset.field{border:none;padding:0;margin:0}fieldset.field legend{margin-bottom:var(--space-8);font-weight:600}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-6) var(--space-12)}.checkbox{display:flex;align-items:center;gap:var(--space-6);font-size:var(--step-body)}.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}.pref-form{display:grid;gap:var(--space-32)}.pref-fieldset{border:none;padding:0;margin:0;scroll-margin-block:5rem}.pref-fieldset>legend{font-size:var(--step-body);font-weight:600;margin-bottom:var(--space-4)}.pref-hint{margin:0 0 var(--space-12);font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.pref-hint--warn{color:color-mix(in srgb,var(--color-ink) 72%,transparent)}.allergen-verify-note{margin:calc(var(--space-4) * -1) 0 var(--space-16);opacity:.7}.pref-chain-grid{display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.pref-select{width:100%;max-width:22rem;padding:var(--space-8) var(--space-12);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-lg);font:inherit;font-size:var(--step-body);line-height:1.35;background:#fff}.pref-combobox{position:relative;width:100%;max-width:22rem}.pref-combobox-input{max-width:none;box-sizing:border-box;min-height:0}.pref-combobox--required-empty .pref-combobox-input{border-color:color-mix(in srgb,var(--color-tomato) 55%,transparent);background:color-mix(in srgb,var(--color-tomato) 6%,#fff);box-shadow:var(--ring-error)}.pref-combobox--required-empty .pref-combobox-input::placeholder{color:var(--color-tomato-ink);opacity:.85}.pref-combobox--required-empty .pref-combobox-input:focus{outline:none;border-color:var(--color-tomato);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-tomato) 22%,transparent)}.pref-combobox-list{position:absolute;top:100%;left:0;right:0;z-index:40;max-height:16rem;margin:var(--space-4) 0 0;padding:var(--space-4) 0;list-style:none;overflow:auto;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--elev-high)}.pref-combobox-option{display:block;width:100%;padding:var(--space-8) var(--space-12);border:none;background:transparent;font:inherit;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 85%,transparent);text-align:left;cursor:pointer}.pref-combobox-option.active,.pref-combobox-option:hover{background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.pref-combobox-option.selected{font-weight:600}.pref-combobox-empty{margin:var(--space-6) 0 0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.pref-coming{margin-top:var(--space-12);padding-top:var(--space-10);border-top:1px solid color-mix(in srgb,var(--color-brand) 10%,transparent)}.pref-coming-hint{margin:0 0 var(--space-6);font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.pref-soon-list{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6)}.pref-soon-chip{display:inline-block;padding:var(--space-2) var(--space-8);border:1px dashed color-mix(in srgb,var(--color-brand) 18%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-ink) 2%,#fff);font-size:var(--step-eyebrow);font-weight:500;line-height:1.35;color:color-mix(in srgb,var(--color-ink) 42%,transparent)}.pref-pill-grid{display:flex;flex-wrap:wrap;gap:var(--space-8)}.pref-pill{display:inline-flex;align-items:center;gap:var(--space-8);cursor:pointer;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);border-radius:var(--radius-lg);background:#fff;padding:var(--space-8) var(--space-12);font-size:var(--step-body);font-weight:500;transition:border-color .15s ease,background .15s ease}.pref-pill:has(:checked){border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 7%,#fff)}.pref-pill--other{border-color:color-mix(in srgb,var(--color-ink) 14%,transparent);background:color-mix(in srgb,var(--color-ink) 2%,#fff);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.pref-pill--other:has(:checked){border-color:color-mix(in srgb,var(--color-ink) 38%,transparent);background:color-mix(in srgb,var(--color-ink) 4%,#fff);color:var(--color-ink)}.pref-pill-label--other{font-style:italic}.pref-pill--other input[type=radio]{accent-color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.pref-pill--disabled{cursor:not-allowed;opacity:.45}.pref-store-block{margin-top:var(--space-16);padding-left:var(--space-14);border-left:2px solid color-mix(in srgb,var(--color-brand) 18%,transparent)}.pref-store-block--single{margin-top:0;padding-left:0;border-left:none}.pref-store-title{margin:0 0 var(--space-6);font-size:var(--step-body);font-weight:600}.pref-pill--choice{padding:var(--space-6) var(--space-14);border-radius:var(--radius-md)}.pref-pill input[type=checkbox],.pref-pill input[type=radio]{accent-color:var(--color-brand)}.pref-allergen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-12)}@media(min-width:640px){.pref-allergen-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.pref-allergen{display:flex;align-items:center;gap:var(--space-8);font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 75%,transparent)}.pref-ingredient-section{margin-top:var(--space-40);padding-top:var(--space-32);border-top:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent)}.pref-chip{display:inline-flex;align-items:center;gap:var(--space-6);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-12);font-size:var(--step-body)}.pref-chip--liked{border:1px solid color-mix(in srgb,var(--color-leaf) 35%,transparent);background:color-mix(in srgb,var(--color-leaf) 12%,#fff);color:var(--color-brand-dark)}.pref-chip--disliked{border:1px solid color-mix(in srgb,var(--color-tomato) 40%,transparent);background:color-mix(in srgb,var(--color-tomato) 10%,#fff);color:var(--color-tomato-ink)}.pref-chip button{border:none;background:none;padding:0;font:inherit;line-height:1;opacity:.6;cursor:pointer}.pref-chip button:hover{opacity:1}.pref-add-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-8)}.pref-add-row label{display:grid;gap:var(--space-4);font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.pref-add-row select{min-width:10rem;padding:var(--space-8) var(--space-10);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-md);font:inherit;background:#fff}.btn-primary{padding:var(--space-8) var(--space-16);border:none;border-radius:var(--radius-md);background:var(--color-brand);color:#fff;font-weight:600;font-size:var(--step-body);cursor:pointer;transition:background .15s ease}.btn-primary:hover:not(:disabled){background:var(--color-brand-dark)}a.btn-primary,a.btn-primary:hover{display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}a.btn-primary:hover{background:var(--color-brand-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-6) var(--space-14);border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:var(--radius-md);background:#fff;color:color-mix(in srgb,var(--color-ink) 70%,transparent);font:inherit;font-size:var(--step-body);font-weight:500;text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease}.btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);color:var(--color-brand-dark);text-decoration:none}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-link{border:none;background:none;color:var(--color-brand-dark);font:inherit;font-size:var(--step-body);cursor:pointer;text-decoration:underline}.btn-danger{padding:var(--space-8) var(--space-16);border:1px solid #d64545;border-radius:var(--radius-md);background:#fff5f5;color:#9b2226;cursor:pointer}.auth-card{max-width:24rem;margin:0 auto}.auth-footer{margin-top:var(--space-16)}.auth-forgot{margin:calc(var(--space-8) * -1) 0 calc(var(--space-4) * -1);font-size:var(--step-body)}.auth-forgot a,.auth-footer a{text-decoration:underline}.auth-forgot a{display:inline-block;padding:var(--space-8) 0;line-height:1.75rem}.auth-ok{margin:0;color:color-mix(in srgb,#2f6b3a 90%,var(--color-ink));font-size:var(--step-body)}.password-wrap{position:relative;display:grid}.password-wrap input{padding-right:var(--space-48)}.password-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2.5rem;height:2.5rem;border:0;border-radius:var(--radius-lg);background:transparent;color:color-mix(in srgb,var(--color-ink) 55%,transparent);cursor:pointer;padding:0}.password-toggle:hover,.password-toggle:focus-visible{color:var(--color-ink)}.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.turnstile-host{min-height:65px}.oauth-block{margin-top:var(--space-20)}.oauth-divider{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-14);color:color-mix(in srgb,var(--color-ink) 45%,transparent);font-size:var(--step-meta)}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:color-mix(in srgb,#000 12%,transparent)}.oauth-buttons{display:flex;flex-direction:column;gap:var(--space-8)}.oauth-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-10);width:100%;text-align:center;box-sizing:border-box}.oauth-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.oauth-consent-hint{margin-top:var(--space-12)}.filter-row{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-24)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-14);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);background:#fff;font-size:var(--step-body);font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.filter-chip:hover{border-color:color-mix(in srgb,var(--color-leaf) 50%,transparent);color:var(--color-brand-dark)}.filter-chip.active{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.search-field{position:relative;margin-bottom:var(--space-16)}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:color-mix(in srgb,var(--color-ink) 35%,transparent);pointer-events:none}.search-input{width:100%;padding:var(--space-10) var(--space-40) var(--space-10) var(--space-40);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-lg);background:#fff;font:inherit;font-size:var(--step-body);color:var(--color-ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search-input::placeholder{color:color-mix(in srgb,var(--color-ink) 35%,transparent)}.search-input:focus{border-color:color-mix(in srgb,var(--color-brand) 50%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-brand) 15%,transparent)}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:var(--space-4);border:none;border-radius:var(--radius-pill);background:none;color:color-mix(in srgb,var(--color-ink) 40%,transparent);cursor:pointer}.search-clear:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent);color:var(--color-brand-dark)}.search-count{margin:0 0 var(--space-12);font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.recipe-search{margin-bottom:var(--space-16)}.recipe-search .search-field{margin-bottom:0}.recipe-search-chips{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-bottom:var(--space-8)}.recipe-search-chip{display:inline-flex;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6) var(--space-4) var(--space-10);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-brand) 12%,transparent);color:var(--color-brand-dark);font-size:var(--step-meta);font-weight:600}.recipe-search-chip-clear{display:flex;align-items:center;justify-content:center;padding:var(--space-2);border:none;border-radius:var(--radius-pill);background:transparent;color:inherit;cursor:pointer}.recipe-search-chip-clear:hover{background:color-mix(in srgb,var(--color-brand) 18%,transparent)}.recipe-search-list{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:40;max-height:16rem;margin:0;padding:var(--space-4) 0;list-style:none;overflow:auto;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--elev-high)}.recipe-search-option{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:var(--space-12);padding:var(--space-8) var(--space-12);border:none;background:transparent;font:inherit;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 85%,transparent);text-align:left;cursor:pointer}.recipe-search-option.active,.recipe-search-option:hover{background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.recipe-search-option-name{font-weight:500}.recipe-search-option-cat{flex-shrink:0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.error{color:#9b2226}.hint,.status-line{font-size:var(--step-body);color:var(--color-muted)}.onboarding-form,.section-gap{margin-top:var(--space-16)}.section-title{margin:0;font-size:var(--step-section);font-weight:600}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.section-heading{margin:0 0 var(--space-12);padding-bottom:var(--space-6);border-bottom:2px solid color-mix(in srgb,var(--color-leaf) 28%,transparent);font-family:var(--font-display);font-size:var(--step-title);font-weight:700;letter-spacing:-.015em}.section-heading-row{display:flex;align-items:baseline;gap:var(--space-6)}.steps-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-12)}.steps-head .section-heading{margin-bottom:0}.steps-head__note{margin:var(--space-8) 0 0;font-size:var(--step-meta);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.section-heading-row .section-heading{margin-bottom:var(--space-4)}.info-hint-text{margin:0;font-size:var(--step-meta)}.page-title--sm{font-size:var(--step-title)}.note-sm{margin:0 0 var(--space-8);font-size:var(--step-micro);color:var(--color-muted)}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12);margin-top:var(--space-16);padding:var(--space-16)}.meta-grid__item dt{margin:0;font-size:var(--step-eyebrow);font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.meta-grid__item dd{margin:var(--space-2) 0 0;font-weight:500;font-variant-numeric:tabular-nums}.content-columns{display:grid;grid-template-columns:1fr;gap:var(--space-32);margin-top:var(--space-24)}.split-rows{list-style:none;margin:0;padding:0}.split-rows>li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding-bottom:var(--space-6);border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent);font-size:var(--step-body)}.split-rows>li+li{margin-top:var(--space-6)}.split-rows__main{min-width:0;overflow:hidden;text-overflow:ellipsis;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.split-rows__main--strong{font-weight:500;color:var(--color-ink)}.split-rows__aside{flex-shrink:0;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.split-rows__lead{display:flex;min-width:0;align-items:center;gap:var(--space-8)}.meta-grid__price{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-6)}.meta-grid__was{font-size:var(--step-micro);color:var(--color-muted);opacity:.75;text-decoration:line-through}.meta-grid__promo-store{flex:1 1 100%;font-size:var(--step-micro);color:var(--color-muted)}.meta-grid__figure{display:inline-flex;align-items:baseline;font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.05;letter-spacing:-.03em}.meta-grid__figure small{font-family:var(--font-body);font-size:var(--step-micro);font-weight:700;letter-spacing:0;color:var(--color-muted)}.portion-stepper{display:inline-flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2)}.portion-stepper__btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:var(--radius-sm);background:#fff;color:var(--color-ink);font-size:var(--step-title);font-weight:500;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease}.portion-stepper__btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);background:color-mix(in srgb,var(--color-brand) 6%,#fff)}.portion-stepper__btn:disabled{opacity:.35;cursor:not-allowed}.portion-stepper__value{min-width:1.5rem;text-align:center;font-variant-numeric:tabular-nums}.ingredient-pref-toggle{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border-radius:var(--radius-pill);border:1px dashed color-mix(in srgb,var(--color-ink) 25%,transparent);background:transparent;font-size:var(--step-section);line-height:1;color:color-mix(in srgb,var(--color-ink) 35%,transparent);cursor:pointer;transition:border-color .15s ease,color .15s ease}.ingredient-pref-toggle:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand-dark)}.ingredient-pref-toggle:disabled{opacity:.5;cursor:not-allowed}.ingredient-pref-toggle--liked{border-color:transparent;color:var(--color-brand-dark)}.ingredient-pref-toggle--disliked{border-color:transparent;color:var(--color-tomato-ink)}.info-hint{position:relative;display:inline-flex}.info-hint-trigger{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;border:1px solid currentColor;border-radius:var(--radius-pill);background:transparent;font-size:var(--step-eyebrow);font-weight:700;line-height:1;color:inherit;opacity:.7;cursor:pointer;transition:opacity .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.info-hint-trigger:hover,.info-hint-trigger--open{opacity:1}.info-hint-trigger--open{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.info-hint-panel{position:absolute;right:0;top:1.5rem;z-index:30;display:block;width:22rem;max-width:min(22rem,calc(100vw - 2rem));padding:var(--space-12);text-align:left;font-size:var(--step-micro);font-weight:400;line-height:1.5;color:color-mix(in srgb,var(--color-ink) 75%,transparent);box-shadow:var(--elev-high);white-space:normal;overflow-wrap:break-word}.info-hint-title{margin:0 0 var(--space-6);font-weight:600;color:var(--color-ink)}.price-info-hero{margin:0 0 var(--space-12);padding-bottom:var(--space-10);border-bottom:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent)}.price-info-hero-main{margin:0;font-size:var(--step-title);font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--color-ink)}.price-info-hero-saving{display:inline-block;margin-left:var(--space-6);font-size:var(--step-micro);font-weight:600;color:var(--color-lemon-ink);vertical-align:middle}.price-info-hero-regular{margin:var(--space-2) 0 0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 50%,transparent);text-decoration:line-through;text-decoration-thickness:1px}.price-info-section-title{margin:0 0 var(--space-6);font-size:var(--step-eyebrow);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.price-info-lines{list-style:none;margin:0 0 var(--space-4);padding:0}.price-info-lines--promo{margin-bottom:var(--space-4)}.price-info-line+.price-info-line{margin-top:var(--space-6)}.price-info-line-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-8)}.price-info-line-main{flex:1 1 8rem;min-width:0}.price-info-star{color:var(--color-brand-dark)}.price-info-qty{color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.price-info-line-prices{display:inline-flex;flex-shrink:0;align-items:baseline;gap:var(--space-6);font-variant-numeric:tabular-nums}.price-info-line-price{flex-shrink:0;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.price-info-line-price--struck{text-decoration:line-through;text-decoration-thickness:1px;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.price-info-line-promo{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-tomato-ink)}.price-info-others-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-8);margin:0;padding:var(--space-4) 0;border:0;border-radius:var(--radius-sm);background:transparent;font:inherit;color:var(--color-brand-dark);cursor:pointer;text-align:left}.price-info-others-toggle:hover{text-decoration:underline}.price-info-others-toggle--plain{justify-content:flex-start;padding-top:var(--space-2);font-size:var(--step-eyebrow)}.price-info-legend{margin:0 0 var(--space-10);font-size:var(--step-eyebrow);line-height:1.4;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.price-info-muted{margin:0 0 var(--space-8);color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.price-info-banner{padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-ink) 5%,transparent)}.price-info-totals{display:grid;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-10);border-top:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);font-variant-numeric:tabular-nums}.price-info-total-row{display:flex;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap}.price-info-total-row>span:first-child{flex:1 1 8rem;min-width:0}.price-info-total-row--promo{color:var(--color-lemon-ink)}.price-info-total-row--promo-strong{font-weight:600}.price-info-total-value{font-weight:500;color:var(--color-ink)}.price-info-foot{margin:var(--space-6) 0 0;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.text-link{display:block;margin-top:var(--space-8);font-weight:500;color:var(--color-brand-dark);text-decoration:none}.text-link:hover{text-decoration:underline}.steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-12)}.steps-list>li{display:flex;gap:var(--space-14);font-size:var(--step-body);line-height:1.6}.steps-list__num{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-pill);background:var(--color-brand);color:#fff;font-family:var(--font-display);font-size:var(--step-body);font-weight:700;letter-spacing:-.02em}.steps-list__text{min-width:0;padding-top:var(--space-1)}.detail-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-20);margin-top:var(--space-12);padding:var(--space-20);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:radial-gradient(120% 140% at 8% 0%,color-mix(in srgb,var(--color-leaf) 9%,transparent),transparent 62%),var(--surface-sunken)}.detail-icon{display:none;flex-shrink:0;align-items:center;justify-content:center;padding:var(--space-16);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:var(--elev-low)}.detail-icon .produce-icon{width:4.5rem;height:4.5rem}.detail-icon-photo{display:block;flex:0 0 100%;padding:0;overflow:hidden;background:var(--surface-sunken)}.detail-icon-photo img{display:block;width:100%;height:auto;max-height:13rem;object-fit:cover}@media(min-width:640px){.detail-icon-photo{flex:0 0 auto}.detail-icon-photo img{width:15rem;height:11.25rem;max-height:none}}@media(min-width:1024px){.detail-icon-photo img{width:20rem;height:15rem}}.detail-head{min-width:0;flex:1}.detail-head .recipe-badges{margin-bottom:var(--space-8)}.detail-title{margin:0;min-width:0;flex:1 1 12rem;font-family:var(--font-display);font-size:var(--step-display);font-weight:800;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}.inline-note{margin:var(--space-16) 0 0;font-size:var(--step-body)}.inline-note strong,.inline-note-label{font-weight:500}.member-list{list-style:none;margin:0;padding:0}.member-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-8) 0;border-top:1px solid var(--color-border)}.member-row:first-child{border-top:none}.banner{padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);font-size:var(--step-body)}.banner.success{border:1px solid color-mix(in srgb,var(--color-leaf) 40%,transparent);background:color-mix(in srgb,var(--color-leaf) 10%,transparent);color:var(--color-brand-dark)}.banner.warning{border:1px solid color-mix(in srgb,var(--color-lemon) 60%,transparent);background:color-mix(in srgb,var(--color-lemon) 12%,transparent);color:var(--color-lemon-ink)}.empty-state{padding:var(--space-24) var(--space-16);text-align:center;color:var(--color-muted)}.empty-state-text{margin:0}.empty-state-cta{margin-top:var(--space-12)}.onboarding-banner p{margin:var(--space-4) 0 0}.onboarding-banner-cta{display:inline-block;margin-top:var(--space-12)}.load-error-banner p{margin:var(--space-4) 0 0}.load-error-retry{display:inline-block;margin-top:var(--space-12)}.banner-info{border:1px solid color-mix(in srgb,var(--color-brand) 25%,transparent);background:color-mix(in srgb,var(--color-brand) 5%,transparent);color:var(--color-brand-dark)}.banner-link{margin-left:var(--space-4);font-weight:500;text-decoration:underline;text-underline-offset:2px;color:inherit}.banner-link:hover{opacity:.85;text-decoration:underline}.chain-switcher{position:relative;display:inline-flex;vertical-align:baseline}.chain-switcher--chip{display:flex;width:100%;margin:0 0 var(--space-16)}.chain-switcher--chip .chain-switcher-trigger{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-6) var(--space-8);width:100%;padding:var(--space-10) var(--space-14);border:1px solid color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-brand) 5%,transparent);font:inherit;font-size:var(--step-body);color:var(--color-brand-dark);text-align:left;cursor:pointer}.chain-switcher--chip .chain-switcher-trigger:hover{background:color-mix(in srgb,var(--color-brand) 9%,transparent)}.chain-switcher-trigger.is-disabled,.chain-switcher-trigger:disabled{opacity:.55;cursor:not-allowed}.chain-switcher--chip .chain-switcher-trigger:disabled:hover{background:color-mix(in srgb,var(--color-brand) 5%,transparent)}.chain-switcher-trigger-action{margin-left:auto;font-weight:500;text-decoration:underline;text-underline-offset:2px}.chain-switcher--banner .chain-switcher-trigger{margin-left:var(--space-4);padding:0;border:none;background:none;font:inherit;cursor:pointer}.chain-switcher-panel{position:absolute;left:0;top:calc(100% + .35rem);z-index:50;width:min(22rem,calc(100vw - 2rem));padding:var(--space-14) var(--space-16) var(--space-12);border:1px solid color-mix(in srgb,var(--color-brand) 15%,transparent);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--elev-high)}.chain-switcher-title{margin:0 0 var(--space-10);font-size:var(--step-meta);font-weight:600;color:var(--color-brand-dark)}.chain-switcher-grid{margin-bottom:var(--space-8)}.chain-switcher-pill{width:100%;justify-content:center;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);background:#fff;font:inherit;text-align:center}.chain-switcher-pill--active{border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 7%,#fff)}.chain-switcher-pill:disabled{opacity:.65;cursor:wait}.chain-switcher-branch{display:grid;gap:var(--space-8);margin-top:var(--space-8)}.chain-switcher-branch .pref-combobox{max-width:none}.chain-switcher-hint{margin:0;font-size:var(--step-meta);color:var(--color-muted)}.chain-switcher-error{margin:0 0 var(--space-8);font-size:var(--step-meta);color:var(--color-tomato-ink)}.chain-switcher-loyalty,.chain-switcher-small-store{display:grid;gap:var(--space-6);margin-top:var(--space-8)}.chain-switcher-loyalty .pref-pill,.chain-switcher-small-store .pref-pill{justify-self:start}.chain-switcher-save{display:block;width:fit-content;margin-top:var(--space-10)}.chain-switcher-settings{display:inline-block;margin-top:var(--space-12);font-size:var(--step-meta);color:color-mix(in srgb,var(--color-ink) 55%,transparent);text-decoration:underline;text-underline-offset:2px}.chain-switcher-settings:hover{color:var(--color-brand-dark)}.detail-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-12) var(--space-16);min-width:0}.offer-toggle.detail-selection-toggle,.detail-selection-toggle{margin-top:var(--space-12);width:fit-content;padding:var(--space-8) var(--space-24);font-size:var(--step-meta);font-weight:600}.detail-guest-save{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6) var(--space-12);margin-top:var(--space-12)}.detail-guest-save-note{flex:1 1 16rem;margin:0;font-size:var(--step-body);color:var(--color-muted)}.detail-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:var(--space-8);max-width:100%;min-width:0}@media(max-width:640px){.detail-actions{width:100%;gap:var(--space-6)}.detail-action-btn{padding:var(--space-4) var(--space-10);font-size:var(--step-meta)}.detail-actions{position:relative}.detail-action-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.detail-action-btn{display:inline-flex;align-items:center;gap:var(--space-6);max-width:100%;padding:var(--space-6) var(--space-12);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-md);background:#fff;font:inherit;font-size:var(--step-body);font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.detail-action-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-brand) 40%,transparent);color:var(--color-brand-dark)}.detail-action-btn:disabled{opacity:.6;cursor:not-allowed}.detail-action-btn--active,.detail-action-btn--saved{border-color:color-mix(in srgb,var(--color-brand) 40%,transparent);background:color-mix(in srgb,var(--color-brand) 10%,transparent);color:var(--color-brand-dark)}.detail-action-btn--saved{border-color:color-mix(in srgb,var(--color-tomato) 40%,transparent);background:color-mix(in srgb,var(--color-tomato) 10%,transparent);color:var(--color-tomato-ink)}.detail-action-btn--saved:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-tomato) 40%,transparent);color:var(--color-tomato-ink)}.invite-code{font-family:ui-monospace,monospace;font-size:var(--step-title);letter-spacing:.2em;font-weight:700}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:center}.join-input{width:8rem;padding:var(--space-8) var(--space-10);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-lg);font-family:ui-monospace,monospace;text-transform:uppercase;letter-spacing:.15em}.pref-subtitle{margin:0 0 var(--space-8);font-size:var(--step-body);font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.pref-page{max-width:42rem;margin:0 auto}.produce-icon{width:3rem;height:3rem}@media(min-width:640px){.detail-icon{display:inline-flex}.meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.content-columns{grid-template-columns:1fr 1.4fr}}.legal-page{max-width:42rem}.legal-prose{padding:var(--space-20) var(--space-20) var(--space-24);display:flex;flex-direction:column;gap:var(--space-12)}.legal-prose h2{margin:var(--space-16) 0 var(--space-4);font-size:var(--step-section);font-weight:600}.legal-prose h2:first-child{margin-top:0}.legal-prose p,.legal-prose li{font-size:var(--step-body);line-height:1.55;color:color-mix(in srgb,var(--color-ink) 82%,transparent)}.legal-prose ul{margin:0;padding-left:var(--space-20)}.legal-table{width:100%;border-collapse:collapse;font-size:var(--step-meta);margin:var(--space-4) 0 var(--space-8)}.legal-table th,.legal-table td{border:1px solid var(--color-border);padding:var(--space-8) var(--space-8);text-align:left;vertical-align:top}.legal-table th{background:color-mix(in srgb,var(--color-brand) 6%,transparent);font-weight:600}.legal-callout{border:1px solid var(--color-border);border-left:3px solid var(--color-brand);border-radius:var(--radius-md);padding:var(--space-12) var(--space-14);background:color-mix(in srgb,var(--color-brand) 4%,transparent)}.legal-updated{margin-top:var(--space-16);font-size:var(--step-micro);opacity:.65}button.linkish{display:inline;padding:0;border:none;background:none;color:var(--color-brand-dark);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit}.consent-banner{position:fixed;inset-inline:0;bottom:calc(3.75rem + env(safe-area-inset-bottom,0px));z-index:50;padding:var(--space-12) var(--space-16);background:color-mix(in srgb,#fff 96%,transparent);border-top:1px solid var(--color-border);box-shadow:var(--elev-bar)}.consent-banner-inner{max-width:64rem;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-12)}@media(min-width:640px){.consent-banner{bottom:0;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.consent-banner-inner{flex-direction:row;align-items:center;justify-content:space-between}}.consent-banner-text{margin:0;font-size:var(--step-meta);line-height:1.45;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.consent-banner-actions{display:flex;flex-shrink:0;gap:var(--space-8)}.consent-btn{white-space:nowrap}.verify-banner{border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-cream) 70%,#f3e6c8);padding:var(--space-12) 0}.verify-banner-inner{display:flex;flex-wrap:wrap;gap:var(--space-10) var(--space-16);align-items:center;justify-content:space-between}.verify-banner-text{margin:0;flex:1 1 16rem;font-size:var(--step-body);line-height:1.4}.verify-banner-error{margin:0;flex-basis:100%;color:#9b2226;font-size:var(--step-meta)}.verify-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-12);align-items:center}.verify-banner-dismiss{border:0;background:transparent;cursor:pointer;padding:0;font:inherit;font-size:var(--step-meta);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.account-danger{padding:var(--space-20);border:1px solid color-mix(in srgb,#b33 35%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,#b33 4%,transparent)}.account-danger h2{margin:0 0 var(--space-8);font-size:var(--step-section)}.account-danger p{margin:0 0 var(--space-12);font-size:var(--step-body);line-height:1.45}.account-danger-confirm{display:flex;flex-direction:column;gap:var(--space-8);max-width:20rem}.btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);border:1px solid #a33;background:#a33;color:#fff;font-weight:550;cursor:pointer}.btn-danger:hover:not(:disabled){background:#8c2a2a}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.pref-consent{margin-top:var(--space-12);display:flex;gap:var(--space-8);align-items:flex-start;font-size:var(--step-meta);line-height:1.4;color:color-mix(in srgb,var(--color-ink) 78%,transparent)}.pref-consent input{margin-top:var(--space-2);flex-shrink:0}.list-section{display:flex;align-items:center;gap:var(--space-10);margin-bottom:var(--space-8)}.list-section-label{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--color-brand);white-space:nowrap}.list-section-rule{flex:1;height:0;min-width:1rem;border-top:1px solid var(--color-border)}.list-section-count{flex-shrink:0;font-size:var(--step-eyebrow);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-muted)}.btn-quiet{display:inline-flex;align-items:center;gap:var(--space-4);padding:0;border:none;background:none;font:inherit;font-size:var(--step-meta);font-weight:500;color:var(--color-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--color-ink) 25%,transparent);cursor:pointer;transition:color var(--motion-lift)}.btn-quiet:hover:not(:disabled){color:var(--color-brand-dark)}.btn-quiet:disabled{opacity:.5;cursor:not-allowed}.board{padding:var(--space-24) var(--space-24) var(--space-20);border-radius:var(--radius-card);background:var(--wash-board),var(--surface-board);color:var(--on-board);box-shadow:var(--elev-low)}.board .eyebrow{color:var(--on-board-accent)}.board .eyebrow-dot{background:var(--on-board-accent)}.board-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-12)}.board-headline{margin:0;font-family:var(--font-display);font-size:var(--step-display);font-weight:700;line-height:1.05;letter-spacing:-.02em;text-wrap:balance}.board-lead{margin:var(--space-10) 0 0;max-width:42ch;color:var(--on-board-muted)}.board .btn-primary,.board a.btn-primary,.board a.btn-primary:hover{background:var(--on-board);color:var(--color-brand-dark)}.board .btn-primary:hover:not(:disabled),.board a.btn-primary:hover{background:#fff}.board .btn-secondary,.board a.btn-secondary{border-color:var(--on-board-border);background:color-mix(in srgb,#ffffff 8%,transparent);color:var(--on-board)}.board .btn-secondary:hover:not(:disabled),.board a.btn-secondary:hover{border-color:color-mix(in srgb,#ffffff 30%,transparent);color:#fff}.board-actions{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-16)}.board-cta{display:inline-flex;align-items:center;text-decoration:none}.board-ledger{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-14) var(--space-24);margin-top:var(--space-18);padding-top:var(--space-14);border-top:1px solid var(--on-board-border)}.board-figure{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.board-figure-label{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-board-muted)}.board-figure-value{display:flex;align-items:baseline;gap:var(--space-4);font-family:var(--font-display);font-size:var(--step-figure);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--color-lemon)}.board-figure-value small{font-family:var(--font-body);font-size:var(--step-section);font-weight:700;letter-spacing:0}.board-facts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-8) var(--space-20);margin:0;min-width:0;text-align:right}.board-facts:only-child,.board-facts:only-child dd{justify-content:flex-start;text-align:left}.board-facts dt{font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--on-board-muted)}.board-facts dd{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-4);margin:var(--space-2) 0 0;font-size:var(--step-meta);color:var(--on-board)}.board-facts strong{font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.board-share{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-6);margin-top:var(--space-2);padding:var(--space-4) var(--space-12);border:1px solid var(--on-board-border);border-radius:var(--radius-pill);background:color-mix(in srgb,#ffffff 8%,transparent);font:inherit;font-size:var(--step-micro);font-weight:500;color:var(--on-board-muted);cursor:pointer;white-space:nowrap;transition:background var(--motion-lift),color var(--motion-lift)}.board-share:hover:not(:disabled){background:color-mix(in srgb,#ffffff 16%,transparent);color:var(--on-board)}.board-share:disabled{opacity:.6;cursor:not-allowed}.board-stale,.board .error{color:#ffb4a8}.board-stale{margin:var(--space-10) 0 0;font-size:var(--step-micro)}.board-share-error{margin:var(--space-8) 0 0}@media(max-width:480px){.board-ledger{align-items:flex-start}.board-facts{justify-content:flex-start;text-align:left}.board-facts dd{justify-content:flex-start}}.board-pending{margin:var(--space-12) 0 0;font-size:var(--step-micro);color:var(--on-board-muted)}.builder-choice,.builder-shortcut,.promo-hero-chip{transition:transform var(--motion-lift),box-shadow var(--motion-lift),border-color var(--motion-lift)}.builder-choice:hover,.builder-shortcut:hover,.promo-hero-chip:hover{transform:translateY(-2px);box-shadow:var(--elev-low)}.builder-choice:active,.builder-shortcut:active,.promo-hero-chip:active{transform:translateY(0);box-shadow:none}@keyframes motion-confirm-pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes motion-count-bump{0%{transform:translateY(.28em) scale(.88);opacity:.2}70%{transform:translateY(-.04em) scale(1.02);opacity:1}to{transform:none;opacity:1}}.is-counting{animation:motion-count-bump var(--motion-count) both}.leaflet-horizon{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-12);align-items:start;padding:var(--space-14) var(--space-16);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-lemon) 12%,var(--surface-sunken))}.leaflet-horizon-icon{margin-top:var(--space-1);color:var(--color-lemon-ink)}.leaflet-horizon-headline{margin:0;font-weight:700;font-size:var(--step-body);color:var(--color-ink)}.leaflet-horizon-text{margin:var(--space-4) 0 0;font-size:var(--step-meta);line-height:1.45;color:var(--color-muted)}.leaflet-horizon-choice{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-12)}.leaflet-horizon-option{padding:var(--space-6) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--surface-raised);font:inherit;font-size:var(--step-meta);color:var(--color-ink);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.leaflet-horizon-option:hover{border-color:color-mix(in srgb,var(--color-brand) 30%,transparent)}.leaflet-horizon-option[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-8);font-size:var(--step-micro);font-weight:600}.badge-ok{background:color-mix(in srgb,var(--color-leaf) 15%,transparent);color:var(--color-brand-dark)}.badge-partial{background:color-mix(in srgb,var(--color-lemon) 25%,transparent);color:var(--color-lemon-ink)}.badge-error{background:#fff5f5;color:#9b2226}.badge-running,.badge-dry_run{background:#f0f0f0;color:var(--color-muted)}.recipe-grid{display:grid;grid-template-columns:1fr;gap:var(--space-16)}.recipe-card{display:flex;flex-direction:column;height:100%;transition:border-color var(--motion-lift),box-shadow var(--motion-lift),transform var(--motion-lift)}@media(hover:hover){.recipe-card:hover{border-color:var(--color-brand);box-shadow:var(--elev-high);transform:translateY(-2px)}}.recipe-card-head{display:flex;align-items:flex-start;gap:var(--space-12)}.recipe-card-headline{min-width:0;flex:1}.recipe-card-photo{display:block;flex:0 0 50%;max-width:10rem;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-sunken);aspect-ratio:4 / 3}.recipe-card-photo img{display:block;width:100%;height:100%;object-fit:cover}.recipe-badges{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.recipe-title{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}.recipe-title a{color:inherit;text-decoration:none}.recipe-title a:hover{text-decoration:underline}.recipe-price{display:flex;flex-direction:column;align-items:flex-end;min-width:0;text-align:right}.recipe-price-line{display:flex;align-items:baseline;gap:var(--space-4)}.recipe-price-was{font-size:var(--step-micro);color:var(--color-muted);opacity:.75;text-decoration:line-through}.recipe-price-value{display:flex;align-items:baseline;font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--color-ink);white-space:nowrap}.recipe-price-value small{font-family:var(--font-body);font-size:var(--step-micro);font-weight:700;letter-spacing:0;color:var(--color-muted)}.recipe-price-unit{display:inline-flex;align-items:center;gap:var(--space-4);margin-top:calc(var(--space-2) * -1);font-size:var(--step-micro);line-height:1.3;color:var(--color-muted);white-space:nowrap}.meta{color:var(--color-muted);font-size:var(--step-micro)}.recipe-card-footer{margin-top:auto}.recipe-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-8);margin-bottom:var(--space-6)}.recipe-facts-meta{margin:var(--space-4) 0 var(--space-8);font-size:var(--step-micro);color:var(--color-muted)}.recipe-card-action{display:flex;align-items:center;gap:var(--space-8);margin-top:var(--space-12)}.recipe-card-fav{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--color-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.recipe-card-fav:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-tomato) 40%,transparent);color:var(--color-tomato-ink)}.recipe-card-fav.is-saved{border-color:color-mix(in srgb,var(--color-tomato) 40%,transparent);background:color-mix(in srgb,var(--color-tomato) 8%,var(--surface-raised));color:var(--color-tomato-ink)}.recipe-card-fav:disabled{cursor:default;opacity:.6}.offer-promos{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:var(--space-12) 0 var(--space-8)}.promo-chip-tag{display:inline-flex;max-width:100%;flex-wrap:wrap;align-items:baseline;gap:var(--space-6) var(--space-8);padding:var(--space-4) var(--space-8);border:1px solid var(--border-promo);border-radius:var(--radius-sm);background:var(--surface-promo-chip);font-size:var(--step-micro);line-height:1.35;color:color-mix(in srgb,var(--color-ink) 72%,transparent)}.promo-chip-tag-label{min-width:0;overflow-wrap:anywhere}.promo-chip-tag-price{display:inline-flex;flex-shrink:0;align-items:baseline;gap:var(--space-4);font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-tomato-ink)}.promo-chip-tag-was{text-decoration:line-through;font-weight:400;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.promo-chip-tag-now{font-weight:600}.promo-chip-tag-now.is-counting{display:inline-block}.promo-chip-tag-form{flex-shrink:0;padding:var(--space-1) var(--space-6);border:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent);border-radius:var(--radius-pill);font-size:.85em;font-weight:600;letter-spacing:.01em;color:var(--color-muted)}.promo-chip-tag-chain{flex-shrink:0;padding:var(--space-1) var(--space-6);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-leaf) 14%,transparent);font-size:.85em;font-weight:600;letter-spacing:.01em;color:color-mix(in srgb,var(--color-ink) 75%,transparent)}.promo-chip-tag-loyalty{flex-shrink:0;font-weight:500;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.recipe-card-selected{border-width:2px;border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 5%,transparent)}.offer-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);width:100%;padding:var(--space-6) var(--space-12);border-radius:var(--radius-md);border:none;background:var(--color-brand);color:#fff;font-size:var(--step-body);font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}.offer-toggle:focus{outline:none}.offer-toggle:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.offer-toggle:hover:not(:disabled):not(.selected){background:var(--color-brand-dark)}.offer-toggle.selected{border:1px solid color-mix(in srgb,var(--color-brand) 40%,transparent);background:color-mix(in srgb,var(--color-leaf) 10%,#fff);color:var(--color-brand-dark)}.offer-toggle.selected:focus,.offer-toggle.selected:focus-visible{background:color-mix(in srgb,var(--color-leaf) 14%,#fff);color:var(--color-brand-dark);outline:2px solid var(--color-leaf);outline-offset:2px}.offer-toggle.selected:hover:not(:disabled){border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 16%,#fff);color:var(--color-brand-dark)}.offer-toggle:disabled{opacity:.6;cursor:not-allowed}.recipe-variants{margin:var(--space-2) 0 0;font-size:var(--step-meta);color:var(--color-accent, #6b5b3e);font-weight:600}.variant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-6)}.variant-list a{color:var(--color-link, inherit);text-decoration:none}.variant-list a:hover{text-decoration:underline}.recipe-card-skeleton{height:9rem;background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand) 4%,#fff),color-mix(in srgb,var(--color-brand) 9%,#fff),color-mix(in srgb,var(--color-brand) 4%,#fff));background-size:200% 100%;animation:recipe-skeleton-shimmer 1.4s ease-in-out infinite}@keyframes recipe-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.recipe-card-skeleton{animation:none}}.ingredient-builder-cta{margin-bottom:var(--space-16)}.ingredient-back{margin-top:var(--space-20)}.recipe-report-anchor{position:relative}.recipe-report{display:grid;gap:var(--space-10);padding:var(--space-14);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-raised, #fff);box-shadow:var(--elev-low);position:absolute;z-index:20;top:calc(100% + .4rem);right:0;width:min(24rem,78vw);text-align:left}@media(max-width:640px){.recipe-report-anchor{position:static}.recipe-report{left:0;right:0;width:auto}}.recipe-report .field textarea,.recipe-report .field select{width:100%}.recipe-report-actions{display:flex;flex-wrap:wrap;gap:var(--space-8)}.recipe-report-done{margin:var(--space-6) 0 0;font-size:var(--step-micro);color:var(--color-muted)}.store-pricing{margin-top:var(--space-12);padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);background:var(--surface-sunken)}.store-pricing__summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-8);cursor:pointer;list-style:none}.store-pricing__summary::-webkit-details-marker{display:none}.store-pricing__summary:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-leaf);outline-offset:3px}.store-pricing__chevron{flex-shrink:0;color:var(--color-muted);transition:transform var(--motion-enter)}.store-pricing[open] .store-pricing__chevron{transform:rotate(90deg)}.store-pricing__title{font-size:var(--step-body);font-weight:600}.store-pricing__lead{flex:1 1 100%;min-width:0;font-size:var(--step-meta);color:var(--color-muted)}.store-pricing[open] .store-pricing__lead{display:none}.store-pricing__body{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--color-border)}.store-pricing__list{list-style:none;margin:0;padding:0}.store-pricing__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-8);padding:var(--space-6) 0}.store-pricing__row+.store-pricing__row{border-top:1px solid var(--color-border)}.store-pricing__name{min-width:0;font-size:var(--step-body);font-weight:600}.store-pricing__badge{display:inline-block;margin-left:var(--space-6);padding:var(--space-1) var(--space-6);border:1px solid var(--border-promo);border-radius:var(--radius-pill);background:var(--surface-promo-chip);font-size:var(--step-micro);font-weight:600;color:var(--ink-promo-label);white-space:nowrap}.store-pricing__figure{font-size:var(--step-section);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.store-pricing__figure small{font-size:var(--step-micro);font-weight:600;color:var(--color-muted)}.store-pricing__outside{margin:var(--space-10) 0 0;padding-top:var(--space-10);border-top:1px solid var(--color-border)}.store-pricing__note{margin:var(--space-10) 0 0}.store-pricing__outside+.store-pricing__note{margin-top:var(--space-4)}@media(prefers-reduced-motion:reduce){.store-pricing__chevron{transition:none}}.plan-form{display:grid;gap:var(--space-12);max-width:24rem;margin-bottom:var(--space-24)}.plan-header{display:flex;justify-content:space-between;gap:var(--space-16);align-items:flex-start;margin-bottom:var(--space-16)}.plan-meta{margin:0;font-size:var(--step-body)}.plan-meta.subtle{color:var(--color-muted)}.plan-summary-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-24);padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-leaf) 7%,transparent);font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.plan-actions{margin-bottom:var(--space-16)}.cooked-toggle{display:inline-flex;align-items:center;gap:var(--space-4);padding:0;border:none;background:none;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}.cooked-toggle:hover{color:var(--color-brand-dark)}.cooked-toggle-chevron{flex-shrink:0;transition:transform var(--motion-lift)}.cooked-toggle-chevron.is-open{transform:rotate(90deg)}.cooked-note{margin-top:var(--space-8)}.plan-sweep-cooked{flex-shrink:0;padding:var(--space-6) var(--space-12);font-size:var(--step-meta)}@media(prefers-reduced-motion:reduce){.cooked-toggle-chevron{transition:none}}.alt-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-12)}.alt-card{display:flex;flex-direction:column;gap:var(--space-8)}.alt-header{display:flex;justify-content:space-between;gap:var(--space-16);align-items:center}.alt-title{margin:0;font-size:var(--step-title)}.alt-promos{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:0}.offer-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-12);margin-bottom:var(--space-20)}.offer-filters .field{min-width:10rem}.offer-loyalty-note{flex-basis:100%;display:flex;align-items:center;gap:var(--space-6);margin:0;font-size:var(--step-meta);color:var(--color-muted)}.chain-hub{display:flex;flex-direction:column;gap:var(--space-16);margin-bottom:var(--space-20)}.chain-hub-grid{display:grid;gap:var(--space-12);grid-template-columns:1fr}.chain-hub-card{display:grid;gap:var(--space-4);padding:var(--space-14) var(--space-16);border:1px solid var(--border-card);border-radius:var(--radius-card);background:var(--color-card);text-decoration:none;color:inherit}.chain-hub-card:hover,.chain-hub-card:focus-visible{border-color:var(--color-brand);background:var(--wash-brand),var(--surface-raised);text-decoration:none}.chain-hub-card-name{font-size:var(--step-micro);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand-dark)}.chain-hub-card-title{font-family:var(--font-display);font-size:var(--step-section);font-weight:700;line-height:1.3}.chain-hub-loading{margin:0;font-size:var(--step-body);color:var(--color-muted)}@media(min-width:640px){.chain-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.active-plan-section{margin-bottom:var(--space-24)}.active-plan-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-12)}.offer-section-title{margin-bottom:var(--space-12)}.offer-cta{margin-top:var(--space-24);padding:var(--space-16);text-align:center;background:color-mix(in srgb,var(--color-leaf) 7%,transparent);border-color:color-mix(in srgb,var(--color-leaf) 20%,transparent)}.offer-cta p{margin:0 0 var(--space-12);font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.has-selection-dock{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.has-selection-dock:has(.plan-selection-dock.is-expanded){padding-bottom:calc(100dvh - 5rem)}.plan-selection-dock{position:fixed;inset-inline:0;bottom:calc(3.25rem + env(safe-area-inset-bottom,0px));z-index:35;margin-inline:var(--space-12);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--elev-high);border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);overflow:hidden}.plan-selection-dock.is-expanded{display:flex;flex-direction:column;max-height:calc(100dvh - 4.25rem - env(safe-area-inset-bottom,0px))}.plan-selection-bar{display:flex;flex-shrink:0;align-items:center;gap:var(--space-12);padding:var(--space-10) var(--space-12);order:2}.plan-selection-panel{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;order:1;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent)}.plan-selection-toggle{display:inline-flex;flex:1;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:2.75rem;padding:var(--space-8) var(--space-12);border:none;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-leaf) 8%,transparent);font:inherit;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 75%,transparent);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-selection-toggle:focus{outline:none}.plan-selection-toggle:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.plan-selection-toggle .is-flipped{transform:rotate(180deg)}.plan-selection-confirm{flex-shrink:0;min-height:2.75rem;white-space:nowrap}.plan-selection-panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-12);-webkit-overflow-scrolling:touch}.plan-selection-panel-footer{flex-shrink:0;padding:var(--space-8) var(--space-12) var(--space-12);border-top:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent);background:#fff}.plan-selection-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6)}.plan-selection-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-12);padding:var(--space-8) var(--space-10);border-radius:var(--radius-lg);font-size:var(--step-body)}.plan-selection-item--add{background:color-mix(in srgb,var(--color-leaf) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-leaf) 22%,transparent)}.plan-selection-item--remove{background:color-mix(in srgb,var(--color-tomato) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-tomato) 18%,transparent)}.plan-selection-item-label{display:inline-flex;align-items:baseline;gap:var(--space-6);min-width:0}.plan-selection-item-label.add .plan-selection-sign{color:var(--color-brand-dark)}.plan-selection-item-label.remove .plan-selection-sign{color:var(--color-tomato-ink)}.plan-selection-sign{flex-shrink:0;font-weight:700}.plan-selection-undo{flex-shrink:0;min-height:2.25rem;padding:var(--space-4) var(--space-10);border:none;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-ink) 5%,transparent);font:inherit;font-size:var(--step-meta);font-weight:500;color:var(--color-brand-dark);cursor:pointer}.plan-selection-hint{margin:var(--space-10) 0 0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.plan-selection-panel-footer .plan-selection-hint{margin-top:0}.plan-selection-discard{margin-top:var(--space-6);border:none;background:none;font:inherit;font-size:var(--step-meta);font-weight:500;color:color-mix(in srgb,var(--color-ink) 45%,transparent);cursor:pointer;text-decoration:underline}.plan-selection-section{margin-top:var(--space-12);padding-bottom:var(--space-4)}.plan-selection-section:first-child{margin-top:var(--space-8)}.plan-selection-section-title{margin:0 0 var(--space-6);font-size:var(--step-micro);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.plan-selection-section-title--add{color:var(--color-brand-dark)}.plan-selection-section-title--remove{color:var(--color-tomato-ink)}.plan-selection-section-meta{font-weight:500;text-transform:none;letter-spacing:normal;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-meal-groups{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-10)}.plan-selection-meal-group{display:grid;gap:var(--space-4)}.plan-selection-ingredient-nest{list-style:none;margin:0;padding:0 0 0 var(--space-20);display:grid;gap:var(--space-4)}.plan-selection-ingredient-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);padding:var(--space-6) var(--space-8);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-ink) 3%,transparent);font-size:var(--step-meta)}.plan-selection-ingredient-row.is-remove{background:color-mix(in srgb,var(--color-tomato) 5%,transparent)}.plan-selection-ingredient-row.is-shared .plan-selection-ingredient-name{color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.plan-selection-ingredient-row.is-excluded .plan-selection-ingredient-name{color:color-mix(in srgb,var(--color-ink) 40%,transparent);text-decoration:line-through}.plan-selection-ingredient-row-main{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.plan-selection-ingredient-name{font-weight:500;color:color-mix(in srgb,var(--color-ink) 75%,transparent)}.plan-selection-ingredient-note{font-size:var(--step-eyebrow);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-ingredient-excluded{flex-shrink:0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-ingredient-kept{flex-shrink:0;font-size:var(--step-micro);font-weight:500;color:var(--color-brand-dark)}.plan-selection-ingredient-row.is-kept{background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.plan-selection-keep-ing{flex-shrink:0;min-height:2.25rem;padding:var(--space-4) var(--space-10);border:1px solid color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:var(--radius-pill);background:#fff;font:inherit;font-size:var(--step-micro);font-weight:500;color:var(--color-brand-dark);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-selection-keep-ing.active{border-color:color-mix(in srgb,var(--color-brand) 45%,transparent);background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.plan-selection-keep-ing:focus{outline:none}.plan-selection-keep-ing:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.plan-selection-hint--top{margin-top:var(--space-4)}.plan-selection-hint--standalone{margin-top:var(--space-12)}.plan-selection-ingredient-group{margin-top:var(--space-10)}.plan-selection-ingredient-group:first-of-type{margin-top:var(--space-6)}.plan-selection-subtitle{margin:0 0 var(--space-6);font-size:var(--step-meta);font-weight:600;color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.plan-selection-subtitle--add{color:var(--color-brand-dark)}.plan-selection-subtitle--remove{color:var(--color-tomato-ink)}.plan-selection-item-main{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.plan-selection-delta{margin-left:var(--space-6);font-weight:700}.plan-selection-delta--add{color:var(--color-brand-dark)}.plan-selection-delta--remove{color:var(--color-tomato-ink)}.plan-selection-delta-label{margin-left:var(--space-4);font-weight:500;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.plan-selection-ingredients{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6)}.plan-selection-ingredient{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-12);padding:var(--space-8) var(--space-10);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-ink) 3%,transparent)}.plan-selection-ingredient-main{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.plan-selection-ingredient-name{font-size:var(--step-body);font-weight:500;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.plan-selection-ingredient-name.is-removed{color:color-mix(in srgb,var(--color-ink) 40%,transparent);text-decoration:line-through}.plan-selection-ingredient-from{font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-remove-ing{flex-shrink:0;min-height:2.25rem;padding:var(--space-4) var(--space-10);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-pill);background:#fff;font:inherit;font-size:var(--step-micro);font-weight:500;color:var(--color-brand-dark);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-selection-remove-ing.active{border-color:color-mix(in srgb,var(--color-ink) 20%,transparent);background:color-mix(in srgb,var(--color-ink) 6%,transparent);color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.plan-selection-remove-ing:focus{outline:none}.plan-selection-remove-ing:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.plan-leave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-16);background:color-mix(in srgb,var(--color-ink) 35%,transparent)}.plan-leave-dialog{width:min(100%,22rem);padding:var(--space-20);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--elev-high)}.plan-leave-title{margin:0 0 var(--space-8);font-size:var(--step-title)}.plan-leave-desc{margin:0 0 var(--space-16);font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.plan-leave-actions{display:flex;flex-direction:column;gap:var(--space-8)}.plan-leave-cancel{min-height:2.5rem;border:none;background:none;font:inherit;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 55%,transparent);cursor:pointer;text-decoration:underline}.recipe-card-pending:not(.recipe-card-selected){outline:2px dashed color-mix(in srgb,var(--color-brand) 35%,transparent);outline-offset:-2px}@media(min-width:640px){.has-selection-dock{padding-bottom:6rem}.has-selection-dock:has(.plan-selection-dock.is-expanded){padding-bottom:calc(100dvh - 3rem)}.plan-selection-dock{bottom:1rem;max-width:36rem;margin-inline:auto;left:0;right:0}.plan-selection-dock.is-expanded{max-height:calc(100dvh - 2rem)}}@media(prefers-reduced-motion:reduce){.plan-selection-dock{box-shadow:var(--elev-low)}}.plan-list{list-style:none;margin:0;padding:0;overflow:hidden}.plan-row.is-praised{animation:plan-row-praise var(--motion-praise) both}@keyframes plan-row-praise{0%{background:transparent;box-shadow:inset 0 0 0 0 var(--color-leaf)}22%{background:color-mix(in srgb,var(--color-leaf) 32%,transparent);box-shadow:inset 4px 0 0 0 var(--color-leaf)}to{background:color-mix(in srgb,var(--color-leaf) 22%,transparent);box-shadow:inset 4px 0 0 0 var(--color-leaf)}}.plan-row.is-praised .plan-row-cook svg{animation:plan-row-check-pop var(--motion-praise) both}@keyframes plan-row-check-pop{0%{transform:scale(.5)}45%{transform:scale(1.45)}to{transform:scale(1)}}.plan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-8) var(--space-16);padding:var(--space-14) var(--space-16);border-top:1px solid var(--color-border)}.plan-row.has-check{grid-template-columns:auto minmax(0,1fr) auto}.plan-row-check{grid-column:1;grid-row:1;align-self:start}.plan-row.has-check .plan-row-main{grid-column:2}.plan-row.has-check .plan-row-price{grid-column:3}.plan-row.has-check .plan-row-actions{grid-column:2 / -1}.plan-row:first-child{border-top:none}.plan-row-main{grid-column:1;min-width:0}.plan-row-title{margin:0;font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}.plan-row-title a{color:inherit;text-decoration:none}.plan-row-title a:hover{text-decoration:underline;text-underline-offset:3px}.plan-row-meta{margin:var(--space-4) 0 0;font-size:var(--step-meta);color:var(--color-muted)}.plan-row-sep{margin:0 var(--space-4);opacity:.45}.plan-row-meta-part{white-space:nowrap}.plan-row-price{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;min-width:0;text-align:right}.plan-row-price-was{font-size:var(--step-micro);color:var(--color-muted);opacity:.75}.plan-row-price-value{display:flex;align-items:baseline;font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.05;letter-spacing:-.03em;white-space:nowrap}.plan-row-price-value small{font-family:var(--font-body);font-size:var(--step-micro);font-weight:700;letter-spacing:0;color:var(--color-muted)}.plan-row-price-unit{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--step-micro);color:var(--color-muted)}.plan-row-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-14);margin-top:var(--space-2)}.plan-row-cook{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:calc(var(--space-8) * -1) 0 0 calc(var(--space-12) * -1);padding:0;border:none;background:none;cursor:pointer;color:inherit}.plan-row-cook:disabled{opacity:.5;cursor:not-allowed}.plan-row-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;flex-shrink:0;border:1px solid color-mix(in srgb,var(--color-ink) 25%,transparent);border-radius:var(--radius-sm);color:transparent;transition:border-color var(--motion-lift),background var(--motion-lift),color var(--motion-lift)}.plan-row-cook:hover:not(:disabled) .plan-row-toggle{border-color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-row.is-praised .plan-row-toggle{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.plan-row.is-cooked .plan-row-title{color:var(--color-muted)}@media(max-width:480px){.plan-row{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.plan-row.has-check{grid-template-columns:auto minmax(0,1fr)}.plan-row-price{grid-column:1;grid-row:auto;flex-direction:row;align-items:baseline;gap:var(--space-6);text-align:left}.plan-row.has-check .plan-row-price,.plan-row.has-check .plan-row-actions{grid-column:2}.plan-row-price-value{font-size:var(--step-section)}}.offer-filter-bar{margin-bottom:var(--space-24);overflow-anchor:none}.offer-filter-bar>.filter-row{margin-bottom:0}.offer-filter-panel-host:not(:empty){margin-top:var(--space-8)}.offer-filter-panel{padding:var(--space-14) var(--space-16) var(--space-12);border-radius:var(--radius-lg);background:var(--surface-sunken);animation:offer-filter-enter var(--motion-enter)}@keyframes offer-filter-enter{0%{opacity:0}to{opacity:1}}.offer-meal-options{display:flex;flex-wrap:wrap;gap:var(--space-8)}.price-range-readout{display:flex;justify-content:space-between;gap:var(--space-16);margin-bottom:var(--space-4)}.price-range-end{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.price-range-end--max{align-items:flex-end;text-align:right}.price-range-end-label{font-size:var(--step-micro);line-height:1.3;color:var(--color-muted)}.price-range-figure{display:flex;align-items:baseline;font-family:var(--font-display);font-size:var(--step-title);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--color-ink)}.price-range-figure small{font-family:var(--font-body);font-size:var(--step-micro);font-weight:700;letter-spacing:0;color:var(--color-muted)}.price-range-slider{position:relative;height:2.75rem;touch-action:none}.price-range-track{position:absolute;left:1.375rem;right:1.375rem;top:50%;height:4px;transform:translateY(-50%);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-brand) 16%,var(--surface-raised))}.price-range-fill{position:absolute;top:0;bottom:0;border-radius:inherit;background:var(--color-brand)}.price-range-thumb{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;margin:0;background:none;pointer-events:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;accent-color:transparent}.price-range-thumb--max{z-index:3}.price-range-thumb.is-top{z-index:4}.price-range-thumb::-webkit-slider-runnable-track{height:4px;border:none;background:transparent}.price-range-thumb::-webkit-slider-thumb{pointer-events:auto;width:2.75rem;height:2.75rem;border:2px solid var(--color-brand);border-radius:50%;background:var(--surface-raised);box-shadow:var(--elev-low);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.price-range-thumb::-moz-range-track{height:4px;border:none;background:transparent}.price-range-thumb::-moz-range-progress{background:transparent}.price-range-thumb::-moz-range-thumb{pointer-events:auto;width:2.75rem;height:2.75rem;border:2px solid var(--color-brand);border-radius:50%;background:var(--surface-raised);box-shadow:var(--elev-low);cursor:pointer}.price-range-thumb:focus{outline:none}.price-range-thumb:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring-focus),var(--elev-low)}.price-range-thumb:focus-visible::-moz-range-thumb{box-shadow:var(--ring-focus),var(--elev-low)}.offer-filter-reset{display:block;margin-top:var(--space-8);padding:0;border:none;background:none;cursor:pointer}@media(prefers-reduced-motion:reduce){.offer-filter-panel{animation:none}.price-range-track{transform:none;top:calc(50% - 2px)}}.shopping-page{display:grid;gap:var(--space-16);min-width:0}.shopping-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-16);margin-top:var(--space-12)}.shopping-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-8)}.shopping-hide-purchased-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:var(--radius-md);background:#fff;color:color-mix(in srgb,var(--color-ink) 55%,transparent);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.shopping-hide-purchased-btn:hover{border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);color:var(--color-brand-dark)}.shopping-hide-purchased-btn.is-active{border-color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 10%,#fff);color:var(--color-brand-dark)}.shopping-chain-switcher.chain-switcher--chip{margin:0}.shopping-stale-banner,.shopping-auth-banner{padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-tomato) 25%,transparent);background:color-mix(in srgb,var(--color-tomato) 7%,transparent);font-size:var(--step-body);color:var(--color-tomato-ink)}.offline-banner{padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);background:color-mix(in srgb,var(--color-leaf) 7%,transparent);font-size:var(--step-body);color:var(--color-muted)}.shopping-groups{display:grid;gap:var(--space-24)}.shopping-category-move{display:inline-flex;gap:var(--space-4);flex-shrink:0}.shopping-reorder-hint{margin:0;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.shopping-reorder-admin{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-12)}.shopping-reorder-dock{position:fixed;z-index:35;inset-inline:.75rem;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));width:auto;min-height:2.75rem;padding:var(--space-12) var(--space-20);border-radius:var(--radius-pill);box-shadow:var(--elev-high)}.shopping-page:has(.shopping-reorder-dock) .shopping-checklist{padding-bottom:6.5rem}.shopping-checklist.is-reorder-mode .shopping-item{opacity:.85}.shopping-list-card{list-style:none;margin:0;padding:0;overflow:hidden;display:grid;gap:var(--space-6)}.shopping-item{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border-bottom:none;font-size:var(--step-body);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:0 1px color-mix(in srgb,var(--color-brand) 8%,transparent);transition:background .15s ease}.shopping-item-row{display:flex;align-items:stretch;gap:0;min-width:0}.shopping-item:active:not(.checked){background:color-mix(in srgb,var(--color-leaf) 6%,var(--color-card))}.shopping-check{display:flex;flex:1;align-items:center;gap:var(--space-12);min-width:0;padding:var(--space-10) var(--space-12);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.shopping-item-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:var(--space-4);min-width:0}.shopping-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;flex-shrink:0;border:1px solid color-mix(in srgb,var(--color-ink) 25%,transparent);border-radius:var(--radius-sm);font-size:var(--step-micro);color:transparent;transition:border-color .15s ease,background .15s ease,color .15s ease}.shopping-toggle.checked{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.shopping-toggle.checked svg{animation:motion-confirm-pop var(--motion-confirm) both}.shopping-print-box{display:none;width:.75rem;height:.75rem;flex-shrink:0;align-self:center;border:1px solid color-mix(in srgb,var(--color-ink) 60%,transparent)}.shopping-name-line{display:inline-flex;align-items:baseline;gap:var(--space-2);max-width:100%;min-width:0}.shopping-name{font-weight:500;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.shopping-name.is-checked{color:color-mix(in srgb,var(--color-ink) 40%,transparent);text-decoration:line-through}.shopping-qty{margin-left:var(--space-8);font-weight:400;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.shopping-qty-btn{min-width:2.75rem;min-height:2.75rem;margin:0;padding:var(--space-6) var(--space-8);border:1px solid color-mix(in srgb,var(--color-ink) 14%,transparent);border-radius:var(--radius-md);background:var(--color-card);color:color-mix(in srgb,var(--color-ink) 72%,transparent);font:inherit;font-size:var(--step-body);font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer}.shopping-qty-btn:hover{border-color:color-mix(in srgb,var(--color-ink) 28%,transparent)}.shopping-qty-btn.is-overridden{border-color:color-mix(in srgb,var(--color-leaf) 45%,transparent);color:var(--color-ink)}.shopping-qty-btn--pantry{margin-inline-start:var(--space-6);min-height:2.25rem}.shopping-qty-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}.shopping-qty-editor-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#000 35%,transparent)}.shopping-qty-editor-panel{position:relative;z-index:1;width:min(28rem,100%);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-card);box-shadow:var(--elev-bar)}.shopping-qty-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-16)}.shopping-qty-editor-title{margin:0;font-size:var(--step-section);font-weight:600;line-height:1.3}.shopping-qty-editor-close{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin:calc(var(--space-6) * -1) calc(var(--space-6) * -1) 0 0;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-ink);cursor:pointer}.shopping-qty-stepper{display:flex;align-items:center;justify-content:center;gap:var(--space-12);margin-bottom:var(--space-16)}.shopping-qty-bump{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid color-mix(in srgb,var(--color-ink) 16%,transparent);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-ink);cursor:pointer}.shopping-qty-field{display:flex;align-items:baseline;min-width:7rem;justify-content:center}.shopping-qty-unit-field{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-16);font-size:var(--step-micro);font-weight:500;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.shopping-qty-unit-select{width:100%;padding:var(--space-8) var(--space-10);border:1px solid color-mix(in srgb,var(--color-ink) 18%,transparent);border-radius:var(--radius-md);background:var(--color-cream);color:var(--color-ink);font:inherit;font-size:var(--step-section)}.shopping-qty-input{width:5rem;padding:var(--space-6) var(--space-6);border:1px solid color-mix(in srgb,var(--color-ink) 18%,transparent);border-radius:var(--radius-md);background:var(--color-cream);color:var(--color-ink);font:inherit;font-size:var(--step-title);font-weight:600;text-align:center}.shopping-qty-editor-actions{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:flex-end}.shopping-checked-by{font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-item-secondary{display:flex;flex-shrink:0;align-items:center;gap:var(--space-2);padding-inline-end:var(--space-6)}.shopping-expand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;width:1.25rem;height:1.25rem;margin:0;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:color-mix(in srgb,var(--color-ink) 45%,transparent);cursor:pointer;vertical-align:baseline;transition:color .15s ease,background .15s ease}.shopping-expand:hover{color:var(--color-brand-dark);background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-expand-chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease}.shopping-item.is-expanded .shopping-expand-chevron,.shopping-pantry-item.is-expanded .shopping-expand-chevron{transform:rotate(180deg)}.shopping-expand--pantry{width:1.125rem;height:1.125rem}.shopping-pantry-label{display:inline-flex;align-items:baseline;gap:var(--space-2);min-width:0}.shopping-pantry-name{min-width:0}.shopping-item-detail{padding:0 .75rem .625rem 4.25rem;font-size:var(--step-micro);line-height:1.4;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.shopping-item-detail--pantry{width:100%;padding:.125rem 0 .25rem 1.25rem}.shopping-used-in-label{display:block;margin-bottom:var(--space-2);font-size:var(--step-eyebrow);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb,var(--color-ink) 40%,transparent)}.shopping-used-in{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.shopping-used-in li{margin:0}.promo-chip{display:inline-block;max-width:100%;padding:var(--space-2) var(--space-8);border:1px solid var(--border-promo);border-radius:var(--radius-pill);background:var(--surface-promo-chip);font-size:var(--step-micro);line-height:1.35;color:var(--color-tomato-ink)}.promo-chain{display:inline-flex;align-items:center;margin-left:var(--space-4);padding:var(--space-1) var(--space-6);border-radius:var(--radius-pill);background:var(--surface-promo-chain);font-size:.9em;font-weight:600;white-space:nowrap}.promo-form{display:inline-flex;align-items:center;margin-left:var(--space-4);padding:var(--space-1) var(--space-6);border:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent);border-radius:var(--radius-pill);font-size:.9em;font-weight:600;white-space:nowrap}.promo-loyalty{display:inline-flex;align-items:center;gap:var(--space-4);margin-left:var(--space-4);font-weight:500;white-space:nowrap}.shopping-delete{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:var(--space-6) var(--space-8);border:none;border-radius:var(--radius-md);background:none;font:inherit;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 30%,transparent);cursor:pointer;transition:color .15s ease,background .15s ease}.shopping-delete:hover:not(:disabled){color:#9b2226}.shopping-delete:disabled{opacity:.4;cursor:not-allowed}.shopping-delete--icon{font-size:var(--step-body)}.shopping-pantry{margin-top:var(--space-32)}.shopping-pantry-hint{margin:0 0 var(--space-8);font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-pantry-list{list-style:none;margin:0;padding:0;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-ink) 2%,transparent);overflow:hidden}.shopping-pantry-item{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);padding:var(--space-8) var(--space-12);border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent);font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.shopping-pantry-item:last-child{border-bottom:none}.shopping-pantry-main{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-4) var(--space-16)}.shopping-pantry-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--space-4)}.shopping-move-to-buy{padding:var(--space-6) var(--space-4);border:none;background:none;font:inherit;font-size:var(--step-micro);font-weight:500;color:var(--color-brand-dark);cursor:pointer;text-decoration:none}.shopping-move-to-buy:hover:not(:disabled){text-decoration:underline}.shopping-move-to-buy:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.shopping-add{margin-top:var(--space-24);padding:var(--space-16);border:1px dashed color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:var(--radius-xl);background:#fff}.shopping-add[disabled]{opacity:.55;pointer-events:none}.shopping-add form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-8)}.shopping-add-name{position:relative;display:flex;flex:1 1 12rem;flex-direction:column;gap:var(--space-4);min-width:0}.shopping-add-label{display:flex;flex:1 1 12rem;flex-direction:column;gap:var(--space-4);font-size:var(--step-micro);font-weight:500;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.shopping-add-name .shopping-add-label{flex:none;width:100%}.shopping-add-label--narrow{flex:0 1 5rem}.shopping-add-label--unit{flex:0 1 7rem}.shopping-add-label input,.shopping-add-label select{padding:var(--space-6) var(--space-12);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-md);font:inherit;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 80%,transparent);background:#fff}.shopping-add-name.is-open{z-index:45}.shopping-add-suggestions{position:absolute;top:100%;left:0;right:0;z-index:45;max-height:var(--shopping-add-list-max, 16rem);margin:var(--space-4) 0 0;padding:var(--space-4) 0;list-style:none;overflow:auto;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:var(--radius-md);background:#fff;box-shadow:var(--elev-high)}.shopping-add-suggestions.is-above{top:auto;bottom:calc(100% + .25rem);margin-top:0}.shopping-add-suggestion{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-8) var(--space-12);border:none;background:transparent;font:inherit;font-size:var(--step-body);color:color-mix(in srgb,var(--color-ink) 85%,transparent);text-align:left;cursor:pointer}.shopping-add-suggestion.active,.shopping-add-suggestion:hover{background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.shopping-add-suggestion-cat{flex-shrink:0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 40%,transparent)}.shopping-add-hint{margin:0;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-add-promos{margin-bottom:var(--space-14);padding-bottom:var(--space-14);border-bottom:1px solid color-mix(in srgb,var(--color-ink) 8%,transparent)}.shopping-add-promos-title{display:flex;align-items:baseline;gap:var(--space-8);margin:0 0 var(--space-8);font-size:var(--step-meta);font-weight:600;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.shopping-add-promos-count{font-weight:400;font-size:var(--step-micro);color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-add-promos-list{display:flex;flex-wrap:wrap;gap:var(--space-8);margin:0;padding:0;list-style:none}.shopping-add-promo{display:inline-flex;max-width:100%;align-items:baseline;gap:var(--space-6);padding:var(--space-6) var(--space-10) var(--space-6) var(--space-12);border:1px solid var(--border-promo);border-radius:var(--radius-pill, 999px);background:var(--surface-promo-chip);font:inherit;font-size:var(--step-meta);line-height:1.3;color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.shopping-add-promo:hover:not(:disabled),.shopping-add-promo:focus-visible{background:var(--surface-promo-hover);border-color:var(--border-promo-hover)}.shopping-add-promo:disabled{cursor:default;opacity:.6}.shopping-add-promo-name{font-weight:600}.shopping-add-promo-price{font-variant-numeric:tabular-nums;color:var(--ink-promo);font-weight:600;white-space:nowrap}.shopping-add-promo-chain,.shopping-add-promo-loyalty{font-size:var(--step-eyebrow);color:var(--ink-promo-label);white-space:nowrap}.shopping-add-promo-plus{margin-left:var(--space-2);font-weight:700;color:var(--ink-promo-label)}.shopping-add-hint--mapped{color:color-mix(in srgb,var(--color-brand-dark) 70%,transparent)}.shopping-item-row.checked .shopping-name{opacity:.45;text-decoration:line-through}.shopping-items{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-8)}.shopping-empty{display:grid;gap:var(--space-16)}@media(min-width:640px){.shopping-list-card{gap:0;border-radius:var(--radius-lg);box-shadow:none;border:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-item{border-radius:0;background:transparent;box-shadow:none;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-item:last-child{border-bottom:none}.shopping-item:active:not(.checked){background:color-mix(in srgb,var(--color-leaf) 4%,transparent)}.shopping-check{padding:var(--space-10) var(--space-12)}.shopping-item-secondary .shopping-delete{opacity:0;transition:opacity .15s ease}.shopping-item:hover .shopping-item-secondary .shopping-delete,.shopping-item:focus-within .shopping-item-secondary .shopping-delete{opacity:1}}@media(max-width:639px){.shopping-checklist{padding-bottom:5.5rem}.shopping-summary{position:fixed;inset-inline:0;bottom:calc(3.25rem + env(safe-area-inset-bottom,0px));z-index:35;flex-wrap:nowrap;justify-content:center;gap:var(--space-12) var(--space-16);margin-inline:var(--space-12);padding:var(--space-10) var(--space-16);border-radius:var(--radius-pill);background:#fff;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);box-shadow:var(--elev-high)}.shopping-summary-detail{display:none}.shopping-clear-checked{margin-left:0;flex-shrink:0;min-height:2.75rem;padding:0 var(--space-12);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-category-row{position:sticky;top:0;z-index:10;margin-inline:calc(var(--space-16) * -1);margin-bottom:var(--space-8);padding:var(--space-8) var(--space-16);background:color-mix(in srgb,var(--color-cream) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border)}.shopping-category-row .shopping-category{margin:0}.shopping-list-card{gap:var(--space-6);border:none;box-shadow:none;background:transparent}.shopping-item{min-height:3.5rem;flex-wrap:nowrap}.shopping-check{flex:1 1 auto;flex-direction:row-reverse;justify-content:flex-start;min-width:0;padding:var(--space-12) var(--space-16);gap:var(--space-14)}.shopping-name{font-size:var(--step-section);line-height:1.35}.shopping-toggle{width:2.75rem;height:2.75rem;border-radius:50%;font-size:var(--step-title)}.promo-chip{font-size:var(--step-meta)}.shopping-item-secondary{display:flex;padding-inline:var(--space-4) var(--space-8)}.shopping-delete{min-width:2.75rem;min-height:2.75rem}.shopping-pantry-item{padding-block:var(--space-10)}.shopping-move-to-buy{min-height:2.75rem;padding-inline:var(--space-8)}.shopping-add{margin-bottom:var(--space-8)}.shopping-add form{gap:var(--space-8)}.shopping-add-suggestion{min-height:2.75rem}.shopping-add-promo{min-height:2.75rem;align-items:center}.shopping-add-label input,.shopping-add-label select,.shopping-add .btn-primary{min-height:2.75rem}.shopping-toolbar{display:none}.shopping-toolbar:has(.shopping-hide-purchased-btn){display:flex}.shopping-toolbar .shopping-print-btn{display:none}}@media print{.shopping-toolbar,.shopping-chain-switcher,.shopping-stale-banner,.shopping-auth-banner,.offline-banner,.shopping-clear-checked,.shopping-toggle,.shopping-delete,.shopping-add,.shopping-pantry,.info-hint-trigger,.pending-badge,.shopping-item-secondary,.shopping-reorder-admin,.shopping-reorder-dock,.shopping-reorder-hint,.shopping-category-move,.shopping-expand,.shopping-board .board-share,.shopping-board .board-pending,.shopping-board .board-headline,.shopping-board .board-fact--bought,.shopping-header .page-subtitle,.shopping-board .eyebrow,.shopping-board .board-figure{display:none!important}.shopping-board{margin:0 0 var(--space-12);padding:0 0 var(--space-8);background:transparent;color:#000;border-radius:0;border-bottom:1px solid color-mix(in srgb,#000 25%,transparent);box-shadow:none}.shopping-board:not(:has(.board-fact--valid)){display:none}.shopping-board .board-ledger{margin-top:0;padding-top:0;border-top:none;justify-content:flex-start}.shopping-board .board-facts{justify-content:flex-start;gap:var(--space-6) var(--space-16);text-align:left}.shopping-board .board-facts>div{display:flex;align-items:baseline;gap:var(--space-6)}.shopping-board .board-facts dt{color:color-mix(in srgb,#000 60%,transparent)}.shopping-board .board-facts dd{margin:0;color:#000}.shopping-header{margin-top:0}.shopping-header .page-heading{margin-bottom:var(--space-6)}.shopping-header .page-title{font-size:var(--step-title)}.shopping-print-box{display:inline-block!important}.shopping-groups{columns:2;column-gap:var(--space-32)}.shopping-group{break-inside:avoid;margin-bottom:var(--space-12)}.shopping-category{text-decoration:underline;color:#000}.shopping-list-card{border:none;box-shadow:none;background:transparent}.shopping-item{break-inside:avoid;flex-wrap:wrap;padding:var(--space-4) 0;border-bottom:1px solid color-mix(in srgb,#000 15%,transparent);border-radius:0;background:transparent;box-shadow:none}.shopping-check{flex-direction:row;padding:0}.shopping-item-body{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:var(--space-8)}.shopping-name{font-weight:400;color:#000}.shopping-qty{color:color-mix(in srgb,#000 70%,transparent)}.promo-chip{background:transparent;padding:0;color:color-mix(in srgb,#000 70%,transparent)}}.shopping-board{margin-bottom:var(--space-16)}.board-fact-hidden{font-size:var(--step-micro);font-weight:500;color:var(--on-board-muted)}.shopping-group .list-section-label{text-transform:uppercase}.shopping-category-move{display:flex;gap:var(--space-4)}.shopping-category-arrow{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:var(--radius-md);background:#fff;font:inherit;font-size:var(--step-section);line-height:1;color:color-mix(in srgb,var(--color-ink) 70%,transparent);cursor:pointer}.shopping-category-arrow:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);color:var(--color-brand-dark)}.shopping-category-arrow:disabled{opacity:.35;cursor:not-allowed}.tabular-nums{font-variant-numeric:tabular-nums}@media(min-width:640px){.header-nav-desktop{display:inline}.app-main{padding-bottom:var(--space-24)}.app-footer{padding-bottom:var(--space-40)}.bottom-nav{display:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.reveal-on .landing-section,.reveal-on .recipe-card{opacity:0;translate:0 var(--space-32);transition:opacity .62s cubic-bezier(.2,.7,.3,1),translate .62s cubic-bezier(.2,.7,.3,1)}.reveal-on .landing-section.is-revealed,.reveal-on .recipe-card.is-revealed{opacity:1;translate:none}@media(prefers-reduced-motion:reduce){.builder-choice:hover,.builder-shortcut:hover,.promo-hero-chip:hover,.builder-promo-option:hover,.builder-choice:active,.builder-shortcut:active,.promo-hero-chip:active,.builder-promo-option:active{transform:none;box-shadow:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media print{.app-header,.app-footer,.bottom-nav,.back-link{display:none!important}.app-main{max-width:none;padding:0}}
