:root{color-scheme:light dark;--surface: oklch(.975 .014 80);--surface-raised: oklch(.994 .005 85);--surface-sunken: oklch(.952 .02 74);--surface-warm: oklch(.94 .026 70);--surface-warm-2: oklch(.91 .034 65);--switch-thumb: oklch(.994 .005 85);--border: oklch(.895 .016 74);--border-strong: oklch(.84 .02 75);--text: oklch(.3 .02 60);--text-muted: oklch(.48 .014 70);--text-faint: oklch(.58 .012 75);--accent: oklch(.58 .16 36);--accent-strong: oklch(.52 .17 36);--accent-soft: oklch(.945 .045 37);--accent-text: oklch(.99 .005 36);--accent-text-soft: oklch(.53 .16 38);--accent-ring: oklch(.58 .16 36 / .32);--success: oklch(.6 .13 145);--warning: oklch(.7 .13 70);--danger: oklch(.55 .18 25);--block: oklch(.55 .2 22);--mark-c1: #a8b0ba;--mark-c2: #5f6772;--mark-c3: #2d3e50;--shadow-xs: 0 1px 1px hsl(30 25% 15% / .05);--shadow-sm: 0 1px 2px hsl(30 25% 15% / .05), 0 2px 4px hsl(30 25% 15% / .05);--shadow-md: 0 4px 10px hsl(30 25% 15% / .07), 0 2px 4px hsl(30 25% 15% / .05);--shadow-lg: 0 16px 40px hsl(30 25% 15% / .12), 0 4px 10px hsl(30 25% 15% / .07);--image-ring: rgba(0, 0, 0, .1);--font-body: system-ui, -apple-system, "Segoe UI", Roboto, Inter, "Helvetica Neue", sans-serif;--font-display: "Iowan Old Style", "Source Serif Pro", Charter, Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs: .78rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.3125rem;--text-2xl: clamp(1.5rem, 1.34rem + .8vw, 1.875rem);--text-3xl: clamp(1.875rem, 1.55rem + 1.6vw, 2.5rem);--text-display: clamp(2.5rem, 1.95rem + 2.7vw, 3.5rem);--leading-tight: 1.12;--leading-snug: 1.18;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.018em;--tracking-snug: -.01em;--tracking-normal: 0;--tracking-wide: .01em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--screen-pad-x: var(--space-4);--tap-target: 44px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.32, .72, 0, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--z-toast: 200;--z-nav: 30;--z-sheet-backdrop: 90;--z-sheet: 100;--nav-floating-height: 76px;--nav-clearance: calc(var(--nav-floating-height) + 12px);--bg-canvas: var(--surface);--bg-surface: var(--surface-raised);--bg-surface-tertiary: var(--surface-sunken);--border-default: var(--border);--border-emphasis: var(--border-strong);--text-primary: var(--text);--text-secondary: var(--text-muted);--text-tertiary: var(--text-faint);--color-primary: var(--accent);--color-primary-active: var(--accent-strong);--color-accent: var(--accent);--text-on-primary: var(--accent-text)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=dark]{--surface: oklch(.2 .018 250);--surface-raised: oklch(.245 .021 250);--surface-sunken: oklch(.155 .016 250);--surface-warm: oklch(.27 .022 250);--surface-warm-2: oklch(.3 .026 250);--switch-thumb: oklch(.93 .012 250);--border: oklch(.335 .021 250);--border-strong: oklch(.44 .022 250);--text: oklch(.94 .01 250);--text-muted: oklch(.74 .016 250);--text-faint: oklch(.66 .018 250);--accent: oklch(.6 .17 38);--accent-strong: oklch(.66 .18 38);--accent-soft: oklch(.335 .065 37);--accent-text: oklch(.99 .005 36);--accent-text-soft: oklch(.78 .13 42);--accent-ring: oklch(.6 .17 38 / .42);--success: oklch(.72 .13 145);--warning: oklch(.78 .13 70);--danger: oklch(.72 .16 25);--block: oklch(.6 .22 20);--mark-c1: #5f6772;--mark-c2: #a8b0ba;--mark-c3: #ffffff;--shadow-xs: 0 1px 1px hsl(0 0% 0% / .32);--shadow-sm: 0 1px 2px hsl(0 0% 0% / .4), 0 2px 4px hsl(0 0% 0% / .3);--shadow-md: 0 4px 12px hsl(0 0% 0% / .44), 0 2px 4px hsl(0 0% 0% / .3);--shadow-lg: 0 18px 44px hsl(0 0% 0% / .55), 0 6px 14px hsl(0 0% 0% / .4);--image-ring: rgba(255, 255, 255, .1)}@media(prefers-color-scheme:dark){:root:not([data-theme]),:root[data-theme=system]{--surface: oklch(.2 .018 250);--surface-raised: oklch(.245 .021 250);--surface-sunken: oklch(.155 .016 250);--surface-warm: oklch(.27 .022 250);--surface-warm-2: oklch(.3 .026 250);--switch-thumb: oklch(.93 .012 250);--border: oklch(.335 .021 250);--border-strong: oklch(.44 .022 250);--text: oklch(.94 .01 250);--text-muted: oklch(.74 .016 250);--text-faint: oklch(.66 .018 250);--accent: oklch(.6 .17 38);--accent-strong: oklch(.66 .18 38);--accent-soft: oklch(.335 .065 37);--accent-text: oklch(.99 .005 36);--accent-text-soft: oklch(.78 .13 42);--accent-ring: oklch(.6 .17 38 / .42);--success: oklch(.72 .13 145);--warning: oklch(.78 .13 70);--danger: oklch(.72 .16 25);--block: oklch(.6 .22 20);--mark-c1: #5f6772;--mark-c2: #a8b0ba;--mark-c3: #ffffff;--shadow-xs: 0 1px 1px hsl(0 0% 0% / .32);--shadow-sm: 0 1px 2px hsl(0 0% 0% / .4), 0 2px 4px hsl(0 0% 0% / .3);--shadow-md: 0 4px 12px hsl(0 0% 0% / .44), 0 2px 4px hsl(0 0% 0% / .3);--shadow-lg: 0 18px 44px hsl(0 0% 0% / .55), 0 6px 14px hsl(0 0% 0% / .4);--image-ring: rgba(255, 255, 255, .1)}}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{margin:0;padding:0;min-height:100vh;min-height:100dvh}.error-boundary{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6, 24px);background:var(--surface);color:var(--text)}.error-boundary-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3, 12px);max-width:26rem;text-align:center}body{background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.012em;color:var(--text)}h1{font-size:var(--text-3xl);line-height:1.15}h2{font-size:var(--text-2xl);line-height:1.2}h3{font-size:var(--text-lg);line-height:1.3;font-weight:600}p{line-height:1.55}a{color:var(--accent-text-soft)}::selection{background:var(--accent-soft);color:var(--text)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app{min-height:100vh;min-height:100dvh;background:var(--surface);color:var(--text);padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) var(--screen-pad-x) calc(var(--space-6) + var(--nav-clearance) + env(safe-area-inset-bottom,0px))}.header,.section,.sheet{max-width:560px;margin:0 auto}.header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-2);padding:var(--space-2) 0 var(--space-4)}.header>.brand{grid-column:1;justify-self:start}.header>.header-search-trigger{grid-column:2;justify-self:end}.header>.header-settings{grid-column:3;justify-self:end}.header>.search-ac{grid-column:1 / -1}.header>.offline{grid-column:1 / -1}.header-action{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-target);height:var(--tap-target);border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--text-muted);cursor:pointer;transition:color .12s ease,background .12s ease,transform .12s ease}.header-action:hover{color:var(--text);background:var(--surface)}.header-action:active{transform:scale(.96)}.header-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.header-compact .header-action{width:var(--tap-target);height:var(--tap-target)}.brand{display:inline-flex;align-items:center;gap:12px;margin:0;padding:0;background:none;border:0;cursor:pointer;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.022em;color:var(--text)}.brand:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:6px}.brand--static{cursor:default}.brand .brand-mark{width:36px;height:36px;display:block}.brand-mark .c1{fill:var(--mark-c1)}.brand-mark .c2{fill:var(--mark-c2)}.brand-mark .c3{fill:var(--mark-c3)}.header-compact{padding-bottom:var(--space-3)}.header-compact .brand{font-size:var(--text-2xl)}.header-compact .brand .brand-mark{width:36px;height:36px}.header h1{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.014em;max-width:22ch}.header-compact h1{font-size:var(--text-xl)}.search-ac{position:relative;min-width:0}.search-ac-field{display:flex;align-items:center;gap:var(--space-2);height:var(--tap-target);padding:0 4px 0 12px;background:var(--surface-sunken, var(--surface-raised));border:1px solid var(--border);border-radius:999px;transition:border-color .12s ease;animation:search-ac-in .13s ease}.search-ac-field:focus-within{border-color:var(--accent-text-soft)}.search-ac-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:var(--text-muted);stroke-width:1.6;stroke-linecap:round}.search-ac-input{flex:1;min-width:0;margin:0;border:0;background:none;outline:none;color:var(--text);font-family:var(--font-body);font-size:var(--text-base)}.search-ac-input::placeholder{color:var(--text-muted)}.search-ac-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:999px;background:none;color:var(--text-muted);cursor:pointer}.search-ac-close:hover{color:var(--text)}.search-ac-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.search-ac-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:calc(var(--z-sheet) - 1);margin:0;padding:var(--space-1);list-style:none;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:64vh;overflow-y:auto;overscroll-behavior:contain}.search-ac-row{display:flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md)}.search-ac-row.is-highlighted{background:var(--surface-sunken, var(--surface))}.search-ac-item{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border:0;background:none;text-align:left;cursor:pointer;color:var(--text)}.search-ac-thumb{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken, var(--surface));box-shadow:inset 0 0 0 1px var(--image-ring);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-weight:600}.search-ac-thumb img{width:100%;height:100%;object-fit:cover}.search-ac-text{display:flex;flex-direction:column;gap:2px;min-width:0}.search-ac-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-ac-mark{background:none;color:var(--accent-text-soft);font-weight:600}.search-ac-sub{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--text-sm)}.search-ac-tag{color:var(--accent-text-soft)}.search-ac-add{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.search-ac-add:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.search-ac-add:disabled{cursor:default;color:var(--accent-text-soft);border-color:var(--accent-text-soft)}.search-ac-add svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.search-ac-empty{padding:var(--space-3);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.search-ac-item-icon{flex-shrink:0;width:16px;height:16px}.search-ac-item--web{color:var(--accent-text-soft);font-weight:700}.search-ac-item--generate{color:var(--text-muted)}@keyframes search-ac-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.offline{margin-top:var(--space-3);padding:10px 14px;border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-muted);font-size:var(--text-sm)}.offline summary{cursor:pointer;font-weight:600;color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between}.offline summary::-webkit-details-marker{display:none}.offline summary:after{content:"Details ▾";color:var(--text-faint);font-size:var(--text-xs);font-weight:500}.offline[open] summary:after{content:"Hide ▴"}.offline ul{margin:var(--space-2) 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.bottom-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-nav);max-width:560px;margin:0 auto;display:flex;align-items:center;gap:10px;padding-bottom:env(safe-area-inset-bottom,0px);pointer-events:none}.bottom-bar>*{pointer-events:auto}.ff-toolbar-pin,.ff-toolbar-pin body{height:100%;min-height:0;overflow:hidden}.ff-toolbar-pin #root{height:100%;min-height:0;overflow-y:auto}.nav{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:6px;background:color-mix(in oklab,var(--surface-raised) 92%,transparent);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:6px 4px;border:0;border-radius:12px;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:0;cursor:pointer;transition:color .12s ease,background .12s ease,transform .12s ease}.nav button:hover{color:var(--text)}.nav button:active{transform:translateY(1px)}.nav button .nav-icon{width:22px;height:22px;display:block;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.nav button.nav-active{color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent-soft) 88%,var(--accent));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 26%,transparent)}.nav button.nav-active .nav-icon{stroke-width:1.85}:root[data-theme=dark] .nav button.nav-active{color:#ff9685;background:color-mix(in oklab,var(--accent) 22%,transparent);box-shadow:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .nav button.nav-active{color:#ff9685;background:color-mix(in oklab,var(--accent) 22%,transparent);box-shadow:none}}.ask-fab{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:64px;align-self:stretch;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in oklab,var(--surface-raised) 92%,transparent);color:var(--accent-text-soft);font-family:var(--font-body);font-size:11px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:color .12s ease,background .12s ease}.ask-fab:hover{background:color-mix(in oklab,var(--accent-soft) 60%,var(--surface-raised))}.ask-fab:active{filter:brightness(.97)}.ask-fab.ask-fab-active{background:var(--accent-soft)}.ask-fab-logo{width:34px;height:34px;display:block}.nav button:focus-visible,.ask-fab:focus-visible,.header-action:focus-visible,.sheet-close:focus-visible,.button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible,.filter-chip:focus-visible,.recipe-row-main:focus-visible,.recipe-row-favorite:focus-visible,.recipe-card-add:focus-visible,.recipe-row-add:focus-visible,.stepper-btn:focus-visible,.list-clear:focus-visible,.parent-name:focus-visible,.parent-row-stepper-btn:focus-visible,.toast-action:focus-visible,.toast-label-action:focus-visible,.input:focus-visible,.textarea:focus-visible,.checkbox:focus-visible,.chip button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.section{padding-bottom:calc(var(--nav-clearance) + var(--space-3) + env(safe-area-inset-bottom,0px))}.section>*+*,.sheet>*+*{margin-top:var(--space-3)}.sheet>.sheet-close+*{margin-top:0}.section>.button,.section>.button-secondary,.sheet>.button,.sheet>.button-secondary{display:flex;width:100%}.capture-card{display:flex;flex-direction:column;gap:var(--space-3)}.photo-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.photo-actions>button{flex:1 1 9rem}.photo-actions>.photo-button{flex-basis:100%}.photo-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.photo-confirm{display:flex;flex-direction:column;gap:var(--space-3)}.photo-confirm-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.photo-confirm-thumb{position:relative;width:72px;height:72px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:var(--surface-sunken)}.photo-confirm-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-confirm-remove{position:absolute;top:3px;right:3px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:color-mix(in oklab,var(--surface-raised) 82%,transparent);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer}.photo-confirm-remove svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.photo-confirm-remove:disabled{opacity:.5;cursor:default}.web-preview-batch{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text-muted)}.action-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.action-row>small{align-self:center}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.card h2,.card h3{margin:0 0 var(--space-2)}.card p{color:var(--text-muted);margin:0 0 var(--space-3)}.card p:last-child{margin-bottom:0}.card-actions,.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.inline-form .input{flex:1 1 0;min-width:0}.signals-cuisines,.signals-recent{margin-top:var(--space-3)}.signal-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:.95rem;color:var(--text-muted);padding:var(--space-1) 0;border-bottom:1px solid color-mix(in oklab,var(--border) 70%,transparent)}.signal-row:last-child{border-bottom:none}.signal-row strong{color:var(--text)}.home-hero{background:color-mix(in oklab,var(--surface-raised) 92%,var(--surface));border:1px solid color-mix(in oklab,var(--border) 86%,var(--surface-raised));border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow-sm);overflow:hidden}.home-hero-recipe,.home-hero-first-run{display:flex;flex-direction:column}.home-hero-body{padding:var(--space-5) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.home-hero-list-lead{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.home-hero-eyebrow{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;color:var(--accent-text-soft)}.home-hero-body>.home-hero-eyebrow+.home-hero-title{margin-top:calc(var(--space-3) * -1 + var(--space-1))}.home-hero-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--tracking-snug);line-height:var(--leading-tight);margin:0;color:var(--text)}.home-hero-title-link{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;margin:0;font:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer;display:inline}.home-hero-title-link:hover{text-decoration:underline;text-underline-offset:3px}.home-hero-title-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.home-hero-body>.action-row{justify-content:flex-start;margin-top:var(--space-1)}.home-hero-cta{width:100%}.home-hero-cta-icon{width:18px;height:18px;flex-shrink:0}.section>.home-hero-utilities{margin-top:var(--space-4)}.home-hero-utilities{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-2)}.home-version{margin:var(--space-7) 0 0;text-align:center;font-size:var(--text-xs);color:var(--text-faint);opacity:.55;letter-spacing:.04em}.home-hero-why{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.home-hero-image{display:block;width:auto;aspect-ratio:16 / 7;max-height:200px;border:0;padding:0;margin:var(--space-2);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-warm-2);box-shadow:inset 0 0 0 1px var(--image-ring);cursor:pointer;position:relative}.home-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.home-hero-meta{display:flex;flex-wrap:wrap;gap:6px}.home-hero-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:color-mix(in oklab,var(--text) 6%,transparent);font-size:var(--text-xs);line-height:1.4;color:var(--text-muted)}.home-hero-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.home-hero-row-li{display:flex;align-items:center;gap:var(--space-2);padding:10px 2px;border-bottom:1px solid color-mix(in oklab,var(--border) 55%,transparent)}.home-hero-list>.home-hero-row-li:last-child{border-bottom:0}.home-hero-row{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:inherit;font:inherit}.home-hero-thumb{width:56px;height:56px;flex:0 0 56px;border-radius:12px;overflow:hidden;background:var(--surface-warm-2);box-shadow:inset 0 0 0 1px var(--image-ring);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;color:var(--text-muted)}.home-hero-thumb img{width:100%;height:100%;object-fit:cover;display:block}.home-hero-thumb-fallback{font-size:18px}.home-hero-row-text{display:grid;gap:2px;min-width:0}.home-hero-row-title{font-size:var(--text-sm);font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-hero-row-meta{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-hero-row-add,.home-hero-row-tag{align-self:center;position:relative;height:32px;padding:0 8px;border-radius:999px;background:transparent;border:0;font-size:var(--text-xs);font-weight:600;color:var(--accent-text-soft);cursor:pointer;white-space:nowrap}.home-hero-row-add:after,.home-hero-row-tag:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.home-hero-row-add:hover,.home-hero-row-tag:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}.home-hero-row-tag{color:var(--text-muted);font-weight:500}.home-hero-row-tag:hover{color:var(--text);background:var(--surface-sunken)}.home-hero-more{border-top:1px solid var(--border);margin:0;padding:0}.home-hero-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);color:var(--text-muted);font-weight:500;padding:var(--space-3) var(--space-4);min-height:44px;transition:background .12s ease,color .12s ease}.home-hero-more>summary:hover{background:color-mix(in oklab,var(--surface-sunken) 50%,transparent);color:var(--text)}.home-hero-more>summary::-webkit-details-marker{display:none}.home-hero-more-caret{width:16px;height:16px;transition:transform .2s ease;color:var(--text-muted)}.home-hero-more[open] .home-hero-more-caret{transform:rotate(180deg)}.home-hero-more[open]>.home-hero-list{margin:0;padding:0 var(--space-4) var(--space-4)}.home-hero-more-inline>.home-hero-list{margin:0;padding:var(--space-3) var(--space-4)}.home-hero-more-inline>.home-hero-list-lead{padding:var(--space-3) var(--space-4) 0;font-weight:600;color:var(--text)}.home-hero-more-inline>.home-hero-list-lead+.home-hero-list{padding-top:var(--space-2)}.home-hero-more-inline>.home-hero-list+.home-hero-list{padding-top:0}.home-shortcut-chip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:64px;padding:var(--space-3) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in oklab,var(--surface-raised) 88%,var(--surface));color:var(--text-primary);font-size:var(--text-xs);font-weight:500;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:border-color .12s,background .12s,transform 80ms}.home-shortcut-chip:hover{border-color:var(--border-strong);background:var(--surface-raised)}.home-shortcut-chip:active{transform:translateY(1px)}.home-shortcut-chip svg{width:20px;height:20px;flex:0 0 auto;color:var(--text-muted)}@media(max-width:380px){.home-shortcut-chip{min-height:60px;padding:var(--space-2)}}@media(min-width:720px){.home-screen{max-width:640px}.home-hero-image{aspect-ratio:21 / 9}}.settings-grid{display:grid;grid-template-columns:1fr;align-content:start;gap:var(--space-3);width:100%;max-width:720px;margin-left:auto;margin-right:auto}.sheet--settings .section{padding-bottom:0}.settings-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);width:100%;margin:var(--space-4) auto 0;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);max-width:720px}.settings-tab{min-height:var(--tap-target);border:0;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.settings-tab:hover{color:var(--text)}.settings-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.settings-tab[aria-selected=true]{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm)}.segment{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-1);width:100%;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken)}.segment-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);border:0;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.segment-tab:hover{color:var(--text)}.segment-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.segment-tab[aria-selected=true]{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm)}.segment-tab-icon{width:1.05em;height:1.05em;fill:currentColor;flex-shrink:0}.recipe-alts{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.recipe-alt-tabs{display:flex;align-items:center;gap:var(--space-1);overflow-x:auto;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);scrollbar-width:none}.recipe-alt-tabs::-webkit-scrollbar{display:none}.recipe-alt-tab{flex:0 0 auto;min-height:var(--tap-target);padding:0 var(--space-3);border:0;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap}.recipe-alt-tab:hover{color:var(--text)}.recipe-alt-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.recipe-alt-tab[aria-selected=true]{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm)}.recipe-alt-add{flex:0 0 auto;margin-left:auto;padding:0 var(--space-2);white-space:nowrap}.recipe-alt-picker{margin-top:0}.recipe-alt-picker .chip{padding:4px 12px;cursor:pointer}.recipe-alt-picker .chip:hover{border-color:var(--accent)}.recipe-edit-panel{display:flex;flex-direction:column;gap:var(--space-4)}.settings-panel{margin-top:var(--space-3);width:100%;max-width:720px;margin-left:auto;margin-right:auto;min-height:60dvh}#settings-panel-app h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;letter-spacing:0}.settings-feedback{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.settings-wide{grid-column:1 / -1}.settings-link-row{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer}.settings-link-row:hover{border-color:var(--accent)}.settings-link-row-text{display:flex;flex-direction:column;gap:2px}.settings-link-row-text small{color:var(--text-muted)}.settings-link-row-chev{margin-left:auto;width:18px;height:18px;flex-shrink:0;fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.settings-toggle{display:flex;align-items:flex-start;gap:var(--space-3)}.settings-toggle{min-height:48px;cursor:pointer}.settings-toggle span{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-toggle strong,.settings-data-row strong{color:var(--text)}.settings-toggle small,.settings-data-row small{color:var(--text-muted);line-height:1.35}.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.settings-section-head h3{margin-bottom:4px}.settings-data-list{display:grid;gap:0;padding:0;margin:0;list-style:none;border-top:1px solid var(--border)}.settings-data-row{display:flex;flex-direction:column;gap:0;padding:0;border-bottom:1px solid var(--border)}.settings-data-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;padding:10px 0}.settings-data-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex:1 1 auto;min-width:0;padding:0;margin:0;background:transparent;border:0;text-align:left;color:inherit;cursor:pointer;font:inherit}.settings-data-summary:disabled{cursor:default}.settings-data-summary>span{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-data-chevron{flex:0 0 auto;color:var(--text-muted);font-size:18px;line-height:1;transition:transform .16s ease}.settings-data-chevron[data-expanded=true]{transform:rotate(90deg)}.settings-data-detail{list-style:none;margin:0;padding:0 0 12px;display:grid;gap:4px}.settings-data-detail li{font-size:14px;color:var(--text-muted);line-height:1.4}.settings-data-detail-more{font-style:italic}.disclosure{padding:0;overflow:hidden}.disclosure-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:64px;padding:14px var(--space-4);background:transparent;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.disclosure-summary:hover{background:color-mix(in oklab,var(--accent) 4%,transparent)}.disclosure-summary:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.disclosure-titles{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.disclosure-titles>strong{color:var(--text);font-size:var(--text-base);font-weight:600}.disclosure-state{color:var(--text-muted);font-size:var(--text-sm);line-height:1.35}.disclosure-chevron{flex:0 0 auto;color:var(--text-muted);font-size:20px;line-height:1;transition:transform .16s ease}.disclosure-chevron[data-expanded=true]{transform:rotate(90deg)}.disclosure-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border)}.disclosure-body>h3:first-child{display:none}.banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 14px;margin-bottom:var(--space-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-muted)}.banner>*+*{margin-top:0}.banner>.icon-button{flex:0 0 var(--tap-target)}.banner-restore{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:14px 16px;background:var(--surface-raised);color:var(--text)}.banner-restore-text{display:flex;flex-direction:column;gap:2px}.banner-restore-text strong{font-weight:600;font-size:var(--text-base)}.banner-restore-text span{color:var(--text-muted);font-size:var(--text-sm)}.banner-restore-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.cook-mode{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-4) var(--space-6);min-height:70vh;min-height:70dvh;position:relative}.sheet--cook:has(.cook-mode--steps){overflow:hidden}.cook-mode--steps{height:100%;min-height:0;overflow:hidden}.cook-mode--steps .cook-mode-step-list{min-height:0}.cook-mode-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-right:calc(var(--tap-target) + var(--space-2))}.cook-mode-progress{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.cook-mode-recipe-name{margin:0;font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.cook-mode-step{margin:0;font-family:var(--font-display);font-size:26px;line-height:1.35;letter-spacing:-.005em;color:var(--text);flex:1 1 auto}.cook-mode-timer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--surface-warm);border:1px solid color-mix(in oklab,var(--accent) 30%,var(--border));border-radius:var(--radius-md)}.cook-mode-nav{display:flex;gap:var(--space-2);margin-top:auto}.cook-mode-nav .button{flex:1 1 0}.prep-intro{display:flex;flex-direction:column;gap:var(--space-2)}.prep-title{margin:0;font-family:var(--font-display);font-size:30px;line-height:1.15;letter-spacing:-.01em;color:var(--text)}.prep-subtitle{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-muted)}.prep-list{display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto;overflow-y:auto}.prep-group h4{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.prep-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.prep-item{display:flex;align-items:center;gap:var(--space-3);width:100%;background:transparent;border:0;padding:8px 0;text-align:left;cursor:pointer;color:var(--text);font-size:var(--text-base);border-bottom:1px solid var(--border)}.prep-item:hover .checkbox{border-color:var(--accent-text-soft)}.prep-item-checked{color:var(--text-muted);text-decoration:line-through}.prep-item-checked .checkbox{background:var(--accent);border-color:var(--accent-text-soft);position:relative}.prep-item-checked .checkbox:before{content:"";position:absolute;top:50%;left:50%;width:14px;height:7px;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:translate(-50%,-65%) rotate(-45deg)}.cook-mode-hint{margin:0;font-size:var(--text-xs);color:var(--text-faint);text-align:center}.button-block{width:100%}.ingredients-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.ingredients-header h3{margin:0;min-width:0}.ingredients-header>.servings-stepper{min-width:0}.ingredient-availability{display:grid;gap:var(--space-3)}.ingredient-availability-summary{margin:0;color:var(--text-muted);font-size:var(--text-sm);font-weight:600}.ingredient-availability-hint{margin:calc(var(--space-2) * -1) 0 0;color:var(--text-faint);font-size:var(--text-xs);font-weight:500}.ingredient-list{display:grid;gap:8px;margin:0;padding-left:0;list-style:none}.ingredient-check{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-target);padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;font-family:inherit;font-size:var(--text-base);color:var(--text)}button.ingredient-check{cursor:pointer}button.ingredient-check:hover .checkbox{border-color:var(--accent-text-soft)}button.ingredient-check:focus-visible{outline:2px solid var(--accent-text-soft);outline-offset:2px}.ingredient-check-have{background:var(--surface-sunken);border-color:var(--border);color:var(--text-muted)}.ingredient-check-have .ingredient-row-name{text-decoration:line-through;text-decoration-color:var(--border-strong)}.ingredient-row-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.ingredient-row-meta{flex:0 0 auto;color:var(--text-muted);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.servings-stepper{display:inline-flex;align-items:center;gap:2px;padding:0 2px;background:color-mix(in oklab,var(--surface-raised) 28%,transparent);border:1px solid color-mix(in oklab,var(--border) 54%,transparent);border-radius:999px}.stepper-btn{width:var(--tap-target);height:var(--tap-target);display:grid;place-items:center;border:0;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;border-radius:50%}.stepper-btn:hover:not(:disabled){background:color-mix(in oklab,var(--surface-raised) 66%,transparent);color:var(--text)}.stepper-btn:disabled{color:var(--text-faint);cursor:not-allowed}.stepper-value{font-size:var(--text-xs);font-weight:650;color:var(--text-muted);min-width:6.5ch;text-align:center;font-variant-numeric:tabular-nums}.kicker,.provenance{margin:0 0 var(--space-1);color:var(--text-muted);font-size:var(--text-xs);font-weight:500;letter-spacing:0;text-transform:none}.mirrored-dot{display:inline-flex;align-items:center;justify-content:center;width:.65em;height:.65em;margin-left:.35em;border-radius:50%;background:var(--accent, currentColor);opacity:.7;vertical-align:.05em;cursor:help}.mirrored-dot>span{display:none}.share-link{flex:1 1 auto;min-width:0;padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-xs);word-break:break-all;color:var(--text-muted)}.bullet-list{margin:var(--space-2) 0;padding-left:var(--space-4)}.bullet-list li{margin-bottom:var(--space-1)}.error{color:var(--danger);margin:var(--space-2) 0 0;font-size:var(--text-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-3);z-index:1000;animation:fadeIn .16s ease-out}.modal{animation:modal-pop-in .2s var(--ease-emphasized);background:var(--surface);border-radius:var(--radius-lg);max-width:480px;width:100%;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.modal-header h2{margin:0;font-size:var(--text-lg)}.modal-body{padding:var(--space-4);overflow-y:auto;flex:1 1 auto}.modal-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border, rgba(0, 0, 0, .08));display:flex;gap:var(--space-2);justify-content:flex-end}.icon-button{background:none;border:none;padding:var(--space-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted)}.icon-button svg{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:2;fill:none}.settings-row{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.linked-partner-list,.linked-invite-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.linked-partner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border-radius:var(--radius-md);flex-wrap:wrap}.linked-partner-meta{display:flex;flex-direction:column;gap:.125rem;min-width:0}.linked-invite{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--surface);border-radius:var(--radius-md)}.recipe-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:stretch}.section>.recipe-grid{margin-top:var(--space-5)}.recipe-card-wrap{position:relative;display:flex;content-visibility:auto;contain-intrinsic-size:auto 240px;overflow-clip-margin:16px}.recipe-card{flex:1;display:flex;flex-direction:column;gap:0;min-width:0;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-align:left;cursor:pointer;font-family:inherit;color:inherit;padding:0;box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease-standard),transform var(--dur-base) var(--ease-emphasized),box-shadow var(--dur-base) var(--ease-standard)}.recipe-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}.recipe-card-blocked{background:color-mix(in oklab,var(--surface-raised) 70%,var(--surface-sunken));border-style:solid;color:var(--text-muted)}.recipe-card-blocked:hover{transform:none;box-shadow:none}.recipe-card-image{position:relative;width:100%;aspect-ratio:4 / 3;background-color:var(--surface-sunken);background-size:cover;background-position:center;display:block;overflow:hidden;box-shadow:inset 0 0 0 1px var(--image-ring);flex:0 0 auto;min-height:0}.recipe-card-image>img{position:absolute;top:0;right:0;bottom:0;left:0}.recipe-card-image-fallback{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,var(--accent-soft),var(--surface-sunken));color:var(--text-muted);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;text-transform:uppercase}.recipe-card-text{display:flex;flex-direction:column;flex:1;justify-content:flex-end;gap:2px;padding:var(--space-3);min-width:0}.recipe-card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--text);line-height:1.25;letter-spacing:var(--tracking-snug);text-wrap:balance;overflow-wrap:break-word}.recipe-card-meta{font-size:var(--text-sm);color:var(--text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;padding-right:40px;min-height:32px}.recipe-card-favorite{position:absolute;top:var(--space-2);right:var(--space-2);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:999px;background:#0000005c;color:#ffffffe0;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .12s ease,color .12s ease,transform .12s ease}.recipe-card-favorite svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;fill:none}.recipe-card-favorite-on svg{fill:currentColor}.recipe-card-favorite:hover{background:#0009;transform:scale(1.05)}.recipe-card-favorite-on{background:color-mix(in oklab,var(--accent) 48%,rgba(0,0,0,.5));color:#fff}.recipe-card-add{position:absolute;bottom:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-text);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .12s ease,transform .12s ease}.recipe-card-add:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.recipe-card-add svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.recipe-card-add:hover{background:var(--accent-strong);transform:scale(1.05)}.recipe-card-add-on{background:var(--accent-soft);color:var(--accent-text-soft);box-shadow:none}.recipe-card-add-on:hover{background:var(--accent-soft);transform:scale(1.05)}.recipe-card-blocked .recipe-card-image>img,.recipe-row-blocked .recipe-row-thumb>img{filter:grayscale(.85);opacity:.5}.dietary-block-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin-left:6px;padding:1px 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface-sunken);color:var(--text-muted);font-size:var(--text-xs);font-weight:600;line-height:1.4;white-space:nowrap;vertical-align:1px}.dietary-block-badge-overlay{position:absolute;left:8px;bottom:8px;z-index:1;max-width:calc(100% - 16px);margin-left:0;border-color:#ffffff2e;background:#0000008f;color:#ffffffeb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.recipe-row-thumb .dietary-block-badge-overlay{left:4px;bottom:4px;max-width:calc(100% - 8px);padding:1px 5px;font-size:10px;line-height:1.25}.list-header{display:block;margin:0 0 var(--space-4)}.list-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.list-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:4px}.list-summary{margin:0;color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.list-clear{display:inline-flex;align-items:center;flex-shrink:0;min-height:28px;padding:0 4px;border:0;background:transparent;color:var(--text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:color .12s ease}.list-clear:hover{color:var(--text)}.text-button.text-button-quiet{color:var(--text-muted);font-weight:500}.text-button.text-button-quiet:hover{color:var(--text);text-decoration:none}.icon-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.icon-toggle:hover{color:var(--text);border-color:var(--border-strong)}.icon-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.icon-toggle:has(span){width:auto;padding:0 12px 0 10px;gap:6px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--text)}.icon-toggle.icon-toggle-active{border-color:var(--accent);color:var(--accent-text-soft)}.icon-toggle-active .share-caret{font-size:11px;opacity:.8;margin-left:-3px}.list-add-form{flex-wrap:nowrap;gap:var(--space-2)}.list-add-form .input{min-height:40px}.list-add-form .button{min-height:40px;padding-inline:16px}.filter-scroller{position:relative;margin:var(--space-2) 0 var(--space-3)}.filter-scroller:after{content:"";position:absolute;top:0;bottom:0;right:0;width:28px;pointer-events:none;background:linear-gradient(to right,transparent,var(--surface))}.filter-row{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;padding-right:28px}.filter-row::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;flex:0 0 auto;scroll-snap-align:start;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-muted);font-family:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.filter-chip:hover{color:var(--text);background:var(--surface)}.filter-chip:active{transform:scale(.97)}.filter-chip-active{color:var(--accent-text);background:var(--accent);border-color:var(--accent-text-soft);font-weight:600}.filter-chip-active:hover{color:var(--accent-text);background:var(--accent)}.filter-chip-clear{color:var(--text-muted);background:transparent}.filter-chip-select{position:relative;gap:6px;padding-right:10px}.filter-chip-select select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;color:var(--text)}.filter-chip-select option{color:var(--text);background:var(--surface)}.filter-chip-select .filter-chip-caret{font-size:.85em;line-height:1;opacity:.7}.pantry-pills{display:flex;flex-wrap:wrap;gap:6px}.pantry-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--text-muted);font-family:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.pantry-pill:hover{color:var(--text);background:var(--surface);border-color:var(--border-strong)}.pantry-pill-icon{display:inline-grid;place-items:center;width:14px;height:14px;color:var(--text-faint)}.pantry-pill-icon svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.pantry-pill-icon-trailing{margin-left:-2px;margin-right:-4px}.pantry-pill-selected{color:var(--text);border-color:color-mix(in oklab,var(--accent) 55%,var(--border));background:color-mix(in oklab,var(--accent) 6%,var(--surface-raised))}.pantry-pill-selected:hover{border-color:color-mix(in oklab,var(--accent) 75%,var(--border));background:color-mix(in oklab,var(--accent) 10%,var(--surface-raised))}.pantry-pill-selected .pantry-pill-icon{color:var(--accent-text-soft, var(--accent))}.pantry-pill-use-soon{border-color:color-mix(in oklab,var(--accent) 70%,var(--border));background:color-mix(in oklab,var(--accent) 10%,var(--surface-raised))}.pantry-pill-use-now{border-color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent) 16%,var(--surface-raised))}.pantry-pill-use-now .chip-badge{background:var(--accent);color:var(--accent-text)}.recipe-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.recipe-row{display:flex;align-items:stretch;gap:var(--space-1);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .12s ease}.recipe-row:hover{border-color:var(--border-strong)}.recipe-row-blocked{background:color-mix(in oklab,var(--surface-raised) 70%,var(--surface-sunken));border-style:solid;color:var(--text-muted)}.recipe-row-blocked:hover{border-color:var(--border)}.recipe-row-main{flex:1;display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:8px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font-family:inherit}.recipe-row-thumb{position:relative;width:56px;height:56px;flex-shrink:0;border-radius:var(--radius-sm);background-color:var(--surface-sunken);background-size:cover;background-position:center;overflow:hidden;box-shadow:inset 0 0 0 1px var(--image-ring)}.recipe-row-thumb-fallback{background:radial-gradient(circle at 30% 30%,var(--accent-soft),var(--surface-sunken))}.recipe-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.recipe-row-title{font-size:var(--text-base);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-row-meta{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-row-favorite{display:inline-flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;border:0;border-left:1px solid var(--border);background:transparent;color:var(--text-faint);cursor:pointer;transition:color .12s ease,background .12s ease}.recipe-row-favorite svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;fill:none}.recipe-row-favorite-on{color:var(--accent-text-soft)}.recipe-row-favorite-on svg{fill:currentColor}.recipe-row-favorite:hover{color:var(--accent-text-soft);background:var(--accent-soft)}.recipe-row-add{display:inline-flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;border:0;border-left:1px solid var(--border);background:transparent;color:var(--accent-text-soft);cursor:pointer;transition:color .12s ease,background .12s ease}.recipe-row-add svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.recipe-row-add:hover,.recipe-row-add-on{background:var(--accent-soft)}.list-add-recipe svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quick-action:after{content:"";position:absolute;top:50%;right:18px;width:8px;height:8px;border-right:1.5px solid var(--text-faint);border-top:1.5px solid var(--text-faint);transform:translateY(-50%) rotate(45deg)}.grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.recipe-card:hover{border-color:var(--border-strong)}.recipe-image{position:relative;width:100%;aspect-ratio:16 / 9;background-color:var(--surface-warm-2);background-position:center;background-size:cover}.recipe-image:after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(to top,hsl(30 25% 10% / .1),transparent);pointer-events:none}.recipe-image-fallback{background:radial-gradient(circle at 30% 30%,color-mix(in oklab,var(--accent) 18%,var(--surface-warm-2)) 0%,transparent 55%),radial-gradient(circle at 75% 70%,color-mix(in oklab,var(--warning) 14%,var(--surface-warm-2)) 0%,transparent 50%),var(--surface-warm-2)}.recipe-image-fallback{display:grid;place-items:center}.recipe-image-initial{font-family:var(--font-display);font-size:56px;line-height:1;color:color-mix(in oklab,var(--text) 35%,transparent);letter-spacing:.02em}.recipe-image>img,.recipe-card-image>img,.recipe-row-thumb>img,.recipe-detail-media>img,.parent-row-thumb>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.meta span{padding:3px 10px;border-radius:999px;background:var(--surface-sunken);color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.recipe-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 16px 14px}.recipe-actions .button{flex:1 1 auto;min-width:120px}.recipe-detail .provenance{margin-bottom:0;color:var(--text-faint);font-size:var(--text-xs);font-weight:500;text-transform:none;letter-spacing:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap-target);padding:0 18px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--accent);color:var(--accent-text);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:0;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.button:active{transform:translateY(0) scale(.98);box-shadow:none}.google-icon{flex-shrink:0}.button:disabled,.button-secondary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.button.button-working,.button.button-working:disabled{background:var(--surface-sunken);color:var(--text-muted);border-color:var(--border);box-shadow:none;opacity:1;cursor:default;pointer-events:none}.button.button-working .brand-loader{color:inherit;font-size:var(--text-sm);font-weight:600}@media(hover:none){.button:hover,.button-secondary:hover,.icon-button:hover,.text-button:hover,.chip button:hover,.nav button:hover{background:inherit;color:inherit;border-color:inherit}}.button-secondary{background:var(--surface-raised);border-color:var(--border);color:var(--text)}.button-secondary:hover{background:var(--surface-sunken);border-color:var(--border-strong)}.button-on-list{background:var(--surface-sunken);border-color:var(--border);color:var(--text-muted)}.button-on-list:hover{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text)}.text-button{display:inline-flex;align-items:center;min-height:var(--tap-target);padding:0 6px;border:0;background:transparent;color:var(--accent-text-soft);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer}.text-button:hover{color:var(--accent-text-soft);text-decoration:underline}.text-button:active{opacity:.55}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-target);height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-muted);cursor:pointer;font-size:0}.icon-button:hover{color:var(--text);border-color:var(--border-strong)}.icon-button:active{transform:scale(.96);transition:transform .12s ease}.icon-button svg{width:18px;height:18px;display:block;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.input{display:block;width:100%;min-height:var(--tap-target);padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font-size:var(--text-base);transition:border-color .12s ease,box-shadow .12s ease}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.textarea:focus{outline:none;border-color:var(--accent-text-soft);box-shadow:0 0 0 3px var(--accent-ring)}.textarea{display:block;width:100%;min-height:132px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);resize:vertical}.form-card{display:flex;flex-direction:column;gap:var(--space-3)}.capture-textarea{min-height:104px}.toggle-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-target);font-size:var(--text-base)}input[type=checkbox],input[type=radio]{accent-color:var(--accent-text-soft);color-scheme:light}.field-row{display:grid;grid-template-columns:1fr;gap:6px;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.field-row>span{color:var(--text-faint);font-size:var(--text-xs)}.field-row:last-child{border-bottom:0}.field-stack{display:flex;min-width:0;flex-direction:column;gap:4px}.field-label{color:var(--text-muted);font-size:var(--text-sm);line-height:1.35}.allergen-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.allergen-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,148px) var(--tap-target);align-items:center;gap:var(--space-2);min-height:52px;padding:8px 0;border-bottom:1px solid var(--border)}.allergen-row:last-child{border-bottom:0}.allergen-name{display:flex;min-width:0;flex-direction:column;gap:2px}.allergen-name>strong{overflow:hidden;color:var(--text);font-size:var(--text-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.allergen-severity{min-width:0;font-size:var(--text-sm)}.allergen-remove{width:var(--tap-target);height:var(--tap-target);background:transparent}.allergen-add-panel{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken)}.allergen-add-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-2)}.allergen-picker{grid-column:1 / -1}.allergen-severity-field{align-self:end}.allergen-add-button{min-width:72px}@media(min-width:640px){.allergen-add-grid{grid-template-columns:minmax(0,1fr) minmax(140px,180px) auto}.allergen-picker{grid-column:auto}}@media(max-width:380px){.allergen-row{grid-template-columns:minmax(0,1fr) var(--tap-target)}.allergen-severity{grid-column:1 / -1;grid-row:2}.allergen-remove{grid-column:2;grid-row:1}}.toggle-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer}.toggle-row-text{display:flex;flex-direction:column;gap:4px;min-width:0}.toggle-row-text>strong{font-weight:600;color:var(--text)}.toggle-row-text>small{color:var(--text-muted);font-size:var(--text-sm);line-height:1.4}.switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.switch>input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-sunken, var(--border));border:1px solid var(--border);border-radius:999px;transition:background .14s ease,border-color .14s ease}.switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--switch-thumb, #fff);border-radius:50%;box-shadow:var(--shadow-sm);transition:transform .14s ease}.switch>input:checked+.switch-track{background:var(--accent);border-color:var(--accent-text-soft)}.switch>input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch>input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.share-tabs{display:flex;gap:var(--space-1);padding:4px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-3);margin-bottom:var(--space-4)}.share-tab-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:inherit;font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.share-tab-btn svg{width:16px;height:16px;flex-shrink:0}.share-tab-btn:hover{color:var(--text)}.share-tab-btn.is-active{background:var(--surface-raised);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.share-toggle-cards{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);margin-bottom:var(--space-4)}.share-toggle-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.share-toggle-card:hover{border-color:var(--border-strong);background:color-mix(in oklab,var(--surface-raised) 96%,var(--text))}.share-toggle-card.is-active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 6%,var(--surface-raised))}.share-toggle-card:has(+.share-card-sub-input){border-radius:var(--radius-lg) var(--radius-lg) 0 0}.share-card-sub-input{background:var(--surface-sunken);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-3) var(--space-4);margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-1);display:flex;flex-direction:column;gap:6px;transition:opacity var(--dur-fast) var(--ease-standard)}.share-card-sub-input.is-muted{opacity:.5}.share-card-sub-input.is-muted .device-name-input-field{cursor:default}.sub-input-label{font-size:var(--text-xs);font-weight:500;color:var(--text-muted)}.device-name-input-field{width:100%;border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);outline:none;box-sizing:border-box;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.device-name-input-field:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 1px var(--accent)}.device-name-settings{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2);margin-bottom:var(--space-3)}.device-name-edit-box{position:relative;display:flex;align-items:center;width:100%}.device-name-status{position:absolute;right:var(--space-3);font-size:var(--text-xs);color:var(--text-faint);font-weight:500;pointer-events:none}.device-name-status.success{color:var(--success)}.share-toggle-card .toggle-row-text{flex:1 1 auto}.share-card-icon-wrapper{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-faint);flex-shrink:0;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.share-card-icon-svg{width:20px;height:20px}.share-toggle-card:hover .share-card-icon-wrapper{color:var(--text-muted)}.share-toggle-card.is-active .share-card-icon-wrapper{background:color-mix(in oklab,var(--accent) 12%,var(--surface-sunken));color:var(--accent-text-soft)}.share-link-widget{display:flex;align-items:center;gap:var(--space-2);padding:4px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-3);margin-bottom:var(--space-3);transition:border-color var(--dur-fast) var(--ease-standard)}.share-link-widget:focus-within{border-color:var(--accent)}.share-link-icon-wrap{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-faint);margin-left:6px}.share-link-icon-wrap svg{width:16px;height:16px}.share-link-input{flex:1 1 auto;min-width:0;border:0;background:transparent;color:var(--text-muted);font-size:var(--text-sm);font-family:inherit;padding:var(--space-1) 0;outline:none;cursor:pointer}.sr-only-link{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.share-copy-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.share-copy-btn:hover{background:var(--surface);border-color:var(--border-strong)}.share-copy-btn.is-copied{background:color-mix(in oklab,var(--success) 12%,var(--surface-raised));border-color:var(--success);color:var(--success)}.share-copy-btn svg{width:14px;height:14px}.btn-icon{width:16px;height:16px;flex-shrink:0}.button .btn-icon,.button-secondary .btn-icon{margin-right:8px}.linked-partner-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--space-2);margin-bottom:var(--space-2)}@media(min-width:480px){.linked-partner-card{flex-direction:row;align-items:center;justify-content:space-between}}.linked-partner-info{display:flex;align-items:center;gap:var(--space-3);min-width:0}.partner-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text-soft);font-weight:600;font-size:var(--text-lg);flex-shrink:0}.linked-partner-actions{display:flex;align-items:center;gap:var(--space-2)}.button-toggle-action,.button-link-action{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--space-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.button-toggle-action svg,.button-link-action svg{width:14px;height:14px}.button-toggle-action:hover,.button-link-action:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.button-toggle-action.is-active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--surface-raised));color:var(--accent-text-soft)}.coshop-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.linked-partner>.coshop-row{flex-basis:100%}@media(min-width:480px){.linked-partner-card{flex-wrap:wrap}.linked-partner-card>.coshop-row{flex-basis:100%}}.coshop-row-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.coshop-row-label{font-size:var(--text-sm);font-weight:500;color:var(--text)}.coshop-row-state{font-size:var(--text-xs);color:var(--text-muted)}.coshop-row-state.is-active{color:var(--accent-text-soft)}.coshop-switch{position:relative;flex-shrink:0;width:44px;height:26px;padding:0;border:1px solid var(--border);border-radius:999px;background:var(--surface-sunken, var(--border));cursor:pointer;transition:background .14s ease,border-color .14s ease}.coshop-switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--switch-thumb, #fff);box-shadow:var(--shadow-sm);transition:transform .14s ease}.coshop-switch.is-on{background:var(--accent);border-color:var(--accent-text-soft)}.coshop-switch.is-on .coshop-switch-thumb{transform:translate(18px)}.coshop-switch.is-on.is-pending{background:color-mix(in oklab,var(--accent) 42%,var(--surface-sunken));border-color:var(--border)}.coshop-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.coshop-switch,.coshop-switch-thumb{transition:none}}.linked-invite-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--space-2);margin-bottom:var(--space-2)}.linked-invite-header{display:flex;align-items:center}.linked-invite-badge{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:600;padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--border)}.button.button-danger-light{border-color:color-mix(in oklab,var(--danger) 40%,var(--border));color:var(--danger)}.button.button-danger-light:hover{background:color-mix(in oklab,var(--danger) 8%,var(--surface-raised));border-color:var(--danger)}.roster-container{margin-top:var(--space-3);margin-bottom:var(--space-3)}.shared-roster-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.shared-roster-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md)}.roster-device-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-sunken);color:var(--text-muted);font-weight:600;font-size:var(--text-sm);flex-shrink:0}.roster-device-meta{display:flex;flex-direction:column;min-width:0}.roster-device-name{font-weight:500;color:var(--text);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-1)}.roster-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:var(--radius-pill)}.roster-badge.me-badge{background:var(--accent-soft);color:var(--accent-text-soft)}.roster-badge.owner-badge{background:var(--surface-sunken);color:var(--text-faint);border:1px solid var(--border)}.roster-device-seen{color:var(--text-faint);font-size:var(--text-xs);margin-top:1px}.share-section{border-top:1px solid var(--border);padding-top:var(--space-4)}.share-section>*+*{margin-top:var(--space-3)}.share-signin>*+*{margin-top:var(--space-2)}.modify-form{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-md)}.modify-form .textarea{min-height:72px}.dietary-block-notice{display:grid;gap:2px;margin:var(--space-3) 0 var(--space-5);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:color-mix(in oklab,var(--surface-sunken) 82%,var(--surface-raised));color:var(--text-muted);font-size:var(--text-sm)}.dietary-block-notice strong{color:var(--text);font-size:var(--text-sm)}.dietary-block-notice.is-adapted{border-left:3px solid var(--accent)}.dietary-block-notice.is-adapted .text-button{justify-self:start;margin-top:2px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet-backdrop);background:#0000006b;overscroll-behavior:none;touch-action:none;animation:fadeIn .18s ease-out}.sheet-backdrop-exiting{opacity:0;transition:opacity .2s ease}.recipe-detail-media{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 9;background-color:var(--surface-warm-2);background-position:center;background-size:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.recipe-detail-media-pending{display:grid;place-items:center}.recipe-detail-media-fallback{position:absolute;top:0;right:0;bottom:0;left:0}.recipe-image-loading{position:absolute;left:50%;bottom:var(--space-4);max-width:calc(100% - var(--space-8));transform:translate(-50%);display:flex;justify-content:center;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in oklab,var(--border-strong) 78%,transparent);border-radius:var(--radius-md);background:color-mix(in oklab,var(--surface-raised) 88%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.recipe-image-loading .brand-loader{color:var(--text);font-size:var(--text-sm);font-weight:600}.recipe-detail-body{container:recipe-detail / inline-size;padding:var(--space-4) var(--space-4) env(safe-area-inset-bottom,0px)}.recipe-detail-body h2{font-size:var(--text-2xl);margin:var(--space-1) 0 var(--space-2)}.recipe-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.recipe-detail-title-row h2{flex:1 1 auto;min-width:0}.recipe-detail-title-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2)}.bookmark-wrap{position:relative;display:inline-flex}.bookmark-popover{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:5;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border-default);color:var(--text-primary);font-size:var(--text-xs);line-height:1.2;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;animation:bookmark-popover-in .12s ease-out}@keyframes bookmark-popover-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.bookmark{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;transition:color .12s,border-color .12s,background .12s}.bookmark:hover{color:var(--text-primary);border-color:var(--border-default)}.bookmark-active{color:var(--color-primary);border-color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 8%,transparent)}.bookmark-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.bookmark:disabled{cursor:default}.bookmark-spinner{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in oklch,var(--text-muted) 30%,transparent);border-top-color:var(--accent-text-soft);animation:bookmark-spin .6s linear infinite}@keyframes bookmark-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.bookmark-spinner{animation-duration:1.8s}}.button-kroger{border-color:#00549a;color:#00549a}.button-kroger:hover{border-color:#00549a;background:color-mix(in oklch,#00549a 6%,var(--surface-raised))}.button-kroger:focus-visible{outline-color:#00549a}.bookmark-active .bookmark-icon{fill:currentColor}.sheet-meta-line{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-2)}.sheet-blurb{color:var(--text-muted);margin:0 0 var(--space-4)}.sheet-source{margin:calc(var(--space-4) * -1) 0 var(--space-4)}.sheet-footer{position:sticky;bottom:0;display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) calc(var(--space-4) * -1) calc(env(safe-area-inset-bottom,0px)*-1);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border)}.sheet-footer-primary{display:flex;gap:var(--space-2)}.from-scratch-inline{margin:2px 0 var(--space-2) 28px}.from-scratch-toggle{font-size:var(--text-sm)}.from-scratch-panel{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-left:2px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2)}.from-scratch-meta,.from-scratch-panel .list-plain{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.from-scratch-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.kitchen-setup-inline{flex-basis:100%;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.kitchen-setup-inline .text-button{align-self:flex-start}.detail-remove{display:block;margin:var(--space-2) auto 0;color:var(--text-muted)}.detail-remove:hover,.detail-remove:focus-visible{color:var(--danger)}.web-preview-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.web-preview-actions .button{min-width:0;padding-inline:var(--space-3)}.web-preview-full{grid-column:1 / -1}.sheet--web-preview .sheet-footer{background:var(--surface)}.meta-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.detail-adapt{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-sm)}.detail-adapt-label{color:var(--text-muted);font-size:var(--text-xs)}.detail-adapt-options{display:inline-flex;flex-wrap:wrap;gap:var(--space-3)}.version-history{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.version-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.version-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm)}.version-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);min-width:0}.version-source{font-size:var(--text-sm);font-weight:600}.version-time{font-size:var(--text-xs);color:var(--text-muted)}.version-note{flex-basis:100%;font-size:var(--text-xs);color:var(--text-muted)}.button-block{flex:1}.recipe-edit{display:flex;flex-direction:column;gap:var(--space-4)}.recipe-edit-note{margin:0}.recipe-edit-meta{grid-template-columns:1fr 1fr}.recipe-edit-meta>:first-child{grid-column:1 / -1}.recipe-edit-section{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-edit-section h3{margin:0;font-size:var(--text-lg)}.recipe-edit-rows{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-edit-ing-row{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-2)}.recipe-edit-ing-row .input{padding-inline:var(--space-2)}.recipe-edit-ing-row .input[type=number]::-webkit-inner-spin-button,.recipe-edit-ing-row .input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.recipe-edit-ing-row .input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.recipe-edit-ing-row .input[aria-label=amount]{flex:0 0 3.75rem;min-width:0}.recipe-edit-ing-row .input[aria-label=unit]{flex:0 0 4rem;min-width:0}.recipe-edit-ing-row .input[aria-label="ingredient name"]{flex:1 1 auto;min-width:0}.recipe-edit-step-row{display:flex;align-items:flex-start;gap:var(--space-2)}.recipe-edit-step-num{flex:0 0 1.25rem;padding-top:var(--space-2);color:var(--text-muted);font-variant-numeric:tabular-nums}.recipe-edit-step-row .textarea{flex:1 1 auto;min-width:0}.recipe-edit-remove{flex:0 0 auto;color:var(--text-muted)}.recipe-edit-remove:hover{color:var(--text)}.sheet h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-lg)}.form-card>h2,.form-card>h3,.form-card>p{margin:0}.list-plain,.steps{margin:0;padding-left:20px;color:var(--text)}.list-plain li,.steps li{margin-bottom:8px;line-height:1.55}.step-ingredient{color:var(--accent-text-soft);font-weight:600}.step-ingredient-amount{font-weight:500;color:var(--text-muted, var(--accent-text-soft))}.two-column{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@container recipe-detail (min-width: 680px){.two-column{grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr);gap:var(--space-5)}}.utility-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4)}.utility-header h2,.list-header h2{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.018em;line-height:1.1}.utility-header>div{min-width:0}.utility-header>.button{flex-shrink:0}.utility-header-actions{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-2)}.sheet{--sheet-drag-y: 0px;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sheet);max-width:560px;margin:0 auto;max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;transform:translateY(var(--sheet-drag-y));transition:transform .18s cubic-bezier(.32,.72,0,1);background:var(--surface-raised);border:1px solid var(--border);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));animation:slideUp .28s cubic-bezier(.32,.72,0,1)}.sheet[data-dragging=true]{transition:none}.sheet-exiting{animation:none;transform:translateY(100%);transition:transform .2s cubic-bezier(.3,0,1,1);pointer-events:none}.sheet:before{content:"";display:block;width:36px;height:4px;margin:0 auto var(--space-3);border-radius:2px;background:var(--border-strong)}.sheet-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:3;width:var(--tap-target);height:var(--tap-target);display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-raised);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;transition:transform .12s ease}.sheet-close:active{transform:scale(.96)}.sheet--bleed .sheet-close{border-color:color-mix(in oklab,#ffffff 30%,transparent);background:color-mix(in oklab,#000000 62%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px color-mix(in oklab,#000000 35%,transparent);color:#fff}.sheet-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}.sheet-header{margin:0 0 var(--space-4);padding-right:calc(var(--tap-target) + var(--space-3))}.sheet-header h2{margin:0;font-size:var(--text-2xl)}.sheet-header p{margin:var(--space-1) 0 0}.sheet--cook{max-height:100vh;max-height:100svh;height:100vh;height:100svh;border-radius:0;border:0}.sheet--cook:before{display:none}.sheet--bleed{padding:0}.sheet--bleed:before{position:absolute;top:var(--space-2);left:0;right:0}.sheet-backdrop:has(+.sheet--web-preview){z-index:calc(var(--z-sheet) + 10)}.sheet--web-preview{z-index:calc(var(--z-sheet) + 11)}.sheet--ask{height:auto;max-height:min(82dvh,760px);overflow:hidden;padding:0;border-top:1px solid color-mix(in oklab,var(--accent) 18%,var(--border))}.sheet--ask:has(.ask-screen-thread-mode){height:min(82dvh,760px)}.sheet--ask:before{position:absolute;top:8px;left:50%;width:44px;height:5px;margin:0;transform:translate(-50%);background:color-mix(in oklab,var(--text-faint) 70%,transparent);border-radius:3px}.sheet--ask .sheet-close{top:18px;right:var(--space-4);width:36px;height:36px}.ask-sheet{position:relative;height:100%;isolation:isolate}.ask-sheet .ask-screen{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;padding:26px var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px))}@media(pointer:coarse){.ask-sheet .ask-screen{padding-bottom:calc(var(--space-3) + max(env(safe-area-inset-bottom,0px),var(--space-5)))}}.ask-screen-head{position:relative;z-index:1;flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-right:calc(var(--tap-target) + var(--space-2));margin-bottom:var(--space-4)}.ask-screen-head-text{min-width:0;display:grid;gap:4px}.ask-screen-new-chat{position:absolute;top:18px;right:calc(var(--space-4) + 36px + var(--space-2));z-index:3;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in oklab,var(--border-strong) 60%,transparent);border-radius:50%;background:color-mix(in oklab,var(--surface-raised) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;transition:background .12s ease,color .12s ease}.ask-screen-new-chat:hover{background:color-mix(in oklab,var(--surface-raised) 100%,transparent)}.ask-screen-new-chat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ask-screen-new-chat svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}.ask-screen-thread-mode .ask-screen-head{padding-right:calc(var(--tap-target) + 36px + var(--space-2) * 2)}.sheet--ask:has(.ask-screen-preview-open)>.sheet-close,.sheet--ask:has(.ask-screen-preview-open) .ask-screen-new-chat{display:none}@media(min-width:1024px){.sheet.sheet--ask{inset:0 0 0 auto;width:min(400px,92vw);max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-left:1px solid color-mix(in oklab,var(--accent) 18%,var(--border));border-radius:0;box-shadow:var(--shadow-lg);transform:none;animation:slideInRight .28s cubic-bezier(.32,.72,0,1)}.sheet.sheet--ask.sheet-exiting{animation:none;opacity:1;transform:translate(100%);transition:transform .2s cubic-bezier(.3,0,1,1)}.sheet.sheet--ask:has(.ask-screen-thread-mode){height:100dvh}.sheet.sheet--ask:before{display:none}.app{transition:padding-right .24s cubic-bezier(.32,.72,0,1)}.app:has(.sheet--ask){padding-right:calc(min(400px,92vw) + var(--space-5))}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.ask-screen-eyebrow{margin:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;color:var(--accent-text-soft)}.ask-screen-offline{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.ask-screen-title{margin:0;font-family:var(--font-display);font-size:clamp(1.45rem,1.1rem + 1.6vw,1.85rem);line-height:1.15;font-weight:500;letter-spacing:-.014em;color:var(--text);text-wrap:balance;transition:font-size .2s ease}.ask-screen-thread-mode .ask-screen-head{margin-bottom:var(--space-3)}.ask-screen-thread-mode .ask-screen-title{font-size:var(--text-lg);line-height:1.25}.ask-screen-thread-mode .ask-screen-eyebrow{font-size:11px}.ask-screen-body{position:relative;z-index:1;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--space-5);padding:2px 2px var(--space-2);margin:0 -2px;scrollbar-gutter:stable}.ask-screen-starters{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid color-mix(in oklab,var(--border) 70%,transparent)}.ask-screen-starters>li{border-bottom:1px solid color-mix(in oklab,var(--border) 70%,transparent)}.ask-screen-starter{width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:14px;padding:14px 4px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .14s ease,padding .14s ease}.ask-screen-starter:hover,.ask-screen-starter:focus-visible{background:color-mix(in oklab,var(--accent-soft) 55%,transparent);padding-left:10px;padding-right:10px;outline:none}.ask-screen-starter-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--accent-soft) 70%,var(--surface-raised));color:var(--accent-text-soft);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 18%,var(--border));transition:transform var(--dur-base) var(--ease-emphasized)}.ask-screen-starter:hover .ask-screen-starter-icon,.ask-screen-starter:focus-visible .ask-screen-starter-icon{transform:translate(1px) scale(1.04)}:root[data-theme=dark] .ask-screen-starter-icon,:root[data-theme=system] .ask-screen-starter-icon{color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent-soft) 60%,transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .ask-screen-starter-icon,:root[data-theme=system] .ask-screen-starter-icon{color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent-soft) 60%,transparent)}}.ask-screen-starter-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.ask-screen-starter-text{min-width:0;display:grid;gap:1px}.ask-screen-starter-label{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;letter-spacing:-.005em;color:var(--text)}.ask-screen-starter-hint{font-size:var(--text-xs);color:var(--text-faint);letter-spacing:0}.ask-screen-starter-arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--text-faint);opacity:0;transform:translate(-4px);transition:opacity .14s ease,transform .14s ease,color .12s ease}.ask-screen-starter:hover .ask-screen-starter-arrow,.ask-screen-starter:focus-visible .ask-screen-starter-arrow{opacity:1;transform:translate(0);color:var(--accent-text-soft)}.ask-screen-starter-arrow svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.ask-screen-pantry{display:grid;gap:10px;padding:var(--space-4);border:1px solid color-mix(in oklab,var(--border) 80%,transparent);border-radius:var(--radius-lg);background:color-mix(in oklab,var(--surface-sunken) 70%,var(--surface-raised))}.ask-screen-pantry-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.ask-screen-pantry-label{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:var(--text)}.ask-screen-pantry-head-end{display:inline-flex;align-items:center;gap:var(--space-2)}.ask-screen-pantry-count{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-faint)}.ask-screen-pantry-rail{list-style:none;margin:0;padding:2px 0 4px;display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none}.ask-screen-pantry-rail::-webkit-scrollbar{display:none}.ask-screen-pantry-chip{flex:0 0 auto;padding:5px 11px;border-radius:999px;background:color-mix(in oklab,var(--text) 6%,transparent);color:var(--text-muted);font-size:var(--text-sm);line-height:1.4;white-space:nowrap}.ask-screen-pantry-chip-more{color:var(--text-faint);background:transparent}.ask-screen-pantry-cta{justify-self:stretch;min-height:44px;padding:0 18px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--accent-text);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.ask-screen-pantry-cta:hover,.ask-screen-pantry-cta:focus-visible{background:var(--accent-strong, var(--accent));border-color:var(--accent-strong, var(--accent));outline:none}.ask-screen-starters-secondary{border-top:0;padding-top:var(--space-2)}.ask-screen-starters-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-faint);padding:0 2px var(--space-1);border-bottom:1px solid color-mix(in oklab,var(--border) 70%,transparent)}.ask-screen-starters-secondary .ask-screen-starter{padding-top:11px;padding-bottom:11px}.ask-screen-starters-secondary .ask-screen-starter-icon{width:30px;height:30px;background:transparent}.ask-screen-starters-secondary .ask-screen-starter-icon svg{width:16px;height:16px}.ask-screen-starters-secondary .ask-screen-starter-label{font-size:var(--text-sm);font-weight:500}.ask-screen-thread{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5)}.ask-screen-turn{display:grid;gap:var(--space-3)}.ask-screen-bubble{display:grid;gap:4px;max-width:92%;min-width:0}.ask-screen-bubble>*{min-width:0}.ask-screen-recipes,.ask-screen-recipe-list,.ask-screen-recipe-list>li{min-width:0}.ask-screen-bubble-text{margin:0;font-size:var(--text-base);line-height:1.5;color:var(--text)}.ask-screen-bubble-you{justify-self:end;text-align:right}.ask-screen-bubble-you .ask-screen-bubble-text{display:inline-block;padding:10px 14px;border-radius:18px 18px 4px;background:color-mix(in oklab,var(--accent) 90%,transparent);color:var(--accent-text);font-size:var(--text-sm);text-align:left;box-shadow:var(--shadow-sm)}.ask-screen-bubble-them{position:relative;padding:2px 0 2px 14px;border-left:2px solid color-mix(in oklab,var(--accent) 80%,transparent)}.ask-screen-bubble-them .ask-screen-bubble-text{font-family:var(--font-display);font-size:1.08rem;line-height:1.45;color:var(--text)}.ask-screen-bubble-fallback{border-left-color:var(--border-strong)}.ask-screen-bubble-fallback .ask-screen-bubble-text{color:var(--text-muted)}.ask-screen-recipes{display:grid;gap:8px;margin-top:var(--space-3)}.ask-screen-recipes-label{margin:0;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-faint)}.ask-screen-recipe-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ask-screen-recipe-row{display:flex;align-items:stretch;gap:4px}.ask-screen-recipe-row>.ask-screen-recipe-button{flex:1 1 auto;min-width:0}.ask-screen-recipe-button{width:100%;min-height:44px;display:flex;flex-direction:row;align-items:center;gap:12px;padding:8px 12px;border:1px solid color-mix(in oklab,var(--border) 80%,transparent);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.ask-screen-recipe-thumb{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);background-color:var(--surface-sunken);background-size:cover;background-position:center;overflow:hidden;box-shadow:inset 0 0 0 1px var(--image-ring)}.ask-screen-recipe-thumb>img{width:100%;height:100%;object-fit:cover;display:block}.ask-screen-recipe-thumb-fallback{background:radial-gradient(circle at 30% 30%,var(--accent-soft),var(--surface-sunken))}.ask-screen-recipe-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ask-screen-recipe-button:hover{border-color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent-soft) 35%,var(--surface-raised))}.ask-screen-recipe-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent-text-soft)}.ask-screen-recipe-name{min-width:0;max-width:100%;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ask-screen-recipe-meta{flex:0 0 auto;font-size:11px;color:var(--text-faint);letter-spacing:.02em;white-space:nowrap}.cookbook-web-search-container{width:100%}.cookbook-web-search-container .ask-screen-web-results{width:100%;text-align:left}.cookbook-web-search-more{margin-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.cookbook-web-search-more p{font-size:var(--text-sm)}.ask-screen-web-results .ask-screen-recipe-button{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name action" "meta meta";column-gap:var(--space-3);row-gap:2px;align-items:center}.ask-screen-web-results .ask-screen-recipe-name{grid-area:name}.ask-screen-web-results .ask-screen-recipe-meta{grid-area:meta;flex:initial;min-width:0;overflow:hidden;text-overflow:ellipsis}.ask-screen-web-card{width:100%;min-height:96px;display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-areas:"media body" "media action";gap:var(--space-3);align-items:stretch;padding:var(--space-2);border:1px solid var(--border);border-radius:8px;background:color-mix(in oklab,var(--surface) 82%,var(--surface-raised));color:inherit;text-align:left;cursor:pointer}.ask-screen-web-card:hover{border-color:color-mix(in oklab,var(--accent) 42%,var(--border));background:var(--surface-raised)}.ask-screen-web-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent-text-soft)}.ask-screen-web-card:disabled{cursor:progress;opacity:.82}.ask-screen-web-card-no-media{grid-template-columns:minmax(0,1fr);grid-template-areas:"body" "action";min-height:0}.ask-screen-web-card-media{grid-area:media;width:92px;min-height:92px;border-radius:7px;overflow:hidden;border:1px solid color-mix(in oklab,var(--border) 78%,transparent);background:var(--surface-sunken)}.ask-screen-web-card-image{width:100%;height:100%;object-fit:cover;display:block}.ask-screen-web-card-media-favicon{display:flex;align-items:center;justify-content:center;padding:22px}.ask-screen-web-card-favicon-img{width:100%;height:100%;object-fit:contain;display:block;opacity:.92}.ask-screen-web-card-body{grid-area:body;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:2px}.ask-screen-web-card-source{min-width:0;max-width:100%;color:var(--accent-text-soft);font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ask-screen-web-card-title{min-width:0;color:var(--text);font-size:var(--text-sm);font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ask-screen-web-card-snippet{min-width:0;color:var(--text-muted);font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ask-screen-web-card-action{grid-area:action;align-self:end;justify-self:start;display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-3);border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 45%,var(--border));color:var(--accent-text-soft);font-size:12px;font-weight:700}.ask-screen-web-card:disabled .ask-screen-web-card-action{color:var(--text-faint);border-color:var(--border)}.ask-screen-recipe-skeleton{cursor:default;pointer-events:none}.ask-screen-skeleton-line{display:block;border-radius:6px;background:linear-gradient(90deg,color-mix(in oklab,var(--surface-raised) 60%,var(--border)),color-mix(in oklab,var(--surface-raised) 80%,var(--border)),color-mix(in oklab,var(--surface-raised) 60%,var(--border)));background-size:200% 100%;animation:ask-skeleton-shimmer 1.4s ease-in-out infinite}.ask-screen-skeleton-line--name{width:60%;height:14px}.ask-screen-skeleton-line--meta{width:80%;height:10px;margin-top:6px}.ask-screen-skeleton-line--bubble{width:72px;height:14px}@keyframes ask-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.ask-screen-skeleton-line{animation:none}}.ask-screen-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-3)}.ask-screen-action{min-height:36px;padding:0 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-raised);color:var(--text);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.ask-screen-action:hover{border-color:var(--accent-text-soft);color:var(--accent-text-soft)}.ask-screen-action-primary{background:var(--accent);border-color:var(--accent-text-soft);color:var(--accent-text)}.ask-screen-action-primary:hover{background:var(--accent-strong);border-color:var(--accent-text-soft);color:var(--accent-text)}.ask-screen-quick-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ask-screen-quick-actions::-webkit-scrollbar{display:none}.ask-screen-quick-action{flex:0 0 auto;min-height:34px;padding:0 13px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-raised);color:var(--text);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.ask-screen-quick-action:hover,.ask-screen-quick-action:focus-visible{border-color:var(--accent-text-soft);color:var(--accent-text-soft);outline:none}.ask-screen-quick-action-save{border-color:color-mix(in oklab,var(--accent) 45%,var(--border-strong));color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent) 10%,var(--surface-raised))}.ask-screen-quick-action-save:hover,.ask-screen-quick-action-save:focus-visible{border-color:var(--accent-text-soft);color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent) 16%,var(--surface-raised))}.ask-screen-composer{flex:0 0 auto;position:relative;z-index:1;padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid color-mix(in oklab,var(--border) 80%,transparent)}.ask-screen-composer-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ask-screen-composer-field{position:relative;display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;border:1px solid var(--border-strong);border-radius:22px;background:var(--surface-raised);box-shadow:var(--shadow-sm);transition:border-color .14s ease,box-shadow .14s ease}.ask-screen-composer-field:focus-within{border-color:var(--accent-text-soft);box-shadow:0 0 0 3px var(--accent-ring)}.ask-screen-textarea{flex:1 1 auto;min-width:0;min-height:28px;max-height:132px;padding:6px 0;border:0;background:transparent;color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.4;resize:none;outline:none;overflow-x:hidden;overflow-y:hidden;white-space:nowrap;text-overflow:ellipsis}.ask-screen-textarea:focus{overflow-x:auto;text-overflow:clip}.ask-screen-textarea::placeholder{color:var(--text-faint)}.ask-screen-send{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--accent);color:var(--accent-text);cursor:pointer;transition:background .12s ease,transform 80ms ease}.ask-screen-send:hover{background:var(--accent-strong)}.ask-screen-send:active{transform:scale(.96)}.ask-screen-send svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.ask-screen-composer-import{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-6px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .12s ease,background .12s ease}.ask-screen-composer-import:hover,.ask-screen-composer-import:focus-visible{color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent-soft) 55%,transparent);outline:none}.ask-screen-composer-import svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.list-groups{display:grid;gap:var(--space-3);margin-top:var(--space-3)}.shopping-list{list-style:none;margin:0;padding:0}.shopping-list li{display:flex;align-items:center;gap:var(--space-3);padding:10px 0;border-top:1px solid var(--border);font-size:var(--text-base);line-height:1.35}.shopping-list li:first-child{border-top:0}.shopping-list small{display:block;margin-top:2px;color:var(--text-faint);font-size:var(--text-xs)}.list-item-source-link{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;margin:0;font:inherit;color:var(--text-muted);cursor:pointer}.list-item-source-link:hover{text-decoration:underline}.list-item-source-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.shopping-list em{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.have-item .list-item-name,.checked-in-place .list-item-name{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--text-faint);color:var(--text-faint)}.have-item small,.checked-in-place small{color:var(--text-faint)}.list-item-text{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}button.list-item-text{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:text}button.list-item-text:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.list-item-edit{flex:1 1 auto;min-width:0;min-height:32px;padding:4px 8px;font-size:var(--text-base);line-height:1.35}.list-item-remove{position:relative;flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-faint);cursor:pointer;font-size:18px;line-height:1}.list-item-remove:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.list-item-remove:hover{color:var(--text);background:var(--surface-sunken)}.list-item-remove svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.list-item-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list-item-name{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.checkbox{flex:0 0 auto;position:relative;width:26px;height:26px;padding:0;border:1.5px solid var(--border-strong);border-radius:7px;background:var(--surface-raised);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.checkbox:hover{border-color:var(--accent-text-soft)}.checkbox:active{transform:scale(.96)}.checkbox:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.checkbox-checked{background:var(--accent);border-color:var(--accent-text-soft)}.checkbox-checked:before{content:"";position:absolute;top:50%;left:50%;width:14px;height:7px;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:translate(-50%,-65%) rotate(-45deg);animation:checkbox-check-in var(--dur-base) var(--ease-emphasized)}@keyframes checkbox-check-in{0%{opacity:0;transform:translate(-50%,-30%) rotate(-45deg) scale(.5)}to{opacity:1;transform:translate(-50%,-65%) rotate(-45deg) scale(1)}}.settings-toggle input[type=checkbox],.toggle-row>input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:0 0 auto;position:relative;width:26px;height:26px;margin:0;border:1.5px solid var(--border-strong);border-radius:7px;background:var(--surface-raised);cursor:pointer;transition:background .12s ease,border-color .12s ease}.settings-toggle input[type=checkbox]{margin-top:2px}.settings-toggle input[type=checkbox]:hover,.toggle-row>input[type=checkbox]:hover{border-color:var(--accent-text-soft)}.settings-toggle input[type=checkbox]:checked,.toggle-row>input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent-text-soft)}.settings-toggle input[type=checkbox]:checked:before,.toggle-row>input[type=checkbox]:checked:before{content:"";position:absolute;top:50%;left:50%;width:14px;height:7px;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:translate(-50%,-65%) rotate(-45deg)}.settings-toggle input[type=checkbox]:focus-visible,.toggle-row>input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list-groups>.card{padding:14px 16px 6px}.list-groups>.card>h3{display:flex;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-2);padding-bottom:8px;border-bottom:1px solid var(--border);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-muted);letter-spacing:0;text-transform:none}.list-aisle-name{flex:1 1 auto;min-width:0}.list-aisle-count{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--text-faint);font-weight:500}.aisle-count{font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--text-faint);font-weight:500}.checked-bucket{padding:12px 16px}.checked-bucket summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);list-style:none;display:flex;align-items:center;justify-content:space-between}.checked-bucket summary::-webkit-details-marker{display:none}.checked-bucket summary:after{content:"▾";color:var(--text-faint);transition:transform .2s ease}.checked-bucket[open] summary:after{transform:rotate(180deg)}.checked-bucket .shopping-list{margin-top:var(--space-2)}.parent-panel{margin-top:var(--space-3)}.parent-panel-open{padding:0;overflow:hidden;background:transparent;border:0;border-radius:0}.parent-panel-head{display:flex;align-items:center;gap:var(--space-2);min-height:36px;padding:4px 0;color:var(--text-muted);font-size:var(--text-sm);font-weight:600}.parent-add-recipe{margin-left:auto}.parent-add-recipe svg{width:16px;height:16px;margin-right:4px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.list-recipes-bar{display:flex;align-items:center;min-height:36px}.list-recipes-bar .muted{font-size:var(--text-sm);font-weight:600}.list-recipes-bar .parent-add-recipe{margin-left:auto}.list-meal-ideas .home-hero-list>.home-hero-row-li:first-child{padding-top:2px}.parent-panel h3{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.parent-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.coshop-nudge-msg{color:var(--text);margin:0 0 var(--space-3)}.coshop-nudge-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.coshop-conflict-title{color:var(--text);font-weight:600;margin:0 0 var(--space-1)}.coshop-conflict-body{margin:0 0 var(--space-3)}.coshop-conflict-body strong{color:var(--text);font-weight:600}.coshop-conflict-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.coshop-shared-banner{display:flex;align-items:center;gap:var(--space-2);margin:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--text-sm)}.coshop-shared-avatar{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--surface-sunken);color:var(--text-muted);font-weight:600;font-size:.6875rem;flex-shrink:0}.list-ready>h3{margin:0 0 var(--space-3)}.list-ready .parent-list{border-top:0}.parent-row{display:flex;align-items:center;gap:var(--space-2);padding:8px 0;border-bottom:1px solid var(--border)}.parent-row:last-child{border-bottom:0}.parent-row-servings{flex-shrink:0}.parent-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}.parent-title-row{display:flex;align-items:baseline;gap:var(--space-2)}.parent-count{flex-shrink:0;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.parent-bar{display:block;height:5px;border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.parent-bar>i{display:block;height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width .24s ease}.parent-row-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.parent-row-stepper-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--text);width:30px;height:30px;font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.parent-row-stepper-btn:hover:not(:disabled){background:var(--surface-sunken)}.parent-row-stepper-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}.parent-row-stepper-value{min-width:22px;text-align:center;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text);padding:0 2px}.parent-name{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--space-2);text-align:left;background:transparent;border:0;padding:0;color:var(--text);font-size:var(--text-sm);font-weight:500;cursor:pointer}.parent-row-thumb{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);background-color:var(--surface-sunken);background-size:cover;background-position:center;overflow:hidden;box-shadow:inset 0 0 0 1px var(--image-ring)}.parent-row-thumb-fallback{background:radial-gradient(circle at 30% 30%,var(--accent-soft),var(--surface-sunken))}.parent-name-text{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3}button.parent-name:hover .parent-name-text{color:var(--accent-text-soft);text-decoration:underline}.parent-panel .text-button{flex:0 0 auto;padding:6px 0;font-size:var(--text-sm)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md)}.empty h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.empty p{margin:0 0 var(--space-3);max-width:32ch;color:var(--text-muted)}.empty .button{margin-top:var(--space-2)}.empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-2)}.empty-actions .button{margin-top:0}.chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 6px 4px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.chip[aria-pressed]{padding-right:12px;cursor:pointer}.chip[aria-pressed=true]{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 14%,var(--surface-raised))}.chip[aria-pressed]:active{transform:scale(.97)}.chip small{display:inline;color:var(--text-faint);font-size:var(--text-xs);margin-left:2px}.chip button{display:grid;place-items:center;width:22px;height:22px;margin-left:2px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-faint);cursor:pointer;font-size:16px;line-height:1}.chip button:hover{color:var(--text);background:var(--surface-sunken)}.chip button:disabled{cursor:default;opacity:.5}.chip button svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.chip-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;min-height:88px;align-content:flex-start;padding:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);transition:border-color .12s ease,box-shadow .12s ease}.chip-input:focus-within{border-color:var(--accent-text-soft);box-shadow:0 0 0 3px var(--accent-ring)}.chip-input-disabled{opacity:.6}.chip-input-field{flex:1 1 120px;min-width:120px;align-self:center;min-height:32px;padding:0 6px;border:0;background:transparent;color:var(--text);font-family:var(--font-body);font-size:var(--text-base);outline:none}.chip-input-field::placeholder{color:var(--text-faint)}.chip-cuisine{padding:4px 4px 4px 12px;gap:4px}.chip-cuisine-label{display:inline-flex;align-items:baseline;gap:6px}.chip-cuisine-name{text-transform:capitalize}.chip-cuisine-actions{display:inline-flex;align-items:center;gap:2px;margin-left:6px;padding-left:8px;border-left:1px solid var(--border)}.chip-cuisine button{display:inline-flex;align-items:center;justify-content:center;width:auto;height:32px;margin-left:0;padding:0 10px;border-radius:999px;font-size:var(--text-xs);font-weight:500}.chip-cuisine button.is-active{color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent) 14%,transparent)}.chip-cuisine button.is-active:hover{color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent) 20%,transparent)}.chip-cuisine button.chip-cuisine-block.is-active{color:var(--text);background:color-mix(in oklab,var(--text) 15%,transparent)}.chip-cuisine button.chip-cuisine-block.is-active:hover{color:var(--text);background:color-mix(in oklab,var(--text) 22%,transparent)}.chip-badge{font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;padding:2px 8px;border-radius:999px;background:color-mix(in oklab,var(--accent) 20%,transparent);color:var(--accent-text, var(--text))}.toast.install-prompt{z-index:calc(var(--z-sheet-backdrop) - 1)}.install-prompt .toast-action{white-space:nowrap}.toast{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);z-index:var(--z-toast);max-width:420px;margin:0 auto;padding:12px 16px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-sm);text-align:center;box-shadow:var(--shadow-lg);animation:toastInUp .22s cubic-bezier(.32,.72,0,1)}.toast-leaving{opacity:0;transform:translateY(6px);transition:opacity .18s ease-in,transform .18s ease-in;pointer-events:none}.toast-undo{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.toast-action{background:transparent;border:0;padding:4px 8px;margin:-4px -8px -4px 0;color:var(--accent-text-soft);font-weight:700;font-size:var(--text-sm);letter-spacing:.02em;cursor:pointer;border-radius:6px}.toast-action:hover{background:color-mix(in oklab,var(--accent) 14%,transparent)}.toast-actions{display:inline-flex;align-items:center;gap:4px}.toast-action-muted{color:var(--text-muted);font-weight:500}.toast-action-muted:hover{background:color-mix(in oklab,var(--text-muted) 14%,transparent)}.toast-label-action{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:4px 8px;margin:-4px 0 -4px -8px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:6px}.toast-label-action:hover{background:color-mix(in oklab,var(--text) 8%,transparent)}.toast-label-chevron{flex-shrink:0;width:16px;height:16px;fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.callout{margin:var(--space-2) 0 0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken)}.callout p{margin:0 0 var(--space-2);color:var(--text)}.callout p:last-child{margin-bottom:0}.sheet.shared-recipe-sheet{top:0;bottom:auto;height:100vh;height:100svh;height:100dvh;max-height:100vh;max-height:100svh;max-height:100dvh;border:0;border-radius:0}.shared-recipe-intro{display:grid;gap:var(--space-3);margin:0 0 var(--space-4);color:var(--text-muted)}.shared-recipe-intro>p{margin:0}.shared-recipe-footer{gap:var(--space-2)}.shared-recipe-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.shared-recipe-actions .button{min-width:0;padding-inline:var(--space-3)}.shared-conflict-hard{padding:var(--space-3);border:1px solid color-mix(in oklab,var(--warning) 50%,var(--border));border-radius:var(--radius-md);background:color-mix(in oklab,var(--warning) 10%,var(--surface-sunken));color:var(--text)}.shared-conflict-hard-title{margin:0 0 var(--space-1);font-weight:600;color:color-mix(in oklab,var(--warning) 70%,var(--text))}.shared-conflict-list{margin:0;padding-left:var(--space-4);color:var(--text);font-size:var(--text-sm)}.shared-conflict-soft{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.shared-conflict-error{margin:0;color:var(--danger);font-size:var(--text-sm)}.muted{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-2)}.section .muted{line-height:1.5}.settings-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:var(--space-6) 0 0;padding-bottom:var(--space-1);text-align:center}.settings-footer .muted{font-size:var(--text-sm)}.code{font-family:var(--font-mono);font-size:var(--text-xs)}.code{display:block;overflow-wrap:anywhere;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-muted)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}details{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow-y:clip;transition:content-visibility .2s allow-discrete,block-size .2s var(--ease-standard)}details[open]::details-content{block-size:auto}@media(min-width:720px){.app{padding:var(--space-5) var(--space-5) var(--space-8)}.header,.section,.sheet{max-width:720px}.header{padding:var(--space-5) 0 var(--space-4)}.header h1{font-size:var(--text-3xl)}.bottom-bar{position:sticky;top:var(--space-3);left:auto;right:auto;bottom:auto;width:max-content;max-width:min(100%,720px);margin:0 auto var(--space-5);padding-bottom:0;z-index:var(--z-nav)}.nav{flex:0 0 auto;grid-template-columns:repeat(3,max-content);justify-content:center;padding:6px;box-shadow:var(--shadow-md)}.nav button{flex-direction:row;gap:8px;min-height:40px;padding:0 16px;font-size:var(--text-sm)}.nav button .nav-icon{width:18px;height:18px}.ask-fab{flex-direction:row;gap:8px;min-height:40px;min-width:auto;padding:0 18px;font-size:var(--text-sm);box-shadow:var(--shadow-md)}.ask-fab-logo{width:22px;height:22px}.toast,.toast-undo{bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.sheet{left:50%;right:auto;bottom:50%;width:min(640px,calc(100vw - 48px));transform:translate(-50%,calc(50% + var(--sheet-drag-y, 0px)));max-width:640px;max-height:86vh;max-height:86dvh;border:1px solid var(--border);border-radius:var(--radius-lg);animation:fadeIn .2s ease-out}.sheet-exiting{animation:none;opacity:0;transform:translate(-50%,calc(50% + 12px));transition:opacity .18s var(--ease-standard),transform .18s var(--ease-standard)}.sheet.shared-recipe-sheet{top:auto;bottom:50%;width:min(760px,calc(100vw - 48px));max-width:760px;height:auto;max-height:92vh;max-height:92dvh;border:1px solid var(--border);border-radius:var(--radius-lg)}.sheet:before{display:none}.recipe-detail-media{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.app{padding-bottom:var(--space-7)}}@media(min-width:960px){.sheet--bleed:not(.sheet--cook){width:min(760px,calc(100vw - 48px));max-width:760px}}.daynight-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.daynight-row>h3{margin:0}.daynight{--h: 28px;--w: 54px;--pad: calc(var(--h) * .17);--knob: calc(var(--h) - var(--pad) * 2);--travel: calc(var(--w) - var(--knob) - var(--pad) * 2);position:relative;flex:none;width:var(--w);height:var(--h);padding:0;border:0;border-radius:999px;cursor:pointer;overflow:hidden;background:linear-gradient(165deg,#5aa7e6,#93cef6);box-shadow:inset 0 1px 3px #00000038,0 4px 10px #1f293724;transition:background .5s ease;-webkit-tap-highlight-color:transparent}.daynight[aria-checked=true]{background:linear-gradient(165deg,#213450,#38506a)}.daynight:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.daynight-stars{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .45s ease;background:radial-gradient(1.4px 1.4px at 20% 38%,#fff,transparent),radial-gradient(1.2px 1.2px at 33% 66%,#eef3fa,transparent),radial-gradient(1.3px 1.3px at 44% 28%,#fff,transparent),radial-gradient(1.1px 1.1px at 26% 80%,#d9e2ef,transparent),radial-gradient(1.3px 1.3px at 52% 56%,#fff,transparent)}.daynight[aria-checked=true] .daynight-stars{opacity:1}.daynight-knob{position:absolute;top:var(--pad);left:var(--pad);width:var(--knob);height:var(--knob);border-radius:50%;background:radial-gradient(circle at 38% 34%,#ffe07a,#fcb82c);box-shadow:0 2px 5px #0f172a47,inset 0 1px 2px #ffffff80;transition:transform .5s cubic-bezier(.4,.7,.3,1.1)}.daynight[aria-checked=true] .daynight-knob{transform:translate(var(--travel))}.daynight-craters{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;opacity:0;transition:opacity .45s ease;background-color:#e7eaee;background-image:radial-gradient(circle at 36% 36%,#ccd2d9 0 18%,transparent 19%),radial-gradient(circle at 64% 62%,#d3d9df 0 13%,transparent 14%)}.daynight[aria-checked=true] .daynight-craters{opacity:1}@media(prefers-reduced-motion:reduce){.daynight,.daynight-stars,.daynight-knob,.daynight-craters{transition:none}}.cook-mode-timers{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-md);position:sticky;top:0;z-index:1}.cook-mode-timer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.cook-mode-timer-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.cook-mode-timer-finished{border-color:var(--accent-text-soft);background:color-mix(in oklab,var(--accent) 8%,var(--surface))}.cook-mode-timer-paused{opacity:.75}.cook-mode-timer-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.cook-mode-timer-label{font-size:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cook-mode-timer-clock{font-family:var(--font-display);font-size:22px;font-variant-numeric:tabular-nums;color:var(--text)}.cook-mode-timer-finished .cook-mode-timer-clock{color:var(--accent-text-soft)}.cook-mode-timer-controls{display:flex;gap:var(--space-2);flex-shrink:0}.cook-mode-banners{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-1)}.cook-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:8px var(--space-3);background:color-mix(in oklab,var(--accent) 14%,var(--surface));border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text)}.cook-mode-step-timer-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;margin:var(--space-2) 0 0;padding:12px var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-standard)}.cook-mode-step-timer-cta:hover{border-color:var(--accent-text-soft)}.cook-mode-step-timer-cta-label{font-size:var(--text-sm);color:var(--text-muted)}.cook-mode-step-timer-cta-time{font-family:var(--font-display);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent-text-soft)}.cook-mode-step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto;overflow-y:auto;scroll-padding-block:var(--space-4)}.cook-mode-step-item{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-2);border-left:2px solid transparent;transition:border-color .12s ease}.cook-mode-step-item-active{border-left-color:var(--accent-text-soft)}.cook-mode-step-row{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;margin:0;padding:var(--space-2) 0;background:transparent;border:0;text-align:left;cursor:pointer;color:var(--text)}.cook-mode-step-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.cook-mode-step-number{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-family:var(--font-display);font-size:14px;font-variant-numeric:tabular-nums;color:var(--text-muted);line-height:1;transition:background .18s var(--ease-standard),border-color .18s var(--ease-standard),color .18s var(--ease-standard)}.cook-mode-step-item-active .cook-mode-step-number{background:var(--accent);border-color:var(--accent-text-soft);color:var(--accent-text)}.cook-mode-step-text{display:block;flex:1 1 auto;font-family:var(--font-display);font-size:18px;line-height:1.5;letter-spacing:-.005em;color:var(--text-muted);transition:color .2s var(--ease-standard)}.cook-mode-step-item-active .cook-mode-step-text{color:var(--text)}.cook-mode-ingredient{background:color-mix(in oklab,var(--accent) 14%,transparent);padding:0 4px;border-radius:4px;font-weight:600;color:var(--text)}.cook-mode-ingredient-amount{margin-left:2px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.recipe-assistant-fab{z-index:6;display:inline-flex;align-items:center;gap:var(--space-2);height:var(--tap-target);padding:0 var(--space-4) 0 var(--space-3);border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 28%,var(--border));background:color-mix(in oklab,var(--surface-raised) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--accent-text-soft);font-size:var(--text-sm);font-weight:600;box-shadow:var(--shadow-md);cursor:pointer;transition:background .12s ease,border-color .12s ease}.recipe-assistant-fab--cook{position:absolute;right:var(--space-4);bottom:calc(var(--space-6) + 5.5rem)}.recipe-assistant-fab--recipe{position:absolute;right:var(--space-4);bottom:calc(100% + var(--space-2))}.recipe-assistant-fab:hover{background:var(--surface-raised);border-color:color-mix(in oklab,var(--accent) 42%,var(--border))}.recipe-assistant-fab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.recipe-assistant-fab svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.recipe-assistant-panel{z-index:7;display:flex;flex-direction:column;max-height:min(62%,26rem);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.recipe-assistant-panel--cook{position:absolute;left:var(--space-3);right:var(--space-3);bottom:var(--space-3)}.recipe-assistant-panel--recipe{position:fixed;right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));left:auto;width:min(420px,calc(100vw - 2 * var(--space-3)))}.recipe-assistant-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4);border-bottom:1px solid var(--border)}.recipe-assistant-title{font-size:var(--text-sm);font-weight:600;color:var(--text)}.recipe-assistant-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.recipe-assistant-empty{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.45}.recipe-assistant-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.recipe-assistant-actions .button{flex:1 1 0}.recipe-assistant-composer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border)}.recipe-assistant-composer .input{flex:1 1 auto;min-width:0}.recipe-assistant-composer .button{flex:0 0 auto}@media(min-width:720px){.sheet--ask{left:0;right:0;bottom:0;transform:none;max-width:680px;max-height:none;border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .28s cubic-bezier(.32,.72,0,1)}}.kroger-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.kroger-preview-line{padding:var(--space-3) var(--space-3) var(--space-2)}.kroger-preview-line.is-skipped{opacity:.7}.kroger-preview-row{display:flex;gap:var(--space-3);align-items:center}.kroger-preview-text{flex:1;min-width:0}.kroger-preview-text .kicker{margin:0 0 2px}.kroger-preview-name{margin:0 0 2px;font-weight:600;line-height:1.3;word-break:break-word}.kroger-preview-meta{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.kroger-preview-thumb{width:52px;height:52px;border-radius:var(--radius-sm);background:var(--surface-sunken);object-fit:contain;flex:0 0 52px}.kroger-preview-thumb--small{width:40px;height:40px;flex:0 0 40px}.kroger-preview-thumb--empty{background:var(--surface-sunken);position:relative}.kroger-preview-thumb--empty:after{content:"";position:absolute;top:30%;right:30%;bottom:30%;left:30%;border-radius:2px;background:linear-gradient(currentColor,currentColor) center/60% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 60% no-repeat;color:var(--text-muted);opacity:.35}.kroger-preview-actions{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);margin-left:calc(52px + var(--space-3))}.kroger-preview-actions .text-button{padding:0;min-height:auto;font-size:var(--text-xs)}.kroger-preview-actions .text-button+.text-button{margin-left:var(--space-2);padding-left:var(--space-2);border-left:1px solid var(--border)}.kroger-alternates{list-style:none;margin:var(--space-2) 0 0;padding:var(--space-2) 0 0;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border)}.kroger-alternate{display:flex;width:100%;gap:var(--space-2);align-items:center;padding:6px 8px;border-radius:var(--radius-sm);background:transparent;border:0;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:background .12s ease}.kroger-alternate:hover,.kroger-alternate:focus-visible{background:var(--surface-sunken)}.kroger-alternate-text{flex:1;min-width:0}.kroger-alternate-text .kroger-preview-name{font-weight:500;font-size:var(--text-sm)}.seeder{max-width:720px;margin:0 auto;padding-bottom:var(--space-6)}.seeder h1{font-size:var(--text-xl);font-weight:650}.seeder-error{color:var(--danger);font-size:var(--text-sm)}.seeder-warn{color:var(--text-secondary);font-size:var(--text-sm)}.seeder-image{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md)}.seeder-image-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:var(--surface-sunken);color:var(--text-secondary)}.seeder-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seeder-cols{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.seeder-ing-row .input[aria-label=amount]{flex:0 0 4.5rem}.seeder-ing-row .input[aria-label=unit]{flex:0 0 5.5rem}.seeder-ing-row .input[aria-label=name]{flex:1 1 auto}.seeder-xcard-image{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-sm)}.seeder-xcard-body{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}@media(min-width:600px){.seeder-cols{grid-template-columns:1fr 1fr}}.brand-loader{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.95rem}.lazy-screen-fallback{display:grid;place-items:center;min-height:40vh;padding:3rem 1rem}.brand-loader svg{width:22px;height:22px;display:block;flex:none}.brand-loader .bl1{fill:var(--mark-c1)}.brand-loader .bl2{fill:var(--mark-c2)}.brand-loader .bl3{fill:var(--mark-c3)}.brand-loader .bl1,.brand-loader .bl2,.brand-loader .bl3{transform-box:fill-box;transform-origin:center;animation:brand-relay 1.9s cubic-bezier(.4,0,.2,1) infinite}.brand-loader .bl3{animation-delay:0s}.brand-loader .bl2{animation-delay:.22s}.brand-loader .bl1{animation-delay:.44s}@keyframes brand-relay{0%,70%,to{opacity:1}30%{opacity:.28}}@media(prefers-reduced-motion:reduce){.brand-loader .bl1,.brand-loader .bl2,.brand-loader .bl3{animation:none}}.welcome-inner{display:flex;flex-direction:column;gap:var(--space-5)}.welcome-mid{display:flex;flex-direction:column;gap:var(--space-1)}.welcome-actions{display:flex;flex-direction:column;gap:var(--space-3)}.welcome-actions .text-button{align-self:center}.onboarding-inner{display:flex;flex-direction:column;gap:var(--space-4)}.sheet--onboarding{display:flex;flex-direction:column;height:90vh;height:90dvh;padding-bottom:0;overflow:visible}.sheet--onboarding .onboarding-footer{position:sticky;bottom:0;margin:var(--space-4) calc(-1 * var(--space-4)) 0}.onboarding-header{display:flex;flex-direction:column;gap:var(--space-1)}.onboarding-eyebrow{color:var(--accent-text-soft);font-size:var(--text-sm);font-weight:700;letter-spacing:.01em}.onboarding-title{margin:0;text-wrap:balance}.onboarding-sub{margin:var(--space-1) 0 0;color:var(--text-muted);max-width:46ch;text-wrap:pretty}.onboarding-prefs{display:flex;flex-direction:column;gap:var(--space-4)}.onboarding-pref-group{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-pref-label{margin:0;font-weight:600;font-size:var(--text-sm);color:var(--text)}.onboarding-signal{margin:0;padding:var(--space-3) 0 0;border-top:1px solid var(--border);font-size:var(--text-base);color:var(--text)}.onboarding-signal strong{font-size:var(--text-lg)}.onboarding-signal-aside{color:var(--text-muted)}.onboarding-blocked{margin:0}.onboarding-blocked>summary{color:var(--accent-text-soft);font-weight:600;font-size:var(--text-sm);cursor:pointer}.onboarding-blocked-list{margin:var(--space-2) 0 0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:4px}.onboarding-blocked-name{color:var(--text)}.onboarding-empty{padding:var(--space-5) 0;text-align:center}.onboarding-grid-toggle{align-self:center;color:var(--accent-text-soft);font-weight:600}.onboarding-grid-wrap{position:relative}.onboarding-grid-wrap.is-collapsed:after{content:"";position:absolute;inset:auto 0 0 0;height:72px;background:linear-gradient(to bottom,transparent,var(--surface-raised));pointer-events:none}.onboarding-footer{flex-shrink:0;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:var(--surface-raised);border-top:1px solid var(--border)}.onboarding-footer .button{max-width:560px;margin:0 auto}.onboarding-nudge{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.onboarding-nudge-text{display:flex;flex-direction:column;gap:4px}.onboarding-nudge-text small{color:var(--text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.onboarding-byo{border-top:1px solid var(--border);padding-top:var(--space-4)}.onboarding-byo-later{margin:0;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.fit-viz{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3)}.fit-donut-wrap{position:relative;width:132px;height:132px}.fit-donut{width:132px;height:132px;transform:rotate(-90deg)}.fit-donut circle{fill:none;stroke-width:11;stroke-linecap:round}.fit-track{stroke:color-mix(in oklab,var(--border) 85%,transparent)}.fit-prog{stroke:var(--accent);transition:stroke-dashoffset var(--dur-slow) var(--ease-standard)}.fit-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.fit-num{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.fit-lab{font-size:var(--text-sm);color:var(--text-muted);margin-top:1px}.fit-aside{margin:0;font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.fit-aside button{position:relative;background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--accent-text-soft);font-weight:600}.fit-aside button:after{content:"";position:absolute;top:-12px;right:-10px;bottom:-12px;left:-10px}.onboarding-step{display:flex;flex-direction:column;min-height:0;flex:1}.onboarding-step-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-4);padding-bottom:var(--space-4);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--space-4));mask-image:linear-gradient(to bottom,transparent 0,#000 var(--space-4))}.onboarding-step-footer{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);background:var(--surface-raised);margin:0 calc(-1 * var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}.onboarding-step-footer .text-button{align-self:center}@media(min-width:720px){.sheet--onboarding .onboarding-step-footer{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}}.onboarding-progress{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding-right:44px}.onboarding-progress-bars{display:flex;gap:6px;flex:1}.onboarding-progress-bars i{height:8px;flex:1;border-radius:4px;background:var(--border)}.onboarding-progress-bars i.on{background:var(--accent)}.onboarding-progress-step{color:var(--text-muted);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.onboarding-back{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 auto;border-radius:50%;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-muted);cursor:pointer;position:relative;transition:transform var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.onboarding-back svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.onboarding-back:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.onboarding-back:hover{border-color:var(--border-strong)}.onboarding-back:active{transform:scale(.96)}.onboarding-back-reveal{align-self:flex-start}.onboarding-grid .recipe-card{cursor:default}.onboarding-grid .recipe-card:hover{transform:none;box-shadow:var(--shadow-xs);border-color:var(--border)}.onboarding-step-header{display:flex;flex-direction:column}.q-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0;text-wrap:balance}.q-sub{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);text-wrap:pretty}.bigchips{display:flex;flex-wrap:wrap;gap:9px}.bigchip{display:inline-flex;align-items:center;gap:7px;min-height:46px;padding:0 17px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font-size:var(--text-base);font-family:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.bigchip:active{transform:scale(.96)}.bigchip.on{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 16%,var(--surface-raised))}.bigchip.block{border-color:var(--block);background:color-mix(in oklab,var(--block) 26%,var(--surface-raised));color:color-mix(in oklab,var(--block) 30%,var(--text))}.bigchip.more{border-color:transparent;background:transparent;color:var(--accent-text-soft);font-weight:600}.bigchip .ck{width:15px;height:15px;stroke:var(--accent-text-soft);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.bigchip .x{width:14px;height:14px;stroke:var(--block);stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}@keyframes onboarding-chip-pop{0%{opacity:0;transform:scale(.25);filter:blur(4px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.bigchip .ck,.bigchip .x{animation:onboarding-chip-pop var(--dur-base) var(--ease-emphasized)}@keyframes onboarding-step-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onboarding-step-scroll>*{animation:onboarding-step-enter var(--dur-base) var(--ease-standard) both}.onboarding-step-scroll>*:nth-child(2){animation-delay:45ms}.onboarding-step-scroll>*:nth-child(3){animation-delay:90ms}.onboarding-step-scroll>*:nth-child(4){animation-delay:135ms}.onboarding-step-scroll>*:nth-child(5){animation-delay:.18s}@media(prefers-reduced-motion:reduce){.bigchip .ck,.bigchip .x,.onboarding-step-scroll>*{animation:none}}.onboarding-reveal-head{display:flex;flex-direction:column}.onboarding-reveal-badge{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text-soft);margin-bottom:var(--space-2)}.onboarding-reveal-badge svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.sheet--byo{display:flex;flex-direction:column;gap:var(--space-4)}.sheet--byo .onboarding-byo-later{align-self:center}.sheet--byo .batch-import-actions{flex-direction:column;align-items:stretch;gap:var(--space-2)}.sheet--byo .batch-import-actions .button{width:100%}.batch-import{display:flex;flex-direction:column;gap:var(--space-3)}.batch-import-lead{margin:0;font-weight:600}.batch-import-sub{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.batch-import-textarea{width:100%;resize:vertical;min-height:96px;font-family:var(--font-body)}.batch-import-actions{align-items:center}.batch-import-photos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.batch-import-photo{position:relative;width:64px;height:64px}.batch-import-photo-thumb{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);display:block}.batch-import-photo-remove.icon-button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.batch-import-photo-remove .meta-icon{width:14px;height:14px}.batch-import-hint,.batch-import-progress{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.batch-import-aside{color:var(--text-muted)}.batch-import-results{margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:2px}.batch-import-result{font-size:var(--text-sm)}.chip.chip-more{color:var(--accent-text-soft);font-weight:600}
