@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--wc-canvas: #faf9f3;--wc-surface: #ffffff;--wc-ink: #282820;--wc-basil: #82b58b;--wc-soft-green: #e7eedf;--wc-butter: #ffd66b;--wc-tomato: #f17c65;--wc-peach: #fbe3d4;--wc-lavender: #eae0f4;--wc-category-desserts: #f5a3cd;--wc-category-baking: #d8b18e;--wc-category-bread: #f0e07a;--wc-category-beverages: #86d4ee;--wc-category-breakfast: #fbbd6b;--wc-category-snacks: #b9a2f0;--wc-category-appetizers: #92dba0;--wc-category-soups: #93b4f2;--wc-category-pasta-rice: #84dccb;--wc-category-main-course: #f59a9a;--wc-category-side-dish: #cde987;--wc-category-sauces: #d9a0ec;--wc-lavender-strong: var(--wc-category-snacks);--wc-assistant-launcher-size: 76px;--wc-assistant-launcher-size-mobile: 64px;--wc-assistant-header-fill: linear-gradient(105deg, var(--wc-lavender), color-mix(in srgb, var(--wc-lavender-strong) 52%, var(--wc-surface)));--wc-assistant-send-fill: linear-gradient(135deg, var(--wc-lavender), var(--wc-lavender-strong));--wc-primary: var(--wc-basil);--wc-secondary: var(--wc-butter);--wc-accent: var(--wc-tomato);--wc-background: var(--wc-canvas);--wc-text-border: var(--wc-ink);--wc-white: var(--wc-surface);--wc-green-50: color-mix(in srgb, var(--wc-soft-green) 50%, var(--wc-canvas));--wc-green-100: var(--wc-soft-green);--wc-green-200: color-mix(in srgb, var(--wc-primary) 36%, var(--wc-soft-green));--wc-green-400: color-mix(in srgb, var(--wc-primary) 76%, var(--wc-soft-green));--wc-green-600: var(--wc-primary);--wc-green-700: color-mix(in srgb, var(--wc-primary) 72%, var(--wc-text-border));--wc-green-800: color-mix(in srgb, var(--wc-primary) 46%, var(--wc-text-border));--wc-green-900: var(--wc-text-border);--wc-gray-50: var(--wc-canvas);--wc-gray-100: color-mix(in srgb, var(--wc-ink) 4%, var(--wc-surface));--wc-gray-200: color-mix(in srgb, var(--wc-ink) 10%, var(--wc-surface));--wc-gray-300: color-mix(in srgb, var(--wc-ink) 18%, var(--wc-surface));--wc-gray-600: color-mix(in srgb, var(--wc-ink) 68%, var(--wc-surface));--wc-gray-900: var(--wc-text-border);--wc-warm-50: var(--wc-canvas);--wc-warm-100: var(--wc-peach);--wc-yellow-100: color-mix(in srgb, var(--wc-secondary) 42%, var(--wc-surface));--wc-yellow-500: var(--wc-secondary);--wc-coral-100: color-mix(in srgb, var(--wc-accent) 28%, var(--wc-surface));--wc-coral-500: var(--wc-accent);--wc-lilac-100: var(--wc-lavender);--wc-lilac-500: color-mix(in srgb, var(--wc-lavender) 62%, var(--wc-ink));--wc-sky-100: color-mix(in srgb, var(--wc-soft-green) 72%, var(--wc-surface));--wc-sky-500: var(--wc-primary);--wc-pink-500: var(--wc-accent);--wc-red-50: color-mix(in srgb, var(--wc-accent) 18%, var(--wc-background));--wc-red-100: color-mix(in srgb, var(--wc-accent) 40%, var(--wc-background));--wc-red-300: var(--wc-accent);--wc-red-500: color-mix(in srgb, var(--wc-accent) 62%, var(--wc-text-border));--wc-red-700: color-mix(in srgb, var(--wc-accent) 36%, var(--wc-text-border));--wc-amber-50: color-mix(in srgb, var(--wc-secondary) 28%, var(--wc-background));--wc-amber-700: color-mix(in srgb, var(--wc-secondary) 58%, var(--wc-text-border));--wc-font-body: "Nunito Variable", Nunito, ui-rounded, "SF Pro Rounded", ui-sans-serif, system-ui, sans-serif;--wc-font-display: "Nunito Variable", Nunito, ui-rounded, "SF Pro Rounded", ui-sans-serif, system-ui, sans-serif;--wc-font-size-2xs: .625rem;--wc-font-size-xs: .6875rem;--wc-font-size-sm: .75rem;--wc-font-size-body-sm: .875rem;--wc-font-size-body: 1rem;--wc-font-size-lg: 1.125rem;--wc-font-size-xl: 1.5rem;--wc-font-size-2xl: clamp(1.75rem, 4vw, 2.5rem);--wc-font-size-3xl: clamp(2.5rem, 7vw, 4.5rem);--wc-font-weight-regular: 400;--wc-font-weight-medium: 500;--wc-font-weight-bold: 700;--wc-font-weight-display: 800;--wc-line-height-tight: 1.1;--wc-line-height-heading: 1.2;--wc-line-height-body: 1.5;--wc-letter-spacing-label: .04em;--wc-type-page-title-size: var(--wc-font-size-3xl);--wc-type-section-title-size: var(--wc-font-size-xl);--wc-type-card-title-size: var(--wc-font-size-lg);--wc-type-body-size: var(--wc-font-size-body);--wc-type-label-size: var(--wc-font-size-body-sm);--wc-space-0: 0;--wc-space-1: 2px;--wc-space-1-5: 3px;--wc-space-2: 4px;--wc-space-3: 6px;--wc-space-4: 8px;--wc-space-5: 10px;--wc-space-6: 12px;--wc-space-7: 14px;--wc-space-control-gap: 7px;--wc-space-8: 16px;--wc-space-9: 18px;--wc-space-10: 20px;--wc-space-12: 24px;--wc-space-16: 32px;--wc-space-20: 40px;--wc-space-24: 48px;--wc-space-32: 64px;--wc-spacing-2xs: var(--wc-space-2);--wc-spacing-xs: var(--wc-space-4);--wc-spacing-sm: var(--wc-space-6);--wc-spacing-md: var(--wc-space-8);--wc-spacing-lg: var(--wc-space-12);--wc-spacing-xl: var(--wc-space-16);--wc-spacing-2xl: var(--wc-space-24);--wc-spacing-3xl: var(--wc-space-32);--wc-border-width: 1px;--wc-border-width-emphasis: 2px;--wc-border-width-strong: 3px;--wc-radius-xs: 8px;--wc-radius-sm: 10px;--wc-radius-md: 12px;--wc-radius-control: 14px;--wc-radius-dropdown: 15px;--wc-radius-lg: 18px;--wc-radius-xl: 22px;--wc-radius-2xl: 28px;--wc-radius-dialog: 30px;--wc-radius-pill: 999px;--wc-radius-circle: 50%;--wc-radius-button: var(--wc-radius-pill);--wc-radius-card: var(--wc-radius-xl);--wc-radius-field: var(--wc-radius-control);--wc-radius-popover: var(--wc-radius-lg);--wc-orb-sm: clamp(2.75rem, 6vw, 4.5rem);--wc-orb-md: clamp(4.5rem, 9vw, 7.5rem);--wc-orb-lg: clamp(8rem, 16vw, 13rem);--wc-orb-xl: clamp(12rem, 24vw, 19rem);--wc-shadow-soft-xs: 0 4px 10px color-mix(in srgb, var(--wc-ink) 8%, transparent);--wc-shadow-soft-sm: 0 8px 18px color-mix(in srgb, var(--wc-ink) 9%, transparent);--wc-shadow-soft-md: 0 14px 30px color-mix(in srgb, var(--wc-ink) 8%, transparent);--wc-shadow-soft-lg: 0 24px 60px color-mix(in srgb, var(--wc-ink) 22%, transparent);--wc-shadow-hard-xs: 1px 2px 0 var(--wc-ink);--wc-shadow-hard-sm: 2px 3px 0 var(--wc-ink);--wc-shadow-hard-md: 4px 5px 0 var(--wc-ink);--wc-shadow-hard-lg: 6px 8px 0 var(--wc-ink);--wc-shadow-hard-accent: 4px 5px 0 var(--wc-primary);--wc-shadow-focus: 0 0 0 3px color-mix(in srgb, var(--wc-primary) 32%, transparent);--wc-shadow-button-rest: var(--wc-shadow-hard-sm);--wc-shadow-button-hover: var(--wc-shadow-hard-md);--wc-content-narrow: 480px;--wc-content-reading: 720px;--wc-content-wide: 1180px;--wc-content-max: 1440px;--wc-content-library: 1320px;--wc-content-list: 920px;--wc-dialog-surface: var(--wc-surface);--wc-dialog-header-surface: var(--wc-canvas);--wc-dialog-section-surface: var(--wc-canvas);--wc-dialog-border: var(--wc-ink);--wc-dialog-shadow: 6px 7px 0 var(--wc-ink);--wc-dialog-section-shadow: 3px 4px 0 var(--wc-ink);--wc-dialog-field-shadow: 2px 3px 0 var(--wc-ink);--wc-choice-chip-min-width: 5.5rem;--wc-dialog-side-column: 12rem;--wc-content-navigation: 1400px;--wc-page-content-gutter: clamp(18px, 4.8vw, 56px);--wc-page-content-top-gap: var(--wc-space-9);--wc-library-gutter: var(--wc-page-content-gutter);--wc-editorial-header-inset: var(--wc-spacing-md);--wc-editorial-header-min-height: 128px;--wc-editorial-title-size: clamp(3.25rem, 7vw, 5rem);--wc-editorial-title-size-mobile: clamp(2.25rem, 9vw, 3.5rem);--wc-editorial-title-tracking: -.035em;--wc-page-heading-rays-width: .68em;--wc-page-heading-rays-gap: 0em;--wc-page-heading-rays-rise: .06em;--wc-meal-prep-control-height: var(--wc-control-height-lg);--wc-meal-prep-date-width: clamp(190px, 16vw, 230px);--wc-meal-prep-action-width: clamp(120px, 10vw, 150px);--wc-kcal-target: var(--wc-butter);--wc-kcal-within: var(--wc-green-200);--wc-kcal-warning: var(--wc-butter);--wc-kcal-over: color-mix(in srgb, var(--wc-tomato) 55%, var(--wc-surface));--wc-kcal-neutral: var(--wc-surface);--wc-planner-thumb-size: 48px;--wc-library-intro-height: var(--wc-editorial-header-min-height);--wc-library-title-size: var(--wc-editorial-title-size);--wc-library-action-width: clamp(132px, 18vw, 180px);--wc-library-card-body-height: clamp(120px, 10vw, 144px);--wc-library-card-title-size: clamp(1.25rem, 2vw, 1.5rem);--wc-library-list-thumb-width: 112px;--wc-library-list-card-height: 132px;--wc-recipe-hero-min-height: clamp(320px, 34vw, 440px);--wc-recipe-title-size: clamp(2rem, 3.5vw, 2.625rem);--wc-recipe-amount-column: 88px;--wc-navigation-logo-width: clamp(92px, 13vw, 144px);--wc-navigation-logo-compact: 92px;--wc-navigation-logo-mobile: 82px;--wc-navigation-logo-narrow: 68px;--wc-navigation-search-width: 410px;--wc-navigation-search-compact: 252px;--wc-navigation-active: var(--wc-color-accent);--wc-mobile-nav-icon-size: 1.625rem;--wc-mobile-bottom-nav-height: 68px;--wc-mobile-bottom-add-size: 52px;--wc-cooking-content-clearance: 220px;--wc-cooking-content-width: 1040px;--wc-cooking-thumb-size: 52px;--wc-cooking-thumb-size-desktop: 76px;--wc-cooking-thumb-size-mobile: 40px;--wc-cooking-thumb-size-phone: 76px;--wc-cooking-directions-bar-height: 68px;--wc-cooking-title-size: clamp(1.5rem, 2.4vw, 2rem);--wc-cooking-heading-size: 1.25rem;--wc-cooking-tab-height: 36px;--wc-cooking-tab-thumb: 26px;--wc-cooking-tab-max-width: 240px;--wc-cooking-row-height: 46px;--wc-cooking-check-size: 24px;--wc-cooking-step-button: 48px;--wc-cooking-step-max-height: 6.5em;--wc-container-gutter: clamp(18px, 4vw, 48px);--wc-grid-item-min: 256px;--wc-form-column-min: 192px;--wc-empty-state-min-height: 192px;--wc-breakpoint-sm: 480px;--wc-breakpoint-md: 740px;--wc-breakpoint-lg: 1024px;--wc-breakpoint-xl: 1280px;--wc-breakpoint-meal-prep-wide: 1360px;--wc-breakpoint-navigation-narrow: 360px;--wc-breakpoint-navigation-mobile: 520px;--wc-breakpoint-navigation-wrap: 739px;--wc-breakpoint-library-two-column: 660px;--wc-breakpoint-navigation-compact: 900px;--wc-control-height-sm: 36px;--wc-control-height-xs: 28px;--wc-control-height-badge: 24px;--wc-control-height-card-badge: 32px;--wc-control-height-category: 44px;--wc-control-height-md: 44px;--wc-control-height-lg: 46px;--wc-control-height-xl: 54px;--wc-touch-target: 44px;--wc-duration-fast: .14s;--wc-duration-base: .18s;--wc-duration-slow: .26s;--wc-ease-standard: cubic-bezier(.2, .75, .3, 1);--wc-ease-emphasized: cubic-bezier(.2, .8, .2, 1);--wc-transition-color: color var(--wc-duration-fast) var(--wc-ease-standard), background-color var(--wc-duration-fast) var(--wc-ease-standard), border-color var(--wc-duration-fast) var(--wc-ease-standard);--wc-transition-interactive: var(--wc-transition-color), box-shadow var(--wc-duration-fast) var(--wc-ease-standard), transform var(--wc-duration-fast) var(--wc-ease-standard);--wc-interactive-hover-lift: -1px;--wc-interactive-active-shift: 1px;--wc-interactive-disabled-opacity: .5;--wc-z-dropdown: 10;--wc-z-sticky: 20;--wc-z-dialog: 40;--wc-z-toast: 50;--wc-color-brand: var(--wc-primary);--wc-color-brand-strong: var(--wc-green-800);--wc-background-primary: var(--wc-canvas);--wc-background-secondary: var(--wc-soft-green);--wc-surface-default: var(--wc-surface);--wc-surface-muted: color-mix(in srgb, var(--wc-soft-green) 64%, var(--wc-surface));--wc-text-primary: var(--wc-ink);--wc-text-secondary: color-mix(in srgb, var(--wc-ink) 68%, var(--wc-surface));--wc-border-default: var(--wc-ink);--wc-color-primary: var(--wc-basil);--wc-color-accent: var(--wc-butter);--wc-color-success: var(--wc-basil);--wc-color-danger: var(--wc-tomato);--wc-color-danger-hover: color-mix(in srgb, var(--wc-tomato) 86%, var(--wc-ink));--wc-color-brand-soft: var(--wc-soft-green);--wc-color-canvas: var(--wc-background-primary);--wc-color-surface: var(--wc-surface);--wc-color-surface-subtle: var(--wc-surface-muted);--wc-color-surface-warm: color-mix(in srgb, var(--wc-peach) 68%, var(--wc-surface));--wc-color-text: var(--wc-text-primary);--wc-color-text-muted: var(--wc-text-secondary);--wc-color-text-on-brand: var(--wc-text-border);--wc-color-border: color-mix(in srgb, var(--wc-ink) 16%, transparent);--wc-color-border-subtle: color-mix(in srgb, var(--wc-ink) 8%, transparent);--wc-color-border-strong: var(--wc-border-default);--wc-color-outline: color-mix(in srgb, var(--wc-ink) 42%, transparent);--wc-color-outline-hover: color-mix(in srgb, var(--wc-ink) 68%, transparent);--wc-color-focus: var(--wc-green-800);--wc-color-danger-strong: var(--wc-red-700);--wc-color-danger-soft: var(--wc-red-100);--wc-color-warning: var(--wc-amber-700);--wc-color-warning-soft: var(--wc-amber-50);--wc-shadow-control: 1px 2px 0 color-mix(in srgb, var(--wc-ink) 14%, transparent);--wc-shadow-control-hover: 2px 3px 0 color-mix(in srgb, var(--wc-ink) 20%, transparent);--wc-shadow-primary: 2px 3px 0 color-mix(in srgb, var(--wc-ink) 72%, transparent);--wc-shadow-primary-hover: 3px 4px 0 color-mix(in srgb, var(--wc-ink) 78%, transparent);--wc-shadow-card: 3px 4px 0 color-mix(in srgb, var(--wc-ink) 12%, transparent), 0 10px 24px color-mix(in srgb, var(--wc-green-600) 8%, transparent);--wc-shadow-overlay: 6px 8px 0 color-mix(in srgb, var(--wc-ink) 26%, transparent), 0 24px 60px color-mix(in srgb, var(--wc-ink) 18%, transparent);--background-primary: var(--wc-background-primary);--background-secondary: var(--wc-background-secondary);--surface-default: var(--wc-surface-default);--surface-muted: var(--wc-surface-muted);--text-primary: var(--wc-text-primary);--text-secondary: var(--wc-text-secondary);--border-default: var(--wc-border-default);--color-primary: var(--wc-color-primary);--color-accent: var(--wc-color-accent);--color-success: var(--wc-color-success);--color-danger: var(--wc-color-danger);--green-50: var(--wc-green-50);--green-200: var(--wc-green-200);--green-400: var(--wc-green-400);--green-600: var(--wc-green-600);--green-700: var(--wc-green-700);--green-800: var(--wc-green-800);--green-mix-subtle: color-mix(in srgb, var(--wc-green-600) 8%, transparent);--green-mix-soft: color-mix(in srgb, var(--wc-green-600) 16%, transparent);--green-mix-medium: color-mix(in srgb, var(--wc-green-600) 32%, transparent);--green-mix-strong: color-mix(in srgb, var(--wc-green-600) 62%, transparent);--gray-100: var(--wc-gray-100);--gray-300: var(--wc-gray-300);--gray-600: var(--wc-gray-600);--gray-900: var(--wc-gray-900);--neutral-dark-subtle: color-mix(in srgb, var(--wc-ink) 8%, transparent);--neutral-dark-strong: color-mix(in srgb, var(--wc-ink) 56%, transparent);--neutral-light-subtle: color-mix(in srgb, var(--wc-white) 24%, transparent);--neutral-light-strong: color-mix(in srgb, var(--wc-white) 94%, transparent);--accent: var(--wc-color-brand);--accent-soft: var(--wc-soft-green);--accent-wash: var(--wc-surface-muted);--background: var(--wc-color-canvas);--content-bg: var(--wc-color-canvas);--white: var(--wc-white);--card: var(--wc-color-surface);--secondary-card: var(--wc-soft-green);--text-faint: var(--wc-color-text-muted);--stroke-soft: var(--neutral-light-subtle);--heart: var(--wc-pink-500);--danger: var(--wc-color-danger);--danger-dark: var(--wc-color-danger-strong);--danger-light: var(--wc-color-danger-soft);--danger-border: var(--wc-red-300);--danger-soft: var(--wc-color-danger-soft);--warning: var(--wc-color-warning);--warning-soft: var(--wc-color-warning-soft);--action-secondary-text: var(--wc-green-800);--action-secondary-border: var(--wc-primary);--action-secondary-background: var(--wc-surface);--action-secondary-hover-border: var(--wc-green-400);--action-secondary-hover-background: var(--wc-green-100);--action-danger-text: var(--wc-color-danger);--action-danger-border: var(--wc-red-300);--action-danger-background: var(--wc-white);--action-danger-hover-border: var(--wc-red-500);--action-danger-hover-background: var(--wc-red-50);--action-neutral-text: var(--wc-gray-600);--action-neutral-border: var(--wc-gray-300);--action-neutral-background: var(--wc-gray-100);--action-neutral-hover-border: var(--wc-gray-300);--action-neutral-hover-background: var(--wc-gray-100);--status-pill-text: var(--wc-green-800);--status-pill-background: var(--wc-surface);--status-pill-font-size: .68rem;--scrollbar-thumb: var(--green-mix-medium);--scrollbar-thumb-active: var(--green-mix-strong);--text-input-height: var(--wc-control-height-lg);font-family:var(--wc-font-body)}@media(max-width:739px){:root{--wc-page-content-top-gap: var(--wc-space-8)}}@media(max-width:660px){:root{--wc-editorial-header-inset: 0}}@media(max-width:520px){:root{--wc-page-content-gutter: var(--wc-space-6)}}html{min-width:320px;scrollbar-gutter:stable;background:var(--wc-canvas)}*{box-sizing:border-box;scrollbar-color:var(--scrollbar-thumb) transparent;scrollbar-width:thin;-webkit-tap-highlight-color:transparent}::selection{color:var(--wc-color-text);background:var(--wc-yellow-100)}:where(a[href],button,input,textarea,select,summary,[tabindex]:not([tabindex="-1"]),[contenteditable=true]):focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:2px}:where(input,textarea,select):focus{outline-color:var(--wc-color-focus)}*::-webkit-scrollbar{width:5px;height:5px}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{border-radius:var(--wc-radius-pill);background:var(--scrollbar-thumb)}*:hover::-webkit-scrollbar-thumb,*:focus-within::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active)}body{margin:0;min-width:320px;color:var(--wc-color-text);background:var(--wc-canvas);font-family:var(--wc-font-body);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}:where(h1,h2,h3,h4,h5,h6){font-family:var(--wc-font-display)}:where(h1,h2,h3,h4,h5,h6,strong,b,th,optgroup){font-weight:var(--wc-font-weight-medium)}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}:where(button,input,select,textarea):disabled{cursor:not-allowed}@media(prefers-contrast:more){:root{--wc-color-border: color-mix(in srgb, var(--wc-ink) 42%, transparent);--wc-color-border-subtle: color-mix(in srgb, var(--wc-ink) 28%, transparent)}}@media(prefers-reduced-motion:reduce){:root{--wc-duration-fast: .01ms;--wc-duration-base: .01ms;--wc-duration-slow: .01ms}}html.recipe-detail-open,html.shopping-recipes-open{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}body.recipe-detail-open,body.shopping-recipes-open{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}body.cooking-assistant-open{overflow:hidden;overscroll-behavior:none}.phone-app{display:flex;min-height:100vh;min-height:100dvh;flex-direction:column}.mobile-hero{position:relative;z-index:20;overflow:visible;color:var(--white);padding:calc(18px + env(safe-area-inset-top)) 18px 18px;background:var(--wc-canvas)}.mobile-hero--nav-only{padding-bottom:18px}.mobile-hero:after,.mobile-hero:before{display:none}.hero-row,.hero-search-row,.modal-header,.split-actions,.chip-row,.tag-cloud,.category-scroll{display:flex;align-items:center}.hero-row,.split-actions,.modal-header{justify-content:space-between}.hero-row{position:relative;z-index:2;gap:12px}.hero-controls{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}.app-header-logo{display:block;width:auto;min-width:0;max-width:180px;height:48px;flex:0 1 auto;object-fit:contain;object-position:left center}.app-header-logo-button{display:flex;min-width:0;flex:0 1 auto;align-items:center;border:0;padding:0;background:transparent}.avatar-button{display:block;border:0;padding:0;background:transparent}.avatar-button:focus-visible{border-radius:999px;outline:2px solid var(--white);outline-offset:2px}.avatar{display:grid;place-items:center;overflow:hidden;width:48px;height:48px;color:var(--white);background:var(--neutral-light-subtle);border-radius:50%;font-weight:500;font-size:1rem}.profile-menu-container{position:relative;flex:0 0 auto;margin-left:3rem}.app-dropdown-panel{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-5px) scale(.985);transform-origin:top center;transition:opacity .14s ease,transform .14s cubic-bezier(.2,.75,.3,1),visibility 0s linear .14s}.app-dropdown-panel.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}@media(prefers-reduced-motion:reduce){.app-dropdown-panel{transform:none;transition:none}}.profile-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:40;display:grid;width:max-content;min-width:164px;gap:var(--wc-space-1-5);border:var(--wc-border-width) solid var(--gray-300);border-radius:var(--wc-radius-dropdown);padding:var(--wc-space-3);color:var(--text-primary);background:var(--white);box-shadow:var(--wc-shadow-soft-md)}.profile-menu button{display:flex;min-height:40px;border:0;border-radius:10px;padding:0 11px;align-items:center;gap:9px;color:var(--text-primary);background:transparent;text-align:left;white-space:nowrap}.profile-menu button:hover,.profile-menu button:focus-visible{background:var(--gray-100);outline:none}.profile-menu .profile-menu-sign-out{color:var(--action-danger-text)}.hero-add-button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--action-secondary-border);border-radius:999px;color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none}.page-navigation{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:46px;flex:0 0 auto;border:1px solid var(--neutral-light-subtle);border-radius:16px;padding:3px;background:var(--neutral-light-subtle);box-shadow:0 8px 14px var(--neutral-dark-subtle)}.page-navigation button{display:grid;place-items:center;width:38px;height:38px;min-height:38px;flex:0 0 38px;border:0;border-radius:12px;padding:0;color:var(--white);background:transparent}.page-navigation button.active{color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:0 5px 10px var(--neutral-dark-subtle)}.page-navigation button:focus-visible{outline:2px solid var(--white);outline-offset:2px}.hero-search-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:12px;margin-top:18px}.recipe-search-control{position:relative;min-width:0}.recipe-search-control .search-box{width:100%}.recent-recipes-dropdown{position:absolute;z-index:40;top:calc(100% + 8px);right:0;left:0;display:grid;max-height:min(440px,62vh);overflow-y:auto;border:1px solid var(--stroke-soft);border-radius:16px;padding:6px;color:var(--text-primary);background:var(--white);box-shadow:0 16px 34px var(--neutral-dark-subtle)}.recent-recipes-heading{padding:8px 10px 6px;color:var(--text-secondary);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.recent-recipe-option{display:grid;width:100%;min-width:0;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;border:0;border-radius:12px;padding:7px;color:var(--text-primary);background:transparent;text-align:left}.recent-recipe-option:hover,.recent-recipe-option:focus-visible{outline:0;background:var(--status-pill-background)}.recent-recipe-option img{display:block;width:46px;height:46px;border-radius:10px;object-fit:cover}.recent-recipe-option>span{min-width:0}.recent-recipe-option strong,.recent-recipe-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-recipe-option strong{font-size:.84rem;font-weight:500}.recent-recipe-option small{margin-top:3px;color:var(--text-secondary);font-size:.7rem}.recent-recipes-empty{margin:0;padding:16px 10px;color:var(--text-secondary);font-size:.8rem;text-align:center}.search-box{display:flex;align-items:center;gap:var(--wc-space-5);min-width:0;flex:1;height:var(--wc-control-height-xl);margin:0;padding:0 var(--wc-space-7);color:var(--text-primary);background:var(--neutral-light-strong);border-radius:var(--wc-radius-lg)}.search-box svg{color:var(--text-faint)}.search-icon-wrap{position:relative;display:grid;place-items:center;flex:0 0 20px}.search-icon-wrap span{position:absolute;top:-9px;right:-9px;min-width:16px;min-height:16px;display:grid;place-items:center;padding:0 4px;color:var(--white);background:var(--accent);border-radius:999px;font-size:9px;font-weight:500;line-height:1}.search-box input,label input,label textarea{width:100%;color:var(--text-primary);background:var(--neutral-light-strong);border:var(--wc-border-width) solid var(--gray-300);border-radius:var(--wc-radius-lg);padding:var(--wc-space-8) var(--wc-space-9);outline-color:var(--accent);font-size:var(--wc-font-size-body)}.search-box input{min-width:0;border:0;padding:0;outline:0;background:transparent;font-size:16px;font-weight:400}.search-box input::placeholder{color:var(--neutral-dark-strong)}.clear-search{display:grid;place-items:center;width:24px;height:24px;min-width:24px;min-height:24px;flex:0 0 24px;padding:0;border:1px solid var(--action-secondary-border);border-radius:999px;color:var(--action-secondary-text);background:var(--action-secondary-background);line-height:0}.clear-search svg{display:block;width:14px;height:14px;margin:0}.filter-button{position:relative;align-self:stretch;display:grid;place-items:center;width:54px;height:100%;flex:0 0 54px;margin:0;padding:0;border:1px solid var(--action-secondary-border);border-radius:999px;color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none}.filter-button span{position:absolute;top:-8px;right:-8px;min-width:18px;min-height:18px;display:grid;place-items:center;padding:0 5px;color:var(--white);background:var(--accent);border-radius:999px;font-size:10px;font-weight:500}.recipe-back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:19;display:grid;width:46px;height:46px;border:1px solid var(--green-800);border-radius:50%;padding:0;place-items:center;color:var(--white);background:var(--green-800);box-shadow:0 12px 26px var(--neutral-dark-strong);animation:fadeIn .18s ease both}.recipe-back-to-top:focus-visible{outline:2px solid var(--white);outline-offset:2px}.feed-panel{flex:1 0 auto;padding:24px max(18px,env(safe-area-inset-left)) calc(118px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));background:var(--green-50);border-top:1px solid var(--neutral-light-strong);box-shadow:0 -2px 22px var(--neutral-dark-subtle)}.meal-prep-page{display:grid;flex:1 0 auto;align-content:start;gap:20px;min-height:60vh;padding:24px max(18px,env(safe-area-inset-left)) calc(48px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));background:var(--green-50);border-top:1px solid var(--neutral-light-strong);box-shadow:0 -2px 22px var(--neutral-dark-subtle)}.shopping-list-page{display:grid;flex:1 0 auto;align-content:start;gap:18px;min-height:60vh;padding:24px max(18px,env(safe-area-inset-left)) calc(48px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));background:var(--green-50);border-top:1px solid var(--neutral-light-strong);box-shadow:0 -2px 22px var(--neutral-dark-subtle)}.meal-prep-page .primary-button.small{min-height:42px}.meal-prep-week-card h3,.meal-prep-week-card p,.meal-prep-loading p{margin:0}.meal-prep-heading{display:flex;grid-area:heading;align-items:center}.meal-prep-setup-panel{display:grid;gap:12px}.meal-prep-calorie-target{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;border:0;padding:0;color:inherit;background:transparent}.meal-prep-calorie-setting{display:flex;grid-area:calories;align-items:center;justify-content:flex-end;gap:8px;color:var(--text-primary);font-size:12px;font-weight:600;white-space:nowrap}.meal-prep-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--wc-text-border) 18%,transparent);border-radius:18px;padding:13px 14px;color:var(--wc-text-border);background:color-mix(in srgb,var(--wc-secondary) 18%,transparent)}.meal-prep-notice>svg{flex:0 0 auto}.meal-prep-notice>div{display:grid;gap:2px;min-width:0}.meal-prep-notice strong,.meal-prep-notice span{line-height:1.35}.meal-prep-notice strong{font-size:13px;font-weight:500}.meal-prep-notice span{font-size:12px;font-weight:450}.meal-prep-notice.loading{grid-template-columns:auto minmax(0,1fr);color:var(--text-secondary);border-color:var(--green-mix-soft);background:var(--accent-wash)}.meal-prep-notice.success{grid-template-columns:auto minmax(0,1fr);border-color:var(--action-secondary-border);color:var(--green-800);background:var(--accent-wash)}.meal-prep-week-card{border:1px solid var(--stroke-soft);border-radius:24px;background:var(--white);box-shadow:0 10px 18px var(--green-mix-subtle),0 12px 22px var(--neutral-dark-subtle)}.creation-scope-toggle{display:flex;grid-column:1 / -1;grid-row:2;align-items:center;justify-content:flex-start;gap:10px;min-width:0}.creation-scope-toggle>span{color:var(--text-primary);font-size:12px;font-weight:500}.meal-prep-scope-toggle{grid-area:scope}.scope-selector{display:flex;min-width:0;gap:4px;border-radius:13px;padding:4px;background:var(--green-50)}.scope-selector button{display:flex;min-width:0;min-height:36px;flex:1 1 0;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:0 10px;color:var(--text-secondary);background:transparent;font:inherit;font-size:12px;white-space:nowrap}.scope-selector button.selected{color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:inset 0 0 0 1px var(--action-secondary-border)}.meal-prep-week-actions{display:flex;align-items:center}.meal-prep-week-card h3{color:var(--text-primary);font-size:16px;font-weight:500;line-height:1.25}.custom-date-picker{position:relative;min-width:0}.custom-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;border:1px solid var(--neutral-dark-subtle);border-radius:14px;padding:10px 13px;color:var(--text-primary);background:var(--neutral-light-strong);font-size:15px;font-weight:400;text-align:left}.custom-date-trigger svg{flex:0 0 auto;color:var(--accent)}.custom-date-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.custom-calendar{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(310px,calc(100vw - 48px));border:1px solid var(--green-mix-soft);border-radius:18px;padding:12px;background:var(--white);box-shadow:0 18px 42px var(--green-mix-soft)}.custom-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.custom-calendar-header strong{color:var(--text-primary);font-size:14px;font-weight:500}.custom-calendar-header>div{display:flex;gap:4px}.custom-calendar-header button,.custom-calendar-grid button{display:grid;place-items:center;border:0;padding:0;color:var(--text-primary);background:transparent}.custom-calendar-header button{width:34px;height:34px;min-height:34px;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs)}.custom-calendar-weekdays,.custom-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.custom-calendar-weekdays{margin-bottom:4px}.custom-calendar-weekdays span{display:grid;place-items:center;height:25px;color:var(--text-secondary);font-size:10px;font-weight:500}.custom-calendar-grid button{width:100%;aspect-ratio:1;min-height:34px;border-radius:11px;font-size:12px;font-weight:400}.custom-calendar-grid button:hover,.custom-calendar-grid button:focus-visible{color:var(--accent);background:var(--accent-wash);outline:none}.custom-calendar-grid button.outside-month{color:var(--neutral-dark-strong)}.custom-calendar-grid button.today{box-shadow:inset 0 0 0 1px var(--green-mix-medium)}.custom-calendar-grid button.selected{color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:inset 0 0 0 1px var(--action-secondary-border)}.custom-calendar-grid button.in-range{border-radius:8px;color:var(--status-pill-text);background:var(--green-50)}.custom-date-range-picker .custom-calendar-grid button.range-start,.custom-date-range-picker .custom-calendar-grid button.range-end{color:var(--white);background:var(--green-600);box-shadow:none}.custom-calendar-today{width:100%;min-height:36px;margin-top:9px;border:0;border-radius:12px;padding:0 12px;color:var(--accent);background:var(--accent-wash);font-size:12px;font-weight:500}.custom-calendar-actions{display:grid;margin-top:9px;grid-template-columns:1fr 1fr;gap:7px}.custom-calendar-actions .custom-calendar-today,.custom-calendar-clear{min-height:36px;margin-top:0;border-radius:12px;padding:0 12px;font-size:12px;font-weight:500}.custom-calendar-clear{border:1px solid var(--gray-300);color:var(--text-secondary);background:var(--white)}.custom-calendar-clear:disabled{opacity:.45;cursor:default}.custom-date-clear{position:absolute;z-index:2;top:50%;right:9px;transform:translateY(-50%)}.week-preview{padding:7px 12px;color:var(--status-pill-text);background:var(--status-pill-background);border-radius:999px;font-size:.75rem;font-weight:500;text-align:center}.segmented.meal-prep-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-prep-tabs button,.shopping-scope-tabs button{min-width:0;justify-content:center;text-align:center;white-space:nowrap}.segmented--library .tab-count,.meal-prep-tabs .tab-count,.shopping-scope-tabs .tab-count{display:grid;place-items:center;min-width:25px;min-height:25px;padding:0 7px;border-radius:999px;color:var(--text-secondary);background:var(--neutral-dark-subtle);font-size:12px}.segmented--library button.active .tab-count,.meal-prep-tabs button.active .tab-count,.shopping-scope-tabs button.active .tab-count{color:var(--status-pill-text);background:var(--status-pill-background)}.meal-prep-error{margin:-6px 0 0;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--wc-accent) 28%,transparent)}.meal-prep-loading{display:grid;place-items:center;gap:10px;min-height:180px;color:var(--accent)}.meal-prep-loading p{color:var(--text-secondary);font-size:14px;font-weight:500}.meal-prep-week-list,.shopping-list-accordions{display:grid;width:min(760px,100%);margin:0 auto;gap:10px}.meal-prep-week-card{display:grid;overflow:hidden;gap:0;padding:0;transition:border-color .18s ease,box-shadow .18s ease}.meal-prep-week-card.expanded{border-color:var(--stroke-soft);box-shadow:0 12px 24px var(--green-mix-soft),0 12px 22px var(--neutral-dark-subtle)}.meal-prep-week-trigger{display:block;width:100%;min-height:70px;padding:12px 16px;border:0;color:inherit;background:transparent;font:inherit;text-align:left}.meal-prep-week-trigger:focus-visible{background:var(--accent-wash);outline:none}.meal-prep-week-header-actions{width:100%;padding-left:0}.meal-prep-week-content{display:grid;gap:0;padding:0;border-top:1px solid var(--green-mix-soft)}.meal-prep-week-content>.archived-week-note{margin:14px 17px 0}.meal-prep-week-content>.meal-prep-days{padding:14px 17px 17px}.meal-prep-week-actions{justify-content:flex-end;gap:10px}.meal-prep-week-actions .icon-button:disabled{opacity:.45;cursor:not-allowed}.archived-week-note{padding:10px 12px;border-radius:13px;color:var(--text-secondary);background:var(--neutral-dark-subtle);font-size:12px;font-weight:500}.meal-prep-days{display:grid;gap:3rem;margin-top:0}.meal-prep-day-card{display:grid;gap:13px;min-width:0;padding:15px;border:1px solid var(--green-mix-soft);border-radius:19px;background:var(--white)}.meal-prep-day-card.stale{border-color:color-mix(in srgb,var(--wc-secondary) 58%,var(--wc-text-border));background:color-mix(in srgb,var(--wc-secondary) 22%,var(--wc-background))}.meal-prep-day-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.meal-prep-day-header h4,.meal-prep-day-header p,.planned-meal h5,.planned-meal p,.no-meals-copy,.recipe-selector-error{margin:0}.meal-prep-day-header h4{display:flex;align-items:baseline;gap:4px;color:var(--text-primary);font-size:16px;font-weight:500}.meal-prep-day-header h4 small{color:var(--text-secondary);font-size:12px;font-weight:500}.meal-prep-day-header p{margin-top:2px;color:var(--text-secondary);font-size:12px;font-weight:500}.planned-meal-list{display:grid;gap:8px;transition:background-color .16s ease,box-shadow .16s ease}.planned-meal-slots{display:grid;gap:16px}.planned-meal-slot{display:grid;gap:6px;min-width:0;border-radius:15px;transition:background-color .16s ease,box-shadow .16s ease}.planned-meal-slot-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.planned-meal-slot-heading{margin:0;color:var(--text-secondary);font-size:13px;font-weight:500}.segmented--library .tab-count,.meal-prep-tabs .tab-count,.segmented--library button.active .tab-count,.meal-prep-tabs button.active .tab-count,.shopping-scope-tabs .tab-count,.shopping-scope-tabs button.active .tab-count{font-size:9px}.planned-meal{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border-radius:15px;background:var(--white);box-shadow:0 4px 10px var(--neutral-dark-subtle);transform:translateZ(0);transition:opacity .16s ease,transform .16s cubic-bezier(.2,.75,.3,1),box-shadow .16s ease}.planned-meal-swipe-shell{position:relative;min-width:0;border-radius:15px}.planned-meal-swipe-remove{position:absolute;z-index:0;top:0;right:0;bottom:0;display:grid;width:58px;border:0;border-radius:0 15px 15px 0;padding:0;place-items:center;color:var(--white);background:var(--action-danger-text);opacity:0;visibility:hidden;transition:opacity .14s ease,visibility 0s linear .14s}.planned-meal-swipe-shell.actions-revealed .planned-meal-swipe-remove,.planned-meal-swipe-shell.swiping .planned-meal-swipe-remove{opacity:1;visibility:visible;transition-delay:0s}.planned-meal-swipe-shell.dragging .planned-meal-swipe-remove{opacity:0;visibility:hidden}.planned-meal-swipe-shell>.planned-meal{position:relative;z-index:1;width:100%;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease}.planned-meal.draggable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.planned-meal.pressing,.planned-meal.dragging{cursor:grabbing;opacity:.62;box-shadow:0 2px 6px var(--neutral-dark-subtle)}.planned-meal.dragging{transform:scale(.985)}.planned-meal.swiping{transition:none}.planned-meal.drop-before:before,.planned-meal.drop-after:after{position:absolute;right:8px;left:8px;height:3px;border-radius:999px;background:var(--accent);content:"";animation:planned-meal-drop-line-in .14s ease both}@keyframes planned-meal-drop-line-in{0%{opacity:0;transform:scaleX(.8)}to{opacity:1;transform:scaleX(1)}}.planned-meal.drop-before:before{top:-6px}.planned-meal.drop-after:after{bottom:-6px}.planned-meal.saving-order{opacity:.65;pointer-events:none}.planned-meal-list.drop-target{margin:0 -6px -6px;border-radius:15px;padding:6px;background:var(--accent-wash);box-shadow:inset 0 0 0 2px var(--action-secondary-border)}.planned-meal-empty-slot-targets{display:flex;flex-wrap:wrap;gap:8px;animation:planned-meal-empty-targets-in .16s cubic-bezier(.2,.75,.3,1) both}.planned-meal-empty-slot-target{display:inline-flex;min-height:34px;border:1px dashed var(--action-secondary-border);border-radius:999px;padding:0 12px;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--white);font-size:12px;font-weight:500;transition:color .14s ease,background-color .14s ease,border-color .14s ease,transform .14s ease}.planned-meal-empty-slot-target.drop-target{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}@keyframes planned-meal-empty-targets-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.planned-meal-main{display:grid;grid-template-columns:32px 54px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.planned-meal-image{display:block;width:54px;height:54px;border-radius:12px;background:var(--accent-wash);object-fit:cover}.planned-meal-image.manual{display:grid;place-items:center;color:var(--accent);background:var(--status-pill-background)}.planned-meal-copy{min-width:0}.planned-meal h5{overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.planned-meal p{margin-top:3px;color:var(--text-secondary);font-size:11px;font-weight:450}.planned-meal-actions{display:flex;align-items:center;gap:6px}.planned-meal-drag-handle{display:grid;width:32px;height:32px;padding:0;border:0;border-radius:50%;place-items:center;color:var(--accent);background:var(--accent-soft);pointer-events:none}.planned-meal.draggable:hover .planned-meal-drag-handle{background:var(--status-pill-background)}.planned-meal-actions .icon-button{width:44px;height:44px;min-width:44px;min-height:44px}.planned-meal-actions .icon-button:disabled{opacity:.42;cursor:not-allowed}.meal-prep-page .planned-meal-remove-button,.meal-prep-page .planned-meal-remove-button:hover:not(:disabled){border:0;color:var(--action-danger-text);background:transparent;box-shadow:none}@media(max-width:1024px),(hover:none),(pointer:coarse){.planned-meal-swipe-shell{overflow:hidden;background:transparent;box-shadow:0 4px 10px var(--neutral-dark-subtle)}.planned-meal-swipe-shell>.planned-meal{box-shadow:none;will-change:transform}.planned-meal.drop-before:before{top:0}.planned-meal.drop-after:after{bottom:0}}.no-meals-copy{padding:12px;border:1px dashed var(--neutral-dark-subtle);border-radius:14px;color:var(--text-faint);font-size:12px;font-weight:500;text-align:center}.meal-prep-day-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.meal-prep-day-actions button{width:auto}.recipe-selector-modal{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.recipe-selector-modal.recipes-only{grid-template-rows:auto minmax(0,1fr)}.recipe-selector-heading-icon{pointer-events:none}.reuse-week-modal{display:grid;gap:16px}.reuse-week-copy{margin:0;color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.5}.reuse-week-copy strong{color:var(--text-primary);font-weight:500}.reuse-week-form{display:grid;gap:12px}.reuse-week-form label,.reuse-week-form .week-preview,.reuse-week-form .meal-prep-error{margin:0}.recipe-selector-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;border:0;padding:0;background:transparent}.recipe-selector-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:12px;padding:0 12px;color:var(--text-secondary);background:transparent;font-size:13px;font-weight:500}.recipe-selector-tabs button.active{color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:inset 0 0 0 1px var(--action-secondary-border)}.recipe-selector-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recipe-selector-tab-panel{display:flex;flex-direction:column;min-height:0}.manual-meal-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.45fr) auto;align-items:end;gap:10px;margin-bottom:12px;border:1px solid var(--green-mix-soft);border-radius:17px;padding:12px;background:var(--accent-wash)}.manual-meal-form-heading{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:12px}.manual-meal-form-heading>div{display:grid;gap:3px}.manual-meal-form-heading strong{color:var(--text-primary);font-size:14px;font-weight:500}.manual-meal-form-heading span{color:var(--text-secondary);font-size:11px;font-weight:400}.manual-meal-form label{margin:0}.manual-meal-form input{min-width:0}.manual-meal-form .primary-button{min-height:42px;white-space:nowrap}.recipe-selector-search{flex:0 0 54px;width:100%;min-height:54px;height:54px;margin:0;border:1px solid var(--green-mix-soft);background:var(--white)}.recipe-selector-error{margin-top:10px}.recipe-selector-list{display:grid;flex:1 1 auto;align-content:start;gap:9px;min-height:0;margin-top:14px;overflow-y:auto}.recipe-selector-option{display:grid;grid-template-columns:52px minmax(0,1fr) 22px;align-items:center;gap:11px;width:100%;border:1px solid var(--stroke-soft);border-radius:17px;padding:8px 11px 8px 8px;color:var(--text-primary);background:var(--white);box-shadow:0 4px 10px var(--neutral-dark-subtle);text-align:left}.recipe-selector-option.selected{color:var(--status-pill-text);border-color:var(--action-secondary-border);background:var(--status-pill-background)}.recipe-selector-option:disabled{cursor:default;opacity:.68}.recipe-selector-option img{display:block;width:52px;height:52px;border-radius:13px;object-fit:cover}.manual-meal-option-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;color:var(--accent);background:var(--status-pill-background)}@media(max-width:620px){.manual-meal-form{grid-template-columns:1fr}}.recipe-selector-option>span{display:grid;gap:4px;min-width:0}.recipe-selector-option strong{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.recipe-selector-option small{color:var(--text-secondary);font-size:11px;font-weight:450}.recipe-selector-option>svg{color:var(--accent)}.recipe-selector-option>.circle-action-icon{color:var(--green-800)}.recipe-selector-empty{min-height:180px}.recipe-selector-empty h3{margin:10px 0 3px}.recipe-selector-empty p{margin:0;font-size:13px}.meal-prep-empty{min-height:210px}.meal-prep-empty h3{margin:12px 0 4px}.meal-prep-empty p{margin:0;font-size:14px;font-weight:400}.meal-prep-load-error{color:var(--wc-red-700);border:1px solid color-mix(in srgb,var(--wc-accent) 62%,transparent);border-radius:20px;background:color-mix(in srgb,var(--wc-accent) 18%,transparent)}.meal-prep-load-error button{margin-top:14px}.categories-section{margin-bottom:18px}.category-scroll{gap:10px;overflow-x:auto;flex-wrap:nowrap;padding:0 1px 2px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.category-scroll::-webkit-scrollbar{display:none}.category-badge{flex:0 0 auto;min-height:38px;border:2px solid color-mix(in srgb,var(--category-color) 46%,transparent);border-radius:999px;padding:0 14px;color:color-mix(in srgb,var(--category-color) 96%,black);background:color-mix(in srgb,var(--category-color) 8%,var(--white));font-size:14px;font-weight:700}.category-badge.selected{color:var(--white);border-color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--category-color) 82%,var(--white)),var(--category-color));box-shadow:0 10px 18px color-mix(in srgb,var(--category-color) 22%,transparent)}.primary-button,.secondary-button,.danger-button,.icon-button,.segmented button,.text-button{border:var(--wc-border-width) solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--wc-space-4);min-height:var(--wc-touch-target);min-width:42px;border-radius:var(--wc-radius-control);padding:0 var(--wc-space-8);font-weight:var(--wc-font-weight-medium);line-height:1}.primary-button{min-height:var(--wc-control-height-md);border-color:var(--green-800);border-radius:var(--wc-radius-pill);padding:0 var(--wc-space-7);gap:var(--wc-space-control-gap);color:var(--white);background:var(--green-800);box-shadow:none;font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.text-button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed}.primary-button.small{min-height:var(--wc-control-height-md);padding:0 var(--wc-space-7);border-radius:var(--wc-radius-pill);font-size:var(--wc-font-size-body)}.primary-button:hover:not(:disabled){border-color:var(--status-pill-text);background:var(--status-pill-text)}.primary-button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--status-pill-text);outline-offset:2px}.secondary-button.small,.danger-button.small{min-height:var(--wc-control-height-md);padding:0 var(--wc-space-7);border-radius:var(--wc-radius-pill)}.secondary-button.small{font-size:var(--wc-font-size-body)}.primary-button.wide,.secondary-button.wide,.danger-button.wide{width:100%}.primary-button.wide{width:fit-content;max-width:100%;margin-inline:auto;align-self:center;justify-self:center}.secondary-button{min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--green-800);border-radius:var(--wc-radius-pill);padding:0 var(--wc-space-7);gap:var(--wc-space-control-gap);color:var(--green-800);background:var(--white);box-shadow:none;font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight)}.action-icon{display:inline-block;width:1.4em;height:1.4em;flex:0 0 auto;background-color:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:120%;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:120%}.action-icon-add{mask-image:url(/action-icons/add.svg);-webkit-mask-image:url(/action-icons/add.svg)}.action-icon-create{mask-image:url(/action-icons/create.svg);mask-size:100%;-webkit-mask-image:url(/action-icons/create.svg);-webkit-mask-size:100%}.action-icon-delete{mask-image:url(/action-icons/delete.svg);-webkit-mask-image:url(/action-icons/delete.svg)}.action-icon-save{mask-image:url(/action-icons/save.svg);-webkit-mask-image:url(/action-icons/save.svg)}.action-icon-send{mask-image:url(/action-icons/send.svg);-webkit-mask-image:url(/action-icons/send.svg)}.action-icon-shopping-cart{mask-image:url(/action-icons/shopping-cart.svg);-webkit-mask-image:url(/action-icons/shopping-cart.svg)}.circle-action-icon{display:inline-block;width:1.25em;height:1.25em;flex:0 0 auto;background-color:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:125%;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:125%}.circle-action-icon-add{mask-image:url(/action-icons/circle-add.svg);-webkit-mask-image:url(/action-icons/circle-add.svg)}.circle-action-icon-save{mask-image:url(/action-icons/circle-save.svg);-webkit-mask-image:url(/action-icons/circle-save.svg)}.standard-add-icon{width:1.25em;height:1.25em;flex:0 0 auto}.action-icon-image{display:block;width:1.4em;height:1.4em;flex:0 0 auto;object-fit:contain}.danger-button{min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--action-danger-text);border-radius:var(--wc-radius-pill);padding:0 var(--wc-space-7);gap:var(--wc-space-control-gap);color:var(--action-danger-text);background:var(--action-danger-background);box-shadow:none;font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight)}.text-button{width:100%;min-height:var(--wc-control-height-md);border-color:var(--action-secondary-border);border-radius:var(--wc-radius-pill);padding:0 var(--wc-space-7);gap:var(--wc-space-control-gap);color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none;font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight)}.icon-button{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);border-color:var(--action-secondary-border);border-radius:var(--wc-radius-pill);padding:0;color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none}.secondary-button:hover:not(:disabled),.text-button:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:var(--action-secondary-hover-border);background:var(--action-secondary-hover-background)}.secondary-button.tertiary-button,.secondary-button.tertiary-button:hover:not(:disabled){border-color:transparent;color:var(--green-800);background:var(--white);box-shadow:none;font-weight:500}.danger-button:hover:not(:disabled),.danger-icon-button:hover:not(:disabled){border-color:var(--action-danger-hover-border);background:var(--action-danger-hover-background)}.secondary-button:focus-visible,.danger-button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.danger-button:focus-visible{outline-color:var(--action-danger-text)}.secondary-button svg,.danger-button svg,.text-button svg,.icon-button svg{display:block;flex:0 0 auto}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented button{min-height:48px;justify-content:center;padding:0 16px;color:var(--text-primary);background:var(--white);box-shadow:0 6px 10px var(--neutral-dark-subtle);text-align:center}.segmented button.active{color:var(--white);border-color:var(--green-600);background:var(--green-600);box-shadow:0 7px 14px var(--green-mix-soft)}.compact-tab-icon{display:none;flex:0 0 auto}.feed-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 14px}.feed-heading h2{margin:0;color:var(--text-secondary);font-size:14px;font-weight:500}.feed-style-icons{display:flex;gap:8px}.feed-style-icons button{display:grid;place-items:center;width:38px;height:34px;border:0;border-radius:14px;color:var(--text-secondary);background:var(--white);box-shadow:0 6px 12px var(--neutral-dark-subtle)}.feed-style-icons button.active{color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:inset 0 0 0 1px var(--action-secondary-border)}.recipe-feed{display:grid;gap:18px}.recipe-feed.card-view{grid-template-columns:1fr}.recipe-feed.list-view{grid-template-columns:1fr;gap:12px}.mobile-swipe-view{display:grid;min-width:0;margin-inline:-10px;gap:10px}.mobile-swipe-stage{position:relative;isolation:isolate;min-width:0;overflow:hidden;padding:5px 4px 20px;perspective:1000px;touch-action:pan-y;-webkit-user-select:none;user-select:none}.mobile-swipe-preview{position:absolute;z-index:0;top:5px;right:4px;bottom:20px;left:4px;transform-origin:50% 92%;pointer-events:none;transition:transform .18s cubic-bezier(.16,1,.3,1),opacity .15s ease-out;will-change:transform,opacity}.mobile-swipe-preview .recipe-card{height:100%;animation:none;box-shadow:0 10px 24px var(--green-mix-soft),0 8px 18px var(--neutral-dark-subtle)}.mobile-swipe-preview .recipe-image,.mobile-swipe-card .recipe-image{min-height:0;aspect-ratio:4 / 5}.mobile-swipe-direction-cue{position:absolute;z-index:3;top:50%;display:grid;width:34px;height:34px;border:1px solid var(--action-secondary-border);border-radius:999px;place-items:center;color:var(--action-secondary-text);background:color-mix(in srgb,var(--action-secondary-background) 92%,var(--white));box-shadow:0 8px 20px var(--green-mix-soft);pointer-events:none;transition:transform .16s cubic-bezier(.16,1,.3,1),opacity .12s ease-out;will-change:transform,opacity}.mobile-swipe-direction-cue.previous{left:14px}.mobile-swipe-direction-cue.next{right:14px}.mobile-swipe-card{position:relative;z-index:2;width:100%;opacity:1;transform-origin:50% 92%;transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .24s ease-out;will-change:transform,opacity}.mobile-swipe-card.dragging{transition:none}.mobile-swipe-card.exiting{opacity:0;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .21s ease-in}.mobile-swipe-card.returning{transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .24s ease-out}.mobile-swipe-card.dragging .recipe-card{box-shadow:0 18px 34px var(--green-mix-soft),0 22px 42px var(--neutral-dark-subtle)}.mobile-swipe-card .recipe-card{animation:none;transition:box-shadow .18s ease-out}.mobile-swipe-card.initial-reveal .recipe-card{animation:swipeCardReveal .56s cubic-bezier(.16,1,.3,1) both}.mobile-swipe-card.initial-reveal .recipe-image>img{animation:swipeImageReveal .76s cubic-bezier(.16,1,.3,1) both}.mobile-swipe-navigation{display:grid;grid-template-columns:34px minmax(72px,auto) 34px;align-items:center;justify-content:center;gap:10px}.mobile-swipe-navigation button{display:grid;width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--action-secondary-border);border-radius:999px;place-items:center;color:var(--action-secondary-text);background:var(--action-secondary-background)}.mobile-swipe-navigation button:disabled{border-color:var(--action-neutral-border);color:var(--action-neutral-text);background:var(--action-neutral-background);opacity:.55}.mobile-swipe-navigation>span{display:inline-flex;min-height:30px;padding:0 12px;align-items:center;justify-content:center;border-radius:999px;color:var(--status-pill-text);background:var(--status-pill-background);font-size:11px;font-weight:500}@media(max-width:739px){.feed-panel.swipe-view-active{padding-bottom:calc(52px + env(safe-area-inset-bottom))}}.recipe-feed-loading{display:grid;place-items:center;gap:10px;min-height:260px;color:var(--accent);text-align:center}.recipe-feed-loading p{color:var(--text-secondary);font-size:14px;font-weight:400}.recipe-card{overflow:hidden;border:var(--wc-border-width) solid var(--stroke-soft);border-radius:var(--wc-radius-2xl);background:var(--white);box-shadow:0 10px 18px var(--green-mix-soft),0 14px 24px var(--neutral-dark-subtle);animation:cardEnter .24s ease both}.recipe-card.list-card{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:126px;border-radius:22px}.recipe-card,.primary-button,.secondary-button,.danger-button,.icon-button,.hero-add-button,.filter-button,.category-badge,.tag-chip,.rating-chip,.feed-style-icons button,.photo-edit-button{transition:transform var(--wc-duration-base) ease,filter var(--wc-duration-base) ease,box-shadow var(--wc-duration-base) ease,background-color var(--wc-duration-base) ease,color var(--wc-duration-base) ease}.recipe-card:active,.primary-button:active,.secondary-button:active,.danger-button:active,.icon-button:active,.hero-add-button:active,.filter-button:active,.category-badge:active,.tag-chip:active,.rating-chip:active{transform:scale(.97)}@media(hover:hover){.recipe-card:hover{transform:translateY(-2px);box-shadow:0 14px 24px var(--green-mix-soft),0 18px 30px var(--neutral-dark-subtle)}.icon-button:hover,.hero-add-button:hover,.filter-button:hover,.feed-style-icons button:hover,.photo-edit-button:hover{transform:translateY(-1px);filter:brightness(1.02)}}.recipe-image{position:relative;min-height:244px;background:var(--secondary-card) center / cover}.recipe-image>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.list-card .recipe-image{min-height:100%}.recipe-image:after,.editable-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 58%,var(--neutral-dark-subtle));pointer-events:none}.heart-button{position:absolute;z-index:1;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;color:var(--heart);background:var(--neutral-light-strong);box-shadow:0 8px 12px var(--neutral-dark-subtle)}.heart-button svg{display:block}.heart-button:not(.is-favorite){color:var(--gray-600)}.heart-button.is-favorite.personal,.detail-image-favorite.is-favorite.personal{color:var(--wc-pink-500)}.heart-button.is-favorite.household,.detail-image-favorite.is-favorite.household{color:var(--accent)}.rating-pill{position:absolute;z-index:1;top:14px;left:14px;display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 11px;color:var(--accent);background:var(--neutral-light-strong);border-radius:999px;box-shadow:0 8px 12px var(--neutral-dark-subtle);font-size:13px;font-weight:500}.recipe-reaction-attribution{position:absolute;top:-6px;right:-6px;display:grid;width:19px;height:19px;overflow:hidden;border:2px solid var(--white);border-radius:50%;place-items:center;color:var(--white);background:var(--green-800);box-shadow:0 3px 8px color-mix(in srgb,var(--wc-text-border) 22%,transparent);font-size:8px;font-weight:700;line-height:1;pointer-events:none}.recipe-reaction-attribution img,.mini-user-avatar img,.avatar img,.settings-avatar img{display:block;width:100%;height:100%;object-fit:cover}.recipe-reaction-attribution.is-count{font-size:10px}.recipe-card-body{padding:16px;background:var(--white)}.list-card .recipe-card-body{display:grid;align-content:center;min-width:0;padding:14px}.chip-row,.tag-cloud{gap:8px;flex-wrap:wrap}.category-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:2px solid color-mix(in srgb,var(--category-color) 46%,transparent);border-radius:999px;color:color-mix(in srgb,var(--category-color) 96%,black);background:color-mix(in srgb,var(--category-color) 8%,var(--white));box-shadow:0 2px 4px color-mix(in srgb,var(--category-color) 4%,transparent);font-size:12px;font-weight:700;line-height:1}.category-chip.compact{min-height:26px;padding:0 10px;font-size:11px}.category-chip.light{color:var(--white);background:linear-gradient(135deg,color-mix(in srgb,var(--category-color) 76%,var(--white)),var(--category-color));border-color:var(--neutral-light-strong)}.recipe-card h3{margin:0 0 10px;color:var(--text-primary);font-size:19px;font-weight:600;line-height:1.15}.list-card h3{display:-webkit-box;overflow:hidden;margin-bottom:8px;font-size:16px;line-height:1.18;-webkit-line-clamp:2;-webkit-box-orient:vertical}.recipe-card p{display:none}.user-name-with-avatar{display:inline-flex;align-items:center;gap:6px;vertical-align:baseline}.mini-user-avatar{display:inline-grid;place-items:center;overflow:hidden;width:20px;height:20px;flex:0 0 20px;border:1.5px solid var(--neutral-dark-subtle);border-radius:50%;color:var(--accent);background:var(--status-pill-background);font-size:9px;font-weight:500}.empty-state,.auth-page,.system-screen{display:grid;place-items:center;text-align:center}.empty-state{min-height:260px;color:var(--text-secondary)}.auth-page,.system-screen{min-height:100vh;min-height:100dvh;padding:18px;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:var(--wc-canvas)}.system-screen{color:var(--accent)}.system-screen h1{margin:12px 0 4px}.system-screen p{max-width:420px;color:var(--text-secondary)}.auth-panel,.modal{width:min(var(--wc-content-narrow),100%);border:var(--wc-border-width) solid var(--stroke-soft);border-radius:var(--wc-radius-dialog);background:var(--white);box-shadow:0 10px 18px var(--neutral-dark-subtle);padding:var(--wc-space-10);text-align:left}.auth-panel h1{margin:22px 0;font-size:2.35rem;line-height:1;letter-spacing:0}.auth-panel h2{margin:22px 0 12px;font-size:18px;font-weight:500}.auth-page{position:relative;isolation:isolate;overflow:hidden;background:var(--wc-canvas)}.auth-shell{display:grid;width:min(440px,100%);justify-items:center}.auth-logo{display:block;width:min(230px,62vw);height:auto;margin-bottom:24px}.auth-panel{display:grid;width:100%;gap:13px;border-color:color-mix(in srgb,var(--wc-white) 48%,transparent);border-radius:28px;padding:28px;box-shadow:0 24px 60px color-mix(in srgb,var(--wc-text-border) 26%,transparent)}.auth-feedback{margin:0;color:var(--green-800);font-size:.8rem;line-height:1.4;text-align:center}@media(max-width:520px){.auth-page{align-content:center}.auth-logo{width:min(200px,58vw);margin-bottom:18px}.auth-panel{border-radius:24px;padding:22px}}label{display:grid;gap:8px;margin-bottom:13px;color:var(--text-secondary);font-weight:500;font-size:.86rem}.form-error{color:var(--wc-red-700);font-weight:500}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;background:var(--neutral-dark-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .22s ease both}.sheet-modal{width:100%;max-height:92vh;max-height:92dvh;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:28px 28px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom));transform-origin:bottom center;animation:sheetUp .26s cubic-bezier(.2,.8,.2,1) both}.modal-backdrop>.modal:not(.sheet-modal){transform-origin:center;animation:dialogPopIn .18s cubic-bezier(.2,.75,.3,1) both}.modal-backdrop.add-recipe-backdrop{align-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.add-recipe-backdrop .add-recipe-modal{width:min(480px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:0;border-radius:28px;padding-bottom:20px;transform-origin:center}.add-recipe-backdrop .recipe-preview-modal{width:min(1020px,100%)}.recipe-import-draft-fieldset{min-width:0;margin:0;border:0;padding:0}.recipe-import-draft-fieldset:disabled .recipe-preview-form{pointer-events:none;-webkit-user-select:none;user-select:none}.recipe-import-progress-backdrop{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--gray-900) 42%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .18s ease both}.recipe-import-progress-dialog{display:grid;width:min(390px,100%);justify-items:center;gap:16px;border:1px solid var(--green-200);border-radius:24px;padding:28px 26px 24px;color:var(--text-primary);background:var(--card);box-shadow:0 24px 60px color-mix(in srgb,var(--gray-900) 28%,transparent);text-align:center;animation:dialogPopIn .18s cubic-bezier(.2,.75,.3,1) both}.popup-exit-clone{pointer-events:none!important;animation:popupBackdropOut .18s ease both!important}.modal-backdrop.popup-exit-clone>.modal,.recipe-import-progress-backdrop.popup-exit-clone>.recipe-import-progress-dialog{animation:dialogPopOut .18s ease both!important}.modal-backdrop.popup-exit-clone>.sheet-modal{animation:sheetDown .18s ease both!important}@keyframes dialogPopIn{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popupBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes dialogPopOut{0%{transform:translateY(0) scale(1)}to{transform:translateY(5px) scale(.985)}}@keyframes sheetDown{0%{transform:translateY(0) scale(1)}to{transform:translateY(12px) scale(.99)}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-backdrop>.modal,.recipe-import-progress-backdrop,.recipe-import-progress-dialog{animation:none!important}}.recipe-import-progress-dialog>svg{color:var(--green-800)}.recipe-import-progress-copy{display:grid;gap:5px}.recipe-import-progress-copy strong{font-size:1rem;font-weight:600;line-height:1.35}.recipe-import-progress-copy small{color:var(--text-secondary);font-size:.78rem;font-weight:500}.preview-save-action{display:grid;place-items:center;margin-top:22px;padding-bottom:4px}.preview-save-action .primary-button{width:min(220px,100%);min-height:42px}.recipe-operation-progress{display:grid;gap:8px;margin:-4px 0 18px;color:var(--text-primary);font-size:13px;font-weight:500}.recipe-operation-progress>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.recipe-operation-progress>div strong{font-size:13px;font-weight:500}.recipe-operation-progress>div small{flex:0 0 auto;color:var(--text-secondary);font-size:11px;font-weight:500}.recipe-operation-progress>span{height:5px;overflow:hidden;border-radius:999px;background:var(--status-pill-background)}.recipe-operation-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:var(--accent);animation:recipeProgress 1.2s ease-in-out infinite}@keyframes recipeProgress{0%{transform:translate(-110%)}to{transform:translate(340%)}}.structured-ingredient-section{display:grid;gap:12px;padding:20px 0}.structured-ingredient-heading,.cooking-timer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.structured-ingredient-heading h3{margin:0;color:var(--accent);font-size:14px;font-weight:500;text-transform:uppercase}.structured-ingredient-heading strong{border-radius:999px;padding:6px 10px;color:var(--status-pill-text);background:var(--status-pill-background);font-size:12px;font-weight:500}.structured-ingredient-list{display:grid;gap:10px}.preview-ingredient-card{border-radius:17px;padding:12px;background:var(--gray-100);overflow-x:auto;scrollbar-width:thin}.recipe-editor-form .preview-ingredient-card{overflow:visible}.preview-ingredient-row{display:grid;grid-template-columns:68px 86px minmax(135px,1fr) 18px minmax(185px,1.15fr) auto 34px;gap:8px;align-items:end;min-width:690px}.structured-ingredient-section.nutrition-disabled .preview-ingredient-row{grid-template-columns:68px 86px minmax(135px,1fr);min-width:342px}@media(max-width:720px){.recipe-editor-form .structured-ingredient-section.nutrition-disabled .preview-ingredient-row{grid-template-columns:58px 92px minmax(0,1fr);min-width:0}}.preview-ingredient-row label,.preview-ingredient-unit{display:grid;gap:5px;min-width:0;margin:0}.preview-ingredient-arrow{align-self:end;margin-bottom:11px;color:var(--neutral-dark-strong)}.preview-ingredient-remove{display:grid;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;border:1px solid var(--action-danger-border);border-radius:999px;color:var(--action-danger-text);background:var(--action-danger-background)}.preview-ingredient-matched-field{display:grid;gap:5px;min-width:0}.preview-ingredient-matched-field>div{display:flex;align-items:center;gap:6px;min-width:0;min-height:40px;border:1px solid color-mix(in srgb,var(--wc-ink) 8%,transparent);border-radius:11px;padding:5px 9px;background:var(--white)}.preview-ingredient-matched-field strong{overflow:hidden;color:var(--neutral-dark-strong);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.preview-ingredient-matched-field small{margin-left:auto;color:var(--neutral-dark-strong);font-size:10px;white-space:nowrap}.preview-match-status{display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:999px}.preview-match-matched{border:1px solid var(--green-800);color:var(--green-800);background:var(--green-50)}.preview-match-unspecified{color:var(--wc-text-border);background:var(--wc-yellow-100)}.preview-match-unresolved{color:var(--wc-red-700);background:var(--wc-red-100)}.preview-match-ignored{color:var(--gray-600);background:var(--green-50)}.preview-ingredient-unspecified .preview-ingredient-amount>span,.preview-ingredient-unspecified .preview-ingredient-unit>span{color:var(--wc-text-border)}.preview-ingredient-unspecified .preview-ingredient-amount input{border-color:var(--wc-secondary);background:var(--wc-yellow-100);box-shadow:0 0 0 2px color-mix(in srgb,var(--wc-secondary) 20%,transparent)}.preview-ingredient-unspecified .preview-ingredient-amount input:focus{border-color:var(--wc-text-border);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--wc-secondary) 32%,transparent)}.preview-ingredient-row>.nutrition-ingredient-actions{align-self:end;flex-wrap:nowrap;min-height:40px;margin:0}.preview-ingredient-row>.nutrition-override-form{grid-column:1 / -1;margin-top:4px}.preview-ingredient-section-title{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 4px 4px;background:transparent}.preview-ingredient-section-title h4{flex:1;margin:0;color:var(--gray-900);font-size:16px;font-weight:600;line-height:1.3;letter-spacing:0;text-transform:none}.preview-ingredient-section-title button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:10px;color:var(--wc-red-700);background:var(--wc-red-100)}.structured-ingredient-add{justify-self:start}@media(max-width:620px){.preview-ingredient-card{padding:10px}.preview-ingredient-row{min-width:680px}}@media(max-width:739px){.add-recipe-backdrop.recipe-preview-backdrop{align-items:stretch;padding:0}.add-recipe-backdrop .recipe-preview-modal{width:100%;max-height:100vh;max-height:100dvh;border:0;border-radius:0;padding:0 12px max(12px,env(safe-area-inset-bottom))}.recipe-preview-modal>.modal-header{position:sticky;top:0;z-index:12;min-height:58px;margin:0 -12px 12px;padding:max(8px,env(safe-area-inset-top)) 12px 8px;background:var(--neutral-light-strong);border-bottom:1px solid color-mix(in srgb,var(--wc-ink) 7%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.recipe-preview-modal .recipe-preview-form{gap:10px}.recipe-preview-modal .editable-photo{min-height:150px;border-radius:18px}.recipe-preview-modal .photo-edit-button{right:10px;bottom:10px}.recipe-preview-modal .preview-field-card,.recipe-preview-modal .preview-section-card,.recipe-preview-modal .preview-ingredient-card{border-radius:14px}.recipe-preview-modal input,.recipe-preview-modal textarea{font-size:16px}.recipe-preview-modal .structured-ingredient-section{gap:10px;padding:10px 0}.recipe-preview-modal .structured-ingredient-heading{padding:0 2px}.recipe-preview-modal .preview-ingredient-card{overscroll-behavior-x:contain;scroll-snap-type:x proximity}.recipe-preview-modal .preview-ingredient-row{scroll-snap-align:start}.recipe-preview-modal .preview-ingredient-remove,.recipe-preview-modal .preview-ingredient-section-title button,.recipe-preview-modal .preview-direction-row button{width:40px;min-width:40px;height:40px}.recipe-preview-modal .preview-direction-row{grid-template-columns:28px minmax(0,1fr) 40px 40px;gap:7px}.recipe-preview-modal .preview-direction-row>span{width:28px;height:28px}.recipe-preview-modal .category-pill-list,.recipe-preview-modal .tag-chip-grid{gap:7px}.recipe-preview-modal .tag-chip{min-height:40px}.recipe-preview-modal .structured-ingredient-add{min-height:42px}.recipe-preview-modal .preview-save-action{position:sticky;bottom:0;z-index:11;margin:14px -12px 0;padding:10px 12px max(12px,env(safe-area-inset-bottom));background:var(--neutral-light-strong);border-top:1px solid color-mix(in srgb,var(--wc-ink) 7%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.recipe-preview-modal .preview-save-action .primary-button{width:100%;min-height:42px}}@media(min-width:740px)and (max-width:1100px){.add-recipe-backdrop .recipe-preview-modal{width:min(940px,calc(100% - 24px));max-height:calc(100dvh - 24px)}.recipe-preview-modal>.modal-header{position:sticky;top:-20px;z-index:12;margin:-4px -4px 14px;padding:12px 4px 10px;background:var(--neutral-light-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.recipe-preview-modal .preview-save-action{position:sticky;bottom:-20px;z-index:11;margin:18px -20px -20px;padding:12px 20px 20px;background:var(--neutral-light-strong);border-top:1px solid color-mix(in srgb,var(--wc-ink) 7%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}.modal-header{margin-bottom:18px}.modal-header h2{margin:0;font-size:17px;font-weight:500}.modal-header .icon-button{color:var(--action-secondary-text);background:var(--action-secondary-background)}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid var(--action-secondary-border);border-radius:999px;padding:0 14px;color:var(--action-secondary-text);background:var(--action-secondary-background);font-size:1rem;font-weight:700;line-height:1.1}.text-link:disabled{opacity:.45}.source-card,.edit-form,.form-grid{display:grid;gap:14px}.import-url-field{min-width:0}.import-translate-toggle{display:flex;align-items:center;justify-content:center;width:fit-content;gap:10px;margin:0 auto;min-height:48px;border:1px solid color-mix(in srgb,var(--wc-ink) 12%,transparent);border-radius:14px;padding:0 12px;color:var(--text-primary);background:var(--green-50);font-size:12px;font-weight:500;white-space:nowrap}.import-translate-toggle .settings-switch{flex:0 0 auto}.import-translate-toggle .settings-switch:disabled{cursor:wait;opacity:.65}.import-translate-toggle>svg{flex:0 0 auto;color:var(--action-secondary-text)}.import-tab-panel{display:grid;gap:14px}.photo-import-panel{gap:20px;padding-top:8px}.import-tab-panel>.primary-button,.photo-import-panel>.image-import-button{justify-self:center}.url-import-preview-loading{display:flex;min-height:118px;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary);font-size:.86rem;font-weight:500}.url-import-preview-loading svg{flex:0 0 auto;color:var(--green-800)}.url-import-preview-shell{display:grid;gap:12px}.url-import-preview-card{display:grid;min-width:0;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--green-mix-soft);border-radius:16px;padding:8px;background:var(--white)}.url-import-preview-card img{display:block;width:92px;height:72px;border-radius:12px;object-fit:cover}.url-import-preview-card strong{overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.3;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.url-import-preview-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}@media(max-width:420px){.url-import-preview-card{grid-template-columns:74px minmax(0,1fr);gap:10px}.url-import-preview-card img{width:74px;height:64px}.url-import-preview-actions>button{flex:1 1 0}.url-import-preview-actions>.url-import-preview-back{flex:0 0 36px}}.import-file-name{overflow:hidden;margin:-4px 0 0;color:var(--text-secondary);font-size:.76rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.edit-translation-action{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.edit-translation-action .secondary-button{min-height:42px;padding:0 14px}@media(max-width:560px){.edit-translation-action{align-items:stretch}.edit-translation-action .secondary-button{width:100%}}.image-import-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;margin:0;border:1px solid var(--action-secondary-border);border-radius:999px;padding:0 14px;color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none;cursor:pointer;font-size:1rem;font-weight:700;line-height:1.1}.image-import-button:has(input:disabled){opacity:.55;cursor:not-allowed}.image-import-button input{display:none}.recipe-editor-form .edit-save-action{position:sticky;bottom:0;z-index:11;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px -20px -20px;padding:12px 20px 20px;border-top:1px solid color-mix(in srgb,var(--wc-ink) 7%,transparent);background:var(--neutral-light-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.recipe-editor-form .edit-save-action .primary-button{width:min(220px,100%);min-height:42px;margin-left:auto}.recipe-editor-form .edit-save-back{flex:0 0 36px}.recipe-page.is-editing .detail-scroll{padding-bottom:0}.description-edit-textarea{min-height:92px;resize:vertical}.form-grid{grid-template-columns:1fr}.recipe-preview-form,.recipe-editor-form{gap:12px;align-items:stretch}.recipe-editor-form>.full{grid-column:1 / -1}.recipe-editor-form .structured-ingredient-heading h3,.recipe-editor-form .preview-directions-editor>h3{display:block;width:auto;min-height:0;margin:0;color:var(--text-primary);font-size:14px;line-height:1.2;text-transform:none}.recipe-editor-form .structured-ingredient-heading h3:after,.recipe-editor-form .preview-section-card h3:after{display:none}.preview-editor-utility-actions{padding:0 2px}.preview-field-card,.preview-section-card{margin:0;border:0;border-radius:17px;padding:12px;background:var(--gray-100)}.preview-field-card{align-content:stretch;grid-template-rows:auto 46px;gap:7px;min-width:0;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.2}.preview-field-card>input,.preview-field-card .themed-number-input,.preview-field-card .themed-number-input input{width:100%}.preview-field-card>input,.preview-field-card .themed-number-input{height:46px;min-height:46px;border-radius:12px;background:var(--white)}.preview-field-card>input,.preview-field-card .themed-number-input input{height:46px;min-height:46px;padding-top:0;padding-bottom:0}.preview-section-card>.category-picker h3,.preview-section-card>.editable-tag-editor h3,.preview-directions-editor>h3{display:block;min-height:0;margin:0 0 10px;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.2;text-transform:none}.preview-direction-row textarea{padding:11px 12px}.preview-section-card>.category-picker,.preview-section-card>.editable-tag-editor{gap:10px}.preview-direction-list{display:grid;gap:8px;margin-bottom:10px}.preview-direction-row{display:grid;grid-template-columns:28px minmax(0,1fr) 40px 40px;gap:8px;align-items:start;border-radius:13px;transition:opacity .15s ease,background-color .15s ease,box-shadow .15s ease}.preview-direction-row>span{display:grid;place-items:center;width:28px;height:28px;margin-top:6px;border:1px solid var(--green-50);border-radius:999px;color:var(--text-secondary);background:var(--green-50);font-size:12px;font-weight:600}.preview-direction-row textarea{box-sizing:border-box;width:100%;min-height:40px;overflow-y:hidden;resize:none}.preview-direction-row button{display:grid;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;border:1px solid var(--action-danger-border);border-radius:999px;color:var(--action-danger-text);background:var(--action-danger-background)}.preview-direction-row .preview-direction-drag{width:40px;min-width:40px;border-color:var(--green-50);color:var(--text-secondary);background:var(--green-50);cursor:grab;touch-action:none}.preview-direction-row .preview-direction-drag:hover:not(:disabled){border-color:var(--gray-300);color:var(--text-primary);background:var(--green-50)}.preview-direction-row .preview-direction-drag:active{cursor:grabbing}.preview-direction-row .preview-direction-drag:focus-visible{outline:2px solid var(--gray-300);outline-offset:2px}@media(min-width:740px){.form-grid.recipe-preview-form,.recipe-editor-form{grid-template-columns:minmax(0,2fr) minmax(190px,.75fr)}}@media(max-width:560px){.preview-direction-row{grid-template-columns:24px minmax(0,1fr) 40px 40px;gap:6px}.preview-direction-row>span{width:24px;height:24px}.preview-direction-row button{width:40px;min-width:40px;height:40px;min-height:40px}.preview-direction-row .preview-direction-drag{width:40px;min-width:40px}}@media(max-width:739px){input,textarea{font-size:16px!important}.detail-content.recipe-edit-content{padding-right:12px;padding-left:12px}.recipe-page.is-editing .detail-scroll{overflow-x:clip;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.recipe-editor-form{gap:10px;padding-top:12px}.recipe-editor-form input,.recipe-editor-form textarea{font-size:16px}.recipe-editor-form .preview-field-card,.recipe-editor-form .preview-section-card,.recipe-editor-form .preview-ingredient-card{border-radius:14px}.recipe-editor-form .structured-ingredient-section{gap:10px;padding:10px 0}.recipe-editor-form .preview-ingredient-card{overflow:visible;padding:12px;border:1px solid color-mix(in srgb,var(--wc-ink) 6%,transparent);border-radius:16px;background:var(--gray-100);box-shadow:0 4px 14px color-mix(in srgb,var(--wc-ink) 3.5%,transparent)}.recipe-editor-form .preview-ingredient-row{width:100%;min-width:0;grid-template-columns:58px 92px minmax(0,1fr);grid-auto-rows:auto;gap:9px 7px;align-items:start}.recipe-editor-form .preview-ingredient-row label,.recipe-editor-form .preview-ingredient-unit{gap:4px}.recipe-editor-form .preview-ingredient-amount{grid-column:1;grid-row:1}.recipe-editor-form .preview-ingredient-unit{grid-column:2;grid-row:1}.recipe-editor-form .preview-ingredient-product{grid-column:3;grid-row:1}.recipe-editor-form .preview-ingredient-arrow{display:none}.recipe-editor-form .preview-ingredient-matched-field{grid-column:1 / -1;grid-row:2}.recipe-editor-form .preview-ingredient-matched-field>div{min-height:38px;padding:5px 8px}.recipe-editor-form .preview-ingredient-matched-field strong{font-size:13px}.recipe-editor-form .preview-ingredient-matched-field small{font-size:11px}.recipe-editor-form .preview-ingredient-row>.nutrition-ingredient-actions{grid-column:1 / 3;grid-row:3;justify-self:start;padding-top:1px}.recipe-editor-form .preview-ingredient-remove{grid-column:3;grid-row:3;justify-self:end}.recipe-editor-form .preview-ingredient-row>.nutrition-override-form{grid-column:1 / -1;grid-row:4}.recipe-editor-form .preview-ingredient-remove,.recipe-editor-form .preview-ingredient-section-title button,.recipe-editor-form .preview-direction-row button{width:40px;min-width:40px;height:40px}.recipe-editor-form .preview-direction-row{grid-template-columns:28px minmax(0,1fr) 40px 40px;gap:7px}.recipe-editor-form .preview-direction-row>span{width:28px;height:28px}.recipe-editor-form .category-pill-list,.recipe-editor-form .tag-chip-grid{gap:7px}.recipe-editor-form .tag-chip{min-height:40px}.recipe-editor-form .structured-ingredient-add{min-height:42px}.recipe-editor-form .edit-save-action{position:fixed;right:0;left:0;bottom:0;z-index:19;width:auto;margin:0;padding:10px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.recipe-editor-form .edit-save-action .primary-button{width:min(220px,calc(100% - 52px))}}.category-picker{display:grid;gap:12px}.category-picker h3{margin:0;color:var(--text-primary);font-size:15px;font-weight:500}.category-pill-list{display:flex;flex-wrap:wrap;gap:10px}.editable-tag-editor{display:grid;gap:12px}.editable-tag-editor h3,.filter-group h3{margin:0;color:var(--text-primary);font-size:17px;font-weight:500}.editable-tag-editor p,.helper-text{margin:0;color:var(--text-secondary);font-size:14px;font-weight:300}.tag-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.tag-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;border:1px solid var(--green-mix-soft);border-radius:999px;padding:0 14px;color:var(--text-primary);background:var(--accent-soft);font-size:13px;font-weight:400}.tag-chip.selected{color:var(--status-pill-text);background:var(--status-pill-background);border-color:var(--action-secondary-border);box-shadow:none}.tag-chip.removable{padding-right:10px}.tag-chip[data-meal-slot-order]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .14s ease,transform .14s cubic-bezier(.2,.75,.3,1),box-shadow .14s ease,background-color .14s ease}.tag-chip[data-meal-slot-order]:active{cursor:grabbing}.tag-chip[data-meal-slot-order].dragging{opacity:.68;transform:scale(.97)}.tag-chip[data-meal-slot-order].drag-over{background:var(--accent-wash);box-shadow:0 0 0 2px var(--action-secondary-border);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.planned-meal,.planned-meal-slot,.planned-meal-empty-slot-target,.tag-chip[data-meal-slot-order]{transition:none}.planned-meal.drop-before:before,.planned-meal.drop-after:after,.planned-meal-empty-slot-targets{animation:none}}.filter-sheet{background:var(--white)}.filter-search-box{height:var(--text-input-height);min-height:var(--text-input-height);margin-bottom:24px;border:1px solid var(--action-neutral-border);border-radius:15px;box-shadow:0 8px 14px var(--green-mix-subtle)}.filter-search-box input{text-align:center}.filter-group{display:grid;gap:12px;margin-bottom:24px}.filter-tag-picker{display:grid;gap:12px}.rating-chip-row{display:flex;gap:10px}.rating-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;border:1px solid var(--stroke-soft);border-radius:999px;padding:0 14px;color:var(--accent);background:var(--white);font-size:13px;font-weight:500}.rating-chip.selected{color:var(--status-pill-text);background:var(--status-pill-background);border-color:var(--action-secondary-border)}textarea{min-height:112px;resize:vertical}.editable-photo{position:relative;overflow:hidden;aspect-ratio:16 / 10;min-height:190px;border-radius:24px;background:var(--secondary-card);box-shadow:0 10px 18px var(--green-mix-soft)}.editable-photo img{display:block;width:100%;height:100%;object-fit:cover}.photo-edit-button{position:absolute;right:14px;bottom:14px;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin:0;border:1px solid var(--action-secondary-border);border-radius:999px;color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none;cursor:pointer}.photo-edit-button input{display:none}.comment-sheet-header{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}.comment-sheet-header h2{text-align:center}.comment-sheet-close{justify-self:start}.comment-sheet-post{justify-self:end}.comment-photo-button{width:100%;margin-bottom:13px}.comment-photo-input{display:none}.recipe-page{position:relative;min-height:100dvh;overflow:clip;border-top:1px solid var(--neutral-light-strong);background:var(--green-50);box-shadow:0 -2px 22px var(--neutral-dark-subtle)}.recipe-route .recipe-page,.recipe-route .detail-scroll{min-height:calc(100dvh - var(--app-header-height, 92px))}.recipe-route .recipe-page{flex:1 0 auto}.recipe-route .detail-scroll{padding-top:14px}.recipe-page.is-editing{background:var(--green-50)}.cooking-mode-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:31;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100vh;min-height:100dvh;overflow:hidden;color:var(--text-primary);background:var(--wc-canvas)}.cooking-completion-confetti{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.cooking-completion-confetti>span{position:absolute;top:-7vh;display:block;border-radius:2px;opacity:0;box-shadow:0 1px 2px color-mix(in srgb,var(--wc-ink) 12%,transparent);animation:cookingConfettiFall var(--confetti-duration) cubic-bezier(.2,.72,.25,1) var(--confetti-delay) forwards;will-change:transform,opacity}.cooking-completion-confetti>span.round{border-radius:999px}@keyframes cookingConfettiFall{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(0)}8%{opacity:1}82%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),114vh,0) rotate(var(--confetti-spin))}}.cooking-mode-header{position:relative;z-index:2;display:grid;grid-template-columns:42px 54px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,var(--wc-ink) 8%,transparent);background:var(--neutral-light-strong);box-shadow:0 8px 24px var(--green-mix-subtle);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.cooking-mode-back{width:40px;height:40px;min-height:40px;color:var(--action-neutral-text);background:var(--action-neutral-background);border-color:var(--action-neutral-border);box-shadow:none}.cooking-mode-avatar{display:block;width:54px;height:54px;border:2px solid var(--neutral-light-strong);border-radius:999px;object-fit:cover;box-shadow:0 8px 18px var(--green-mix-soft)}.cooking-mode-title{min-width:0}.cooking-mode-title>span{display:flex;align-items:center;gap:6px;margin-bottom:4px;color:var(--status-pill-text);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.cooking-mode-title h1{overflow:hidden;margin:0;font-size:clamp(18px,5vw,23px);font-weight:600;line-height:1.16;text-overflow:ellipsis;white-space:nowrap}.cooking-clear-progress{width:max-content;min-height:38px;padding:0 13px;color:var(--action-secondary-text);border-color:var(--action-secondary-border);background:var(--action-secondary-background);box-shadow:none;font-size:13px}.cooking-mode-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.cooking-remove-recipe{width:40px;height:40px;min-height:40px;flex:0 0 40px;padding:0;color:var(--action-secondary-text);border-color:var(--action-secondary-border);background:var(--action-secondary-background);box-shadow:none}.cooking-recipe-tabs-row{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-width:0;gap:8px}.cooking-recipe-tabs{display:flex;width:100%;max-width:100%;min-width:0;flex:1 1 auto;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.cooking-recipe-tabs::-webkit-scrollbar{display:none}.cooking-recipe-tabs.two-recipes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cooking-recipe-tabs.two-recipes .cooking-recipe-tab{width:100%;min-width:0;max-width:none}.cooking-recipe-tab{display:flex;flex:0 0 auto;align-items:center;max-width:min(260px,62vw);min-height:40px;overflow:hidden;border:1px solid var(--action-neutral-border);border-radius:14px;color:var(--text-secondary);background:var(--action-neutral-background)}.cooking-recipe-tab.active{border-color:var(--green-600);color:var(--white);background:var(--green-600);box-shadow:0 7px 14px var(--green-mix-soft)}.cooking-recipe-tab>button:first-child{display:flex;min-width:0;min-height:38px;flex:1 1 auto;align-items:center;gap:8px;border:0;padding:4px 5px;color:inherit;background:transparent;font-size:13px;font-weight:550}.cooking-recipe-tab>button:first-child img{width:30px;height:30px;flex:0 0 30px;border-radius:10px;object-fit:cover}.cooking-recipe-tab>button:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cooking-mode-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px max(16px,env(safe-area-inset-right)) calc(var(--wc-cooking-content-clearance) + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));-webkit-overflow-scrolling:touch}.cooking-timer-heading>div{display:flex;align-items:center;min-width:0;gap:8px;color:var(--status-pill-text)}.cooking-timer-heading h2{margin:0;font-size:13px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}.cooking-timer-heading>div>span{display:grid;min-width:22px;height:22px;border-radius:999px;padding:0 6px;place-items:center;background:var(--status-pill-background);font-size:11px;font-weight:650}.cooking-timer-heading>div>.cooking-timer-heading-icon{width:21px;height:21px;min-width:21px;border-radius:0;padding:0;background-color:currentColor;mask:url(/action-icons/timer-white-corrected.svg) center / contain no-repeat;-webkit-mask:url(/action-icons/timer-white-corrected.svg) center / contain no-repeat}.cooking-timer-heading .tertiary-button{min-height:34px;flex:0 0 auto}.cooking-timer-form{display:grid;gap:10px;border-top:1px solid var(--stroke-soft);padding-top:12px}.cooking-timer-presets::-webkit-scrollbar{display:none}.cooking-custom-timer{display:grid;gap:12px}.cooking-timer-wheel-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid var(--stroke-soft);border-radius:22px;padding:10px;background:var(--gray-100);box-shadow:inset 0 1px color-mix(in srgb,var(--wc-white) 90%,transparent)}.cooking-timer-wheel-field{display:grid;min-width:0;gap:6px}.cooking-timer-wheel-track{position:relative;display:grid;grid-template-rows:28px 52px 28px;overflow:hidden;border:1px solid var(--stroke-soft);border-radius:17px;background:var(--white);box-shadow:0 5px 14px color-mix(in srgb,var(--wc-text-border) 7%,transparent);cursor:ns-resize;touch-action:none}.cooking-timer-wheel-track:before,.cooking-timer-wheel-track:after{position:absolute;z-index:1;right:8px;left:8px;height:1px;background:var(--green-200);content:"";pointer-events:none}.cooking-timer-wheel-track:before{top:28px}.cooking-timer-wheel-track:after{bottom:28px}.cooking-timer-wheel-track button{width:100%;min-width:0;border:0;border-radius:0;padding:0;color:var(--text-secondary);background:transparent;font-size:13px;font-variant-numeric:tabular-nums;text-align:center;opacity:.42;transform:translateY(var(--timer-wheel-drag-offset, 0));transition:transform .14s cubic-bezier(.2,.8,.2,1)}.cooking-timer-wheel-track.is-dragging button{transition:none}.cooking-timer-wheel-track .cooking-timer-wheel-current{outline:0;color:var(--text-primary);background:var(--green-50);font-size:27px;font-variant-numeric:tabular-nums;font-weight:500;opacity:1;cursor:ns-resize}.cooking-timer-wheel-track .cooking-timer-wheel-current:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.cooking-custom-timer .primary-button{width:100%;min-height:44px;align-items:center;line-height:1}.cooking-custom-timer .primary-button svg,.cooking-custom-timer .primary-button span{display:block;flex:0 0 auto}.cooking-custom-timer .primary-button svg{transform:translateY(.5px)}.cooking-custom-timer .primary-button span{line-height:1}.modal-backdrop.nested.cooking-timer-dialog-backdrop{z-index:40;align-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.cooking-timer-dialog{display:grid;width:min(480px,100%);max-height:calc(100dvh - 32px);gap:6px;overflow-y:auto;border-radius:26px;padding:18px}.cooking-timer-dialog .cooking-timer-heading{position:sticky;top:-18px;z-index:1;margin:-18px -18px 0;padding:12px 18px 8px;border-bottom:1px solid var(--stroke-soft);background:var(--white)}.cooking-timer-dialog .cooking-timer-form{border-top:0;padding-top:0}.cooking-timer-dialog .cooking-timer-heading .icon-button{width:38px;height:38px;min-height:38px}.cooking-mode-ingredients{display:grid;width:min(820px,100%);margin:0 auto;gap:16px}.cooking-mode-empty{margin:0;padding:24px;border:1px solid color-mix(in srgb,var(--wc-ink) 8%,transparent);border-radius:20px;color:var(--text-secondary);background:var(--neutral-light-strong);text-align:center}.cooking-ingredient-group{padding:18px;border:1px solid color-mix(in srgb,var(--wc-ink) 8%,transparent);border-radius:24px;background:var(--neutral-light-strong);box-shadow:0 14px 32px var(--green-mix-subtle);transition:padding .22s ease}.cooking-ingredient-group.is-collapsed{padding-top:14px;padding-bottom:14px}.cooking-ingredient-group-heading{display:flex;align-items:center;gap:10px;margin:0 0 14px}.cooking-ingredient-group.is-collapsed .cooking-ingredient-group-heading{margin-bottom:0}.cooking-ingredient-group h2{display:grid;flex:1;grid-template-columns:auto minmax(24px,1fr);align-items:center;gap:12px;min-width:0;margin:0;color:var(--wc-text-border);font-size:13px;font-weight:700;letter-spacing:.045em;line-height:1.2;text-transform:uppercase}.cooking-ingredient-group.has-default-title h2{color:var(--status-pill-text)}.cooking-ingredient-group h2:after{height:1px;background:var(--green-mix-soft);content:""}.cooking-ingredient-group-toggle{display:grid;width:32px;height:32px;min-width:32px;min-height:32px;border:1px solid var(--action-secondary-border);border-radius:50%;padding:0;place-items:center;color:var(--action-secondary-text);background:var(--action-secondary-background)}.cooking-ingredient-group-toggle svg{transition:transform .18s ease}.cooking-ingredient-group-toggle.is-expanded svg{transform:rotate(180deg)}.cooking-ingredient-list{display:grid;gap:8px}.cooking-ingredient{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:52px;border:1px solid transparent;border-radius:16px;padding:9px 12px;color:var(--text-primary);background:var(--green-50);text-align:left;transition:opacity .28s ease,transform .36s cubic-bezier(.16,1,.3,1),background-color .28s ease,border-color .28s ease}.cooking-ingredient:hover{border-color:var(--action-secondary-border);background:var(--action-secondary-background)}.cooking-ingredient-check{display:grid;width:28px;height:28px;border:1px solid var(--action-secondary-border);border-radius:999px;place-items:center;color:var(--white);background:var(--white);transition:color .22s ease,background-color .22s ease,transform .36s cubic-bezier(.16,1,.3,1)}.cooking-ingredient-check svg{opacity:0;transform:scale(.5) rotate(-12deg);transition:opacity .18s ease,transform .32s cubic-bezier(.16,1,.3,1)}.cooking-ingredient-text{width:fit-content;max-width:100%;font-size:17px;font-weight:450;line-height:1.4;text-decoration-line:line-through;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-decoration-skip-ink:none;transition:color .28s ease,text-decoration-color .36s ease}.cooking-ingredient.is-used{opacity:.48;border-color:color-mix(in srgb,var(--wc-ink) 6%,transparent);background:color-mix(in srgb,var(--wc-ink) 4%,transparent);transform:scale(.988);animation:cookingIngredientUsed .42s cubic-bezier(.16,1,.3,1)}.cooking-ingredient.is-used .cooking-ingredient-check{color:var(--white);background:var(--accent);transform:scale(.94)}.cooking-ingredient.is-used .cooking-ingredient-check svg{opacity:1;transform:scale(1) rotate(0)}.cooking-ingredient.is-used .cooking-ingredient-text{color:var(--text-secondary);text-decoration-color:currentColor}@keyframes cookingIngredientUsed{0%{transform:scale(1)}45%{transform:scale(.975)}to{transform:scale(.988)}}.cooking-directions-bar{position:fixed;right:0;bottom:0;left:0;z-index:4;padding:12px max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-top:1px solid color-mix(in srgb,var(--wc-ink) 9%,transparent);background:var(--neutral-light-strong);box-shadow:0 -18px 42px var(--green-mix-soft);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cooking-controls-row{position:absolute;bottom:calc(100% + 12px);left:50%;z-index:5;display:flex;width:min(820px,calc(100% - 28px));min-width:0;align-items:center;justify-content:flex-end;gap:9px;pointer-events:none;transform:translate(-50%)}.cooking-timer-launcher{position:relative;display:grid;width:44px;height:44px;min-width:44px;flex:0 0 44px;border:1px solid var(--white);border-radius:50%;padding:0;place-content:center;place-items:center;color:var(--white);background:var(--green-800);box-shadow:none;pointer-events:auto}.cooking-timer-launcher img{display:block;width:35px;height:35px;object-fit:contain}.cooking-controls-row .cooking-assistant{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:auto;flex:0 0 auto;pointer-events:auto;transform:none}.cooking-controls-row .cooking-assistant-launcher{position:relative;inset:auto;pointer-events:auto}.cooking-controls-row .cooking-assistant-window{position:absolute;right:0;bottom:calc(100% + 12px);left:auto;height:min(570px,calc(100dvh - 280px));pointer-events:auto}.cooking-directions-inner{display:grid;width:min(820px,100%);margin:0 auto;gap:9px}.cooking-directions-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--status-pill-text)}.cooking-directions-meta>span{font-size:13px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.cooking-directions-meta small{padding:5px 9px;border-radius:999px;background:var(--status-pill-background);font-size:11px;font-weight:500}.cooking-direction-row{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px}.cooking-direction-row p{max-height:min(24dvh,150px);overflow-y:auto;margin:0;padding:3px 2px;color:var(--text-primary);font-size:15px;font-weight:450;line-height:1.45;animation:cookingDirectionIn .32s cubic-bezier(.16,1,.3,1) both}.cooking-direction-row .icon-button{width:42px;height:42px;min-height:42px;color:var(--action-neutral-text);border-color:var(--action-neutral-border);border-radius:15px;background:var(--action-neutral-background);box-shadow:none;transition:opacity .22s ease,background-color .18s ease,border-color .18s ease}.cooking-direction-previous{color:var(--action-neutral-text);border-color:var(--action-neutral-border);background:var(--action-neutral-background)}.cooking-direction-row .cooking-direction-next{width:42px;color:var(--action-neutral-text);border-color:var(--action-neutral-border);background:var(--action-neutral-background)}.cooking-direction-row .icon-button:disabled{color:var(--action-neutral-text);border-color:var(--action-neutral-border);background:var(--action-neutral-background);opacity:0;pointer-events:none}.cooking-direction-row .cooking-direction-previous:disabled{opacity:.35}@keyframes cookingDirectionIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(min-width:740px){.cooking-mode-header{padding-right:max(24px,calc((100vw - 900px)/2));padding-left:max(24px,calc((100vw - 900px)/2))}.cooking-recipe-tabs{padding-bottom:0;scrollbar-width:none}.cooking-recipe-tabs::-webkit-scrollbar{display:none}.cooking-mode-scroll{padding-top:28px;padding-bottom:290px}.cooking-directions-bar{right:auto;bottom:20px;left:50%;width:min(880px,calc(100% - 40px));border:1px solid color-mix(in srgb,var(--wc-ink) 9%,transparent);border-radius:26px;transform:translate(-50%)}}@media(max-width:739px){.cooking-mode-header{grid-template-columns:40px minmax(0,1fr) auto;gap:9px}.cooking-mode-avatar{display:none}.cooking-mode-title h1{font-size:12px}.cooking-recipe-tabs.three-recipes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.cooking-recipe-tabs.three-recipes .cooking-recipe-tab{width:100%;min-width:0;max-width:none}.cooking-recipe-tabs.compact{display:flex;width:100%;max-width:100%;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:0;scroll-snap-type:x proximity;touch-action:pan-x;-webkit-overflow-scrolling:touch}.cooking-recipe-tabs.compact .cooking-recipe-tab{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;overflow:hidden;border:2px solid var(--white);border-radius:50%;background:var(--white);box-shadow:0 4px 10px var(--neutral-dark-subtle);scroll-snap-align:start}.cooking-recipe-tabs.compact .cooking-recipe-tab.active{border-color:var(--green-600);background:var(--white)}.cooking-recipe-tabs.compact .cooking-recipe-tab>button:first-child{width:100%;height:100%;min-width:100%;min-height:100%;flex:0 0 100%;justify-content:center;overflow:hidden;padding:0;border-radius:50%}.cooking-recipe-tabs.compact .cooking-recipe-tab>button:first-child img{width:100%;height:100%;min-width:100%;flex:0 0 100%;border-radius:50%}.cooking-recipe-tabs.compact .cooking-recipe-tab>button:first-child span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cooking-mode-avatar{width:44px;height:44px}.cooking-clear-progress{width:40px;min-height:40px;padding:0}.cooking-clear-progress span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cooking-ingredient-group{padding:14px}.cooking-ingredient-list{gap:6px}.cooking-ingredient{grid-template-columns:26px minmax(0,1fr);min-height:46px;gap:10px;border-radius:14px;padding:7px 10px}.cooking-ingredient-check{width:25px;height:25px}.cooking-ingredient-text{font-size:15px;line-height:1.35}}@media(prefers-reduced-motion:reduce){.cooking-ingredient,.cooking-ingredient-check,.cooking-ingredient-check svg,.cooking-ingredient-text,.cooking-direction-row .icon-button{transition-duration:1ms}.cooking-ingredient.is-used,.cooking-direction-row p{animation:none}}.recipe-page.is-editing .recipe-edit-content{width:min(1020px,calc(100% - 32px));margin:0 auto;border:0;border-radius:28px;padding:20px;background:var(--white);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.cooking-assistant{position:relative;z-index:36}.cooking-assistant-launcher{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));z-index:37;display:grid;place-items:center;overflow:visible;width:62px;height:62px;border:3px solid var(--white);border-radius:50%;padding:0;color:var(--white);background:var(--green-800);box-shadow:0 14px 32px color-mix(in srgb,var(--wc-text-border) 30%,transparent);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.cooking-assistant-launcher:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 18px 38px color-mix(in srgb,var(--wc-text-border) 36%,transparent)}.cooking-assistant-launcher:focus-visible{outline:3px solid var(--green-200);outline-offset:3px}.cooking-assistant-launcher>img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.cooking-assistant-launcher>span{position:absolute;right:-4px;bottom:-1px;display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--white);border-radius:50%;color:var(--white);background:var(--green-800)}.cooking-assistant-window{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(170px + env(safe-area-inset-bottom));z-index:36;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(390px,calc(100vw - 24px));height:min(570px,calc(100dvh - 190px));overflow:hidden;border:var(--wc-border-width-emphasis) solid var(--wc-ink);border-radius:var(--wc-radius-xl);color:var(--wc-ink);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-lg),var(--wc-shadow-soft-lg);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(10px) scale(.98);transform-origin:bottom right;transition:opacity .18s ease,transform .18s cubic-bezier(.2,.75,.3,1),visibility 0s linear .18s}.cooking-assistant-window.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}@media(prefers-reduced-motion:reduce){.cooking-assistant-window{transform:none;transition:none}}.cooking-assistant-header{display:grid;grid-template-columns:50px minmax(0,1fr) 38px;align-items:center;gap:var(--wc-spacing-sm);padding:var(--wc-spacing-sm);color:var(--wc-ink);background:var(--wc-assistant-header-fill)}.cooking-assistant-header>img,.assistant-message-row>img{border-radius:50%;object-fit:cover;background:var(--white)}.cooking-assistant-header>img{width:50px;height:50px;border:var(--wc-border-width-emphasis) solid var(--wc-ink);box-shadow:var(--wc-shadow-hard-xs)}.cooking-assistant-header h3{margin:0;font-family:var(--wc-font-display);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-tight)}.cooking-assistant-header button{display:grid;place-items:center;width:38px;height:38px;border:var(--wc-border-width-emphasis) solid var(--wc-ink);border-radius:var(--wc-radius-circle);color:var(--wc-ink);background:var(--wc-surface);box-shadow:var(--wc-shadow-hard-sm);cursor:pointer}.cooking-assistant-header button:hover:not(:disabled){background:var(--wc-lavender);transform:translate(-1px,-1px)}.cooking-assistant-header button:focus-visible,.cooking-assistant-form button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-ink);outline-offset:var(--wc-space-2)}.cooking-assistant-context{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:var(--wc-space-4);min-width:0;padding:var(--wc-spacing-sm);border-bottom:var(--wc-border-width) solid var(--wc-color-border);color:var(--wc-ink);background:var(--wc-surface);font-size:var(--wc-font-size-body-sm)}.cooking-assistant-context>svg{width:var(--wc-font-size-lg);height:var(--wc-font-size-lg)}.cooking-assistant-context>span{color:var(--wc-color-text-muted)}.cooking-assistant-context strong{overflow:hidden;color:var(--wc-ink);font-weight:var(--wc-font-weight-bold);text-overflow:ellipsis;white-space:nowrap}.cooking-assistant-messages{display:flex;flex-direction:column;gap:var(--wc-spacing-sm);min-height:0;overflow:auto;padding:var(--wc-spacing-md) var(--wc-spacing-sm);background:var(--wc-canvas)}.assistant-message-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:end;gap:var(--wc-spacing-xs);max-width:100%}.assistant-message-row>img{width:34px;height:34px;border:var(--wc-border-width) solid var(--wc-ink)}.assistant-message{width:fit-content;max-width:92%;border:var(--wc-border-width) solid var(--wc-ink);border-radius:var(--wc-radius-lg);padding:var(--wc-spacing-sm);color:var(--wc-ink);font-size:var(--wc-font-size-body-sm);line-height:var(--wc-line-height-body);overflow-wrap:anywhere}.assistant-message p,.assistant-message h4,.assistant-message ul,.assistant-message ol{margin:0}.assistant-message>:not(:first-child){margin-top:9px}.assistant-message h4{color:inherit;font-size:inherit;font-weight:600;line-height:1.35}.assistant-message ul,.assistant-message ol{display:grid;gap:3px;padding-left:20px}.assistant-message ul{padding-left:0;list-style:none}.assistant-ingredient-list{display:grid;gap:0}.assistant-message li{padding-left:1px}.assistant-message strong{font-weight:700}.assistant-message code{border-radius:5px;padding:1px 4px;color:var(--wc-ink);background:var(--wc-lavender);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}.assistant-message.assistant{position:relative;max-width:100%;background:var(--wc-surface);box-shadow:var(--wc-shadow-control-hover)}.assistant-message.assistant:before{position:absolute;bottom:var(--wc-spacing-sm);left:-6px;width:var(--wc-space-5);height:var(--wc-space-5);border-bottom:var(--wc-border-width) solid var(--wc-ink);border-left:var(--wc-border-width) solid var(--wc-ink);background:var(--wc-surface);content:"";transform:rotate(45deg)}.assistant-message.user{align-self:flex-end;background:var(--wc-lavender);box-shadow:var(--wc-shadow-control-hover)}.assistant-message.typing{display:flex;align-items:center;gap:4px;min-height:38px}.assistant-message.typing span{width:6px;height:6px;border-radius:50%;background:var(--wc-lavender-strong);animation:assistantTyping 1s ease-in-out infinite}.assistant-message.typing span:nth-child(2){animation-delay:.13s}.assistant-message.typing span:nth-child(3){animation-delay:.26s}@keyframes assistantTyping{0%,70%,to{transform:translateY(0);opacity:.45}35%{transform:translateY(-4px);opacity:1}}.cooking-assistant-error{border-radius:12px;padding:9px 11px;color:var(--danger-dark);background:var(--danger-light);font-size:12px}.cooking-assistant-form{display:grid;grid-template-columns:minmax(0,1fr) var(--wc-control-height-md);align-items:center;gap:var(--wc-spacing-xs);margin:var(--wc-spacing-xs);border:var(--wc-border-width-emphasis) solid var(--wc-ink);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-xs);background:var(--wc-canvas)}.cooking-assistant-form input{min-width:0;height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-ink);border-radius:var(--wc-radius-control);padding:0 var(--wc-spacing-sm);color:var(--wc-ink);background:var(--wc-surface);font:inherit;font-size:var(--wc-font-size-body-sm);outline:none}.cooking-assistant-form input:focus{box-shadow:0 0 0 var(--wc-space-3) color-mix(in srgb,var(--wc-lavender-strong) 35%,transparent)}.cooking-assistant-form button{display:grid;place-items:center;width:var(--wc-control-height-md);height:var(--wc-control-height-md);border:var(--wc-border-width-emphasis) solid var(--wc-ink);border-radius:var(--wc-radius-circle);color:var(--wc-ink);background:var(--wc-assistant-send-fill);box-shadow:var(--wc-shadow-hard-sm);cursor:pointer}.cooking-assistant-form button:disabled{cursor:not-allowed;opacity:.7}.cooking-assistant-form small{grid-column:1 / -1;color:var(--wc-color-text-muted);font-size:var(--wc-font-size-xs);line-height:var(--wc-line-height-body);text-align:center}.detail-scroll{min-height:100vh;min-height:100dvh;overflow:visible;-webkit-overflow-scrolling:touch;padding:calc(14px + env(safe-area-inset-top)) 0 calc(104px + env(safe-area-inset-bottom))}.detail-hero{position:relative;display:grid;margin:0;overflow:visible;color:var(--text-primary);background:transparent;border:0;border-radius:0;box-shadow:none}.detail-photo{position:relative;overflow:hidden;aspect-ratio:auto;min-height:304px;max-height:430px;margin:0 18px;background:var(--secondary-card);border-radius:30px 30px 0 0}.detail-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.detail-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--neutral-dark-subtle),transparent 70%);pointer-events:none}.detail-hero-body{position:relative;z-index:1;margin:-52px 18px 0;padding:28px 28px 22px;background:var(--neutral-light-strong);border:1px solid var(--neutral-light-strong);border-bottom:0;border-radius:32px 32px 0 0;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.detail-hero-body:before{content:none}.detail-hero h2{margin:14px 0 10px;color:var(--text-primary);font-size:29px;font-weight:600;line-height:1.08;letter-spacing:0}.detail-rating{position:absolute;top:16px;left:16px;border:0}.detail-image-favorite{position:absolute;z-index:1;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:var(--white);background:var(--neutral-dark-strong);box-shadow:0 8px 14px var(--neutral-dark-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.detail-image-favorite.is-favorite{background:var(--neutral-light-strong)}.detail-hero p{color:var(--neutral-dark-strong);margin:0;font-size:13px;font-weight:300}.detail-hero .saved-byline{display:flex;align-items:center;gap:6px;margin:14px 0 0;color:var(--neutral-dark-strong);font-size:13px;font-weight:300;line-height:1}.detail-hero .nutrition-byline{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0 0;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.2}.nutrition-byline-content{min-width:0}.nutrition-summary-button{display:inline-flex;align-items:center;gap:7px;border:0;padding:0;color:inherit;background:transparent;font:inherit;font-weight:400;line-height:18px;text-align:left;cursor:pointer}.nutrition-summary-text{display:inline-flex;min-height:18px;align-items:center}.nutrition-summary-button svg,.nutrition-summary-status{flex:0 0 auto;color:var(--accent)}.nutrition-summary-info{display:block;align-self:center;transform:translateY(-1px)}.nutrition-summary-status{display:inline-flex;min-height:18px;align-items:center;gap:4px;font-weight:500;line-height:18px;white-space:nowrap}.nutrition-summary-status-count{display:none}.nutrition-summary-issue-icon{display:block;align-self:center;transform:translateY(-1px)}.nutrition-summary-issues{display:inline-flex;min-height:18px;align-items:center;gap:7px}.nutrition-summary-status+.nutrition-summary-status:before{content:"·";display:inline-flex;height:18px;align-items:center;margin-right:7px;color:var(--text-faint);line-height:1}.nutrition-summary-status-unspecified,.nutrition-summary-status-unspecified .nutrition-summary-issue-icon{color:var(--warning)}.nutrition-summary-status-unresolved,.nutrition-summary-status-unresolved .nutrition-summary-issue-icon{color:var(--danger)}.nutrition-summary-button:has(.nutrition-summary-issues)>.nutrition-summary-info{display:none}.nutrition-summary-button:hover .nutrition-summary-text,.nutrition-summary-button:focus-visible .nutrition-summary-text{text-decoration:underline;text-underline-offset:3px}@media(max-width:739px){.nutrition-summary-button{max-width:100%}.nutrition-summary-text{min-width:0;white-space:nowrap}.nutrition-summary-button:has(.nutrition-summary-issues){display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.nutrition-summary-issues{display:flex;grid-row:2;align-items:center;gap:12px}.nutrition-summary-status{display:inline-flex;align-items:center;gap:4px;font-weight:600}.nutrition-summary-issue-icon,.nutrition-summary-status-count{display:block}.nutrition-summary-status-label,.nutrition-summary-status+.nutrition-summary-status:before{display:none}}.nutrition-breakdown-backdrop{align-items:center;padding:20px;overflow:hidden}.nutrition-breakdown-modal{width:min(560px,100%);max-height:min(760px,calc(100dvh - 40px));min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.nutrition-breakdown-modal .modal-header{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;gap:10px;text-align:center}.nutrition-breakdown-modal .modal-header p{margin:4px 0 0;color:var(--text-secondary);font-size:12px;font-weight:500;overflow-wrap:anywhere}.nutrition-breakdown-modal .modal-header>div,.nutrition-breakdown-modal .modal-header h2,.nutrition-breakdown-list{min-width:0}.nutrition-breakdown-list{display:grid}.nutrition-unresolved-reason{width:fit-content;margin:2px 0;padding:5px 8px;border-radius:8px;color:var(--danger)!important;background:var(--danger-soft)}.nutrition-ingredient-actions{display:flex!important;flex-wrap:wrap;align-items:center;gap:7px!important;margin-top:2px}.nutrition-ingredient-actions>p{flex-basis:100%;margin:0;color:var(--danger);font-size:11px}.nutrition-override-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.55fr);gap:9px;margin-top:7px;border:1px solid var(--green-mix-medium);border-radius:12px;padding:10px;background:var(--accent-wash)}.nutrition-override-form label{display:grid;gap:5px;color:var(--text-secondary);font-size:11px;font-weight:400}.nutrition-override-form input{width:100%;min-width:0;border:1px solid var(--neutral-dark-subtle);border-radius:9px;padding:8px 9px;background:var(--white);color:var(--text-primary);font:inherit}.nutrition-override-form>p,.nutrition-override-form>div{grid-column:1 / -1}.nutrition-override-form>p{margin:0;color:var(--danger);font-size:11px}@media(max-width:520px){.nutrition-override-form{grid-template-columns:1fr}.nutrition-override-form>p,.nutrition-override-form>div{grid-column:auto}.nutrition-override-form{padding:10px}}@media(max-width:768px){.nutrition-breakdown-backdrop{padding:12px}.nutrition-breakdown-modal{width:min(620px,100%);max-height:calc(100dvh - 24px)}.nutrition-override-form input{min-height:42px}}.nutrition-mode-error{grid-column:1 / -1}.nutrition-mode-error{width:100%;margin:0;font-size:11px}.recipe-meal-prep-backdrop{align-items:center;padding:16px}.recipe-meal-prep-modal{width:min(600px,100%);max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.recipe-meal-prep-modal::-webkit-scrollbar-track{margin-block:22px 14px}.recipe-meal-prep-modal .modal-header{display:grid;grid-template-columns:52px minmax(0,1fr) 40px;align-items:center;gap:10px;margin:-10px -10px 18px;border-radius:20px;padding:10px;background:var(--green-50);text-align:left}.recipe-meal-prep-modal .modal-header h2{margin:0;overflow:hidden;color:var(--text-primary);font-size:18px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.meal-prep-dialog-title{display:grid;min-width:0;gap:2px}.meal-prep-dialog-eyebrow{color:var(--text-secondary);font-size:11px;font-weight:400;line-height:1.2}.meal-prep-dialog-recipe-image{display:block;width:48px;height:48px;border-radius:13px;background:var(--accent-wash);object-fit:cover}.meal-prep-dialog-empty{display:grid;justify-items:center;gap:8px;padding:34px 16px;color:var(--text-secondary);text-align:center}.meal-prep-dialog-empty svg{color:var(--accent)}.meal-prep-dialog-empty h3,.meal-prep-dialog-empty p{margin:0}.meal-prep-dialog-empty h3{color:var(--text-primary);font-size:17px}.meal-prep-dialog-empty p{max-width:320px;font-size:13px;font-weight:400;line-height:1.45}.meal-prep-dialog-empty .recipe-shopping-quick-button{margin-top:8px}.meal-prep-change-recipe{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0 0 14px;line-height:1}.meal-prep-change-recipe>span{display:inline-flex;align-items:center;line-height:1}.meal-prep-week-picker{position:relative;display:grid;gap:7px;margin:0 0 18px}.meal-prep-week-picker-label{color:var(--text-primary);font-size:13px;font-weight:500}.meal-prep-portion-days{display:grid;gap:14px}.meal-prep-portion-day-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-prep-portion-day-heading{display:flex;align-items:baseline;gap:4px;min-width:0}.meal-prep-portion-day .meal-prep-portion-day-calories{flex:0 0 auto}.meal-prep-portion-slots{display:grid;gap:9px}.meal-prep-portion-slot-header,.meal-prep-portion-slot-title{display:flex;align-items:center}.meal-prep-portion-slot-header{justify-content:space-between;gap:10px}.meal-prep-portion-slot-title{min-width:0;gap:7px}.meal-prep-portion-slot-header>.portion-stepper{flex:0 0 auto}.meal-prep-portion-slot-controls{display:flex;justify-content:flex-end;padding-top:2px}.meal-prep-portion-day-recipes{display:grid;gap:6px;padding-top:0;border-top:0}.meal-prep-portion-day-recipe{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.meal-prep-portion-day-recipe img{display:block;width:34px;height:34px;border-radius:9px;background:var(--accent-wash);object-fit:cover}.meal-prep-portion-day-recipe-manual{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--accent);background:var(--status-pill-background)}.meal-prep-portion-day-recipe>span{display:grid;gap:2px;min-width:0}.meal-prep-portion-day-recipe strong,.meal-prep-portion-day-recipe small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-prep-portion-day-recipe strong{color:var(--text-primary);font-size:12px;font-weight:500}.meal-prep-portion-day-recipe small{color:var(--text-secondary);font-size:10px;font-weight:400}.meal-prep-allocation-actions{display:flex;justify-content:flex-end;margin-top:18px}.meal-prep-allocation-save{min-width:140px;margin:0}@media(max-width:420px){.planned-meal-actions{justify-content:flex-end}}@media(max-width:739px){.recipe-page.is-editing .recipe-edit-content{width:100%;margin:0;border-radius:0}.meal-prep-page{gap:14px;padding:14px max(10px,env(safe-area-inset-left)) calc(28px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right))}.meal-prep-calorie-target{min-height:44px;padding:0}.meal-prep-create-button>span:not(.circle-action-icon){display:none}.meal-prep-tabs button{min-height:46px;gap:4px;padding-inline:6px;font-size:.875rem;line-height:1.1}.segmented.meal-prep-tabs{grid-template-columns:repeat(2,minmax(0,1fr)) 68px;gap:6px}.segmented--library .tab-count,.meal-prep-tabs .tab-count{min-width:21px;min-height:21px;padding-inline:5px;font-size:12px}.mobile-compact-tab .tab-label{display:none}.mobile-compact-tab .compact-tab-icon{display:block}.meal-prep-week-list{gap:8px}.meal-prep-week-card{gap:0;border-radius:20px;padding:0}.meal-prep-week-trigger{min-height:66px;padding:10px 6px 10px 12px}.meal-prep-week-content{gap:0;padding:0}.meal-prep-week-content>.archived-week-note{margin:12px 12px 0}.meal-prep-week-content>.meal-prep-days{padding:12px}.meal-prep-week-actions{width:100%;align-items:flex-start;justify-content:space-between;gap:12px}.meal-prep-week-header-actions .shopping-list-header-actions-left{gap:9px}.meal-prep-week-header-actions.shopping-list-header-actions button{width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px;border-radius:50%;padding:0;gap:0}.meal-prep-week-header-actions.shopping-list-header-actions button>span:not(.circle-action-icon){display:none}.meal-prep-week-actions .icon-button{min-width:44px;min-height:44px}.meal-prep-days{gap:3rem;margin-top:4px}.meal-prep-day-card{gap:11px;border-radius:17px;padding:12px}.planned-meal{gap:8px;padding:9px}.planned-meal-main{grid-template-columns:32px 50px minmax(0,1fr);gap:9px}.planned-meal-image{width:50px;height:50px}.planned-meal p{overflow-wrap:anywhere}.meal-prep-day-actions{display:grid;grid-template-columns:1fr 1fr}.meal-prep-day-actions button{width:fit-content;min-height:42px;justify-self:start}.recipe-selector-modal{width:100%;height:min(94dvh,780px);max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));border-radius:24px 24px 0 0;padding:14px max(14px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.recipe-selector-modal .modal-header{margin-bottom:12px}.recipe-selector-tabs{margin-bottom:10px}.recipe-selector-tabs button{min-height:44px;padding:0 8px}.recipe-selector-search{flex-basis:48px;min-height:48px;height:48px}.recipe-selector-list{gap:7px;margin-top:10px;overscroll-behavior:contain}.recipe-selector-option{grid-template-columns:48px minmax(0,1fr) 22px;min-height:64px;gap:9px;border-radius:15px;padding:7px 10px 7px 7px}.recipe-selector-option img,.manual-meal-option-icon{width:48px;height:48px;border-radius:12px}.manual-meal-form{grid-template-columns:1fr;gap:9px;margin-bottom:10px;padding:10px}.manual-meal-form .primary-button{width:100%;min-height:42px}.reuse-week-modal{width:100%;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));margin:0;border-radius:24px 24px 0 0;padding:16px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.reuse-week-modal .custom-calendar{right:0;left:auto;width:min(310px,calc(100vw - 32px))}.recipe-meal-prep-backdrop{align-items:flex-end;padding:max(8px,env(safe-area-inset-top)) 0 0}.recipe-meal-prep-modal{width:100%;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));margin:0;border-bottom:0;border-radius:24px 24px 0 0;padding:14px max(14px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overscroll-behavior:contain;scrollbar-width:none}.recipe-meal-prep-modal::-webkit-scrollbar{display:none}.recipe-meal-prep-modal .modal-header{grid-template-columns:46px minmax(0,1fr) 44px;gap:8px;margin-bottom:14px}.meal-prep-dialog-recipe-image{width:44px;height:44px;border-radius:12px}.meal-prep-change-recipe{width:100%;min-height:44px}.meal-prep-allocation-save{position:static;min-height:44px;margin:0;box-shadow:none}}@media(max-width:420px){.nutrition-breakdown-backdrop{align-items:flex-end;padding:max(10px,env(safe-area-inset-top)) 10px 0}.nutrition-breakdown-modal{width:100%;max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));border-radius:24px 24px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.meal-prep-compact-header{align-items:flex-start}.meal-prep-calorie-target{min-height:44px}.planned-meal{grid-template-columns:minmax(0,1fr)}.planned-meal-actions{display:grid;grid-template-columns:44px;justify-content:end}}@media(max-width:360px){.meal-prep-week-actions{display:flex;justify-content:space-between}.meal-prep-week-actions .icon-button{width:100%}.confirm-delete-modal .split-actions{grid-template-columns:1fr}}.detail-hero .nutrition-byline.muted{color:var(--neutral-dark-strong)}.nutrition-retry-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;margin-left:8px;border:1px solid var(--action-secondary-border);border-radius:999px;padding:0 14px;color:var(--action-secondary-text);background:var(--action-secondary-background);font-size:1rem;font-weight:700;line-height:1.1}.detail-hero .detail-description{margin:0 0 12px;color:var(--neutral-dark-strong);font-size:14px;font-weight:450;line-height:1.42}.detail-tag-cloud{margin:0 0 12px}.detail-content{display:grid;gap:0;margin:0 18px;padding:0 28px 24px;border:1px solid var(--neutral-light-strong);border-top:0;border-radius:0 0 32px 32px;background:var(--neutral-light-strong);box-shadow:0 18px 34px var(--green-mix-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.detail-section{margin:0;padding:20px 0;border:0;background:transparent}.detail-section+.detail-section{border-top:0}.detail-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:0 0 20px}.detail-section h3{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;width:100%;min-height:24px;margin:0 0 20px;padding:0;color:var(--accent);background:transparent;border:0;border-radius:0;font-size:14px;font-weight:500;letter-spacing:0;line-height:1;text-transform:uppercase}.ingredients-section h3,.directions-section h3,.reviews-section h3,.comments-section h3{font-weight:700}.detail-section-heading h3{margin:0}.detail-section h3>span{display:inline-flex;align-items:center;gap:8px;min-width:0}.detail-section h3:after{content:"";height:1px;background:var(--neutral-dark-subtle)}.ingredient-scale-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ingredient-scale-controls button{display:inline-flex;min-width:40px;min-height:34px;border:1px solid var(--action-secondary-border);border-radius:999px;padding:0 10px;align-items:center;justify-content:center;color:var(--action-secondary-text);background:var(--white);font-size:.74rem;font-weight:500;line-height:1}.ingredient-scale-controls button:not(.active):hover:not(:disabled){border-color:var(--action-secondary-hover-border);background:var(--action-secondary-hover-background)}.ingredient-scale-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredient-scale-controls button.active{color:var(--status-pill-text);border-color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-pill-text) 18%,transparent);font-weight:600}.detail-section>p{margin:0;color:var(--text-secondary);font-size:15px;font-weight:450;line-height:1.5}.tag-cloud span{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--green-mix-medium);border-radius:999px;padding:0 12px;color:var(--accent);background:var(--white);font-weight:400}.detail-tag-cloud span{display:inline;min-height:0;border:0;border-radius:0;padding:0;color:var(--accent);background:transparent;box-shadow:none;font-weight:400}.grouped-ingredient-list{display:grid;gap:0}.grouped-ingredient-list h4{margin:18px 0 8px;color:var(--text-primary);font-size:15px;font-weight:500}.grouped-ingredient-list h4:first-child{margin-top:0}.grouped-ingredient-list ul{margin:0}.detail-section ul,.detail-section ol{margin:0;padding-left:0}.detail-section ul{list-style:none}.detail-section li{margin:0;padding:6px 0;color:var(--neutral-dark-strong);border-bottom:0;font-size:14px;font-weight:300;line-height:1.28}.detail-section li:last-child{border-bottom:0}.directions-list{display:grid;gap:18px;list-style:none;counter-reset:direction-step}.directions-list li{counter-increment:direction-step;display:grid;grid-template-columns:30px minmax(0,1fr);gap:16px;align-items:start;padding:0;border-bottom:0;font-size:14px;font-weight:300;line-height:1.42}.directions-list li:before{content:counter(direction-step);display:grid;place-items:center;width:26px;height:26px;color:var(--neutral-dark-strong);background:var(--neutral-dark-subtle);border-radius:50%;font-size:13px;font-weight:500}li{margin:8px 0;font-weight:400}li::marker{color:var(--accent);font-weight:500}.note{padding:14px;border:0;border-radius:18px;background:var(--secondary-card);font-size:14px;font-weight:300}.review-note{display:flex;align-items:center;gap:10px}.activity-author{color:var(--text-secondary);font-weight:300}.review-stars{color:var(--accent);font-weight:500;letter-spacing:.02em}.comment-note{display:grid;gap:8px}.comment-note p{margin:0;font-size:14px;font-weight:300}.comment-note img,.comment-preview-image{display:block;width:100%;max-height:180px;object-fit:cover;border-radius:16px}.modal-backdrop.nested{z-index:35}.confirm-delete-backdrop{align-items:center;padding:24px}.confirm-delete-modal{display:grid;gap:14px;width:min(360px,calc(100% - 32px));margin:0}.confirm-delete-modal h3{margin:0;color:var(--text-primary);font-size:20px;font-weight:500}.confirm-delete-modal p{margin:0;color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.4}.cancel-invitation-modal{position:relative;padding-top:26px}.cancel-invitation-modal h3{padding-right:42px}.cancel-invitation-close{position:absolute;top:14px;right:14px}.cancel-invitation-actions{display:flex;justify-content:flex-end}.household-leave-modal{width:min(500px,calc(100% - 32px))}.leave-household-actions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.15fr);gap:8px}.leave-household-actions>button{min-height:42px;padding:0 14px}.star-rating-row{display:flex;justify-content:center;gap:8px;margin:18px 0 22px}.star-rating-row button{border:0;color:var(--accent);background:transparent}.settings-backdrop{align-items:center;padding:20px}.settings-modal.sheet-modal{display:flex;width:min(1040px,100%);height:min(800px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);margin:0;overflow:hidden;flex-direction:column;padding:0;border-radius:30px;background:var(--green-50)}.settings-modal-header{display:grid;min-height:76px;padding:14px 20px;border-bottom:1px solid var(--green-50);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;background:var(--neutral-light-strong)}.settings-modal-header>div{min-width:0;text-align:center}.settings-modal-header h2,.settings-modal-header p{margin:0}.settings-modal-header h2{color:var(--text-primary);font-size:19px;font-weight:600}.settings-modal-header p{margin-top:3px;overflow:hidden;color:var(--text-secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.settings-modal-header:after{width:44px;content:""}.settings-layout{display:grid;min-height:0;flex:1;grid-template-columns:232px minmax(0,1fr)}.settings-navigation{display:flex;min-width:0;padding:18px 12px;overflow-y:auto;flex-direction:column;gap:6px;border-right:1px solid var(--green-50);background:var(--green-50)}.settings-navigation>button{display:grid;width:100%;min-height:58px;padding:8px 10px;border:0;border-radius:15px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;color:var(--gray-600);background:transparent;text-align:left;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.settings-navigation>button:hover{background:var(--neutral-light-strong)}.settings-navigation>button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.settings-navigation>button>span:first-child{display:grid;width:36px;height:36px;border-radius:12px;place-items:center;color:inherit;background:var(--status-pill-background)}.settings-navigation>button>span:nth-child(2){display:grid;min-width:0;gap:2px}.settings-navigation strong,.settings-navigation small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-navigation strong{color:var(--text-primary);font-size:13px;font-weight:600}.settings-navigation small{color:var(--text-secondary);font-size:10px;font-weight:400}.settings-navigation-chevron{display:none}.settings-content{min-width:0;min-height:0;padding:22px;overflow-y:auto;outline:none;-webkit-overflow-scrolling:touch}.settings-stack{display:grid;gap:16px}.settings-modal .household-inline-form>input,.settings-modal .category-create-row>input,.settings-modal .tag-settings-row>input{height:44px;min-height:44px;padding:0 13px;border-color:var(--gray-300);border-radius:13px;background:var(--white);font-size:14px;font-weight:400}.settings-modal .primary-button,.settings-modal .secondary-button{display:inline-flex;min-height:42px;padding-block:0;align-items:center;justify-content:center;gap:7px;line-height:1.1}.settings-modal .category-create-row>button,.settings-modal .household-inline-form>button{min-width:112px;min-height:42px;align-self:end}.settings-modal .tag-create-row>.tag-add-button{flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;aspect-ratio:1 / 1;padding:0;border-radius:999px;align-self:center;justify-self:end}.settings-modal .tag-settings-row>.icon-button{width:42px;height:42px}.account-security-card{gap:18px}.account-security-section{display:grid;gap:11px;padding-top:16px;border-top:1px solid var(--green-50)}.account-security-heading{display:flex;align-items:flex-start;gap:9px;color:var(--action-secondary-text)}.account-security-heading>svg{margin-top:2px;flex:0 0 auto}.account-security-heading>span,.account-session-actions>span{display:grid;min-width:0;gap:2px}.account-security-heading strong,.account-session-actions strong{color:var(--text-primary);font-size:13px;font-weight:600}.account-security-heading small,.account-session-actions small{color:var(--text-secondary);font-size:11px;font-weight:400;line-height:1.4}.account-security-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px}.account-security-form>button{grid-column:1 / -1;justify-self:end}.account-email-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.account-current-email{margin:0;color:var(--text-secondary);font-size:12px}.account-current-email strong{color:var(--text-primary);overflow-wrap:anywhere}.account-settings-feedback{margin:0;padding:9px 11px;border-radius:11px;font-size:12px;line-height:1.4}.account-settings-feedback.success{color:var(--status-pill-text);background:var(--status-pill-background)}.account-settings-feedback.error{color:var(--action-danger-text);background:var(--action-danger-background)}.account-session-actions{display:flex;padding-top:16px;border-top:1px solid var(--green-50);align-items:center;justify-content:space-between;gap:14px}.account-session-actions>button{flex:0 0 auto}.account-delete-modal{width:min(520px,calc(100% - 32px))}.account-delete-consequences{display:grid;gap:8px}.account-delete-consequences p{margin:0}.account-delete-consequences ul{display:grid;margin:0;padding-left:20px;gap:7px;color:var(--text-secondary);font-size:13px;line-height:1.45}.account-delete-consequences li{margin:0}@media(max-width:900px){.settings-modal.sheet-modal{width:min(860px,100%)}.settings-layout{grid-template-columns:188px minmax(0,1fr)}.settings-content{padding:18px}.settings-navigation{padding-inline:10px}}@media(max-width:680px){.settings-backdrop{align-items:flex-end;padding:0}.settings-modal.sheet-modal{width:100%;height:min(96dvh,900px);max-height:96dvh;border-radius:26px 26px 0 0}.settings-modal-header{min-height:68px;padding:10px 14px;grid-template-columns:42px minmax(0,1fr) 42px}.settings-modal-header h2{font-size:17px}.settings-modal-header p{display:none}.settings-layout{display:grid;padding:12px;overflow-x:hidden;overflow-y:auto;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;background:var(--green-50);-webkit-overflow-scrolling:touch}.settings-navigation{display:contents}.settings-navigation>button:nth-child(1){grid-row:1}.settings-navigation>button:nth-child(2){grid-row:3}.settings-navigation>button:nth-child(3){grid-row:5}.settings-navigation>button:nth-child(4){grid-row:7}.settings-navigation>button:nth-child(5){grid-row:9}.settings-navigation>button{width:100%;min-width:0;min-height:70px;padding:10px 12px;border:1px solid transparent;border-radius:18px;grid-template-columns:44px minmax(0,1fr) 20px;gap:10px;background:var(--white);box-shadow:0 7px 18px var(--green-mix-subtle)}.settings-navigation>button>span:first-child{width:44px;height:44px;border-radius:14px}.settings-navigation small{display:block;font-size:11px}.settings-navigation strong{font-size:16px}.settings-navigation-chevron{display:block;color:var(--text-secondary);transition:transform .18s ease}.settings-navigation>button[aria-expanded=true] .settings-navigation-chevron{transform:rotate(180deg)}.settings-content{min-height:auto;margin-top:-10px;padding:0 0 4px;overflow:visible;grid-column:1}.settings-mobile-section-collapsed .settings-content{display:none}.settings-mobile-section-profile .settings-content{grid-row:2}.settings-mobile-section-preferences .settings-content{grid-row:4}.settings-mobile-section-household .settings-content{grid-row:6}.settings-mobile-section-organization .settings-content{grid-row:8}.settings-mobile-section-food-library .settings-content{grid-row:10}.settings-mobile-section-preferences .profile-language-settings{padding-top:0;border-top:0}.settings-mobile-section-household .mobile-household-create-trigger{display:inline-flex;width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 auto;border-radius:999px;padding:0;align-items:center}.account-security-form,.account-email-form{grid-template-columns:1fr}.account-security-form>button,.account-email-form>button{width:100%;justify-self:stretch}.account-session-actions{align-items:stretch;flex-direction:column}.account-session-actions>button{width:100%}.profile-row{align-items:flex-start}.settings-avatar{width:62px;height:62px;font-size:21px}.settings-modal .tag-settings-row{grid-template-columns:minmax(0,1fr) 38px 38px;gap:6px}.settings-modal .tag-settings-row>.icon-button{width:38px;height:38px}}@media(max-width:420px){.settings-modal .category-create-row{grid-template-columns:1fr}.settings-modal .category-create-row>button{width:100%}.settings-modal .category-create-row.tag-create-row{grid-template-columns:minmax(0,1fr) 44px;align-items:center}}.food-library-settings-card{gap:16px}.food-library-backdrop{align-items:center;padding:18px}.food-library-modal{display:flex;width:min(780px,100%);max-height:min(820px,calc(100dvh - 36px));min-width:0;overflow:hidden;flex-direction:column;padding:0}.food-library-modal>.modal-header{display:grid;margin-bottom:0;padding:17px 18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border-bottom:1px solid var(--green-50)}.food-library-modal>.modal-header>div{min-width:0;text-align:left}.food-library-modal>.modal-header h2,.food-library-modal>.modal-header p{margin:0}.food-library-modal>.modal-header h2{font-size:18px}.food-library-modal>.modal-header p{margin-top:2px;color:var(--text-secondary);font-size:12px}.food-library-browser,.food-library-editor{min-height:0;overflow-y:auto;padding:16px 18px max(18px,env(safe-area-inset-bottom))}.food-library-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;margin-bottom:13px}.food-library-add-button{width:42px;height:42px;min-width:42px;min-height:42px;margin:0;padding:0;align-self:center;border-radius:999px}.food-library-loading,.food-library-empty{display:flex;min-height:120px;margin:0;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:13px;text-align:center}.food-library-list{display:grid;gap:7px;min-height:120px;opacity:1;transition:opacity .15s ease}.food-library-list[aria-busy=true]{opacity:.58}.food-library-row{display:grid;width:100%;min-height:62px;padding:9px 11px;border:1px solid var(--green-50);border-radius:14px;grid-template-columns:minmax(0,1.4fr) minmax(140px,.8fr) auto;align-items:center;gap:12px;color:var(--text-primary);background:var(--white);text-align:left}.food-library-row:hover,.food-library-row:focus-within{border-color:var(--green-400);background:var(--green-50);outline:none}.food-library-row>span{display:grid;min-width:0;gap:3px}.food-library-row strong,.food-library-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-library-row strong{font-size:13px;font-weight:500}.food-library-row small{color:var(--text-secondary);font-size:11px}.food-library-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.food-library-load-more{display:flex;min-height:54px;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:13px}.food-library-editor{display:grid;gap:15px}.food-library-editor-heading{display:flex;align-items:center;gap:9px}.food-library-editor-heading>div{display:grid;min-width:0;gap:2px}.food-library-editor-heading h3{margin:0;font-size:16px}.food-library-editor-heading small{overflow:hidden;color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.food-library-form-grid,.food-library-advanced-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.food-library-form-grid label,.food-library-advanced-fields label{display:grid;min-width:0;gap:6px;color:var(--text-secondary);font-size:12px}.food-library-form-grid input,.food-library-form-grid textarea,.food-library-advanced-fields textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--gray-300);border-radius:12px;outline:none;color:var(--text-primary);background:var(--white);font:inherit;font-size:14px;resize:vertical}.food-library-form-grid input{height:42px}.food-library-form-grid input:focus,.food-library-form-grid textarea:focus,.food-library-advanced-fields textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--green-mix-subtle)}.food-library-form-grid .themed-number-input input{padding-right:40px}.food-library-wide-field{grid-column:1 / -1}.food-library-advanced-toggle{display:flex;width:100%;min-height:42px;padding:0 11px;border:0;border-radius:12px;align-items:center;justify-content:space-between;color:var(--text-primary);background:var(--green-50);font-size:13px}.food-library-advanced-toggle svg{transition:transform .16s ease}.food-library-advanced-toggle svg.expanded{transform:rotate(180deg)}.food-library-advanced-fields textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45}.food-library-global-note{display:flex;margin:0;padding:10px 11px;border-radius:12px;align-items:flex-start;gap:7px;color:var(--status-pill-text);background:var(--accent-wash);font-size:11px;line-height:1.45}.food-library-global-note svg{flex:0 0 auto;margin-top:1px}.food-library-delete-button{margin-right:auto}@media(max-width:620px){.food-library-backdrop{padding:8px}.food-library-modal{max-height:calc(100dvh - 16px);border-radius:22px}.food-library-form-grid,.food-library-advanced-fields{grid-template-columns:1fr}.food-library-wide-field{grid-column:auto}.food-library-row{grid-template-columns:minmax(0,1fr) auto}.food-library-row>span:nth-child(2){grid-column:1}.food-library-row-actions{grid-column:2;grid-row:1 / span 2}.food-library-delete-button{width:100%;margin-right:0}}.household-settings-card{gap:18px}.household-subsection-title{display:flex;align-items:center;gap:10px}.household-subsection-title h4{margin:0}.household-feedback{margin:3px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.45}.household-create-trigger{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;justify-self:end}.household-selector-block{display:grid;gap:8px}.household-selector-header{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:10px}.mobile-household-create-trigger{display:none}@media(min-width:740px){.mobile-household-create-trigger{display:none!important}}.household-selector-label{color:var(--text-secondary);font-size:12px}.household-selector{display:flex;flex-wrap:wrap;gap:8px}.household-selector-pill{display:inline-flex;min-width:0;min-height:38px;overflow:hidden;align-items:center;border:1px solid var(--action-neutral-border);border-radius:999px;color:var(--action-neutral-text);background:var(--action-neutral-background);transition:border-color .15s ease,background .15s ease,color .15s ease}.household-selector-pill:not(.active){border-color:var(--action-neutral-border);color:var(--action-neutral-text);background:var(--action-neutral-background)}.household-selector-pill.active{border-color:var(--action-secondary-border);color:var(--status-pill-text);background:var(--status-pill-background)}.household-selector-choice,.household-pill-action{border:0;color:inherit;background:transparent;font:inherit;cursor:pointer}.household-selector-choice{display:inline-flex;min-width:0;min-height:36px;padding:0 11px;align-items:center;gap:9px}.household-selector-pill.household-selector-choice{gap:9px}.household-selector-choice:disabled,.household-pill-action:disabled{cursor:default;opacity:.55}.household-selector-choice:focus-visible,.household-pill-action:focus-visible{outline:2px solid var(--status-pill-text);outline-offset:-3px}.household-pill-name{max-width:220px;overflow:hidden;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.household-pill-members{display:inline-flex;min-width:27px;height:24px;padding:0 7px;align-items:center;justify-content:center;gap:3px;border-radius:999px;color:inherit;background:var(--neutral-light-strong);font-size:10px;font-weight:600}.household-pill-action{display:grid;width:32px;height:32px;margin-right:3px;padding:0;border-radius:999px;place-items:center}.household-pill-action:hover:not(:disabled){background:var(--neutral-light-strong)}.household-pill-action.cancel{color:var(--action-neutral-text);background:var(--action-neutral-background)}.household-selector-pill.editing{padding-left:4px}.household-selector-pill.editing>input{width:160px;height:30px;min-width:90px;padding:0 9px;border:0;border-radius:999px;outline:none;color:var(--text-primary);background:var(--white);font:inherit;font-size:12px}.household-selector-pill.editing>input:focus{box-shadow:inset 0 0 0 1px var(--action-secondary-border)}.household-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.household-inline-form input{min-width:0}.household-subsection{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--green-50)}.household-subsection-title{color:var(--text-primary)}.household-subsection-title>svg{color:var(--accent)}.household-subsection-title h4{font-size:14px;font-weight:600}.household-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px}.household-people-list,.household-pending-list{display:grid;gap:7px}.household-open-invite{justify-self:end}.household-invite-modal label{gap:6px;margin:0;font-size:12px}.household-invite-modal label>input{height:44px;padding:0 13px;border-color:var(--gray-300);border-radius:13px;background:var(--white);font-size:14px}.household-person-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--status-pill-text);background:var(--status-pill-background);font-size:12px;font-weight:700}.household-feedback{padding:9px 11px;border-radius:11px;color:var(--status-pill-text);background:var(--status-pill-background)}@media(max-width:520px){.leave-household-actions{grid-template-columns:1fr}.leave-household-actions .primary-button{grid-row:1}.leave-household-actions .danger-button{grid-row:2}.leave-household-actions .secondary-button{grid-row:3}.household-inline-form{grid-template-columns:1fr}.household-inline-form>button{width:100%}}.profile-row{display:flex;align-items:center;gap:14px}.profile-row>.profile-identity-fields{min-width:0;flex:1}.profile-avatar-editor{display:grid;width:88px;flex:0 0 88px;justify-items:center;gap:6px}.profile-avatar-image{position:relative;display:block}.profile-avatar-edit{position:absolute;right:-2px;bottom:-2px;display:grid!important;width:28px;height:28px;margin:0!important;padding:0;border:1px solid var(--action-secondary-border);border-radius:999px;place-items:center;color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:0 2px 8px var(--neutral-dark-subtle);cursor:pointer}.profile-avatar-edit:hover{border-color:var(--action-secondary-hover-border);background:var(--action-secondary-hover-background)}.profile-avatar-edit:focus-within{outline:2px solid var(--status-pill-text);outline-offset:2px}.profile-avatar-edit>input{position:absolute;width:1px!important;height:1px!important;overflow:hidden;padding:0!important;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.profile-avatar-editor>small{max-width:88px;color:var(--text-secondary);font-size:9px;font-weight:400;line-height:1.3;text-align:center}.profile-identity-fields{display:grid;grid-template-columns:minmax(180px,1fr) 124px;gap:14px}.profile-row label{margin-bottom:0}.profile-identity-fields input.maximum-calories-input{width:124px;max-width:100%}@media(max-width:680px){.profile-identity-fields{grid-template-columns:1fr;width:100%}.profile-identity-fields input.maximum-calories-input{width:124px}}.profile-settings-card label .helper-text{display:block;margin-top:7px;line-height:1.4}.profile-language-settings{display:grid;gap:13px;padding-top:15px;border-top:1px solid var(--neutral-dark-subtle)}.recipe-sharing-selector{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:14px 0 0;padding:14px;border-radius:16px;background:var(--gray-100)}.recipe-sharing-selector h3,.recipe-sharing-selector legend,.recipe-sharing-selector p{margin:0}.recipe-sharing-selector h3,.recipe-sharing-selector legend{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.2;text-transform:none}.recipe-sharing-selector legend{padding:0}.recipe-sharing-selector.edit-sharing-selector{margin:0;border:0}.recipe-sharing-selector p{margin-top:3px;color:var(--text-secondary);font-size:11px;line-height:1.4}.recipe-sharing-toggle{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:10px}.recipe-sharing-toggle>span{color:var(--text-primary);font-size:12px;font-weight:500;text-align:right}.recipe-sharing-toggle .settings-switch:disabled{cursor:wait;opacity:.6}@media(max-width:560px){.recipe-sharing-selector{grid-template-columns:1fr}.recipe-sharing-toggle{justify-content:space-between}.recipe-sharing-toggle>span{text-align:left}}.profile-language-settings h4{margin:0;color:var(--text-primary);font-size:15px;font-weight:500}.profile-language-field{display:grid;gap:7px}.profile-language-field>span{color:var(--text-primary);font-size:13px;font-weight:500}.profile-language-field>small{color:var(--text-secondary);font-size:11px;font-weight:400;line-height:1.45}.nutrition-backfill-card{display:grid;gap:10px;padding:13px;border:1px solid var(--action-secondary-border);border-radius:14px;background:var(--white)}.nutrition-backfill-card>div{display:grid;gap:4px}.nutrition-backfill-card strong{color:var(--text-primary);font-size:13px;font-weight:600}.nutrition-backfill-card small{color:var(--text-secondary);font-size:11px;line-height:1.45}.nutrition-backfill-card progress{width:100%;accent-color:var(--accent)}.nutrition-backfill-card .secondary-button{justify-self:start}.settings-switch{position:relative;width:46px;height:27px;border:0;border-radius:999px;padding:3px;background:var(--green-50);box-shadow:inset 0 0 0 1px var(--gray-300);cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.settings-switch>span{display:block;width:21px;height:21px;border-radius:50%;background:var(--white);box-shadow:0 2px 5px var(--neutral-dark-subtle);transition:transform .16s ease}.settings-switch[aria-checked=true]{background:var(--status-pill-background);box-shadow:inset 0 0 0 1px var(--action-secondary-border)}.settings-switch[aria-checked=true]>span{background:var(--status-pill-text);transform:translate(19px)}.settings-switch:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}.settings-avatar{display:grid;place-items:center;overflow:hidden;width:76px;height:76px;border-radius:50%;color:var(--accent);background:var(--status-pill-background);font-size:26px;font-weight:500}.category-create-row,.tag-settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.category-settings-list{display:grid;gap:10px}.tag-settings-row{grid-template-columns:minmax(0,1fr) 42px 42px}.category-create-row input,.tag-settings-row input{min-width:0;width:100%;min-height:42px;border:1px solid var(--neutral-dark-subtle);border-radius:16px;padding:0 12px;outline-color:var(--accent);color:var(--text-primary);background:var(--neutral-light-strong);font-weight:500}.save-icon-button{border-color:var(--action-secondary-border);color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none}.save-icon-button:disabled{opacity:.38;cursor:not-allowed}.planned-meal-actions .save-icon-button{border-color:var(--action-secondary-border);background:var(--action-secondary-background);box-shadow:none}.toast{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--wc-space-5);padding:var(--wc-space-6);color:var(--white);background:var(--wc-red-700);border-radius:var(--wc-radius-lg);box-shadow:0 10px 18px var(--neutral-dark-subtle)}.toast p{margin:0}.toast.status{background:var(--green-800)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetUp{0%{opacity:0;transform:translateY(22px) scale(.985)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(8px)}}@keyframes swipeCardReveal{0%{filter:saturate(.72);transform:translateY(34px) scale(.92) rotate(-1.5deg)}62%{transform:translateY(-3px) scale(1.008) rotate(.25deg)}to{filter:saturate(1);transform:translateY(0) scale(1) rotate(0)}}@keyframes swipeImageReveal{0%{filter:brightness(.9) saturate(.8);transform:scale(1.09)}to{filter:brightness(1) saturate(1);transform:scale(1)}}@media(max-width:739px){.cooking-assistant.is-open .cooking-assistant-window,.cooking-assistant-window.is-mobile-overlay{position:fixed;top:var(--assistant-viewport-top, 0);right:0;bottom:auto;left:0;width:100%;height:var(--assistant-viewport-height, 100dvh);max-height:none;border:0;border-radius:0}.cooking-assistant.is-open .cooking-assistant-launcher{display:none}.cooking-assistant.is-open .cooking-assistant-header,.cooking-assistant-window.is-mobile-overlay .cooking-assistant-header{padding-top:calc(13px + env(safe-area-inset-top))}.cooking-assistant.is-open .cooking-assistant-form,.cooking-assistant-window.is-mobile-overlay .cooking-assistant-form{padding-bottom:max(10px,env(safe-area-inset-bottom))}.mobile-hero{padding-right:12px;padding-left:12px}.hero-row{flex-wrap:wrap;gap:6px}.app-header-logo{position:relative;z-index:1;width:auto;max-width:min(26vw,100px);height:40px;transform:scale(1.15);transform-origin:left center}.hero-controls{gap:4px}.profile-menu-container{margin-left:1.5rem}.hero-search-row{order:3;width:100%;flex:0 0 100%;grid-template-columns:minmax(0,1fr) 40px;gap:6px}.hero-search-row .search-box{height:40px;border-radius:14px}.hero-search-row .filter-button{width:40px;height:40px;flex-basis:40px;border-radius:50%}.page-navigation{min-height:40px;gap:1px;border-radius:14px;padding:2px}.page-navigation button{width:34px;height:34px;min-height:34px;flex-basis:34px;border-radius:11px}.hero-add-button{display:grid;width:38px;height:38px;flex-basis:38px}.avatar{width:38px;height:38px;font-size:.82rem}.meal-prep-notice{grid-template-columns:auto minmax(0,1fr)}.meal-prep-notice .secondary-button{grid-column:1 / -1;width:100%}.list-card .recipe-image{min-height:100%}.list-card .rating-pill{top:auto;left:8px;bottom:8px;min-height:28px;padding:0 8px;gap:4px;font-size:12px;box-shadow:0 6px 10px var(--neutral-dark-subtle)}.list-card .rating-pill svg{width:13px;height:13px}.list-card .heart-button{top:auto;right:8px;bottom:8px;width:32px;height:32px;box-shadow:0 6px 10px var(--neutral-dark-subtle)}.list-card .heart-button svg{width:17px;height:17px}.add-recipe-header{position:relative;justify-content:center;min-height:42px}.add-recipe-header .icon-button{position:absolute;top:0;left:0}.add-recipe-header>span{display:none}.detail-scroll{padding-top:env(safe-area-inset-top)}.detail-photo{margin:0}.detail-hero-body,.detail-content{margin-right:0;margin-left:0}.recipe-back-to-top{right:max(12px,env(safe-area-inset-right));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 8px);width:44px;height:44px}}@media(min-width:740px){.mobile-swipe-view-button,.mobile-swipe-view{display:none!important}.recipe-feed .recipe-card{cursor:pointer}.phone-app{padding:28px 0 40px;min-height:100vh}.mobile-hero,.feed-panel,.meal-prep-page,.shopping-list-page{width:min(1120px,calc(100% - 48px));margin-left:auto;margin-right:auto}.mobile-hero{border-radius:30px 30px 0 0}.hero-row{display:flex}.app-header-logo{width:156px;height:auto;max-height:64px;flex:0 0 auto}.hero-controls{gap:12px}.hero-search-row{width:min(422px,100%);margin-top:0;margin-left:auto;grid-template-columns:minmax(0,1fr) 44px;gap:10px}.hero-search-row+.hero-controls{margin-left:3rem}.hero-search-row .search-box{height:46px;border-radius:15px}.hero-search-row .filter-button{width:44px;height:44px;flex-basis:44px;align-self:center;border-radius:999px}.feed-panel,.meal-prep-page,.shopping-list-page{border-radius:0;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.recipe-feed.card-view{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.recipe-card.list-card{grid-template-columns:168px minmax(0,1fr)}.list-card .recipe-image{min-height:144px}.sheet-modal{width:min(760px,calc(100% - 48px));border-radius:28px;margin-bottom:24px}.recipe-preview-modal{width:min(1020px,calc(100% - 48px))}.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1 / -1}.recipe-page{left:0;width:100%}.recipe-route .recipe-page{width:min(1120px,calc(100% - 48px));margin-right:auto;margin-left:auto;border-radius:0 0 30px 30px}.cooking-assistant{position:fixed;top:0;bottom:0;left:50%;z-index:36;width:min(960px,100%);pointer-events:none;transform:translate(-50%)}.cooking-assistant-launcher{position:absolute;right:24px;bottom:max(12px,env(safe-area-inset-bottom));pointer-events:auto}.cooking-assistant-window{position:absolute;right:16px;bottom:calc(96px + env(safe-area-inset-bottom));height:min(590px,calc(100dvh - 120px));pointer-events:auto}.detail-scroll{max-width:960px;margin:0 auto}.detail-hero{margin-left:0;margin-right:0}.detail-photo{min-height:420px}}@media(prefers-reduced-motion:reduce){.mobile-swipe-card,.mobile-swipe-preview,.mobile-swipe-direction-cue,.mobile-swipe-card .recipe-card,.mobile-swipe-card .recipe-image>img{transition-duration:1ms;animation-duration:1ms}}@media(min-width:1020px){.recipe-feed.card-view{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(display-mode:standalone){body{background:var(--wc-background-primary)}.phone-app{min-height:100dvh}}.shopping-scope-tabs{width:min(760px,100%);margin:0 auto}.shopping-new-list-button:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}.shopping-new-list-button svg{display:block;flex:0 0 auto}.shopping-new-list-button span{display:block;line-height:1}.shopping-list-accordion{overflow:hidden;border:1px solid var(--green-50);border-radius:17px;background:var(--white);box-shadow:0 5px 16px var(--green-mix-subtle);transition:border-color .18s ease,box-shadow .18s ease}.shopping-list-accordion.expanded{border-color:var(--green-400);box-shadow:0 9px 24px var(--green-mix-subtle)}.shopping-list-accordion-trigger{display:grid;width:100%;min-height:66px;padding:10px 14px;border:0;grid-template-columns:38px minmax(0,1fr) auto 22px;align-items:center;gap:11px;color:inherit;background:var(--white);font:inherit;text-align:left}.shopping-list-accordion-trigger:hover{background:var(--green-50)}.shopping-list-accordion-trigger:focus-visible{outline:2px solid var(--green-600);outline-offset:-3px}.shopping-list-accordion-icon{display:grid;width:38px;height:38px;border-radius:12px;place-items:center;color:var(--status-pill-text);background:var(--status-pill-background)}.shopping-list-accordion.custom .shopping-list-accordion-icon{color:var(--status-pill-text);background:var(--status-pill-background)}.shopping-list-accordion.shared .shopping-list-accordion-icon{color:var(--wc-green-800);background:var(--wc-surface)}.shopping-list-accordion-copy{display:grid;min-width:0;gap:3px}.shopping-list-accordion-copy strong{overflow:hidden;color:var(--text-primary);font-size:.88rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.shopping-list-accordion-copy small{overflow:hidden;color:var(--gray-600);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.shopping-list-accordion-count{min-width:max-content;padding:5px 8px;border-radius:999px;color:var(--status-pill-text);background:var(--status-pill-background);font-size:var(--status-pill-font-size)}.shopping-list-accordion-content{border-top:1px solid var(--green-50);background:var(--white);transform-origin:top center;animation:accordionContentIn .22s cubic-bezier(.2,.75,.3,1) both}@keyframes accordionContentIn{0%{opacity:0;transform:translateY(-6px) scaleY(.985)}to{opacity:1;transform:translateY(0) scaleY(1)}}@media(prefers-reduced-motion:reduce){.shopping-list-accordion-content{animation:none}}.shopping-list-panel{display:flex;width:min(760px,100%);margin:0 auto;overflow:hidden;flex-direction:column;border:1px solid var(--green-50);border-radius:24px;background:var(--white);box-shadow:0 10px 28px var(--green-mix-subtle)}.shopping-list-panel.embedded{width:100%;margin:0;border:0;border-radius:0;box-shadow:none}.shopping-list-panel.embedded .shopping-list-header{min-height:52px;padding:9px 14px;justify-content:flex-end}.shopping-page-empty{min-height:300px}.shopping-list-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--green-50)}.shopping-list-title{display:flex;align-items:center;gap:12px;min-width:0}.shopping-list-title>div{min-width:0}.shopping-list-title>span{display:grid;width:42px;height:42px;flex:0 0 auto;border-radius:14px;place-items:center;color:var(--status-pill-text);background:var(--status-pill-background)}.shopping-list-header h2{overflow:hidden;margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.shopping-list-header p{margin:3px 0 0;color:var(--gray-600);font-size:.82rem}.shopping-list-header-actions{display:flex;min-width:0;flex:1 1 auto;align-items:center;justify-content:space-between;gap:14px}.shopping-list-header-actions-left{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:7px}.shopping-list-header-actions button{display:inline-flex;min-height:34px;padding:0 11px;border:1px solid var(--action-secondary-border);border-radius:999px;align-items:center;justify-content:center;gap:6px;color:var(--action-secondary-text);background:var(--action-secondary-background);box-shadow:none;font:inherit;font-size:.74rem;white-space:nowrap}@media(min-width:721px){.shopping-list-header-actions button.primary-button.small,.shopping-list-header-actions button.secondary-button.small,.shopping-list-header-actions button.danger-button.small{font-size:.74rem}}.shopping-list-header-actions button:hover:not(:disabled){border-color:var(--action-secondary-hover-border);background:var(--action-secondary-hover-background)}.shopping-list-header-actions button:disabled{cursor:default;opacity:.5}.shopping-list-header-actions .meal-prep-select-recipe{border-color:var(--green-800);color:var(--white);background:var(--green-800)}.shopping-list-header-actions .meal-prep-select-recipe:hover:not(:disabled){border-color:var(--green-600);color:var(--white);background:var(--green-600)}.shopping-list-header-actions .shopping-header-delete{margin-left:auto;flex:0 0 auto;border-color:var(--action-danger-border);color:var(--action-danger-text);background:var(--action-danger-background)}.shopping-list-header-actions .shopping-header-delete:hover:not(:disabled){border-color:var(--action-danger-hover-border);background:var(--action-danger-hover-background)}.shopping-manual-form-inline{position:relative;z-index:4;margin:0;padding:14px 22px;border-bottom:1px solid var(--green-50);background:var(--green-50)}.shopping-grouping{display:flex;gap:7px;margin:3px 22px 9px;align-items:stretch}.shopping-grouping-main{display:grid;min-width:0;flex:1 1 auto;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border:1px solid var(--green-50);border-radius:12px;background:var(--green-50)}.shopping-grouping button{min-height:34px;padding:5px 9px;border:0;border-radius:9px;color:var(--text-primary);background:transparent;font:inherit;font-size:.78rem;text-align:center;cursor:pointer}.shopping-grouping button.active{color:var(--status-pill-text);background:var(--white);box-shadow:inset 0 0 0 1px var(--action-secondary-border)}.shopping-grouping .shopping-bought-tab{display:inline-flex;flex:0 0 auto;padding-inline:10px;border:1px solid var(--green-200);border-radius:12px;align-items:center;justify-content:center;gap:5px;background:var(--green-50)}.shopping-grouping .shopping-bought-tab.active{border-color:var(--green-400);color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:none}.shopping-bought-tab span{display:grid;min-width:18px;height:18px;padding:0 4px;border-radius:999px;place-items:center;color:var(--white);background:var(--status-pill-text);font-size:.63rem}.shopping-list-scroll{min-height:150px;padding:8px 22px 18px}.shopping-list-empty{display:grid;min-height:300px;padding:28px;place-items:center;align-content:center;text-align:center;color:var(--gray-600)}.shopping-list-empty svg{color:var(--status-pill-text)}.shopping-list-empty h3{margin:10px 0 0;color:var(--gray-900);font-size:1rem;font-weight:500}.shopping-list-empty p{max-width:380px;margin:6px 0 18px;font-size:.86rem}.shopping-list-empty small{margin-top:10px;font-size:.75rem}.shopping-list-empty .primary-button{min-width:132px;margin-top:18px;line-height:1}.shopping-list-empty .primary-button svg{display:block}.shopping-list-empty.compact{min-height:160px}.shopping-items{display:grid;gap:0;margin:0;padding:0;list-style:none}.shopping-group+.shopping-group{margin-top:18px}.shopping-group>h3{display:flex;align-items:center;gap:7px;margin:0 2px 8px;color:var(--gray-600);font-size:.76rem;font-weight:500;letter-spacing:.035em;text-transform:uppercase}.shopping-group>h3 span{display:grid;min-width:20px;height:20px;padding:0 5px;border-radius:999px;place-items:center;background:var(--green-50);font-size:.66rem}.shopping-list-item-swipe-shell{position:relative;overflow:hidden;border-radius:14px;background:var(--wc-red-100);box-shadow:0 4px 10px var(--neutral-dark-subtle);isolation:isolate}.shopping-list-item-swipe-delete{position:absolute;inset:0 0 0 auto;z-index:0;display:flex;width:112px;padding:0 16px;align-items:center;justify-content:center;gap:7px;color:var(--action-danger-text);background:var(--wc-red-100);transform-origin:right center;transition:opacity .16s ease,transform .16s ease}.shopping-list-item-swipe-delete small{font-size:.7rem;font-weight:700}.shopping-list-item{position:relative;z-index:1;width:100%;overflow:hidden;border:1px solid var(--gray-300);border-radius:14px;background:var(--white);transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s ease;will-change:transform,opacity}.shopping-list-item-swipe-shell.dragging .shopping-list-item{transition:none}.shopping-list-item-swipe-shell.deleting{height:var(--shopping-swipe-height, 66px);min-height:0;pointer-events:none;animation:shopping-item-swipe-delete .36s cubic-bezier(.4,0,.2,1) forwards}.shopping-list-item-swipe-shell.deleting .shopping-list-item{transition:transform .28s cubic-bezier(.4,0,1,1),opacity .22s ease}.shopping-list-item-swipe-shell.purchasing .shopping-list-item-swipe-delete{opacity:0!important}.shopping-list-item.purchased{background:var(--green-50)}.shopping-list-item-toggle{display:grid;width:100%;min-height:66px;padding:10px 12px;border:0;grid-template-columns:42px minmax(0,1fr) max-content;align-items:center;gap:10px;color:inherit;background:transparent;text-align:left;cursor:pointer;touch-action:pan-y}.shopping-product-art{position:relative;display:grid;width:42px;height:42px;border:1px solid var(--green-50);border-radius:13px;place-items:center;background:var(--green-50)}.shopping-product-art>img{display:block;width:34px;height:34px;object-fit:contain}.shopping-product-art i{position:absolute;right:-3px;bottom:-3px;display:grid;width:18px;height:18px;border:2px solid var(--white);border-radius:999px;place-items:center;color:var(--white);background:var(--status-pill-text)}.shopping-list-item.purchased .shopping-product-art{opacity:.68;filter:grayscale(.25)}.shopping-list-item.purchasing{z-index:1;height:var(--shopping-item-collapse-height, 66px);min-height:0;pointer-events:none;animation:shopping-item-purchased 1s ease-in-out forwards}.shopping-list-item.purchasing .shopping-product-art{animation:shopping-product-pop 1s ease-in-out}.shopping-list-item.purchasing:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(90deg,var(--green-mix-soft),var(--green-mix-subtle));content:"";animation:shopping-confirm-sweep 1s ease-out forwards;transform-origin:left}@keyframes shopping-confirm-sweep{0%{transform:scaleX(0)}35%,75%{transform:scaleX(1)}to{transform:scaleX(1);opacity:0}}@keyframes shopping-product-pop{0%{transform:scale(1)}22%{transform:scale(1.16) rotate(-4deg)}45%,to{transform:scale(1)}}@keyframes shopping-item-swipe-delete{0%,58%{height:var(--shopping-swipe-height, 66px);opacity:1}to{height:0;opacity:0}}@keyframes shopping-item-purchased{0%,65%{height:var(--shopping-item-collapse-height, 66px);border-width:1px;opacity:1;transform:translate(0) scale(1)}to{height:0;border-width:0;opacity:0;transform:translate(22px) scale(.98)}}@media(prefers-reduced-motion:reduce){.shopping-list-item,.shopping-list-item-swipe-delete{transition-duration:.01ms}.shopping-list-item-swipe-shell.deleting{animation:shopping-item-swipe-delete-reduced .36s linear forwards}.shopping-list-item.purchasing{animation:shopping-item-purchased-reduced 1s linear forwards}.shopping-list-item.purchasing .shopping-product-art,.shopping-list-item.purchasing:after{animation:none}.shopping-list-item.purchasing{background:var(--status-pill-background)}@keyframes shopping-item-purchased-reduced{0%,88%{height:var(--shopping-item-collapse-height, 66px);opacity:1}to{height:0;border-width:0;opacity:0}}@keyframes shopping-item-swipe-delete-reduced{0%,92%{height:var(--shopping-swipe-height, 66px);opacity:1}to{height:0;opacity:0}}}.shopping-item-copy{min-width:0;align-self:start}.shopping-item-copy strong{display:block;overflow:hidden;font-size:.9rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.shopping-item-copy small{display:block;margin-top:3px;overflow:hidden;color:var(--gray-600);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.shopping-item-copy small>span{display:block;overflow:hidden;text-overflow:ellipsis}.shopping-list-item.purchased .shopping-item-copy strong{color:var(--gray-600);text-decoration:line-through}.shopping-item-quantity{display:grid;min-width:max-content;padding-left:10px;align-self:start;justify-items:end;gap:2px;color:var(--status-pill-text);font-size:.84rem;line-height:1.35;text-align:right;white-space:nowrap}.shopping-purchased{margin-top:20px}.shopping-bought-header{display:flex;min-height:38px;margin-bottom:9px;align-items:center;justify-content:space-between;gap:12px}.shopping-bought-header>div{display:grid;gap:2px}.shopping-bought-header h3{margin:0;color:var(--gray-600);font-size:.85rem;font-weight:500}.shopping-bought-header span{color:var(--gray-600);font-size:.68rem}.shopping-bought-header button{display:inline-flex;min-height:34px;padding:0 11px;border:1px solid var(--action-danger-border);border-radius:999px;align-items:center;gap:6px;color:var(--action-danger-text);background:var(--action-danger-background);font:inherit;font-size:.74rem}.shopping-bought-header button:disabled{opacity:.55}.shopping-list-footer{padding:14px 22px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--green-50);background:var(--green-50)}.shopping-manual-meal-note{margin:0 0 10px;color:var(--gray-600);font-size:.72rem}.shopping-list-footer .shopping-manual-meal-note:last-child{margin-bottom:0}.shopping-delete-modal{text-align:center}.shopping-delete-modal-icon{display:grid;width:48px;height:48px;margin:0 auto 12px;border-radius:15px;place-items:center;color:var(--action-danger-text);background:var(--wc-red-100)}.share-access-backdrop{align-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.shopping-share-modal{width:min(500px,100%);max-height:calc(100dvh - 32px);margin:0;overflow-y:auto}:is(.shopping-share-modal,.custom-shopping-recipes-modal,.recipe-shopping-list-modal) .modal-header>div{min-width:0;flex:1;text-align:center}:is(.shopping-share-modal,.custom-shopping-recipes-modal,.recipe-shopping-list-modal) .modal-header h2{margin:0}:is(.shopping-share-modal,.custom-shopping-recipes-modal,.recipe-shopping-list-modal) .modal-header p{overflow:hidden;margin:3px 0 0;color:var(--gray-600);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.shopping-share-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.shopping-share-form label{display:grid;min-width:0;margin:0;gap:5px;color:var(--gray-600);font-size:.72rem}.shopping-share-form input,.shopping-manual-form input{width:100%;height:42px;border:1px solid var(--gray-300);border-radius:11px;color:var(--green-800);font:inherit;font-size:16px}.shopping-share-form input,.shopping-manual-form input{padding:0 11px;background:var(--white)}.household-share-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--green-50)}.shopping-share-form button{min-height:42px}.shopping-share-collaborators{display:grid;margin-top:20px;gap:8px}.shopping-share-collaborators h3{margin:0 0 2px;color:var(--gray-600);font-size:.8rem;font-weight:500}.shopping-share-collaborators>div{display:grid;min-height:56px;padding:7px 8px;border:1px solid var(--green-50);border-radius:13px;grid-template-columns:38px minmax(0,1fr) 36px;align-items:center;gap:10px}.shopping-share-collaborators .settings-avatar{width:38px;height:38px;border-radius:12px;font-size:.72rem}.shopping-share-collaborators strong,.shopping-share-collaborators small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-share-collaborators strong{font-size:.84rem;font-weight:500}.shopping-share-collaborators small{margin-top:2px;color:var(--gray-600);font-size:.7rem}.shopping-share-collaborators>p,.shopping-share-loading{margin:2px 0;color:var(--gray-600);font-size:.78rem}.shopping-share-loading{display:flex;align-items:center;gap:7px}.shopping-share-note{margin:16px 0 0;color:var(--gray-600);font-size:.72rem;line-height:1.45}@media(max-width:560px){.shopping-share-form{grid-template-columns:1fr}.shopping-share-form button{width:100%}}.shopping-manual-form{display:grid;grid-template-columns:minmax(0,1fr) 96px 96px var(--text-input-height) var(--text-input-height);gap:9px;align-items:end}.shopping-manual-form label{margin:0}.shopping-manual-field{display:grid;min-width:0;align-content:start}.shopping-unit-field{min-width:0}.shopping-name-field{position:relative}.shopping-manual-form>.shopping-manual-actions{display:contents}.shopping-list-footer .form-error{margin:10px 0 0}.custom-shopping-recipes-modal{display:grid;width:min(760px,calc(100vw - 48px));height:min(94dvh,780px);max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto auto}.custom-shopping-recipes-modal>.modal-header{min-width:0}.custom-shopping-recipe-search{margin:0}.food-library-tools .search-box,.custom-shopping-recipe-search{border:1px solid var(--gray-300)}.food-library-tools .search-box:focus-within,.custom-shopping-recipe-search:focus-within{border-color:var(--green-400);box-shadow:0 0 0 3px var(--green-mix-subtle)}.custom-shopping-recipe-list{display:grid;min-height:0;margin-top:14px;padding:0 2px 12px;overflow-y:auto;overscroll-behavior:contain;grid-auto-rows:max-content;align-content:start;gap:9px;-webkit-overflow-scrolling:touch}.custom-shopping-recipe-row{min-height:68px;overflow:hidden;border:1px solid var(--stroke-soft);border-radius:17px;background:var(--white);box-shadow:0 4px 10px var(--neutral-dark-subtle)}.custom-shopping-recipe-row.selected{border-color:var(--green-400);color:var(--status-pill-text);background:var(--status-pill-background)}.custom-shopping-recipe-row>button{display:grid;width:100%;min-height:68px;padding:8px 11px 8px 8px;border:0;grid-template-columns:52px minmax(0,1fr) 22px;align-items:center;gap:11px;color:inherit;background:transparent;text-align:left}.custom-shopping-recipe-row img{width:52px;height:52px;border-radius:13px;object-fit:cover}.custom-shopping-recipe-row strong,.custom-shopping-recipe-row small{display:block}.custom-shopping-recipe-row strong{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.custom-shopping-recipe-row small{margin-top:4px;color:var(--text-secondary);font-size:11px;font-weight:450}.custom-shopping-recipe-row .custom-shopping-recipe-action{display:grid;width:22px;height:22px;place-items:center;color:var(--accent);background:transparent;font-style:normal}.custom-shopping-recipe-row>label{display:flex;margin:0;padding:8px 11px 10px;border-top:1px solid var(--green-mix-soft);align-items:center;justify-content:flex-end;gap:10px;color:var(--text-secondary);font-size:11px}.custom-shopping-recipe-row>label .themed-number-input{width:90px;flex:0 0 90px}.custom-shopping-recipe-row>label input{width:90px;height:36px;padding:0 9px;border:1px solid var(--gray-300);border-radius:10px;font-size:16px;text-align:right}.custom-shopping-recipes-modal>.form-error{margin:10px 0 0}.custom-shopping-recipes-footer{display:flex;padding:12px 0 max(2px,env(safe-area-inset-bottom));border-top:1px solid var(--green-50);align-items:center;justify-content:space-between;gap:12px}.custom-shopping-recipes-footer>span{color:var(--gray-600);font-size:.78rem}.recipe-shopping-list-modal{width:min(600px,calc(100vw - 24px))}.recipe-shopping-list-options{display:grid;min-width:0;max-height:min(330px,42dvh);margin:0;padding:0;overflow-y:auto;border:0;gap:8px}.recipe-shopping-list-options legend{margin-bottom:8px;color:var(--gray-600);font-size:.78rem;font-weight:500}.recipe-shopping-list-options label{display:grid;min-height:60px;padding:9px 12px;border:1px solid var(--green-50);border-radius:14px;grid-template-columns:18px minmax(0,1fr) 20px;align-items:center;gap:11px;cursor:pointer}.recipe-shopping-list-options label.selected{border-color:var(--green-400);color:var(--status-pill-text);background:var(--status-pill-background)}.recipe-shopping-list-options input{margin:0;accent-color:var(--accent)}.recipe-shopping-list-options strong,.recipe-shopping-list-options small{display:block}.recipe-shopping-list-options strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.recipe-shopping-list-options small{margin-top:3px;color:var(--gray-600);font-size:.72rem}.recipe-shopping-list-options svg{color:var(--accent)}.recipe-shopping-list-actions{display:flex;margin-top:18px;justify-content:flex-end;gap:9px}.recipe-shopping-list-actions>button{min-height:42px}.recipe-shopping-create-label-short{display:none}@media(max-width:720px){.shopping-list-page{gap:13px;padding:14px max(10px,env(safe-area-inset-left)) calc(28px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right))}.shopping-new-list-button>span:not(.circle-action-icon){display:none}.shopping-list-accordions{gap:8px}.shopping-list-accordion-trigger{min-height:62px;padding:9px 11px;grid-template-columns:36px minmax(0,1fr) auto 18px;gap:8px}.shopping-list-accordion-icon{width:36px;height:36px}.shopping-list-accordion-count{padding-inline:7px}.shopping-list-panel{border-radius:19px;box-shadow:0 7px 20px var(--green-mix-subtle)}.shopping-list-panel.embedded{border-radius:0;box-shadow:none}.shopping-list-header{padding:16px}.shopping-list-title{gap:9px}.shopping-list-title>span{width:38px;height:38px;border-radius:12px}.shopping-list-header h2{font-size:1.08rem}.shopping-list-header-actions{align-items:flex-start;gap:12px}.shopping-list-header-actions-left{gap:8px}.shopping-list-header-actions button.secondary-button.small,.shopping-list-header-actions button.danger-button.small{width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;flex:0 0 36px;padding:0;gap:0;border-radius:50%}.shopping-list-header-actions button>span:not(.circle-action-icon){display:none}.shopping-manual-form-inline{padding:12px}.shopping-grouping{margin-inline:12px}.shopping-grouping button{padding-inline:6px;font-size:.72rem}.shopping-grouping .shopping-bought-tab{padding-inline:8px}.recipe-shopping-create-label-wide{display:none}.recipe-shopping-create-label-short{display:inline}.shopping-list-scroll{padding:8px 12px 16px}.shopping-list-footer{padding:12px 12px max(12px,env(safe-area-inset-bottom))}.shopping-manual-form{grid-template-columns:minmax(84px,1fr) 62px 74px var(--text-input-height) var(--text-input-height);gap:5px}.shopping-name-field{grid-column:auto}.shopping-list-item-toggle{grid-template-columns:42px minmax(0,1fr) max-content;gap:8px}.shopping-item-quantity{max-width:92px;padding-left:4px;font-size:.78rem;white-space:normal}.shopping-item-copy small{white-space:normal}.custom-shopping-recipes-modal{width:100%;height:min(94dvh,780px);max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));border-radius:24px 24px 0 0}}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.themed-number-input{position:relative;display:block;width:100%;min-width:0}.themed-number-input>input{width:100%;padding-right:34px!important}.themed-number-controls{position:absolute;z-index:2;top:4px;right:4px;bottom:4px;display:grid;width:25px;overflow:hidden;border:1px solid var(--green-mix-soft);border-radius:8px;grid-template-rows:1fr 1fr;background:var(--status-pill-background)}.themed-number-controls button{display:grid;width:100%;min-width:0;min-height:0;margin:0;border:0;border-radius:0;padding:0;place-items:center;color:var(--status-pill-text);background:transparent;font:inherit;cursor:pointer}.themed-number-controls button+button{border-top:1px solid var(--green-mix-soft)}.themed-number-controls button:hover:not(:disabled),.themed-number-controls button:focus-visible{color:var(--status-pill-text);background:var(--status-pill-background);outline:none}.themed-number-controls button:disabled{cursor:not-allowed;opacity:.45}.themed-number-controls .number-step-up{transform:rotate(180deg)}.recipe-shopping-list-backdrop{align-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.recipe-shopping-list-modal{max-height:calc(100dvh - 24px);overflow-y:auto;margin:0;overscroll-behavior:contain}.recipe-shopping-new-list-form{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding-top:2px}.recipe-shopping-new-list-form label{display:grid;min-width:0;margin:0;gap:7px;color:var(--text-primary);font-size:13px;font-weight:500}.recipe-shopping-new-list-form input{width:100%;height:42px;min-width:0;padding:0 10px;border:1px solid var(--green-mix-soft);border-radius:11px;color:var(--text-primary);background:var(--white);font:inherit;font-size:16px;outline:none}.recipe-shopping-new-list-form input:focus{border-color:var(--green-mix-strong);box-shadow:0 0 0 3px var(--green-mix-soft)}.recipe-shopping-new-list-form>button{height:42px;min-height:42px}@media(max-width:440px){.recipe-shopping-list-actions>button{flex:1 1 0}}.segmented--library .tab-count,.meal-prep-tabs .tab-count,.segmented--library button.active .tab-count,.meal-prep-tabs button.active .tab-count,.shopping-scope-tabs .tab-count,.shopping-scope-tabs button.active .tab-count,.structured-ingredient-heading strong,.shopping-list-accordion-count,.shopping-bought-tab span,.shopping-group>h3 span{display:inline-flex;width:auto;min-width:max-content;height:auto;min-height:0;border:0;border-radius:999px;padding:5px 8px;align-items:center;justify-content:center;place-items:center;color:var(--status-pill-text);background:var(--status-pill-background);box-shadow:none;font-size:var(--status-pill-font-size);font-weight:400;line-height:1;white-space:nowrap}:is(.text-link,.image-import-button,.hero-add-button,.filter-button,.photo-edit-button,.nutrition-retry-button):hover:not(:disabled){border-color:var(--action-secondary-hover-border);background:var(--action-secondary-hover-background)}:is(.text-link,.hero-add-button,.filter-button,.nutrition-retry-button):focus-visible,:is(.image-import-button,.photo-edit-button):focus-within{outline:2px solid var(--accent);outline-offset:2px}:is(.icon-button,.secondary-button,.text-button,.text-link).neutral-action{border-color:var(--action-neutral-border);border-radius:999px;color:var(--action-neutral-text);background:var(--action-neutral-background);box-shadow:none}:is(.icon-button,.secondary-button,.text-button,.text-link).neutral-action:hover:not(:disabled){border-color:var(--action-neutral-hover-border);color:var(--text-primary);background:var(--action-neutral-hover-background)}:is(.icon-button,.secondary-button,.text-button,.text-link).neutral-action:focus-visible{outline:2px solid var(--gray-300);outline-offset:2px}@media(max-width:739px){.secondary-button.tertiary-button,.secondary-button.tertiary-button:hover:not(:disabled){width:fit-content;min-width:0;border:0;padding-inline:0;justify-content:flex-start;justify-self:start;color:var(--green-800);background:var(--white);box-shadow:none}}@media(max-width:739px){.meal-prep-tabs button,.shopping-scope-tabs button{gap:2px}.segmented--library .tab-count,.meal-prep-tabs .tab-count,.segmented--library button.active .tab-count,.meal-prep-tabs button.active .tab-count,.shopping-scope-tabs .tab-count,.shopping-scope-tabs button.active .tab-count{width:auto;min-width:16px;height:16px;min-height:16px;margin-left:-1px;padding:0 4px;font-size:9px;line-height:1;transform:translateY(-7px)}}@media(hover:none)and (pointer:coarse){input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=range]):not([type=reset]):not([type=submit]),textarea{font-size:16px!important}}:where(input:not([type]),input[type=text],input[type=search],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number]){height:var(--text-input-height)!important;min-height:var(--text-input-height)!important;padding-top:0!important;padding-bottom:0!important}@media(max-width:739px){:root{--text-input-height: 40px}.filter-search-box{border-radius:14px}}.preview-field-card{grid-template-rows:auto var(--text-input-height)}.preview-field-card>input,.preview-field-card .themed-number-input,.preview-field-card .themed-number-input input{height:var(--text-input-height)!important;min-height:var(--text-input-height)!important}.ui-container{width:min(var(--wc-content-wide),calc(100% - (var(--wc-container-gutter) * 2)));margin-inline:auto}.ui-container--narrow{max-width:var(--wc-content-narrow)}.ui-container--reading{max-width:var(--wc-content-reading)}.ui-container--wide{max-width:var(--wc-content-max)}.ui-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--wc-grid-item-min)),1fr));gap:var(--wc-spacing-lg)}.ui-grid--compact{gap:var(--wc-spacing-md)}.ui-grid--roomy{gap:var(--wc-spacing-xl)}.ui-button{display:inline-flex;min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-button);padding:0 var(--wc-spacing-md);align-items:center;justify-content:center;gap:var(--wc-spacing-xs);color:var(--wc-color-text);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-button-rest);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight);text-decoration:none;transition:var(--wc-transition-interactive)}.ui-button--primary{background:var(--wc-color-primary);box-shadow:var(--wc-shadow-hard-sm)}.ui-button--secondary{background:var(--wc-color-accent);box-shadow:var(--wc-shadow-hard-sm)}.ui-button--lavender{background:var(--wc-lavender-strong);box-shadow:var(--wc-shadow-hard-sm)}.ui-button-illustration{display:block;width:var(--wc-control-height-xl);height:var(--wc-control-height-md);flex:0 0 auto;object-fit:contain}.ui-button--outline{background:var(--wc-color-surface)}.ui-button--muted{background:var(--wc-gray-200)}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);white-space:nowrap}.ui-link{display:inline;min-height:0;margin:0;border:0;padding:0;color:var(--wc-green-800);background:none;box-shadow:none;font:inherit;font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ui-link:hover{color:var(--wc-green-900);text-decoration-thickness:2px}.ui-link:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:2px;border-radius:var(--wc-radius-sm)}.ui-button--compact{padding-inline:var(--wc-spacing-sm);font-size:var(--wc-font-size-sm)}.ui-button--ghost{border-color:transparent;background:transparent;box-shadow:var(--wc-shadow-button-rest)}.ui-button--destructive{background:var(--wc-color-danger);box-shadow:var(--wc-shadow-hard-sm)}.ui-button-icon-image{display:block;flex:0 0 auto;width:1.75rem;height:1.75rem;object-fit:contain}.ui-button--icon{width:var(--wc-touch-target);min-width:var(--wc-touch-target);padding:0;border-radius:var(--wc-radius-circle)}@media(hover:hover){.ui-button:hover:not(:disabled){box-shadow:var(--wc-shadow-button-hover);transform:translate(var(--wc-interactive-hover-lift),var(--wc-interactive-hover-lift))}.ui-button--ghost:hover:not(:disabled){background:var(--wc-color-brand-soft);box-shadow:var(--wc-shadow-button-hover)}}.ui-button:active:not(:disabled){box-shadow:var(--wc-shadow-hard-xs);transform:translate(var(--wc-interactive-active-shift),var(--wc-interactive-active-shift))}.ui-button:disabled{opacity:var(--wc-interactive-disabled-opacity)}.ui-card{overflow:hidden;border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-card);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-card)}.ui-card--interactive{transition:var(--wc-transition-interactive)}.ui-card--featured{background:var(--wc-color-surface-warm);box-shadow:var(--wc-shadow-hard-md)}.ui-card--recipe{border-radius:var(--wc-radius-2xl);box-shadow:var(--wc-shadow-hard-md)}@media(hover:hover){.ui-card--interactive:hover{box-shadow:var(--wc-shadow-hard-md);transform:translate(var(--wc-interactive-hover-lift),var(--wc-interactive-hover-lift))}}.ui-badge{display:inline-flex;min-height:var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-sm);align-items:center;justify-content:center;gap:var(--wc-spacing-2xs);color:var(--wc-color-text);background:var(--wc-color-surface);font-size:var(--wc-font-size-sm);font-style:normal;font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight)}.ui-badge--category{background:var(--wc-color-accent)}.ui-badge--rating{background:var(--wc-yellow-100)}.ui-badge--status{background:var(--wc-color-brand-soft)}.ui-badge--count{min-width:var(--wc-control-height-sm);padding-inline:var(--wc-spacing-xs)}.ui-field{display:grid;gap:var(--wc-spacing-xs)}.ui-input,.ui-search{width:100%;min-height:var(--wc-control-height-lg);border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-field);padding-inline:var(--wc-spacing-sm);color:var(--wc-color-text);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-control);transition:var(--wc-transition-interactive)}.ui-search{border-radius:var(--wc-radius-pill)}.ui-tabs,.ui-segmented{display:flex;border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-lg);padding:var(--wc-spacing-2xs);gap:var(--wc-spacing-2xs);background:var(--wc-color-brand-soft)}.ui-tab,.ui-nav-item{display:inline-flex;min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-control);padding-inline:var(--wc-spacing-md);align-items:center;justify-content:center;gap:var(--wc-spacing-xs);color:var(--wc-color-text);background:transparent;font-weight:var(--wc-font-weight-bold);text-decoration:none;transition:var(--wc-transition-interactive)}:is(.ui-tab,.ui-nav-item).is-active,:is(.ui-tab,.ui-nav-item)[aria-selected=true],.ui-nav-item[aria-current=page]{border-color:var(--wc-color-border-strong);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-control)}.ui-section-heading,.ui-page-header{display:flex;align-items:end;justify-content:space-between;gap:var(--wc-spacing-md)}:is(.ui-section-heading,.ui-page-header) :is(h1,h2,h3){margin:0;color:var(--wc-color-text);font-family:var(--wc-font-display);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-heading)}.ui-section-heading :is(h2,h3){font-size:var(--wc-type-section-title-size)}.ui-page-header h1{font-size:var(--wc-type-page-title-size)}.ui-page-header--editorial{min-height:var(--wc-editorial-header-min-height);align-items:center;padding-inline:var(--wc-editorial-header-inset)}.ui-page-header--editorial .ui-page-header-copy{min-width:0;align-self:start}.ui-page-header--editorial h1{position:relative;align-self:start;width:fit-content;margin:0;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-editorial-title-size);font-weight:var(--wc-font-weight-display);letter-spacing:var(--wc-editorial-title-tracking);line-height:var(--wc-line-height-tight)}.page-heading-text{position:relative;display:inline}.page-heading-last-word{position:relative;display:inline-block;white-space:nowrap}.page-heading-rays{position:absolute;top:calc(-1 * var(--wc-page-heading-rays-rise));left:calc(100% + var(--wc-page-heading-rays-gap));width:var(--wc-page-heading-rays-width);height:auto;max-width:none;pointer-events:none}.ui-page-header--editorial p{margin:var(--wc-spacing-2xs) 0 0;color:var(--wc-text-secondary);font-size:clamp(var(--wc-font-size-body-sm),1.5vw,var(--wc-font-size-lg));line-height:var(--wc-line-height-body)}.ui-page-header-spark{position:absolute;top:var(--wc-spacing-2xs);right:calc(-1 * var(--wc-spacing-lg));width:var(--wc-spacing-lg);height:var(--wc-spacing-lg);background:linear-gradient(var(--wc-tomato),var(--wc-tomato)) 12% 52% / var(--wc-border-width-emphasis) 55% no-repeat,linear-gradient(var(--wc-tomato),var(--wc-tomato)) 70% 13% / var(--wc-border-width-emphasis) 42% no-repeat,linear-gradient(var(--wc-tomato),var(--wc-tomato)) 84% 85% / var(--wc-border-width-emphasis) 38% no-repeat;transform:rotate(42deg);pointer-events:none}@media(max-width:660px){.ui-page-header--editorial{min-height:0}.ui-page-header--editorial h1{font-size:var(--wc-editorial-title-size-mobile)}.ui-page-header--editorial p{font-size:var(--wc-font-size-body-sm)}}.ui-icon-wrapper{display:inline-grid;width:var(--wc-touch-target);height:var(--wc-touch-target);border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-color-text);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-control)}.ui-form{display:grid;gap:var(--wc-spacing-md)}.ui-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--wc-form-column-min)),1fr));gap:var(--wc-spacing-md)}.ui-dropdown{overflow:auto;border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-popover);padding:var(--wc-spacing-2xs);color:var(--wc-color-text);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-hard-sm),var(--wc-shadow-soft-md)}.ui-empty-state{display:grid;min-height:var(--wc-empty-state-min-height);border:var(--wc-border-width) dashed var(--wc-color-outline);border-radius:var(--wc-radius-card);padding:var(--wc-spacing-xl);place-items:center;align-content:center;gap:var(--wc-spacing-xs);color:var(--wc-color-text-muted);background:var(--wc-color-surface-subtle);text-align:center}label,legend,.shopping-manual-field>span,.meal-prep-week-picker-label{color:var(--wc-color-text-muted);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);letter-spacing:.01em}.helper-text{color:var(--wc-color-text-muted);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-regular);line-height:var(--wc-line-height-body)}.primary-button,.secondary-button,.danger-button,.text-button,.text-link,.icon-button,.hero-add-button,.filter-button,.household-pill-action{border-width:var(--wc-border-width);border-style:solid;font-weight:var(--wc-font-weight-bold);transition:color var(--wc-duration-fast) ease,background-color var(--wc-duration-fast) ease,border-color var(--wc-duration-fast) ease,box-shadow var(--wc-duration-fast) ease,filter var(--wc-duration-fast) ease,transform var(--wc-duration-fast) var(--wc-ease-standard)}.clear-search{width:32px;min-width:32px;height:32px;min-height:32px;border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-circle);color:var(--wc-color-brand-strong);background:var(--wc-color-brand-soft);transition:border-color var(--wc-duration-fast) ease,background-color var(--wc-duration-fast) ease,transform var(--wc-duration-fast) ease}.image-import-button,.photo-edit-button,.nutrition-retry-button{border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);color:var(--wc-color-brand-strong);background:var(--wc-color-brand-soft);box-shadow:var(--wc-shadow-control)}.primary-button{min-height:var(--wc-control-height-md);border-color:var(--wc-ink);border-radius:var(--wc-radius-pill);color:var(--wc-color-text-on-brand);background:var(--wc-color-brand);box-shadow:var(--wc-shadow-hard-sm)}.secondary-button,.text-button,.text-link{min-height:var(--wc-control-height-md);border-color:var(--wc-color-outline);border-radius:var(--wc-radius-pill);color:var(--wc-color-brand-strong);background:var(--wc-color-brand-soft);box-shadow:var(--wc-shadow-button-rest)}.secondary-button.tertiary-button{border-color:transparent;color:var(--wc-color-brand-strong);background:transparent;box-shadow:none}.danger-button,.danger-icon-button.danger-icon-button{border-color:var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-color-danger);box-shadow:var(--wc-shadow-button-rest)}.icon-button,.hero-add-button,.filter-button,.household-pill-action{width:var(--wc-touch-target);min-width:var(--wc-touch-target);height:var(--wc-touch-target);min-height:var(--wc-touch-target);border-color:var(--wc-color-outline);border-radius:var(--wc-radius-circle);padding:0;color:var(--wc-color-brand-strong);background:var(--wc-color-brand-soft);box-shadow:var(--wc-shadow-button-rest)}:is(.icon-button,.secondary-button,.text-button,.text-link).neutral-action{border-color:var(--wc-color-outline);color:var(--wc-color-text-muted);background:var(--wc-gray-100);box-shadow:var(--wc-shadow-button-rest)}@media(hover:hover){.primary-button:hover:not(:disabled){border-color:var(--wc-ink);background:var(--wc-green-700);box-shadow:var(--wc-shadow-button-hover);transform:translate(-1px,-1px)}:is(.secondary-button,.text-button,.text-link,.icon-button,.hero-add-button,.filter-button,.household-pill-action):hover:not(:disabled){border-color:var(--wc-color-outline-hover);color:var(--wc-green-900);background:var(--wc-green-100);box-shadow:var(--wc-shadow-button-hover);transform:translate(-1px,-1px)}:is(.icon-button,.secondary-button,.text-button,.text-link).neutral-action:hover:not(:disabled){border-color:var(--wc-color-outline-hover);color:var(--wc-color-text);background:var(--wc-white)}:is(.danger-button,.danger-icon-button):hover:not(:disabled){border-color:var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-color-danger-hover);box-shadow:var(--wc-shadow-button-hover);transform:translate(-1px,-1px)}.secondary-button.tertiary-button:hover:not(:disabled){border-color:transparent;background:var(--wc-color-brand-soft);box-shadow:none;transform:none}.clear-search:hover:not(:disabled){border-color:var(--wc-color-outline-hover);background:var(--wc-green-100);transform:translateY(-1px)}}:is(.primary-button,.secondary-button,.danger-button,.text-button,.text-link,.icon-button,.hero-add-button,.filter-button,.household-pill-action):active:not(:disabled){box-shadow:1px 1px color-mix(in srgb,var(--wc-ink) 28%,transparent);transform:translate(1px,1px) scale(.99)}:is(.primary-button,.secondary-button,.danger-button,.text-button,.text-link,.icon-button,.hero-add-button,.filter-button,.household-pill-action):focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:3px}:is(.primary-button,.secondary-button,.danger-button,.text-button,.text-link,.icon-button,.hero-add-button,.filter-button,.household-pill-action):disabled{cursor:not-allowed;filter:saturate(.45);box-shadow:var(--wc-shadow-button-rest);opacity:.5;transform:none}:where(input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=range]):not([type=reset]):not([type=submit]),textarea){border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-control);color:var(--wc-color-text);background:var(--wc-color-surface);box-shadow:inset 0 1px color-mix(in srgb,var(--wc-white) 80%,transparent);transition:border-color var(--wc-duration-fast) ease,box-shadow var(--wc-duration-fast) ease,background-color var(--wc-duration-fast) ease}textarea{min-height:96px;line-height:var(--wc-line-height-body);resize:vertical}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--wc-color-text-muted) 74%,transparent);opacity:1}:where(input:not([type=button]):not([type=checkbox]):not([type=file]):not([type=radio]):not([type=range]):focus,textarea:focus){border-color:var(--wc-color-focus);outline:none;box-shadow:var(--wc-shadow-focus)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--wc-color-danger);background:var(--wc-red-50)}input:disabled,textarea:disabled{cursor:not-allowed;color:var(--wc-color-text-muted);background:var(--wc-gray-100);opacity:.66}.search-box{height:var(--wc-control-height-xl);border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-lg);color:var(--wc-color-text);background:var(--wc-white);box-shadow:var(--wc-shadow-control);transition:border-color var(--wc-duration-fast) ease,box-shadow var(--wc-duration-fast) ease}.search-box:focus-within{border-color:var(--wc-color-focus);box-shadow:var(--wc-shadow-focus)}.search-box input{height:auto;min-height:0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.search-box input:focus,.search-box input:focus-visible{border:0;outline:none;box-shadow:none}.themed-number-input{border-color:var(--wc-color-outline);border-radius:var(--wc-radius-control);background:var(--wc-color-surface)}input[type=checkbox],input[type=radio]{width:20px;min-width:20px;height:20px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--wc-border-width-emphasis) solid var(--wc-color-outline-hover);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-control);cursor:pointer}input[type=checkbox]{border-radius:6px}input[type=radio]{border-radius:var(--wc-radius-circle)}input[type=checkbox]:checked{border-color:var(--wc-ink);background:linear-gradient(135deg,transparent 44%,var(--wc-white) 44% 55%,transparent 55%) 3px 8px / 6px 6px no-repeat,linear-gradient(45deg,transparent 42%,var(--wc-white) 42% 57%,transparent 57%) 7px 4px / 9px 11px no-repeat,var(--wc-color-brand-strong)}input[type=radio]:checked{border-color:var(--wc-color-brand-strong);background:var(--wc-color-brand-strong);box-shadow:inset 0 0 0 4px var(--wc-color-surface),var(--wc-shadow-control)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,input[type=range]:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:3px}.settings-switch{width:56px;height:36px;flex:0 0 auto;border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);padding:var(--wc-space-2);background:var(--wc-gray-100);box-shadow:var(--wc-shadow-control);transition:background-color var(--wc-duration-fast) ease,border-color var(--wc-duration-fast) ease,box-shadow var(--wc-duration-fast) ease}.settings-switch>span{width:var(--wc-space-12);height:var(--wc-space-12);border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-circle);background:var(--wc-color-surface);box-shadow:1px 2px color-mix(in srgb,var(--wc-ink) 16%,transparent);transition:transform var(--wc-duration-fast) var(--wc-ease-standard),background-color var(--wc-duration-fast) ease}.settings-switch[aria-checked=true]{border-color:var(--wc-ink);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-control)}.settings-switch[aria-checked=true]>span{border-color:var(--wc-ink);background:var(--wc-white);transform:translate(var(--wc-space-10))}.settings-switch:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:3px}input[type=range]{height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:7px;border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);background:var(--wc-color-brand-soft)}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-7px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--wc-border-width-emphasis) solid var(--wc-ink);border-radius:var(--wc-radius-circle);background:var(--wc-yellow-500);box-shadow:var(--wc-shadow-control)}input[type=range]::-moz-range-track{height:7px;border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);background:var(--wc-color-brand-soft)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:var(--wc-border-width-emphasis) solid var(--wc-ink);border-radius:var(--wc-radius-circle);background:var(--wc-yellow-500);box-shadow:var(--wc-shadow-control)}.household-selector-pill{border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);color:var(--wc-color-text-muted);background:var(--wc-gray-100);box-shadow:var(--wc-shadow-control)}.household-selector-pill.active{border-color:var(--wc-color-outline-hover);color:var(--wc-color-brand-strong);background:var(--wc-color-brand-soft);box-shadow:2px 3px color-mix(in srgb,var(--wc-ink) 16%,transparent)}.household-selector-choice:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:2px}.recipe-card,.auth-panel,.meal-prep-week-card,.shopping-list-accordion,.meal-prep-day-card,.preview-section-card,.source-card,.url-import-preview-card,.nutrition-backfill-card,.shopping-list-panel:not(.embedded){border:var(--wc-border-width) solid var(--wc-color-outline);background-color:var(--wc-color-surface);box-shadow:var(--wc-shadow-card)}.recipe-card,.auth-panel,.meal-prep-week-card,.shopping-list-accordion,.shopping-list-panel:not(.embedded){border-radius:var(--wc-radius-2xl)}.meal-prep-day-card,.preview-section-card,.source-card,.url-import-preview-card,.nutrition-backfill-card{border-radius:var(--wc-radius-xl)}.segmented,.page-navigation,.shopping-grouping-main{border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-lg);padding:var(--wc-space-2);gap:var(--wc-space-2);background:var(--wc-color-brand-soft);box-shadow:var(--wc-shadow-control)}.segmented button,.page-navigation button,.shopping-grouping-main button{min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-control);color:var(--wc-color-text);background:transparent;box-shadow:none;font-weight:var(--wc-font-weight-bold);transition:color var(--wc-duration-fast) ease,background-color var(--wc-duration-fast) ease,border-color var(--wc-duration-fast) ease,box-shadow var(--wc-duration-fast) ease,transform var(--wc-duration-fast) ease}.page-navigation button{box-shadow:none}:is(.segmented button,.shopping-grouping-main button):hover:not(:disabled){background:color-mix(in srgb,var(--wc-white) 58%,transparent);box-shadow:none}.page-navigation button:hover:not(:disabled){background:color-mix(in srgb,var(--wc-white) 58%,transparent);box-shadow:none}:is(.segmented button,.page-navigation button,.shopping-grouping-main button).active,:is(.segmented button,.page-navigation button,.shopping-grouping-main button)[aria-selected=true]{border-color:var(--wc-color-outline);color:var(--wc-color-brand-strong);background:var(--wc-white);box-shadow:var(--wc-shadow-button-rest)}:is(.segmented button,.shopping-grouping-main button).active,:is(.segmented button,.shopping-grouping-main button)[aria-selected=true]{box-shadow:none}.settings-navigation{border-color:var(--wc-color-outline);background:var(--wc-color-brand-soft)}.settings-navigation>button{border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-control);color:var(--wc-color-text-muted);font-weight:var(--wc-font-weight-medium)}.settings-navigation>button:hover{border-color:var(--wc-color-border);background:color-mix(in srgb,var(--wc-white) 62%,transparent)}.settings-navigation>button.active,.settings-navigation>button[aria-selected=true]{border-color:var(--wc-color-outline);color:var(--wc-color-brand-strong);background:var(--wc-white);box-shadow:2px 3px color-mix(in srgb,var(--wc-ink) 16%,transparent)}.filter-group{border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-xl);padding:var(--wc-space-8);background:var(--wc-color-surface-subtle)}.meal-prep-week-picker,.shopping-name-field{position:relative}.app-dropdown-panel{transition:opacity var(--wc-duration-fast) var(--wc-ease-standard),transform var(--wc-duration-fast) var(--wc-ease-standard),visibility 0s linear var(--wc-duration-fast)}.app-dropdown-panel.is-open{transition-delay:0s}.app-dropdown-panel.app-dropdown-panel--up{top:auto;bottom:calc(100% + var(--wc-spacing-xs));transform-origin:bottom center}.app-dropdown-panel--up:not(.is-open){transform:translateY(5px) scale(.985)}.shopping-list-panel,.shopping-list-accordion,.shopping-list-item,.shopping-manual-form-inline{color:var(--wc-color-text)}.shopping-list-panel,.shopping-list-accordion,.shopping-list-item{border-color:var(--wc-color-border-strong);background:var(--wc-color-surface)}.shopping-list-item{border-radius:var(--wc-radius-control);transition:var(--wc-transition-interactive)}.shopping-manual-form-inline{border-color:var(--wc-color-border);background:var(--wc-color-surface-subtle)}.shopping-manual-form,.shopping-share-form{gap:var(--wc-spacing-xs)}.modal-backdrop{background:color-mix(in srgb,var(--wc-ink) 48%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{border:var(--wc-border-width) solid var(--wc-color-outline-hover);background:var(--wc-color-surface);box-shadow:var(--wc-shadow-overlay)}.modal-header h2,.settings-modal-header h2{color:var(--wc-color-text);font-family:var(--wc-font-display);font-weight:var(--wc-font-weight-bold);letter-spacing:-.01em}.profile-menu,.recent-recipes-dropdown{border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-lg);background:var(--wc-color-surface);box-shadow:3px 4px color-mix(in srgb,var(--wc-ink) 16%,transparent),var(--wc-shadow-soft-md)}.ui-tooltip,[role=tooltip]{max-width:240px;border:var(--wc-border-width) solid var(--wc-ink);border-radius:var(--wc-radius-sm);padding:var(--wc-space-3) var(--wc-space-4);color:var(--wc-white);background:var(--wc-ink);box-shadow:var(--wc-shadow-control);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-bold);line-height:1.3}.category-badge,.tag-chip,.rating-pill,.tab-count,.shopping-list-accordion-count,.shopping-bought-tab span,.shopping-group>h3 span,.household-person em{border-radius:var(--wc-radius-pill);font-weight:var(--wc-font-weight-bold)}.tag-chip,.rating-pill{border:var(--wc-border-width) solid var(--wc-color-border);color:var(--wc-color-brand-strong);background:var(--wc-color-brand-soft)}:is(.category-badge,.tag-chip).selected{border-color:var(--wc-color-outline-hover);box-shadow:var(--wc-shadow-control)}.tab-count,.shopping-list-accordion-count,.shopping-bought-tab span,.shopping-group>h3 span,.household-person em{border:var(--wc-border-width) solid var(--wc-color-border);color:var(--wc-color-brand-strong);background:var(--wc-white)}.meal-prep-notice{border:var(--wc-border-width) solid color-mix(in srgb,var(--wc-color-warning) 44%,transparent);border-radius:var(--wc-radius-lg);color:color-mix(in srgb,var(--wc-color-warning) 76%,var(--wc-ink));background:var(--wc-color-warning-soft);box-shadow:var(--wc-shadow-control)}.meal-prep-notice.success{border-color:var(--wc-color-outline);color:var(--wc-color-brand-strong);background:var(--wc-color-brand-soft)}.form-error{color:var(--wc-color-danger-strong);font-weight:var(--wc-font-weight-bold)}.toast{border:var(--wc-border-width) solid var(--wc-ink);border-radius:var(--wc-radius-lg);color:var(--wc-white);background:var(--wc-color-danger-strong);box-shadow:4px 5px color-mix(in srgb,var(--wc-ink) 46%,transparent),var(--wc-shadow-soft-md)}.toast.status{background:var(--wc-color-brand-strong)}.spin,.recipe-feed-loading>svg,.meal-prep-loading>svg,.url-import-preview-loading>svg,.food-library-loading>svg,.household-loading>svg,.shopping-share-loading>svg{color:var(--wc-color-brand-strong)}.recipe-feed-loading,.meal-prep-loading,.url-import-preview-loading,.food-library-loading,.household-loading,.shopping-share-loading{color:var(--wc-color-text-muted);font-weight:var(--wc-font-weight-medium)}.skeleton,[data-skeleton=true]{position:relative;overflow:hidden;border-radius:var(--wc-radius-md);color:transparent!important;background:var(--wc-gray-100)}.skeleton:after,[data-skeleton=true]:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--wc-white) 82%,transparent) 46%,transparent 72%);transform:translate(-100%);animation:wc-skeleton 1.2s ease-in-out infinite}@keyframes wc-skeleton{to{transform:translate(100%)}}.empty-state,.shopping-list-empty,.meal-prep-dialog-empty,.food-library-empty{border:var(--wc-border-width) dashed var(--wc-color-outline);border-radius:var(--wc-radius-xl);padding:var(--wc-space-16);color:var(--wc-color-text-muted);background:color-mix(in srgb,var(--wc-color-brand-soft) 62%,var(--wc-white))}.empty-state h3,.shopping-list-empty h3,.meal-prep-dialog-empty h3{color:var(--wc-color-text);font-weight:var(--wc-font-weight-bold)}@media(max-width:739px){.primary-button,.secondary-button,.danger-button,.text-button,.text-link{min-height:var(--wc-touch-target)}.modal{box-shadow:0 -4px color-mix(in srgb,var(--wc-ink) 22%,transparent),0 -16px 38px color-mix(in srgb,var(--wc-ink) 18%,transparent)}.empty-state,.shopping-list-empty,.meal-prep-dialog-empty,.food-library-empty{padding:var(--wc-space-12)}}@media(prefers-reduced-motion:reduce){.primary-button,.secondary-button,.danger-button,.text-button,.text-link,.icon-button,.hero-add-button,.filter-button,.household-pill-action,.settings-switch,.settings-switch>span{transition-duration:.01ms}.skeleton:after,[data-skeleton=true]:after{animation:none}}.ui-page-title-row{display:flex;align-items:center;gap:var(--wc-spacing-lg);min-width:0}.ui-page-title-row>h1{flex:0 1 auto;min-width:0;margin-right:calc(var(--wc-page-heading-rays-gap) + var(--wc-page-heading-rays-width))}.ui-page-title-row>:not(h1){flex:0 0 auto}.ui-page-header.ui-page-header--editorial{padding-block:2rem}.ui-kcal-pill{display:inline-flex;flex:0 0 auto;min-height:var(--wc-control-height-card-badge);align-items:center;justify-content:center;border:var(--wc-border-width-emphasis) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-sm);color:var(--wc-text-primary);background:var(--wc-kcal-neutral);box-shadow:none;font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight);white-space:nowrap}.ui-kcal-pill--target{background:var(--wc-kcal-target)}.ui-kcal-pill--within{background:var(--wc-kcal-within)}.ui-kcal-pill--warning{background:var(--wc-kcal-warning)}.ui-kcal-pill--over{background:var(--wc-kcal-over)}.ui-kcal-pill--unavailable{color:var(--wc-text-secondary);background:var(--wc-kcal-neutral)}.ui-kcal-pill--sm{min-height:var(--wc-control-height-badge);border-width:var(--wc-border-width);padding-inline:var(--wc-spacing-xs);font-size:var(--wc-font-size-sm)}.ui-kcal-pill--lg{min-height:var(--wc-control-height-lg);padding-inline:var(--wc-spacing-md);font-size:var(--wc-font-size-lg)}@media(max-width:739px){.ui-kcal-pill--lg{min-height:var(--wc-control-height-md);font-size:var(--wc-font-size-body)}}.ui-button--sm{min-height:var(--wc-control-height-sm)}.ui-button--danger,.ui-button--destructive{color:var(--wc-text-primary);background:var(--wc-color-danger)}@media(hover:hover){:is(.ui-button--danger,.ui-button--destructive):hover:not(:disabled){background:var(--wc-color-danger-hover)}}.ui-toolbar,.ui-toolbar-group{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--wc-spacing-xs)}.ui-toolbar-danger{margin-left:auto}.ui-toolbar .ui-button{font-size:var(--wc-font-size-body-sm)}@media(min-width:740px){.ui-toolbar :is(.ui-toolbar-group>.ui-button,.ui-toolbar-danger)>svg:not(.lucide-plus,.spin){display:none}}.ui-toolbar--end{justify-content:flex-end}.ui-toolbar--end .ui-toolbar-danger{margin-left:0}.ui-toolbar--end .ui-toolbar-group:has(+.ui-toolbar-danger){border-right:var(--wc-border-width) solid var(--wc-color-border);padding-right:var(--wc-spacing-sm);margin-right:var(--wc-spacing-2xs)}@media(max-width:739px){.ui-toolbar,.ui-toolbar--end{justify-content:flex-start}.ui-toolbar-primary{flex:1 0 100%;min-height:var(--wc-touch-target)}.ui-toolbar-group{flex-wrap:nowrap}.ui-toolbar-group:has(+.ui-toolbar-danger){flex:1 1 auto}:is(.ui-toolbar-group>.ui-button,.ui-toolbar-danger)>span{display:none}:is(.ui-toolbar-group>.ui-button,.ui-toolbar-danger){width:var(--wc-touch-target);min-width:var(--wc-touch-target);min-height:var(--wc-touch-target);padding:0;border-radius:var(--wc-radius-circle)}}:is(.meal-prep-selector-arrow,.meal-prep-day-arrow,.cooking-direction-previous,.cooking-direction-next,.mobile-swipe-navigation button):disabled{visibility:hidden}.ui-button.ui-collapse-toggle{width:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);flex:0 0 auto}.ui-collapse-toggle svg{transition:transform var(--wc-duration-base) ease}.ui-collapse-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.ui-actions-menu{position:relative;flex:0 0 auto}.ui-actions-menu>summary{display:grid;width:var(--wc-control-height-md);height:var(--wc-control-height-md);min-height:var(--wc-control-height-md);padding:0;place-items:center;list-style:none;cursor:pointer}.ui-actions-menu>summary::-webkit-details-marker{display:none}.ui-actions-menu-panel{position:absolute;top:calc(100% + var(--wc-spacing-xs));right:0;z-index:var(--wc-z-dropdown, 20);display:grid;width:max-content;min-width:13rem;max-width:min(20rem,calc(100vw - 2rem));padding:var(--wc-spacing-2xs);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-md);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-soft-md),var(--wc-shadow-hard-xs)}.ui-actions-menu-panel>button{white-space:nowrap;display:flex;align-items:center;gap:var(--wc-spacing-xs);width:100%;min-height:var(--wc-touch-target);border:0;border-radius:var(--wc-radius-sm);padding:var(--wc-spacing-xs) var(--wc-spacing-sm);color:var(--wc-text-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.ui-actions-menu-panel>button:is(:hover,:focus-visible):not(:disabled){background:var(--wc-yellow-100);outline:none}.ui-actions-menu-panel>button:disabled{cursor:not-allowed;opacity:var(--wc-interactive-disabled-opacity)}.ui-actions-menu-panel>button.is-danger{margin-top:var(--wc-spacing-2xs);color:var(--wc-text-primary);background:var(--wc-color-danger)}.ui-actions-menu-panel>button.is-danger:is(:hover,:focus-visible):not(:disabled){background:var(--wc-color-danger-hover)}.modal.ui-dialog{--ui-dialog-pad: var(--wc-spacing-lg);border:var(--wc-border-width-emphasis) solid var(--wc-dialog-border);border-radius:var(--wc-radius-dialog);padding:0 var(--ui-dialog-pad) calc(var(--ui-dialog-pad) + env(safe-area-inset-bottom));color:var(--wc-text-primary);background:var(--wc-dialog-surface);box-shadow:var(--wc-dialog-shadow)}.ui-dialog-header{position:sticky;z-index:3;top:0;display:grid;grid-template-columns:minmax(var(--wc-touch-target),1fr) minmax(0,auto) minmax(var(--wc-touch-target),1fr);align-items:center;gap:var(--wc-spacing-sm);margin:0 calc(-1 * var(--ui-dialog-pad, 0px)) var(--wc-spacing-md);border-bottom:var(--wc-border-width) solid var(--wc-color-outline);border-radius:inherit;border-bottom-right-radius:0;border-bottom-left-radius:0;padding:var(--wc-spacing-md) var(--wc-spacing-lg);background:var(--wc-dialog-header-surface)}.ui-dialog-header-start{display:flex;justify-content:flex-start}.ui-dialog-header-end{display:flex;justify-content:flex-end;gap:var(--wc-spacing-xs)}.ui-dialog-title{display:grid;min-width:0;gap:var(--wc-spacing-2xs);text-align:center}.ui-dialog-title h2{overflow:hidden;margin:0;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-xl);font-weight:var(--wc-font-weight-display);letter-spacing:-.01em;line-height:var(--wc-line-height-tight);text-overflow:ellipsis}.ui-dialog-title p{overflow:hidden;margin:0;color:var(--wc-text-secondary);font-size:var(--wc-font-size-body-sm);text-overflow:ellipsis;white-space:nowrap}.ui-dialog-close{flex:0 0 auto}.ui-dialog-subtitle-media{display:inline-flex;max-width:100%;align-items:center;gap:var(--wc-spacing-xs);vertical-align:middle}.ui-dialog-subtitle-media>img{width:var(--wc-spacing-lg);height:var(--wc-spacing-lg);flex:0 0 auto;border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-sm);object-fit:cover}.ui-dialog-subtitle-media>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.ui-dialog-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--wc-spacing-sm);margin:var(--wc-spacing-xs) calc(-1 * var(--ui-dialog-pad, 0px)) 0;border-top:var(--wc-border-width) solid var(--wc-color-border);padding:var(--wc-spacing-md) var(--wc-spacing-lg) 0}.ui-dialog-footer>.ui-button{min-width:9rem}.ui-dialog-footer-note{margin-right:auto;color:var(--wc-text-secondary);font-size:var(--wc-font-size-body-sm)}.modal.ui-dialog:is(.settings-modal,.sheet-modal,.filter-sheet){background:var(--wc-dialog-surface)}.modal.ui-dialog :is(.shopping-share-form,.shopping-share-collaborators,.source-card,.url-import-preview-card,.nutrition-backfill-card,.manual-meal-form,.recipe-sharing-selector,.preview-section-card){border:var(--wc-border-width-emphasis) solid var(--wc-dialog-border);border-radius:var(--wc-radius-xl);background:var(--wc-dialog-section-surface);box-shadow:var(--wc-dialog-section-shadow)}.modal.ui-dialog :is(.import-translate-toggle){border:var(--wc-border-width) solid var(--wc-dialog-border);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-dialog-field-shadow)}.modal.ui-dialog .import-translate-toggle>svg{color:var(--wc-text-primary)}.modal.ui-dialog :is(.settings-layout,.settings-navigation,.cooking-timer-wheel-picker,.empty-state,.food-library-empty,.meal-prep-dialog-empty,.recipe-selector-option:not(.selected),.custom-shopping-recipe-row:not(.selected),.food-library-row){background:transparent;box-shadow:none}.modal.ui-dialog.ui-dialog--narrow{width:min(var(--wc-content-narrow),calc(100% - var(--wc-spacing-xl)))}.modal.ui-dialog.confirm-delete-modal{display:grid;gap:var(--wc-spacing-md);width:min(var(--wc-content-narrow),calc(100% - var(--wc-spacing-xl)))}.confirm-delete-modal>.ui-dialog-header{margin-bottom:0}.confirm-delete-modal>p{margin:0;color:var(--wc-text-secondary);font-size:var(--wc-font-size-body);line-height:var(--wc-line-height-body)}.modal.ui-dialog:is(.settings-modal,.food-library-modal){--ui-dialog-pad: 0px}.modal.ui-dialog.recipe-preview-modal{--ui-dialog-pad: var(--wc-spacing-sm)}.ui-dialog-section{display:grid;gap:var(--wc-spacing-sm);border:var(--wc-border-width-emphasis) solid var(--wc-dialog-border);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-md);background:var(--wc-dialog-section-surface);box-shadow:var(--wc-dialog-section-shadow)}.ui-dialog-section>:last-child{margin-bottom:0}.ui-dialog-section+.ui-dialog-section,.ui-dialog-search+.ui-dialog-section,.ui-dialog .ui-dialog-section+.ui-dialog-search,.ui-dialog .segmented+.ui-dialog-section{margin-top:var(--wc-spacing-md)}.ui-dialog-section :is(h3,.category-picker>h3,.ui-dialog-section-title){margin:0;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display)}.ui-dialog-section.ui-dialog-section--banded{gap:0;overflow:hidden;padding:0;background:var(--wc-dialog-surface)}.ui-dialog-section--banded>:not(.ui-dialog-section-band){padding-inline:var(--wc-spacing-md)}.ui-dialog-section-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--wc-spacing-sm);border-bottom:var(--wc-border-width) solid var(--wc-color-border);padding:var(--wc-spacing-sm) var(--wc-spacing-md);background:var(--wc-dialog-section-surface)}.ui-dialog-section-heading{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:var(--wc-spacing-sm)}.ui-dialog-section-heading>div{display:grid;min-width:0;gap:var(--wc-spacing-2xs)}.ui-dialog-section-heading p{margin:0}.ui-dialog-section-icon{display:grid;width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);flex:0 0 auto;border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-green-800);background:var(--wc-surface-default)}.ui-dialog-section-body{display:grid;min-width:0;gap:var(--wc-spacing-md);padding-block:var(--wc-spacing-md)}.ui-dialog-section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--wc-spacing-sm)}.ui-dialog-section-actions>.ui-button{min-width:9rem}.ui-dialog-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--wc-spacing-md)}.ui-dialog-row-copy{display:grid;min-width:0;flex:1 1 auto;gap:var(--wc-spacing-2xs)}.ui-dialog-row-copy strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.ui-dialog-row-copy small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm);line-height:var(--wc-line-height-body)}.ui-dialog-row>:is(.ui-button,.settings-switch,.ui-badge){flex:0 0 auto}.ui-dialog-row+.ui-dialog-row{border-top:var(--wc-border-width) solid var(--wc-color-border);padding-top:var(--wc-spacing-md)}.ui-dialog-row--danger{border-top:var(--wc-border-width) solid var(--wc-color-border);padding-top:var(--wc-spacing-md)}.ui-dialog-row--danger .ui-dialog-row-copy strong{color:var(--wc-red-500)}.modal.ui-dialog .ui-dialog-list>.ui-dialog-row{padding:var(--wc-spacing-sm) var(--wc-spacing-md)}.portion-stepper{display:grid;grid-template-columns:var(--wc-control-height-sm) var(--wc-spacing-xl) var(--wc-control-height-sm);align-items:center}.portion-stepper button{display:grid;width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-circle);padding:0;place-items:center;color:var(--wc-text-secondary);background:var(--wc-surface-default)}.portion-stepper button:last-child{border-color:var(--wc-green-800);color:var(--wc-green-800)}.portion-stepper button:disabled{opacity:var(--wc-interactive-disabled-opacity)}.portion-stepper output{color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold);text-align:center}:is(.ui-dialog,.ui-fields) label{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}:is(.ui-dialog,.ui-fields) .themed-number-input{border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-control);background:var(--wc-surface-default)}:is(.ui-dialog,.ui-fields) :is(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color]),textarea){border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-control);color:var(--wc-text-primary);background:var(--wc-surface-default);font-weight:var(--wc-font-weight-regular)}:is(.ui-dialog,.ui-fields) .ui-dialog-search{display:flex;min-height:var(--wc-control-height-xl);align-items:center;gap:var(--wc-spacing-sm);margin:0;border:var(--wc-border-width-emphasis) solid var(--wc-dialog-border);border-radius:var(--wc-radius-xl);padding:0 var(--wc-spacing-md);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:none}:is(.ui-dialog,.ui-fields) .ui-dialog-search input{min-width:0;flex:1 1 auto;border:0;padding:0;background:transparent;box-shadow:none;font-size:var(--wc-font-size-body);text-align:left}:is(.ui-dialog,.ui-fields) .ui-dialog-search input:focus-visible{outline:0}:is(.ui-dialog,.ui-fields) .ui-dialog-search:focus-within{outline:var(--wc-border-width-emphasis) solid var(--wc-green-200)}.ui-choice-row{display:flex;flex-wrap:wrap;gap:var(--wc-spacing-sm)}.ui-choice-row>.ui-button{min-width:var(--wc-choice-chip-min-width)}.ui-choice-icon{color:var(--wc-green-800)}.ui-dialog-section-note{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}.ui-dialog-field{display:grid;min-width:0;align-content:start;gap:var(--wc-spacing-2xs);margin:0}:is(.ui-dialog,.ui-fields) .ui-dialog-field-label{color:var(--wc-text-primary);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-bold)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list{display:grid;grid-auto-rows:max-content;align-content:start;gap:0;margin-top:var(--wc-spacing-md);overflow-y:auto;border:var(--wc-border-width-emphasis) solid var(--wc-dialog-border);border-radius:var(--wc-radius-xl);background:var(--wc-dialog-surface);box-shadow:var(--wc-dialog-section-shadow)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list>:not(.empty-state){min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list>:not(.empty-state)+:not(.empty-state){border-top:var(--wc-border-width) solid var(--wc-color-border)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list>.selected{background:var(--wc-green-50)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list :is(.recipe-selector-option,.custom-shopping-recipe-row>button){grid-template-columns:var(--wc-control-height-lg) minmax(0,1fr) var(--wc-control-height-sm);gap:var(--wc-spacing-sm);min-height:0;padding:var(--wc-spacing-xs) var(--wc-spacing-sm);color:var(--wc-text-primary)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list :is(img,.manual-meal-option-icon){width:var(--wc-control-height-lg);height:var(--wc-control-height-lg);border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-md)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list :is(.recipe-selector-option,.custom-shopping-recipe-row>button):is(:hover,:focus-visible):not(:disabled){background:var(--wc-yellow-100)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list-action{display:grid;width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs)}:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list>.selected .ui-dialog-list-action,:is(.modal.ui-dialog,.ui-fields) .ui-dialog-list .selected>button .ui-dialog-list-action{border-color:var(--wc-dialog-border);color:var(--wc-text-primary);background:var(--wc-color-primary)}:is(.ui-dialog,.ui-fields) .themed-number-input input{border:0;padding-left:var(--wc-space-9);background:transparent;box-shadow:none}.ui-dialog :is(input,textarea):focus-visible{border-color:var(--wc-border-default);outline:var(--wc-border-width-emphasis) solid var(--wc-green-200);outline-offset:0}.ui-dialog-upload{display:inline-flex;width:100%;min-height:var(--wc-touch-target);align-items:center;justify-content:center;gap:var(--wc-spacing-xs);border:var(--wc-border-width-emphasis) dashed var(--wc-color-outline);border-radius:var(--wc-radius-pill);color:var(--wc-green-800);background:var(--wc-green-50);box-shadow:none;font-weight:var(--wc-font-weight-bold)}@media(max-width:739px){.modal.ui-dialog{--ui-dialog-pad: var(--wc-spacing-md)}.portion-stepper{grid-template-columns:var(--wc-touch-target) var(--wc-spacing-xl) var(--wc-touch-target)}.portion-stepper button{width:var(--wc-touch-target);height:var(--wc-touch-target)}.ui-choice-row{flex-wrap:nowrap;gap:var(--wc-spacing-xs)}.ui-choice-row>.ui-button{min-width:0;flex:1 1 0;padding-inline:var(--wc-spacing-xs)}.modal.ui-dialog.sheet-modal{border-radius:var(--wc-radius-2xl) var(--wc-radius-2xl) 0 0}.ui-dialog-header{padding:var(--wc-spacing-sm) var(--wc-spacing-md)}.ui-dialog-title h2{font-size:var(--wc-font-size-lg)}.ui-dialog-footer{padding-inline:var(--wc-spacing-md)}.ui-dialog-footer>.ui-button{min-width:0;flex:1 1 0}}#root{display:flow-root;overflow:clip}:is(.phone-app,.system-screen,.auth-page,.cooking-mode-page){isolation:isolate}.phone-app{width:min(calc(100% - var(--wc-spacing-lg)),var(--wc-content-max));margin-inline:auto;padding:0;color:var(--wc-color-text);background:var(--wc-surface-default)}:root{--wc-shell-edge: 0px}@media(min-width:1024px){:root{--wc-shell-edge: max(var(--wc-spacing-lg) / 2, (100vw - var(--wc-content-max)) / 2)}}@media(min-width:1024px){.phone-app{min-height:calc(100dvh - var(--wc-spacing-lg));margin-block:calc(var(--wc-spacing-lg) / 2);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-2xl)}}@media(max-width:1023px){.phone-app{width:100%}}.feed-panel,.meal-prep-page,.shopping-list-page{width:100%;border-top:0;background:transparent;box-shadow:none}.feed-panel>:is(.categories-section,.segmented.tabs,.feed-heading,.recipe-feed,.mobile-swipe-view,.recipe-feed-loading,.empty-state),.meal-prep-page>*,.shopping-list-page>*{width:min(var(--wc-content-wide),100%);margin-right:auto;margin-left:auto}.meal-prep-page>:is(.meal-prep-setup-panel,.meal-prep-tabs,.meal-prep-overview),.shopping-list-page>:is(.shopping-page-heading,.shopping-scope-tabs){width:min(var(--wc-content-library),100%)}.feed-panel,.meal-prep-page,.shopping-list-page,.recipe-route .detail-scroll{padding-top:var(--wc-page-content-top-gap);padding-right:max(var(--wc-page-content-gutter),env(safe-area-inset-right));padding-left:max(var(--wc-page-content-gutter),env(safe-area-inset-left))}.recipe-route .detail-scroll{max-width:none}.feed-panel{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.feed-panel.recipe-tab-all{background:transparent}.meal-prep-page,.shopping-list-page{gap:var(--wc-space-12);padding-bottom:calc(64px + env(safe-area-inset-bottom))}.feed-heading h2,.shopping-list-title h2{color:var(--wc-color-text);font-family:var(--wc-font-display);font-weight:var(--wc-font-weight-display);letter-spacing:-.025em}.mobile-hero{width:min(var(--wc-content-wide),calc(100% - 48px));margin:24px auto 0;border:var(--wc-border-width-emphasis) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-pill);padding:calc(var(--wc-space-5) + env(safe-area-inset-top)) max(var(--wc-space-6),env(safe-area-inset-right)) var(--wc-space-5) max(var(--wc-space-6),env(safe-area-inset-left));color:var(--wc-color-text);background:var(--wc-background);box-shadow:5px 6px 0 var(--wc-color-border-strong)}.hero-row{width:100%;margin:0 auto;gap:var(--wc-space-6)}.app-header-logo{width:auto;height:42px}.app-header-logo-button{border-radius:var(--wc-radius-control)}.app-header-logo-button:focus-visible,.avatar-button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:3px}.hero-search-row{grid-template-columns:minmax(0,1fr) var(--wc-control-height-xl);width:min(760px,100%);margin:var(--wc-space-8) auto 0;gap:var(--wc-space-6)}.mobile-hero .search-box{border-color:var(--wc-ink);background:var(--wc-white);box-shadow:none}.mobile-hero .filter-button,.mobile-hero .hero-add-button{border-color:var(--wc-ink);color:var(--wc-color-text);background:var(--wc-primary);box-shadow:2px 2px 0 var(--wc-ink)}.page-navigation{border-color:transparent;background:transparent;box-shadow:none}.page-navigation button{width:40px;height:40px;min-height:40px;border-radius:var(--wc-radius-md);color:var(--wc-color-text)}.page-navigation button.active,.page-navigation button[aria-current=page]{border-color:var(--wc-ink);color:var(--wc-color-text);background:var(--wc-navigation-active);box-shadow:2px 3px 0 var(--wc-ink)}.avatar{border:var(--wc-border-width-emphasis) solid var(--wc-color-border-strong);color:var(--wc-color-text);background:var(--wc-accent);box-shadow:2px 2px 0 var(--wc-ink);font-weight:var(--wc-font-weight-bold)}.profile-menu-container{margin-left:var(--wc-space-3)}.profile-menu button,.recent-recipe-option{border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-md)}.profile-menu button:hover,.profile-menu button:focus-visible,.recent-recipe-option:hover,.recent-recipe-option:focus-visible{border-color:var(--wc-color-border);background:var(--wc-green-100)}.recent-recipe-option img{border:var(--wc-border-width) solid var(--wc-color-border);box-shadow:1px 2px color-mix(in srgb,var(--wc-ink) 14%,transparent)}.categories-section{border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-2xl);margin-bottom:var(--wc-space-12);padding:clamp(20px,3vw,30px);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-hard-sm)}.category-scroll{gap:var(--wc-space-5);padding:2px 2px var(--wc-space-4)}.category-badge{min-height:42px;border-width:var(--wc-border-width);border-color:var(--wc-color-border-strong);color:var(--wc-color-text);background:color-mix(in srgb,var(--category-color) 18%,var(--wc-white));box-shadow:1px 2px color-mix(in srgb,var(--wc-ink) 18%,transparent);font-weight:var(--wc-font-weight-bold)}.feed-heading{margin:var(--wc-space-16) auto var(--wc-space-8)}.feed-heading h2{font-size:clamp(1.45rem,2.5vw,2rem)}.feed-style-icons{border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-lg);padding:var(--wc-space-2);gap:var(--wc-space-2);background:var(--wc-white);box-shadow:var(--wc-shadow-control)}.feed-style-icons button{width:40px;height:38px;border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-md);box-shadow:none}.feed-style-icons button.active{border-color:var(--wc-color-border-strong);color:var(--wc-color-text);background:var(--wc-lilac-100);box-shadow:1px 2px color-mix(in srgb,var(--wc-ink) 16%,transparent)}.recipe-feed{gap:clamp(18px,2.5vw,28px)}.recipe-card{border-color:var(--wc-color-border-strong);background:var(--wc-white);box-shadow:var(--wc-shadow-hard-md),0 12px 28px color-mix(in srgb,var(--wc-green-900) 9%,transparent)}.recipe-card .recipe-card-body{background:var(--wc-background)}.recipe-card:not(.list-card) .recipe-image{min-height:0;aspect-ratio:4 / 3;border-bottom:var(--wc-border-width) solid var(--wc-color-border-strong)}.recipe-card-body{min-height:122px;padding:var(--wc-space-8)}.recipe-card h3{margin-top:var(--wc-space-7);color:var(--wc-color-text);font-family:var(--wc-font-display);font-size:clamp(1.08rem,1.7vw,1.3rem);font-weight:var(--wc-font-weight-display);letter-spacing:-.02em}.recipe-card .rating-pill,.recipe-card .heart-button{border:var(--wc-border-width) solid var(--wc-color-border-strong);box-shadow:1px 2px color-mix(in srgb,var(--wc-ink) 20%,transparent)}.recipe-card .rating-pill{color:var(--wc-color-text);background:var(--wc-yellow-100)}.recipe-card .heart-button{color:var(--wc-color-text);background:var(--wc-white)}.recipe-card.list-card{border-radius:var(--wc-radius-xl)}.list-card .recipe-image{border-right:var(--wc-border-width) solid var(--wc-color-border-strong)}.list-card .recipe-card-body{min-height:0}@media(hover:hover){.recipe-card:hover{box-shadow:var(--wc-shadow-hard-md),0 18px 34px color-mix(in srgb,var(--wc-green-900) 12%,transparent);transform:translate(-2px,-2px)}}.mobile-swipe-stage{border-radius:var(--wc-radius-2xl)}.mobile-swipe-navigation>span,.mobile-swipe-navigation button{border-color:var(--wc-border-default);color:var(--wc-color-text);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-control);font-weight:var(--wc-font-weight-bold)}.meal-prep-setup-panel,.shopping-page-heading{border:0;border-radius:0;background:transparent;box-shadow:none}.meal-prep-setup-panel{padding:0}.meal-prep-compact-header,.meal-prep-compact-header.has-scope-toggle{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:var(--wc-spacing-lg)}.meal-prep-heading-stack{display:grid;align-self:start;min-width:0;gap:var(--wc-spacing-sm)}.meal-prep-heading{display:block;grid-area:auto;min-width:0}.meal-prep-calorie-setting{grid-area:auto;justify-content:flex-start;justify-self:start;gap:var(--wc-spacing-md);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-medium)}.meal-prep-action-rail{display:flex;align-items:center;gap:var(--wc-spacing-md);min-width:0;border:var(--wc-border-width-emphasis) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-sm);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm)}.meal-prep-action-rail .meal-prep-scope-toggle{flex:0 0 auto;grid-area:auto;grid-column:auto;grid-row:auto;gap:var(--wc-spacing-sm);padding-right:var(--wc-spacing-md);border-right:var(--wc-border-width) solid var(--wc-color-border)}.creation-scope-toggle>span{color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.shopping-new-list-modal>.creation-scope-toggle{margin-bottom:var(--wc-spacing-md)}.reuse-week-modal .custom-date-picker{width:100%}.reuse-week-modal .custom-date-trigger{width:100%;height:var(--wc-control-height-lg);min-height:var(--wc-control-height-lg);justify-content:flex-start;gap:var(--wc-spacing-sm);border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-control);padding-inline:var(--wc-spacing-md);color:var(--wc-text-secondary);background:var(--wc-surface-default);box-shadow:none;font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.reuse-week-modal .custom-date-trigger.has-value{padding-right:calc(var(--wc-control-height-xs) + var(--wc-spacing-md));color:var(--wc-text-primary)}.reuse-week-modal .custom-date-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reuse-week-modal .custom-date-trigger svg{width:var(--wc-space-10);height:var(--wc-space-10);flex:0 0 auto;color:var(--wc-text-primary)}.meal-prep-action-rail .meal-prep-create-button{width:100%;min-height:var(--wc-meal-prep-control-height);gap:var(--wc-spacing-sm);border-width:var(--wc-border-width-emphasis);font-size:var(--wc-font-size-lg)}.shopping-page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--wc-spacing-lg)}.shopping-page-heading .shopping-new-list-button{flex:0 0 auto}.meal-prep-notice,.form-error.meal-prep-error,.account-settings-feedback,.household-feedback{border-width:var(--wc-border-width);border-style:solid;box-shadow:var(--wc-shadow-control)}.meal-prep-week-list,.shopping-list-accordions{width:min(var(--wc-content-list),100%);gap:var(--wc-space-8)}.shopping-list-accordion,.shopping-list-accordion.expanded{overflow:visible;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-sm)}.shopping-list-accordion-trigger{grid-template-columns:var(--wc-touch-target) minmax(0,1fr) auto;gap:var(--wc-spacing-sm);min-height:0;padding:var(--wc-spacing-md) var(--wc-spacing-md) var(--wc-spacing-sm);color:var(--wc-text-primary);background:transparent}.shopping-list-accordion-header{display:flex;align-items:center;gap:var(--wc-spacing-xs);border-radius:calc(var(--wc-radius-xl) - var(--wc-border-width)) calc(var(--wc-radius-xl) - var(--wc-border-width)) 0 0}.shopping-list-accordion:not(.expanded)>.shopping-list-accordion-header{border-radius:calc(var(--wc-radius-xl) - var(--wc-border-width))}.shopping-list-accordion-header>.shopping-list-accordion-trigger{min-width:0;flex:1 1 auto;border-radius:inherit}.shopping-list-accordion-trigger:is(:hover,:focus-visible),.shopping-list-accordion-header:has(>.shopping-list-accordion-trigger:is(:hover,:focus-visible)){background:var(--wc-yellow-100)}.shopping-list-accordion-header>.ui-collapse-toggle{margin-right:var(--wc-spacing-md)}.shopping-list-accordion-trigger .shopping-list-accordion-icon{width:var(--wc-touch-target);height:var(--wc-touch-target);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-md);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:none}.shopping-list-accordion-trigger .shopping-list-scope-icon{border:0;background:transparent}.shopping-list-scope-icon>img{display:block;width:100%;height:100%;object-fit:contain}.shopping-list-accordion-trigger .shopping-list-accordion-copy{gap:var(--wc-spacing-2xs)}.shopping-list-accordion-trigger .shopping-list-accordion-copy strong{color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display)}.shopping-list-accordion-trigger .shopping-list-accordion-copy small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-body-sm)}.shopping-list-accordion-trigger .shopping-list-accordion-count{min-height:var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-border-default);padding:0 var(--wc-spacing-md);color:var(--wc-text-primary);background:var(--wc-surface-default);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.shopping-list-accordion-trigger .shopping-progress-pill{background:linear-gradient(to right,var(--shopping-progress-fill) var(--progress-width),var(--wc-surface-default) var(--progress-width));font-variant-numeric:tabular-nums}.shopping-progress-pill--low{--shopping-progress-fill: var(--wc-color-danger)}.shopping-progress-pill--mid{--shopping-progress-fill: var(--wc-color-accent)}.shopping-progress-pill--high{--shopping-progress-fill: var(--wc-color-primary)}.tab-count{display:inline-grid;min-width:var(--wc-spacing-lg);height:var(--wc-spacing-lg);border:var(--wc-border-width) solid var(--wc-color-border-strong);padding:0 var(--wc-space-3);place-items:center;color:var(--wc-color-text);background:var(--wc-white);font-size:var(--wc-font-size-xs);line-height:1}.shopping-list-header{border-color:var(--wc-color-border);background:var(--wc-gray-50)}.shopping-list-accordion-content{border-top-color:var(--wc-color-border-strong)}.shopping-list-fullscreen-toggle{display:none}@media(max-width:739px){.ui-button.shopping-list-fullscreen-toggle{display:inline-flex;flex:0 0 auto}.shopping-list-page .shopping-list-accordion-header{gap:var(--wc-spacing-2xs)}.shopping-list-page .shopping-list-accordion-header>.shopping-list-fullscreen-toggle,.shopping-list-page .shopping-list-accordion-header>.ui-actions-menu>summary{width:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm)}.shopping-list-page .shopping-list-accordion-trigger{grid-template-columns:var(--wc-control-height-sm) minmax(0,1fr) auto;gap:var(--wc-spacing-xs)}body.shopping-fullscreen-open{overflow:hidden}body.shopping-fullscreen-open .modal-backdrop,body.cooking-fullscreen-open .modal-backdrop{z-index:calc(var(--wc-z-dialog) + 2)}.shopping-list-accordion.is-fullscreen{position:fixed;z-index:var(--wc-z-dialog);top:0;right:0;bottom:0;left:0;margin:0;border:0;border-radius:0;overflow-y:auto;overscroll-behavior:contain;background:var(--wc-surface-default);box-shadow:none}.shopping-list-accordion.is-fullscreen>.shopping-list-accordion-header{position:sticky;z-index:2;top:0;border-bottom:var(--wc-border-width) solid var(--wc-color-border);border-radius:0;padding-top:env(safe-area-inset-top);background:var(--wc-canvas)}.shopping-list-accordion.is-fullscreen>.shopping-list-accordion-header>:is(.ui-actions-menu,.ui-collapse-toggle),.shopping-list-accordion.is-fullscreen .shopping-list-accordion-trigger>:is(.shopping-list-accordion-icon,.shopping-list-accordion-count){display:none}.shopping-list-accordion.is-fullscreen .shopping-list-accordion-trigger{grid-template-columns:minmax(0,1fr);pointer-events:none}.shopping-list-accordion.is-fullscreen .shopping-list-fullscreen-toggle{margin-right:var(--wc-spacing-sm)}.shopping-list-accordion.is-fullscreen>.shopping-list-accordion-content{padding-bottom:calc(var(--wc-mobile-bottom-nav-height) + env(safe-area-inset-bottom))}}.shopping-list-panel.embedded{gap:var(--wc-spacing-sm);padding:var(--wc-spacing-md);background:transparent}.shopping-list-page .shopping-list-panel.embedded .shopping-list-header{display:block;min-height:0;margin-inline:calc(-1 * var(--wc-spacing-md));border-top:var(--wc-border-width) solid var(--wc-color-border);border-bottom:0;padding:var(--wc-spacing-md) var(--wc-spacing-md) var(--wc-spacing-xs);background:transparent}.shopping-manual-form{grid-template-columns:minmax(0,1fr) 7rem 8rem auto auto;column-gap:var(--wc-spacing-md);margin:var(--wc-spacing-xs) var(--wc-spacing-md) var(--wc-spacing-md);border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-md) var(--wc-spacing-lg) var(--wc-spacing-lg);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-control)}.shopping-manual-form .shopping-manual-field{grid-template-rows:auto var(--wc-control-height-lg);gap:var(--wc-spacing-xs)}.shopping-manual-form .shopping-manual-actions .ui-button--icon{width:var(--wc-control-height-lg);min-width:var(--wc-control-height-lg);height:var(--wc-control-height-lg)}@media(max-width:520px){.shopping-manual-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;row-gap:var(--wc-spacing-sm);column-gap:var(--wc-spacing-xs);margin-inline:var(--wc-spacing-sm);padding:var(--wc-spacing-sm) var(--wc-spacing-sm) var(--wc-spacing-md)}.shopping-manual-form .shopping-name-field{grid-column:1 / 3;grid-row:1}.shopping-manual-form .shopping-manual-actions>.ui-button{grid-row:1;align-self:end}.shopping-manual-form .shopping-unit-field{grid-column:2 / -1}}.shopping-list-page .shopping-grouping{display:flex;margin:0;align-items:stretch;gap:var(--wc-spacing-sm)}.shopping-list-page .shopping-grouping-main{flex:1 1 auto}.shopping-list-page .shopping-bought-toggle{flex:0 0 auto}.shopping-list-page .shopping-grouping .shopping-bought-toggle{min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-button);padding-inline:var(--wc-spacing-sm);background:var(--wc-color-surface);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.shopping-list-page .shopping-grouping .shopping-bought-toggle.ui-button--primary{background:var(--wc-color-primary)}.shopping-list-page .shopping-list-scroll{display:grid;gap:var(--wc-spacing-sm);min-height:0;padding:0}.shopping-list-page .shopping-group{--group-tint: var(--wc-soft-green);overflow:hidden;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm)}.shopping-list-page .shopping-group+.shopping-group{margin-top:0}.shopping-list-page .shopping-group-header{display:flex;min-width:0;align-items:center;gap:var(--wc-spacing-sm);border-bottom:var(--wc-border-width) solid var(--wc-color-border);padding:var(--wc-spacing-xs) var(--wc-spacing-xs) var(--wc-spacing-xs) var(--wc-spacing-sm);background:var(--wc-canvas);cursor:pointer}.shopping-list-page .shopping-group.collapsed .shopping-group-header{border-bottom:0}.shopping-list-page .shopping-group-icon{display:grid;width:var(--wc-control-height-card-badge);height:var(--wc-control-height-card-badge);flex:0 0 auto;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-text-primary);background:var(--wc-surface-default)}.shopping-list-page .shopping-group-icon>img{width:var(--wc-spacing-lg);height:var(--wc-spacing-lg);object-fit:contain}.shopping-list-page .shopping-group-header h3{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:var(--wc-spacing-xs);margin:0;color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold);letter-spacing:0;text-transform:none}.shopping-list-page .shopping-items{gap:0}.shopping-list-page .shopping-list-item-swipe-shell{border-radius:0;background:transparent;box-shadow:none}.shopping-list-page .shopping-list-item-swipe-shell:is(.dragging,.returning,.deleting){background:var(--wc-coral-100)}.shopping-list-page .shopping-list-item-swipe-shell+.shopping-list-item-swipe-shell{border-top:var(--wc-border-width) solid var(--wc-color-border)}.shopping-list-page .shopping-list-item{border:0;border-radius:0;background:var(--wc-surface-default);box-shadow:none}.shopping-list-page .shopping-list-item.purchased{background:var(--wc-green-50)}.shopping-list-page .shopping-list-item-toggle{grid-template-columns:var(--wc-control-height-card-badge) minmax(0,1fr) max-content;min-height:0;gap:var(--wc-spacing-sm);padding:var(--wc-spacing-xs) var(--wc-spacing-md);color:var(--wc-text-primary)}.shopping-list-page .shopping-product-art{width:var(--wc-control-height-card-badge);height:var(--wc-control-height-card-badge);border:0;border-radius:var(--wc-radius-circle);background:var(--group-tint, var(--wc-gray-100));box-shadow:none}.shopping-list-page .shopping-product-art>img{width:var(--wc-spacing-lg);height:var(--wc-spacing-lg)}.shopping-list-page .shopping-item-copy{align-self:center}.shopping-list-page .shopping-item-copy strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.shopping-list-page .shopping-item-copy small{margin-top:var(--wc-space-1);color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}.shopping-list-page .shopping-item-copy small>span{display:inline}.shopping-list-page .shopping-item-copy small>span+span:before{content:" · "}.shopping-list-page .shopping-item-quantity{align-self:center;gap:var(--wc-space-3)}.shopping-list-page .shopping-purchased{overflow:hidden;margin:0;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);padding:0;background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm)}.shopping-list-page .shopping-bought-header{margin:0;border-bottom:var(--wc-border-width) solid var(--wc-color-border);padding:var(--wc-spacing-xs) var(--wc-spacing-sm);background:var(--wc-soft-green)}.shopping-list-page .shopping-bought-header h3{color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.shopping-list-page .shopping-bought-header .ui-button{min-height:var(--wc-control-height-sm);border-color:var(--wc-border-default);color:var(--wc-red-500);background:var(--wc-surface-default)}.shopping-list-item-swipe-delete{background:var(--wc-color-danger);color:var(--wc-text-primary)}@media(max-width:739px){.shopping-list-panel.embedded{padding:var(--wc-spacing-sm)}.shopping-list-page .shopping-list-panel.embedded .shopping-list-header{margin-inline:calc(-1 * var(--wc-spacing-sm));padding:var(--wc-spacing-sm)}.shopping-list-page .shopping-grouping{gap:var(--wc-spacing-xs)}.shopping-list-page .shopping-grouping .shopping-bought-toggle{padding-inline:var(--wc-spacing-xs)}.shopping-list-page .shopping-bought-label{display:none}.shopping-list-page .shopping-list-item-toggle{gap:var(--wc-spacing-xs);padding-inline:var(--wc-spacing-sm)}.shopping-list-page .shopping-item-copy small{white-space:nowrap}}.modal-backdrop.add-recipe-backdrop,.modal-backdrop.settings-backdrop,.modal-backdrop.recipe-meal-prep-backdrop,.modal-backdrop.recipe-shopping-list-backdrop{padding:max(var(--wc-space-8),env(safe-area-inset-top)) max(var(--wc-space-8),env(safe-area-inset-right)) max(var(--wc-space-8),env(safe-area-inset-bottom)) max(var(--wc-space-8),env(safe-area-inset-left))}.add-recipe-backdrop .add-recipe-modal,.recipe-selector-modal,.filter-sheet,.recipe-shopping-list-modal,.recipe-meal-prep-modal,.nutrition-breakdown-modal,.shopping-share-modal,.comment-sheet,.rating-sheet-modal{border-color:var(--wc-color-border-strong);box-shadow:var(--wc-shadow-overlay)}.modal-header{min-height:58px;border-bottom:var(--wc-border-width) solid var(--wc-color-border);padding-bottom:var(--wc-space-6)}.modal-header h2{font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:var(--wc-font-weight-display);letter-spacing:-.02em}.source-card{border-color:var(--wc-color-border-strong);padding:var(--wc-space-8);background:var(--wc-color-surface-warm)}.import-translate-toggle{border-color:var(--wc-color-border-strong);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-control);font-weight:var(--wc-font-weight-bold)}.url-import-preview-card{border-color:var(--wc-color-border-strong);background:var(--wc-green-100)}.url-import-preview-card img{border:var(--wc-border-width) solid var(--wc-color-border-strong)}.recipe-page.is-editing{background:transparent}.recipe-route .recipe-page.is-editing{width:100%;margin-inline:0;border:0;border-radius:0;box-shadow:none}.recipe-page.is-editing .recipe-edit-content,.recipe-preview-modal .recipe-preview-form{border:0;border-radius:0;box-shadow:none}.recipe-page.is-editing .recipe-edit-content{width:min(var(--wc-content-library),100%);margin-inline:auto}.preview-field-card,.preview-section-card{border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-xl);background:var(--wc-color-surface-warm);box-shadow:2px 3px color-mix(in srgb,var(--wc-ink) 9%,transparent)}.preview-section-card:nth-of-type(3n+1){background:var(--wc-green-100)}.preview-section-card:nth-of-type(3n+2){background:var(--wc-lilac-100)}.preview-section-card h3,.structured-ingredient-heading h3{color:var(--wc-color-text);font-family:var(--wc-font-display);font-weight:var(--wc-font-weight-bold)}.preview-direction-row{border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-lg);padding:var(--wc-space-4);background:var(--wc-white)}.preview-direction-row>span{border-color:var(--wc-color-border-strong);color:var(--wc-color-text);background:var(--wc-yellow-100)}.recipe-editor-form .edit-save-action{border-top-color:var(--wc-color-border-strong);background:color-mix(in srgb,var(--wc-white) 96%,transparent)}.recipe-selector-option,.custom-shopping-recipe-row,.food-library-row{border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-lg);background:var(--wc-white);box-shadow:2px 3px color-mix(in srgb,var(--wc-ink) 9%,transparent)}.recipe-selector-option.selected,.custom-shopping-recipe-row.selected{border-color:var(--wc-color-border-strong);background:var(--wc-green-100);box-shadow:var(--wc-shadow-control)}.filter-group:nth-of-type(3n+1){background:var(--wc-green-100)}.filter-group:nth-of-type(3n+2){background:var(--wc-yellow-100)}.filter-group:nth-of-type(3n){background:var(--wc-lilac-100)}.meal-prep-portion-days{gap:var(--wc-spacing-md);margin-top:var(--wc-spacing-md)}.meal-prep-portion-day-heading{gap:var(--wc-spacing-2xs);white-space:nowrap}.meal-prep-portion-day-heading strong{color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display)}.meal-prep-portion-day-heading span{color:var(--wc-text-secondary);font-size:var(--wc-font-size-body)}.meal-prep-portion-slots{gap:0}.meal-prep-portion-slot,.meal-prep-portion-slot.selected{gap:var(--wc-spacing-xs);border-top:var(--wc-border-width) solid var(--wc-color-border);padding-block:var(--wc-spacing-sm)}.meal-prep-portion-slot:first-child{border-top:0}.meal-prep-portion-slot-title{gap:var(--wc-spacing-sm)}.meal-prep-portion-slot-title>strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-regular)}.meal-prep-portion-day-recipe{grid-template-columns:var(--wc-control-height-lg) minmax(0,1fr);gap:var(--wc-spacing-sm)}.meal-prep-portion-day-recipe :is(img,.meal-prep-portion-day-recipe-manual){width:var(--wc-control-height-lg);height:var(--wc-control-height-lg);border-radius:var(--wc-radius-md)}.meal-prep-portion-day-recipe strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm)}.meal-prep-portion-day-recipe small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}.manual-meal-search-row{display:flex;align-items:center;gap:var(--wc-spacing-sm);margin-top:var(--wc-spacing-md)}.manual-meal-search-row>.ui-dialog-search{min-width:0;flex:1 1 auto}.manual-meal-search-row>.manual-meal-open-button{flex:0 0 auto;min-height:var(--wc-control-height-xl);white-space:nowrap}@media(max-width:520px){.manual-meal-search-row{flex-direction:column;align-items:stretch}}.recipe-shopping-list-fields{grid-template-columns:minmax(0,1fr) minmax(0,8rem);align-items:start;gap:var(--wc-spacing-md)}.recipe-shopping-list-portions>.themed-number-input{min-height:var(--wc-control-height-lg)}.recipe-shopping-list-portions input{width:100%;text-align:center}@media(max-width:520px){.recipe-shopping-list-fields{grid-template-columns:minmax(0,1fr)}}.modal.ui-dialog.nutrition-breakdown-modal{width:min(var(--wc-content-reading),100%)}.nutrition-breakdown-list{display:grid;min-width:0}.nutrition-breakdown-list>.nutrition-breakdown-row{border-width:var(--wc-border-width);border-radius:var(--wc-radius-lg);padding:var(--wc-spacing-sm) var(--wc-spacing-md);box-shadow:none}.nutrition-breakdown-list>.nutrition-breakdown-row+.nutrition-breakdown-row{margin-top:var(--wc-spacing-xs)}.nutrition-breakdown-list>.nutrition-row-ignored{background:var(--wc-gray-200)}.nutrition-breakdown-list>.nutrition-row-unspecified{background:var(--wc-yellow-100)}.nutrition-breakdown-list>.nutrition-row-unresolved{background:var(--wc-red-50)}.nutrition-breakdown-fields{display:grid;min-width:0;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"title title title title actions" "matched amount energy source source";gap:var(--wc-spacing-xs) var(--wc-spacing-md)}.nutrition-recipe-field{display:flex;min-width:0;grid-area:title;align-items:flex-start;justify-content:space-between;gap:var(--wc-spacing-md)}.nutrition-recipe-ingredient{min-width:0;color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight);overflow-wrap:anywhere}.nutrition-field{display:grid;min-width:0;align-content:start;gap:0}.nutrition-field--amount{grid-area:amount}.nutrition-field--energy{grid-area:energy}.nutrition-field--matched{grid-area:matched}.nutrition-field--source{grid-area:source}.nutrition-field>b{color:var(--wc-text-primary);font-size:var(--wc-font-size-xs);font-weight:var(--wc-font-weight-bold);letter-spacing:var(--wc-letter-spacing-label);text-transform:uppercase}.nutrition-field>strong{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-regular);overflow-wrap:anywhere}.nutrition-breakdown-fields>:is(.nutrition-amount-unspecified,.nutrition-unresolved-reason,.nutrition-override-form,.nutrition-ingredient-editor){grid-column:1 / -1}.nutrition-breakdown-fields>.nutrition-ingredient-actions{grid-area:actions;align-self:start;flex-wrap:nowrap;gap:var(--wc-spacing-xs);margin:0}.nutrition-ingredient-actions>.nutrition-action-button{width:var(--wc-control-height-xs);min-width:var(--wc-control-height-xs);height:var(--wc-control-height-xs);min-height:var(--wc-control-height-xs);box-shadow:var(--wc-shadow-hard-xs)}.nutrition-row-ignored .nutrition-recipe-ingredient{color:var(--wc-text-secondary)}.nutrition-breakdown-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--wc-spacing-md) var(--wc-spacing-lg);margin-bottom:var(--wc-spacing-md);background:var(--wc-green-50)}.nutrition-total-summary{display:grid;min-width:0;gap:var(--wc-spacing-2xs)}.nutrition-total-summary>strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.nutrition-total-summary>small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-body-sm)}.nutrition-mode-switch-row{display:flex;align-items:center;gap:var(--wc-spacing-sm);margin-top:var(--wc-spacing-xs);color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.nutrition-total-value{display:grid;border-left:var(--wc-border-width) solid var(--wc-color-border);padding-left:var(--wc-spacing-lg)}.nutrition-total-value>strong{color:var(--wc-green-800);font-family:var(--wc-font-display);font-size:var(--wc-font-size-2xl);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-tight);white-space:nowrap}.nutrition-total-value>small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-body)}.nutrition-breakdown-total>:is(.nutrition-manual-total-form,.nutrition-mode-error){grid-column:1 / -1}.nutrition-manual-total-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wc-spacing-sm)}.nutrition-manual-total-input{display:flex;width:12rem;min-height:var(--wc-control-height-lg);align-items:center;gap:var(--wc-spacing-xs);border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-control);padding-right:var(--wc-spacing-sm);background:var(--wc-surface-default)}.nutrition-manual-total-input:focus-within{outline:var(--wc-border-width-emphasis) solid var(--wc-green-200)}.modal.ui-dialog .nutrition-manual-total-input>.themed-number-input{min-width:0;flex:1 1 auto;border:0;background:transparent;box-shadow:none}.nutrition-manual-total-input>span{color:var(--wc-text-secondary);font-size:var(--wc-font-size-body-sm)}.nutrition-manual-total-form>.ui-button{min-height:var(--wc-control-height-lg);min-width:6rem}.nutrition-ingredient-editor{display:grid;grid-template-columns:minmax(0,9rem) auto minmax(0,1fr);gap:var(--wc-spacing-sm) var(--wc-spacing-md);margin-top:var(--wc-spacing-xs);border-top:var(--wc-border-width) solid var(--wc-color-border);padding-top:var(--wc-spacing-sm)}.nutrition-ingredient-editor-wide,.nutrition-ingredient-editor-title{grid-column:1 / -1}.nutrition-ingredient-editor.nutrition-ingredient-editor--new{grid-template-columns:minmax(0,1fr) minmax(0,9rem)}.nutrition-ingredient-editor--new>.nutrition-ingredient-editor-field:has(.nutrition-ingredient-editor-amount){justify-self:start}.nutrition-ingredient-editor-title{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.nutrition-ingredient-editor .nutrition-ingredient-editor-field{min-width:0;margin:0}.nutrition-ingredient-editor .ui-dialog-search{min-height:var(--wc-control-height-lg);padding-right:var(--wc-spacing-xs);box-shadow:none}.nutrition-ingredient-editor .ui-dialog-search input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}.nutrition-ingredient-editor .ui-dialog-search>.clear-search{display:grid;flex:0 0 auto;padding:0;place-items:center}:is(.modal.ui-dialog,.ui-fields) .nutrition-ingredient-editor-list{max-height:15rem;margin-top:0;box-shadow:none}.nutrition-ingredient-editor-list>button{display:flex;width:100%;min-height:var(--wc-control-height-md);align-items:center;justify-content:space-between;gap:var(--wc-spacing-sm);padding:var(--wc-spacing-xs) var(--wc-spacing-sm);color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);text-align:left}:is(.modal.ui-dialog,.ui-fields) .nutrition-ingredient-editor-list>button:is(:hover,:focus-visible):not(:disabled){background:var(--wc-yellow-100)}:is(.modal.ui-dialog,.ui-fields) .nutrition-ingredient-editor-list>button>strong{flex:0 0 auto;color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-regular)}.nutrition-ingredient-editor-list>.nutrition-ingredient-editor-add{justify-content:flex-start;font-weight:var(--wc-font-weight-bold)}:is(.modal.ui-dialog,.ui-fields) .nutrition-ingredient-editor-list>.nutrition-ingredient-editor-add{color:var(--wc-green-800)}:is(.modal.ui-dialog,.ui-fields) .nutrition-ingredient-editor-add>.ui-dialog-list-action{width:var(--wc-control-height-xs);height:var(--wc-control-height-xs);border-color:var(--wc-dialog-border);color:var(--wc-text-primary);background:var(--wc-color-primary)}.nutrition-ingredient-editor-amount{display:grid;grid-template-columns:7rem auto;gap:var(--wc-spacing-xs)}.nutrition-ingredient-editor .themed-number-input{min-height:var(--wc-control-height-lg)}@media(max-width:560px){.nutrition-breakdown-fields{grid-template-columns:repeat(2,minmax(0,1fr)) auto;grid-template-areas:"title title actions" "matched source source" "amount energy energy"}.nutrition-breakdown-total,.nutrition-ingredient-editor{grid-template-columns:minmax(0,1fr)}.nutrition-total-value{border-top:var(--wc-border-width) solid var(--wc-color-border);border-left:0;padding:var(--wc-spacing-sm) 0 0}}.settings-layout{gap:var(--wc-spacing-lg);padding:var(--wc-spacing-md) var(--wc-spacing-lg) var(--wc-spacing-lg)}.modal.ui-dialog .settings-navigation{gap:var(--wc-spacing-xs);border:0;padding:0;background:transparent;box-shadow:none}.settings-navigation>button{border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-lg);color:var(--wc-text-primary);background:transparent}.settings-navigation>button:hover:not(.active){background:var(--wc-dialog-section-surface)}.settings-navigation>button.active{border-color:var(--wc-dialog-border);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-hard-sm)}.settings-navigation>button>span:first-child{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-circle);color:var(--wc-green-800);background:var(--wc-surface-default)}.settings-navigation strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.settings-navigation small{color:var(--wc-text-secondary)}.settings-navigation>button.active small{color:var(--wc-text-primary)}.settings-content{padding:0 var(--wc-spacing-2xs) var(--wc-spacing-md) 0}.settings-stack{gap:var(--wc-spacing-md)}.settings-stack>.ui-dialog-section{margin:0}.profile-avatar-image .settings-avatar,.household-person-avatar{border:var(--wc-border-width) solid var(--wc-dialog-border);box-shadow:var(--wc-shadow-control)}.account-security-section,.household-subsection{border-top:var(--wc-border-width) solid var(--wc-color-border)}.ui-dialog-section-body>:is(.account-security-section,.household-subsection,.profile-language-settings):first-child{border-top:0;padding-top:0}.account-security-heading>svg{color:var(--wc-green-800)}.household-selector-pill{border:var(--wc-border-width) solid var(--wc-dialog-border);border-radius:var(--wc-radius-pill);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm)}.household-selector-pill.active{background:var(--wc-color-primary)}.household-selector-pill :is(.household-selector-choice,.household-pill-name){color:var(--wc-text-primary)}.household-subsection-label{text-transform:none;letter-spacing:0}.household-subsection-title>svg{color:var(--wc-green-800)}.tag-create-row>.ui-button--icon{width:var(--wc-control-height-lg);min-width:var(--wc-control-height-lg);height:var(--wc-control-height-lg)}.food-library-tools>.ui-button--icon{width:var(--wc-control-height-xl);min-width:var(--wc-control-height-xl);height:var(--wc-control-height-xl)}.household-selector-label,.household-subsection-label,.profile-language-field>span:first-child{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}@media(max-width:680px){.settings-layout{padding:var(--wc-spacing-sm)}.settings-navigation>button,.settings-navigation>button.active{border-color:var(--wc-dialog-border);box-shadow:var(--wc-shadow-hard-sm)}.settings-navigation>button:not(.active){background:var(--wc-surface-default)}.settings-section--lead>.ui-dialog-section-band{display:none}}.shopping-share-modal{border-color:var(--wc-color-border-strong);border-radius:var(--wc-radius-dialog)}.shopping-share-form,.shopping-share-collaborators{border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-xl);padding:var(--wc-space-8);background:var(--wc-color-surface-warm)}.auth-page{background:transparent}.auth-shell{width:min(470px,100%)}.auth-panel>.auth-logo{justify-self:center;width:min(190px,56vw);margin:0 0 var(--wc-spacing-xs);filter:none}.auth-panel{gap:var(--wc-spacing-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-dialog);padding:clamp(24px,5vw,38px);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-md)}.auth-panel>.auth-forgot-link{justify-self:end;margin-top:calc(-1 * var(--wc-spacing-xs))}.auth-actions{display:grid;gap:var(--wc-spacing-sm);margin-top:var(--wc-spacing-xs)}.auth-actions>.ui-button{width:100%;min-height:var(--wc-control-height-lg)}.auth-actions>.auth-google>svg{flex:0 0 auto}.system-screen,.recipe-feed-loading,.meal-prep-loading,.empty-state{color:var(--wc-color-text)}.recipe-feed-loading,.meal-prep-loading,.empty-state:not(.meal-prep-load-error){border:var(--wc-border-width) dashed var(--wc-color-outline);border-radius:var(--wc-radius-2xl);padding:var(--wc-space-16);background:color-mix(in srgb,var(--wc-white) 76%,transparent)}.empty-state>svg,.recipe-feed-loading>svg,.meal-prep-loading>svg{width:48px;height:48px;border:var(--wc-border-width) solid var(--wc-color-border-strong);border-radius:var(--wc-radius-circle);padding:var(--wc-space-6);color:var(--wc-color-text);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-hard-sm)}.empty-state h3{color:var(--wc-color-text);font-family:var(--wc-font-display);font-size:1.35rem;font-weight:var(--wc-font-weight-display)}.phone-app.cooking-mode-page{position:relative;inset:auto;z-index:auto;display:flex;height:auto;flex-direction:column;grid-template-rows:none;overflow:visible;background:var(--wc-surface-default)}.cooking-add-recipe-dialog{max-height:min(80dvh,720px)}.cooking-add-recipe-dialog .search-box{width:100%}.cooking-add-recipe-options{display:grid;gap:var(--wc-spacing-2xs);min-height:0;overflow-y:auto}.cooking-add-recipe-options>p{margin:var(--wc-spacing-md);color:var(--wc-text-secondary)}@media(max-width:739px){body.cooking-fullscreen-open{overflow:hidden}.phone-app.cooking-mode-page.is-fullscreen{position:fixed;z-index:var(--wc-z-dialog);top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;margin:0;overflow-y:auto;border:0;border-radius:0}.cooking-mode-page.is-fullscreen>.app-navigation-bar,.cooking-mode-page.is-fullscreen .app-footer{display:none}}.cooking-mode-page .cooking-mode-scroll{min-height:0;flex:1 0 auto;overflow:visible;overscroll-behavior:auto}.cooking-mode-page .cooking-mode-header{position:sticky;top:calc(env(safe-area-inset-top) + var(--wc-spacing-xs));z-index:20}.cooking-mode-header,.cooking-mode-ingredients{width:min(var(--wc-cooking-content-width),calc(100% - 2 * var(--wc-page-content-gutter)))}.cooking-mode-header{grid-template-columns:var(--wc-cooking-thumb-size) minmax(0,1fr) auto;gap:var(--wc-spacing-2xs) var(--wc-spacing-sm);margin:var(--wc-spacing-sm) auto 0;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);padding:var(--wc-spacing-xs) var(--wc-spacing-md);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-hard-sm);-webkit-backdrop-filter:none;backdrop-filter:none}.cooking-mode-avatar{width:var(--wc-cooking-thumb-size);height:var(--wc-cooking-thumb-size);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-md);box-shadow:var(--wc-shadow-hard-xs)}.cooking-mode-title>span{gap:var(--wc-spacing-2xs);margin-bottom:var(--wc-space-1);color:var(--wc-text-secondary);font-size:var(--wc-font-size-xs);font-weight:var(--wc-font-weight-bold);letter-spacing:var(--wc-letter-spacing-label)}.cooking-mode-label-icon{display:block;flex:0 0 auto;width:1.25rem;height:1.25rem;object-fit:contain}.cooking-mode-title h1{display:-webkit-box;overflow:hidden;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-cooking-title-size);font-weight:var(--wc-font-weight-display);letter-spacing:-.02em;line-height:var(--wc-line-height-tight);white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cooking-mode-header-actions{gap:var(--wc-spacing-xs)}.cooking-mode-header :is(.cooking-clear-progress,.cooking-remove-recipe){width:var(--wc-control-height-md);min-width:var(--wc-control-height-md);height:var(--wc-control-height-md);min-height:var(--wc-control-height-md);flex-basis:var(--wc-control-height-md);border-color:var(--wc-border-default);padding:0;color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-control)}.cooking-mode-header .cooking-remove-recipe{background:var(--wc-color-danger)}.cooking-recipe-tabs-row{grid-template-columns:minmax(0,1fr) var(--wc-control-height-md);gap:var(--wc-spacing-xs);margin-top:0}.cooking-recipe-tabs{display:flex;min-width:0;gap:var(--wc-spacing-xs);overflow-x:auto;overscroll-behavior-inline:contain;padding:var(--wc-space-1) var(--wc-space-2) var(--wc-space-2) var(--wc-space-1);scrollbar-width:none}.cooking-recipe-tab{width:auto;min-width:0;max-width:var(--wc-cooking-tab-max-width);min-height:var(--wc-cooking-tab-height);flex:0 0 auto;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-control)}.cooking-recipe-tab>button:first-child{min-height:calc(var(--wc-cooking-tab-height) - 2 * var(--wc-border-width));gap:var(--wc-spacing-xs);padding:var(--wc-space-2) var(--wc-spacing-sm) var(--wc-space-2) var(--wc-space-2);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-medium);line-height:var(--wc-line-height-tight)}.cooking-recipe-tab>button:first-child img{width:var(--wc-cooking-tab-thumb);height:var(--wc-cooking-tab-thumb);flex-basis:var(--wc-cooking-tab-thumb);border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-circle)}.cooking-mode-scroll{padding-top:var(--wc-spacing-sm);padding-inline:0}.cooking-mode-ingredients{gap:var(--wc-spacing-sm)}.cooking-ingredient-group{border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-lg);padding:var(--wc-spacing-md);background:var(--wc-canvas);box-shadow:none}.cooking-ingredient-group.is-collapsed{padding-block:var(--wc-spacing-sm)}.cooking-ingredient-group-heading{gap:var(--wc-spacing-sm);margin-bottom:var(--wc-spacing-sm)}.cooking-ingredient-group-heading.is-toggleable{cursor:pointer}.cooking-ingredient-group h2,.cooking-ingredient-group.has-default-title h2{display:block;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-cooking-heading-size);font-weight:var(--wc-font-weight-display);letter-spacing:-.01em;text-transform:none}.cooking-ingredient-group h2:after{display:none}.cooking-ingredient-group-toggle.ui-button{width:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm)}.cooking-ingredient-list{gap:var(--wc-spacing-sm);overflow:visible;border:0;border-radius:0;background:transparent}.cooking-ingredient{grid-template-columns:var(--wc-cooking-check-size) minmax(0,1fr);gap:var(--wc-spacing-md);min-height:var(--wc-cooking-row-height);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-md);padding:var(--wc-spacing-2xs) var(--wc-spacing-md);background:var(--wc-surface-default);box-shadow:none}.cooking-ingredient:hover{border-color:var(--wc-border-default);background:var(--wc-lilac-100)}.cooking-ingredient-check{width:var(--wc-cooking-check-size);height:var(--wc-cooking-check-size);border:var(--wc-border-width-emphasis) solid var(--wc-lavender-strong);background:var(--wc-lavender)}.cooking-ingredient:hover .cooking-ingredient-check,.cooking-ingredient.is-used .cooking-ingredient-check{background:var(--wc-lavender-strong)}.cooking-ingredient-check svg{width:var(--wc-spacing-sm);height:var(--wc-spacing-sm)}.cooking-ingredient.is-used{border-color:var(--wc-border-default);background:var(--wc-gray-100);transform:none}.cooking-ingredient-text{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:var(--wc-spacing-md);font-size:var(--wc-font-size-body)}.cooking-ingredient-name{min-width:0;color:var(--wc-text-primary)}.cooking-ingredient-amount{flex:0 0 auto;color:var(--wc-text-secondary);white-space:nowrap}.cooking-directions-bar{position:sticky;right:auto;bottom:0;left:auto;width:min(var(--wc-content-navigation),calc(100% - var(--wc-spacing-lg)));margin:var(--wc-spacing-md) auto 0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}.cooking-directions-inner{position:relative;width:min(var(--wc-content-navigation),100%);gap:var(--wc-space-2);border:var(--wc-border-width) solid var(--wc-border-default);border-bottom:0;border-radius:var(--wc-radius-xl) var(--wc-radius-xl) 0 0;padding:var(--wc-spacing-sm) var(--wc-spacing-md) calc(var(--wc-spacing-sm) + env(safe-area-inset-bottom));background:var(--wc-soft-green);box-shadow:var(--wc-shadow-hard-sm)}.cooking-directions-meta{justify-content:center}.cooking-directions-meta>span{color:var(--wc-green-800);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-bold);letter-spacing:var(--wc-letter-spacing-label);text-transform:uppercase}.cooking-directions-meta>.ui-kcal-pill{position:absolute;top:var(--wc-spacing-xs);right:var(--wc-spacing-sm);font-weight:var(--wc-font-weight-bold)}.cooking-direction-row{grid-template-columns:var(--wc-cooking-step-button) minmax(0,1fr) var(--wc-cooking-step-button);gap:var(--wc-spacing-md);border:0;border-radius:0;background:transparent;box-shadow:none}.cooking-direction-row p{max-height:var(--wc-cooking-step-max-height);overflow-y:auto;color:var(--wc-text-primary);font-size:var(--wc-font-size-body);line-height:var(--wc-line-height-body);text-align:center}.cooking-direction-row .ui-button.cooking-direction-next{border-color:var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-surface-default)}.cooking-direction-row .ui-button.ui-button--icon{width:var(--wc-cooking-step-button);min-width:var(--wc-cooking-step-button);height:var(--wc-cooking-step-button);min-height:var(--wc-cooking-step-button)}.cooking-mode-content{display:contents}.cooking-directions-desktop,.cooking-desktop-actions,.cooking-mobile-actions,.cooking-directions-collapsed,.cooking-ingredient-group-toggle--mobile{display:none}.cooking-step-timeline{position:relative;display:grid;gap:var(--cooking-step-gap, var(--wc-spacing-lg));margin:0;padding:0;list-style:none}.cooking-step-timeline li:not(:last-child):before{position:absolute;z-index:0;top:calc(var(--wc-control-height-md) / 2);bottom:calc(-1 * var(--cooking-step-gap, var(--wc-spacing-lg)));left:calc(var(--wc-control-height-md) / 2);width:var(--wc-border-width);background:var(--wc-border-default);content:""}.cooking-step-marker{position:relative;z-index:1}.cooking-step-timeline li{position:relative;margin:0}.cooking-step-timeline button{display:grid;width:100%;grid-template-columns:var(--wc-control-height-md) minmax(0,1fr);align-items:start;gap:var(--wc-spacing-sm);border:0;padding:0;color:var(--wc-text-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.cooking-step-marker{display:grid;width:var(--wc-control-height-md);height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-text-primary);background:var(--wc-surface-default);font-weight:var(--wc-font-weight-bold)}.cooking-step-timeline .is-complete .cooking-step-marker{color:var(--wc-surface-default);background:var(--wc-primary)}.cooking-step-timeline .is-active .cooking-step-marker{background:var(--wc-primary)}.cooking-step-copy{display:block;min-width:0;border-radius:var(--wc-radius-md);padding:var(--wc-spacing-sm);line-height:var(--wc-line-height-body);overflow-wrap:anywhere}.cooking-step-timeline .is-active .cooking-step-copy{background:var(--wc-green-200)}.cooking-step-timeline button:hover .cooking-step-copy,.cooking-step-timeline button:focus-visible .cooking-step-copy{background:var(--wc-green-50)}.cooking-step-timeline button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-green-800);outline-offset:var(--wc-spacing-2xs);border-radius:var(--wc-radius-sm)}.cooking-directions-empty{margin:0;color:var(--wc-text-secondary)}@media(min-width:740px){.cooking-ingredient-group.is-collapsed .cooking-ingredient-list{display:none}}@media(min-width:1024px){.cooking-mode-page{--wc-cooking-content-width: calc(100% - 2 * var(--wc-page-content-gutter))}.cooking-mode-header{grid-template-rows:auto auto;grid-template-columns:var(--wc-cooking-thumb-size-desktop) minmax(0,1fr) auto;column-gap:var(--wc-spacing-md)}.cooking-mode-avatar{grid-row:1 / span 2;width:var(--wc-cooking-thumb-size-desktop);height:var(--wc-cooking-thumb-size-desktop)}.cooking-mode-title h1{font-size:var(--wc-cooking-title-size)}.cooking-mode-header-actions{grid-column:3;grid-row:1;align-self:start}.cooking-mode-header-actions>:not(.cooking-desktop-actions),.cooking-recipe-tabs-row>.wc-select--recipe-picker{display:none}.cooking-recipe-tabs-row{grid-column:2;grid-row:2;grid-template-columns:minmax(0,1fr)}.cooking-desktop-actions{display:block}.cooking-mode-page .cooking-mode-scroll{padding-bottom:var(--wc-spacing-xl)}.cooking-mode-content{display:grid;width:min(var(--wc-cooking-content-width),calc(100% - 2 * var(--wc-page-content-gutter)));grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--wc-spacing-md);margin:0 auto}.cooking-mode-ingredients{width:100%;margin:0}.cooking-directions-desktop{display:block;min-width:0;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);padding:var(--wc-spacing-md);background:var(--wc-soft-green)}.cooking-directions-desktop .cooking-directions-meta{justify-content:space-between;margin-bottom:var(--wc-spacing-md)}.cooking-directions-desktop .cooking-directions-meta>.ui-kcal-pill{position:static}.cooking-mode-page .cooking-directions-bar{position:fixed;right:0;bottom:0;left:auto;width:0;height:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;transform:none;pointer-events:none}.cooking-mode-page .cooking-directions-inner{display:none}.cooking-mode-page .cooking-controls-row{position:fixed;right:calc(var(--wc-shell-edge) + 1rem);bottom:1rem;left:auto;width:auto;transform:none}.cooking-mode-page .cooking-controls-row .cooking-assistant{position:fixed;right:calc(var(--wc-shell-edge) + 1rem);bottom:1rem}.cooking-mode-page .cooking-controls-row:has(.cooking-assistant){right:calc(var(--wc-shell-edge) + 1rem + var(--wc-assistant-launcher-size) + var(--wc-spacing-sm));bottom:calc(1rem + (var(--wc-assistant-launcher-size) - var(--wc-control-height-xl)) / 2)}.cooking-mode-page .cooking-controls-row .cooking-assistant-window{position:absolute;right:0;bottom:calc(100% + var(--wc-spacing-sm))}}@media(min-width:740px){.cooking-mode-scroll{padding-bottom:0}.cooking-directions-bar{bottom:0;width:min(var(--wc-content-navigation),calc(100% - var(--wc-spacing-lg)));border:0;border-radius:0;padding:0;transform:none}}@media(max-width:739px){.cooking-mode-header,.cooking-mode-ingredients{width:calc(100% - 2 * var(--wc-spacing-md))}.cooking-mode-header{grid-template-columns:var(--wc-cooking-thumb-size-mobile) minmax(0,1fr) auto;gap:var(--wc-spacing-xs);padding-inline:var(--wc-spacing-sm)}.cooking-mode-avatar{display:block;width:var(--wc-cooking-thumb-size-mobile);height:var(--wc-cooking-thumb-size-mobile)}.cooking-mode-title h1{font-size:var(--wc-font-size-lg)}.cooking-ingredient-group{padding:var(--wc-spacing-sm)}.cooking-ingredient{padding-inline:var(--wc-spacing-sm)}.cooking-ingredient-group h2,.cooking-ingredient-group.has-default-title h2{font-size:var(--wc-font-size-lg)}.cooking-direction-row{gap:var(--wc-spacing-xs)}}@media(min-width:740px){.mobile-hero{margin-top:0}.recipe-feed.card-view{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{align-items:center;padding:var(--wc-space-8)}.sheet-modal{border-radius:var(--wc-radius-dialog)}}@media(min-width:1080px){.recipe-feed.card-view{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:740px){.hero-search-row{width:min(422px,100%);margin:0 0 0 auto;gap:var(--wc-space-5)}.hero-search-row+.hero-controls{margin-left:var(--wc-space-8)}}@media(max-width:900px){.settings-layout{gap:var(--wc-space-6)}}@media(max-width:1359px){.meal-prep-compact-header,.meal-prep-compact-header.has-scope-toggle{grid-template-columns:minmax(0,1fr);justify-items:start}.meal-prep-action-rail{max-width:100%}}@media(max-width:900px){.meal-prep-action-rail{display:grid;width:100%;gap:var(--wc-spacing-md)}.meal-prep-action-rail .meal-prep-scope-toggle{width:100%;padding:0 0 var(--wc-spacing-md);border-right:0;border-bottom:var(--wc-border-width) solid var(--wc-color-border)}}@media(max-width:739px){.mobile-hero{width:calc(100% - 24px);margin-top:max(var(--wc-space-6),env(safe-area-inset-top));border-radius:var(--wc-radius-2xl);padding-right:max(var(--wc-space-5),env(safe-area-inset-right));padding-left:max(var(--wc-space-5),env(safe-area-inset-left));box-shadow:3px 4px 0 var(--wc-color-border-strong)}.hero-row{gap:var(--wc-space-4)}.app-header-logo{width:92px;height:38px}.hero-search-row{margin-top:var(--wc-space-4)}.profile-menu-container{margin-left:0}.page-navigation{gap:2px;padding:2px}.page-navigation button{width:36px;height:36px;min-height:36px;flex-basis:36px}.avatar{width:42px;height:42px}.categories-section{border-radius:var(--wc-radius-xl);padding:var(--wc-space-8)}.categories-section{margin-bottom:var(--wc-space-8)}.feed-heading{margin-top:var(--wc-space-10)}.recipe-feed{gap:var(--wc-space-8)}.recipe-card:not(.list-card) .recipe-image{aspect-ratio:4 / 3}.meal-prep-compact-header,.meal-prep-compact-header.has-scope-toggle{grid-template-columns:minmax(0,1fr);gap:var(--wc-space-6)}.meal-prep-calorie-setting{flex-wrap:wrap;font-size:var(--wc-font-size-body)}.meal-prep-action-rail .meal-prep-create-button{font-size:var(--wc-font-size-lg)}.shopping-list-accordion-trigger{grid-template-columns:var(--wc-control-height-sm) minmax(0,1fr) auto;padding:var(--wc-spacing-sm)}.shopping-list-accordion-header>.ui-collapse-toggle{margin-right:var(--wc-spacing-sm)}.shopping-list-accordion-trigger .shopping-list-accordion-icon{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm)}.shopping-list-accordion-trigger .shopping-list-accordion-copy strong{font-size:var(--wc-font-size-body)}.shopping-list-accordion-trigger .shopping-list-accordion-count{min-height:var(--wc-control-height-xs);padding-inline:var(--wc-spacing-sm);font-size:var(--wc-font-size-sm)}.shopping-list-header{padding:var(--wc-space-6)}.settings-modal.sheet-modal{border-right:0;border-bottom:0;border-left:0}.settings-layout{gap:var(--wc-space-5);padding:var(--wc-space-6)}.auth-panel{border-radius:var(--wc-radius-2xl);padding:var(--wc-space-10);box-shadow:var(--wc-shadow-hard-md)}}@media(max-width:520px){.hero-add-button{display:none}.meal-prep-action-rail{padding:var(--wc-spacing-sm)}.meal-prep-action-rail .meal-prep-create-button{height:var(--wc-touch-target);min-height:var(--wc-touch-target)}.creation-scope-toggle>span{font-size:var(--wc-font-size-body)}.shopping-page-heading .shopping-new-list-button span,.meal-prep-create-button>span:not(.circle-action-icon){position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}.shopping-page-heading .shopping-new-list-button,.meal-prep-create-button{width:var(--wc-touch-target);min-width:var(--wc-touch-target);height:var(--wc-touch-target);min-height:var(--wc-touch-target);border-radius:var(--wc-radius-circle);padding:0}.modal{border-radius:var(--wc-radius-2xl) var(--wc-radius-2xl) 0 0}}@media(prefers-reduced-motion:reduce){.recipe-card,.shopping-list-accordion,.meal-prep-week-card,.planned-meal,.shopping-list-item{transition-duration:1ms}}@media(max-width:739px){.cooking-mode-page .cooking-mode-header{grid-template-columns:var(--wc-cooking-thumb-size-phone) minmax(0,1fr) var(--wc-control-height-md);gap:var(--wc-spacing-sm);padding:var(--wc-spacing-sm)}.cooking-mode-page .cooking-mode-avatar{width:var(--wc-cooking-thumb-size-phone);height:var(--wc-cooking-thumb-size-phone)}.cooking-mode-page .cooking-mode-title h1{font-size:var(--wc-font-size-xl)}.cooking-mode-page .cooking-mobile-actions{display:block}.cooking-mode-page .cooking-mode-header-actions>:not(.cooking-mobile-actions),.cooking-mode-page .cooking-recipe-tabs-row>.wc-select--recipe-picker{display:none}.cooking-mode-page .cooking-recipe-tabs-row{grid-template-columns:minmax(0,1fr);padding:0;border:0;background:transparent;box-shadow:none}.cooking-mode-page .cooking-recipe-tabs{width:100%;padding-block:var(--wc-space-1)}.cooking-mode-page .cooking-ingredient-group{padding:var(--wc-spacing-md);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-soft-sm)}.cooking-mode-page .cooking-ingredient-group.is-collapsed{padding-block:var(--wc-spacing-md)}.cooking-mode-page .cooking-ingredient-group-heading,.cooking-mode-page .cooking-ingredient-group.is-collapsed .cooking-ingredient-group-heading{margin-bottom:var(--wc-spacing-xs)}.cooking-mode-page .cooking-ingredient-group.is-mobile-collapsed .cooking-ingredient-group-heading{margin-bottom:0}.cooking-mode-page .cooking-ingredient-group-heading.is-toggleable{cursor:default}.cooking-mode-page .cooking-ingredient-group-toggle--desktop{display:none}.cooking-mode-page .cooking-ingredient-group-toggle--mobile{display:grid;flex:0 0 var(--wc-control-height-sm)}.cooking-mode-page .cooking-ingredient-group.is-mobile-collapsed .cooking-ingredient-list{display:none}.cooking-mode-page .cooking-ingredient-list{gap:0}.cooking-mode-page .cooking-ingredient{min-height:var(--wc-touch-target);border:0;border-top:var(--wc-border-width) solid var(--wc-color-outline);border-radius:0;padding-inline:var(--wc-space-1);background:transparent}.cooking-mode-page .cooking-ingredient.is-used{border-color:var(--wc-color-outline);background:transparent}.cooking-mode-page .cooking-ingredient:hover{background:var(--wc-lilac-100)}.cooking-mode-page .cooking-directions-bar{position:fixed;right:0;bottom:calc(var(--wc-mobile-bottom-nav-height) + env(safe-area-inset-bottom));left:0;z-index:5;width:100%;margin:0;padding:var(--wc-spacing-xs) var(--wc-spacing-sm);background:var(--wc-surface-default)}.cooking-mode-page .cooking-directions-inner{display:none}.cooking-mode-page .cooking-directions-collapsed{display:flex;width:100%;min-height:var(--wc-cooking-directions-bar-height);align-items:center;gap:var(--wc-spacing-sm);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding:var(--wc-spacing-xs) var(--wc-spacing-sm);color:var(--wc-text-primary);background:var(--wc-soft-green);box-shadow:var(--wc-shadow-hard-sm);font:inherit;text-align:left}.cooking-directions-collapsed-icon{display:grid;width:var(--wc-control-height-md);height:var(--wc-control-height-md);flex:0 0 var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;background:var(--wc-primary)}.cooking-directions-collapsed strong{min-width:0;flex:1;font-weight:var(--wc-font-weight-bold)}.cooking-directions-collapsed-step{flex:0 0 auto;border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);padding:var(--wc-space-2) var(--wc-spacing-sm);background:var(--wc-surface-default);white-space:nowrap}.cooking-mode-page .cooking-mode-scroll{padding-bottom:calc(var(--wc-mobile-bottom-nav-height) + var(--wc-cooking-directions-bar-height) + 3 * var(--wc-spacing-md) + env(safe-area-inset-bottom))}.cooking-directions-sheet-layer{position:fixed;z-index:120;inset:0 0 calc(var(--wc-mobile-bottom-nav-height) + env(safe-area-inset-bottom))}.cooking-directions-sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;padding:0;background:color-mix(in srgb,var(--wc-ink) 48%,transparent)}.cooking-directions-sheet{position:absolute;right:0;bottom:0;left:0;display:flex;height:min(62dvh,680px);max-height:calc(100dvh - var(--wc-mobile-bottom-nav-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--wc-spacing-md));flex-direction:column;border:var(--wc-border-width) solid var(--wc-border-default);border-bottom:0;border-radius:var(--wc-radius-xl) var(--wc-radius-xl) 0 0;background:var(--wc-soft-green);box-shadow:var(--wc-shadow-hard-sm)}.cooking-directions-sheet-top{position:relative;z-index:1;display:flex;min-height:calc(var(--wc-control-height-lg) + var(--wc-spacing-sm));align-items:center;justify-content:center;flex:0 0 auto;background:var(--wc-soft-green);touch-action:pan-x}.cooking-directions-sheet-handle{width:var(--wc-control-height-md);height:var(--wc-space-1);border-radius:var(--wc-radius-pill);background:var(--wc-color-outline)}.cooking-directions-sheet-close{position:absolute;top:var(--wc-spacing-sm);right:var(--wc-spacing-sm)}.cooking-directions-sheet-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--wc-spacing-lg) var(--wc-spacing-lg);contain:paint;-webkit-overflow-scrolling:touch}.cooking-directions-sheet-heading{position:relative;z-index:2;justify-content:space-between;flex:0 0 auto;padding:0 var(--wc-spacing-lg) var(--wc-spacing-md);background:var(--wc-soft-green)}.cooking-directions-sheet-heading>span{font-size:var(--wc-font-size-body)}.cooking-directions-sheet-heading>.ui-kcal-pill{position:static}.cooking-directions-sheet .cooking-step-timeline{--cooking-step-gap: var(--wc-spacing-lg)}.cooking-directions-sheet .cooking-step-timeline .is-active .cooking-step-copy{background:var(--wc-green-200)}.cooking-directions-timeline-sheet .cooking-step-copy strong{display:block;margin-bottom:var(--wc-space-2);font-weight:var(--wc-font-weight-bold)}.cooking-directions-timeline-sheet .cooking-step-copy>span{display:block;color:var(--wc-text-secondary)}.cooking-directions-timeline-sheet .is-complete .cooking-step-marker{color:var(--wc-text-primary)}.cooking-directions-timeline-sheet .is-active .cooking-step-marker{color:var(--wc-surface-default)}}.meal-prep-page .meal-prep-week-trigger .shopping-list-accordion-icon{border:0;background:var(--wc-yellow-100)}.meal-prep-page .meal-prep-week-content{border-top:0}.meal-prep-page .meal-prep-week-content>.archived-week-note{margin:var(--wc-spacing-md) var(--wc-spacing-md) 0}.meal-prep-page .meal-prep-week-content>.meal-prep-days{gap:var(--wc-spacing-md);padding:var(--wc-spacing-md)}.meal-prep-page .meal-prep-day-card{gap:0;overflow:hidden;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);padding:0;background:var(--wc-surface-default);background-image:none;box-shadow:var(--wc-shadow-hard-sm)}.meal-prep-page .meal-prep-day-header{align-items:center;gap:var(--wc-spacing-sm);border-bottom:var(--wc-border-width) solid var(--wc-color-border);padding:var(--wc-spacing-xs) var(--wc-spacing-xs) var(--wc-spacing-xs) var(--wc-spacing-md);background:var(--wc-canvas);cursor:pointer}.meal-prep-page .meal-prep-day-card.collapsed .meal-prep-day-header{border-bottom:0}.meal-prep-page .meal-prep-day-header>div{flex:1 1 auto;min-width:0}.meal-prep-page .meal-prep-day-header h4{align-items:baseline;gap:var(--wc-spacing-sm);color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display);letter-spacing:var(--wc-letter-spacing-label)}.meal-prep-page .meal-prep-day-header h4>span{text-transform:uppercase}.meal-prep-page .meal-prep-day-header h4 small{color:var(--wc-text-secondary);font-family:var(--wc-font-body);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-regular);letter-spacing:0}.meal-prep-page .meal-prep-day-body{display:grid;gap:var(--wc-spacing-sm);padding:var(--wc-spacing-sm) var(--wc-spacing-md) var(--wc-spacing-md)}.meal-prep-page .planned-meal-slots{gap:var(--wc-spacing-sm)}.meal-prep-page .planned-meal-slot,.meal-prep-page .planned-meal-list{gap:var(--wc-spacing-xs)}.meal-prep-page .planned-meal-slot-header{min-height:var(--wc-control-height-sm)}.meal-prep-page .planned-meal-slot-heading{color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.meal-prep-page :is(.planned-meal,.planned-meal-swipe-shell){border-radius:var(--wc-radius-md)}.meal-prep-page .planned-meal{grid-template-columns:minmax(0,1fr) auto;gap:var(--wc-spacing-sm);border:var(--wc-border-width) solid var(--wc-border-default);padding:var(--wc-spacing-xs) var(--wc-spacing-sm);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-control-hover)}.meal-prep-page .planned-meal-main{grid-template-columns:var(--wc-control-height-xs) var(--wc-planner-thumb-size) minmax(0,1fr);gap:var(--wc-spacing-sm)}.meal-prep-page .planned-meal-drag-handle{width:var(--wc-control-height-xs);height:var(--wc-control-height-xs);color:var(--wc-text-primary);background:transparent}.meal-prep-page .planned-meal-image{width:var(--wc-planner-thumb-size);height:var(--wc-planner-thumb-size);border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-sm)}.meal-prep-page .planned-meal h5{color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.meal-prep-page .planned-meal p{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}.meal-prep-page .planned-meal-actions .icon-button{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);border-color:transparent;background:transparent;box-shadow:none}.meal-prep-page :is(.planned-meal-list,.planned-meal-slot).drop-target{background:color-mix(in srgb,var(--wc-green-100) 74%,transparent);box-shadow:inset 0 0 0 2px var(--wc-color-brand-strong)}@media(max-width:739px){.meal-prep-page .meal-prep-week-content>.meal-prep-days{padding:var(--wc-spacing-sm)}.meal-prep-page .meal-prep-day-header{padding-left:var(--wc-spacing-sm)}.meal-prep-page .meal-prep-day-header h4{font-size:var(--wc-font-size-body)}.meal-prep-page .planned-meal-slot-heading{font-size:var(--wc-font-size-body-sm)}.meal-prep-page .meal-prep-day-body{padding:var(--wc-spacing-xs) var(--wc-spacing-sm) var(--wc-spacing-sm)}.meal-prep-page .planned-meal-main{grid-template-columns:var(--wc-control-height-xs) var(--wc-control-height-lg) minmax(0,1fr);gap:var(--wc-spacing-xs)}.meal-prep-page .planned-meal-image{width:var(--wc-control-height-lg);height:var(--wc-control-height-lg)}}.recipe-editor-form.recipe-preview-form :is(.source-card,.preview-section-card,.preview-section-card:nth-of-type(n)){border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-md);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-sm)}.recipe-editor-form.recipe-preview-form .source-card.form-grid{align-content:start;background:var(--wc-yellow-100)}.recipe-editor-form.recipe-preview-form .editable-photo{border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);box-shadow:var(--wc-shadow-hard-sm)}.recipe-editor-form.recipe-preview-form .photo-edit-button{width:var(--wc-touch-target);height:var(--wc-touch-target);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs)}.recipe-editor-form.recipe-preview-form :is(.structured-ingredient-heading h3,.preview-directions-editor h3):after{display:none}.recipe-editor-form.recipe-preview-form .source-card.form-grid{gap:var(--wc-spacing-md)}.recipe-editor-form.recipe-preview-form .recipe-portions-field{width:min(10rem,100%)}.recipe-details-sharing{border-top:var(--wc-border-width) solid var(--wc-color-border);padding-top:var(--wc-spacing-md)}.recipe-details-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--wc-spacing-sm);border-top:var(--wc-border-width) solid var(--wc-color-border);padding-top:var(--wc-spacing-md)}.recipe-details-utility-actions{display:flex;flex-wrap:wrap;gap:var(--wc-spacing-sm);margin-right:auto}.recipe-details-utility-actions:empty{display:none}.recipe-editor-form.recipe-preview-form :is(.structured-ingredient-heading h3,.preview-directions-editor h3){display:block;width:auto;min-height:0;letter-spacing:0;line-height:var(--wc-line-height-heading);text-transform:none;margin:0;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display)}.recipe-editor-form.recipe-preview-form .structured-ingredient-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--wc-spacing-sm);margin-bottom:var(--wc-spacing-sm)}.recipe-editor-form.recipe-preview-form :is(.structured-ingredient-section,.preview-directions-editor){display:grid;gap:var(--wc-spacing-sm);margin-top:var(--wc-spacing-md);padding:0;border:0;background:transparent;box-shadow:none}.recipe-editor-form.recipe-preview-form :is(.structured-ingredient-section,.preview-directions-editor)>.structured-ingredient-heading{margin:0;padding-inline:var(--wc-spacing-2xs)}.recipe-editor-form.recipe-preview-form .structured-ingredient-list{display:grid;gap:var(--wc-spacing-md)}.recipe-editor-form.recipe-preview-form :is(.structured-ingredient-group,.preview-direction-group){display:grid;gap:var(--wc-spacing-sm);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-md);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-sm)}.category-picker .category-pill-list,.recipe-editor-form.recipe-preview-form .editable-tag-editor .tag-chip-grid{display:flex;flex-wrap:wrap;gap:var(--wc-spacing-xs)}.recipe-editor-form.recipe-preview-form .preview-ingredient-section-title{margin:0;padding:0;border:0;background:transparent}.recipe-editor-form.recipe-preview-form .preview-ingredient-section-title h4{margin:0;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-display)}.recipe-editor-form.recipe-preview-form .preview-ingredient-card,.recipe-editor-form.recipe-preview-form .preview-direction-row{border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm)}.recipe-editor-form.recipe-preview-form .preview-ingredient-row>.nutrition-ingredient-actions{align-self:end;align-items:center;gap:var(--wc-spacing-xs);min-height:var(--wc-control-height-lg)}.recipe-editor-form.recipe-preview-form .preview-ingredient-row>.nutrition-ingredient-editor{grid-column:1 / -1;border-top:var(--wc-border-width) solid var(--wc-color-border);padding-top:var(--wc-spacing-sm)}.recipe-editor-form.recipe-preview-form :is(.preview-ingredient-remove,.preview-direction-remove,.preview-direction-drag,.nutrition-ingredient-actions>.nutrition-action-button){display:inline-grid;place-items:center;align-self:center;width:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);margin:0;box-shadow:var(--wc-shadow-hard-xs)}.recipe-editor-form.recipe-preview-form :is(.preview-ingredient-remove,.preview-direction-remove,.preview-direction-drag){border:var(--wc-border-width) solid var(--wc-border-default);color:var(--wc-text-primary)}.recipe-editor-form.recipe-preview-form :is(.preview-ingredient-remove,.preview-direction-remove){background:var(--wc-color-danger)}.recipe-editor-form.recipe-preview-form .preview-direction-drag{background:var(--wc-surface-default);cursor:grab}.recipe-editor-form.recipe-preview-form .structured-ingredient-add{width:auto;justify-self:start}@media(min-width:740px){.recipe-editor-form.recipe-preview-form .preview-ingredient-row{grid-template-columns:76px 96px minmax(135px,1fr) 18px minmax(185px,1.15fr) auto auto;align-items:end}.recipe-editor-form.recipe-preview-form .preview-ingredient-row>.preview-ingredient-remove{grid-row:1;grid-column:-2 / -1;align-self:end;margin-bottom:5px}.recipe-editor-form.recipe-preview-form .preview-ingredient-row>.nutrition-ingredient-editor{grid-row:2}.recipe-editor-form.recipe-preview-form .editable-photo{align-self:stretch;height:auto;aspect-ratio:auto}.recipe-editor-form.recipe-preview-form .editable-photo>img{position:absolute;top:0;right:0;bottom:0;left:0}}@media(max-width:739px){.recipe-editor-form.recipe-preview-form .preview-ingredient-row{grid-template-columns:68px 88px minmax(0,1fr)}.recipe-editor-form.recipe-preview-form .preview-ingredient-row>.preview-ingredient-remove{grid-column:3;grid-row:3;justify-self:end}.recipe-editor-form.recipe-preview-form .preview-ingredient-row>.nutrition-ingredient-editor{grid-row:4;grid-template-columns:minmax(0,1fr)}.recipe-editor-form.recipe-preview-form :is(.source-card,.preview-section-card:nth-of-type(n),.preview-ingredient-card,.structured-ingredient-group,.preview-direction-group){padding:var(--wc-spacing-sm)}}@media(min-width:1024px){.recipe-page.is-editing .recipe-editor-form .preview-ingredient-row>.nutrition-ingredient-editor{justify-self:start;width:50%}}.recipe-details-sharing>.recipe-sharing-toggle{flex:0 0 auto}@media(max-width:560px){.recipe-details-utility-actions{flex-basis:100%}.recipe-details-utility-actions>.ui-button,.recipe-details-actions>.ui-button{flex:1 1 0}}.recipe-editor-form.recipe-preview-form .preview-ingredient-matched-field>div{border:var(--wc-border-width) solid var(--wc-color-border)}.recipe-editor-form.recipe-preview-form .preview-ingredient-matched .preview-ingredient-matched-field>div{border-color:var(--wc-green-600)}.recipe-editor-form.recipe-preview-form .preview-ingredient-unspecified .preview-ingredient-matched-field>div{border-color:var(--wc-yellow-500)}.recipe-editor-form.recipe-preview-form .preview-ingredient-unresolved .preview-ingredient-matched-field>div{border-color:var(--wc-red-500)}.recipe-editor-form.recipe-preview-form .preview-direction-row>span{width:var(--wc-control-height-md);height:var(--wc-control-height-md);margin-top:var(--wc-spacing-2xs);border:var(--wc-border-width-emphasis) solid var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-butter);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-display)}.recipe-editor-form.recipe-preview-form .preview-direction-row:nth-child(4n+2)>span{background:var(--wc-coral-100)}.recipe-editor-form.recipe-preview-form .preview-direction-row:nth-child(4n+3)>span{background:var(--wc-soft-green)}.recipe-editor-form.recipe-preview-form .preview-direction-row:nth-child(4n+4)>span{background:var(--wc-lavender)}.recipe-editor-form.recipe-preview-form .preview-direction-row{grid-template-columns:var(--wc-control-height-md) minmax(0,1fr) auto auto}@media(max-width:739px){.phone-app:has(.recipe-page.is-editing) .app-footer{display:none}}.recipe-editor-form.recipe-preview-form .preview-ingredient-matched-field>div :is(strong,small){color:var(--wc-text-primary)}.recipe-editor-form.recipe-preview-form .preview-direction-list{display:grid;gap:var(--wc-spacing-sm)}.recipe-editor-form.recipe-preview-form .preview-direction-row{position:relative}.recipe-editor-form.recipe-preview-form .preview-direction-row.is-dragging{opacity:.45}.recipe-editor-form.recipe-preview-form .preview-direction-drag{touch-action:none}.recipe-editor-form.recipe-preview-form .preview-direction-drag:active{cursor:grabbing}.recipe-editor-form.recipe-preview-form .preview-direction-row.drop-before:before,.recipe-editor-form.recipe-preview-form .preview-direction-row.drop-after:after{position:absolute;right:0;left:0;height:var(--wc-space-2);border-radius:var(--wc-radius-pill);background:var(--wc-green-800);content:""}.recipe-editor-form.recipe-preview-form .preview-direction-row.drop-before:before{top:calc(-1 * (var(--wc-spacing-sm) + var(--wc-space-2)) / 2 - var(--wc-border-width))}.recipe-editor-form.recipe-preview-form .preview-direction-row.drop-after:after{bottom:calc(-1 * (var(--wc-spacing-sm) + var(--wc-space-2)) / 2 - var(--wc-border-width) - 3px)}.recipe-editor-form.recipe-preview-form{--recipe-edit-row-gap: var(--wc-spacing-md);row-gap:var(--recipe-edit-row-gap)}.recipe-edit-delete-row{display:flex;min-height:var(--wc-touch-target);align-items:center;margin-top:var(--wc-spacing-xl)}.recipe-edit-save-actions{position:sticky;z-index:20;bottom:var(--wc-spacing-md);display:flex;height:var(--wc-touch-target);align-items:center;justify-content:flex-end;gap:var(--wc-spacing-sm);justify-self:end;width:max-content;margin-top:var(--wc-spacing-sm);padding:0;border-radius:var(--wc-radius-pill);background:var(--wc-surface-default);box-shadow:0 0 0 var(--wc-spacing-sm) var(--wc-surface-default);pointer-events:none}.recipe-edit-save-actions>.ui-button{min-width:7rem;pointer-events:auto}.recipe-edit-delete-row+.recipe-edit-save-actions{margin-top:calc(-1 * (var(--wc-touch-target) + var(--recipe-edit-row-gap)))}@media(max-width:739px){.recipe-page.is-editing .recipe-edit-save-actions{bottom:calc(var(--wc-mobile-bottom-nav-height) + env(safe-area-inset-bottom) + var(--wc-spacing-sm))}.recipe-edit-save-actions>.ui-button{min-width:6rem}}.cooking-assistant .cooking-assistant-launcher{width:var(--wc-assistant-launcher-size);height:var(--wc-assistant-launcher-size);border:var(--wc-border-width-emphasis) solid var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-hard-sm);transition:var(--wc-transition-interactive)}.cooking-assistant .cooking-assistant-launcher>img{border-radius:var(--wc-radius-circle);object-fit:cover}.cooking-assistant .cooking-assistant-launcher>span{right:calc(-1 * var(--wc-space-2));bottom:calc(-1 * var(--wc-space-1));width:var(--wc-control-height-xs);height:var(--wc-control-height-xs);border:var(--wc-border-width) solid var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-lavender-strong);box-shadow:var(--wc-shadow-hard-xs)}.cooking-assistant.is-open .cooking-assistant-launcher{background:var(--wc-surface-default)}@media(hover:hover){.cooking-assistant .cooking-assistant-launcher:hover{box-shadow:var(--wc-shadow-button-hover);transform:translate(var(--wc-interactive-hover-lift),var(--wc-interactive-hover-lift))}}.cooking-assistant .cooking-assistant-launcher:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-green-800);outline-offset:var(--wc-space-2)}.cooking-assistant .cooking-assistant-window{bottom:calc(92px + var(--wc-assistant-launcher-size-mobile) + var(--wc-spacing-md) + env(safe-area-inset-bottom))}.cooking-controls-row .cooking-assistant .cooking-assistant-window{bottom:calc(100% + var(--wc-spacing-sm))}@media(max-width:739px){.cooking-assistant .cooking-assistant-launcher{width:var(--wc-assistant-launcher-size-mobile);height:var(--wc-assistant-launcher-size-mobile)}}@media(min-width:740px){.cooking-assistant .cooking-assistant-window{bottom:calc(max(12px,env(safe-area-inset-bottom)) + var(--wc-assistant-launcher-size) + var(--wc-spacing-md))}}.cooking-controls-row .cooking-timer-launcher{width:var(--wc-control-height-xl);height:var(--wc-control-height-xl);min-width:var(--wc-control-height-xl);flex:0 0 var(--wc-control-height-xl);border:var(--wc-border-width-emphasis) solid var(--wc-border-default);border-radius:var(--wc-radius-control);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-hard-sm);transition:var(--wc-transition-interactive)}.cooking-controls-row .cooking-timer-launcher img{width:2.25rem;height:2.25rem}@media(hover:hover){.cooking-controls-row .cooking-timer-launcher:hover{box-shadow:var(--wc-shadow-button-hover);transform:translate(var(--wc-interactive-hover-lift),var(--wc-interactive-hover-lift))}}.cooking-controls-row .cooking-timer-launcher:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-green-800);outline-offset:var(--wc-space-2)}@media(min-width:740px){.recipe-route .cooking-assistant.cooking-assistant-floating{right:0;left:0;width:auto;transform:none}.recipe-route .cooking-assistant-floating .cooking-assistant-launcher{position:fixed;right:calc(var(--wc-shell-edge) + 1rem);bottom:1rem}.recipe-route .cooking-assistant-floating .cooking-assistant-window{position:fixed;right:calc(var(--wc-shell-edge) + 1rem);bottom:calc(1rem + var(--wc-assistant-launcher-size) + var(--wc-spacing-sm))}}body:has(.auth-page){background:transparent}body:has(.auth-page):before{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;background:var(--wc-canvas) url(/background-login-frame.webp) center / cover no-repeat;content:"";pointer-events:none}.cooking-timer-form{display:grid;gap:var(--wc-spacing-md)}.cooking-timer-presets>.ui-button{flex:1 1 0;min-width:0}.modal.ui-dialog .cooking-timer-wheel-picker{gap:var(--wc-spacing-sm);border:0;padding:0}.cooking-timer-wheel-label{text-align:center}.cooking-timer-wheel-track{border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm)}.cooking-timer-wheel-track:before,.cooking-timer-wheel-track:after{background:var(--wc-color-border)}.cooking-timer-wheel-track button{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}.cooking-timer-wheel-track .cooking-timer-wheel-current{color:var(--wc-text-primary);background:var(--wc-yellow-100);font-weight:var(--wc-font-weight-bold)}.cooking-timer-chips{display:flex;min-width:0;flex:0 1 auto;gap:var(--wc-spacing-xs);overflow-x:auto;padding:var(--wc-space-1) var(--wc-space-2) var(--wc-space-3) var(--wc-space-1);scrollbar-width:none;pointer-events:auto}.cooking-timer-chips::-webkit-scrollbar{display:none}.cooking-timer-chip{display:grid;min-width:5.5rem;height:var(--wc-control-height-xl);flex:0 0 auto;align-content:center;gap:0;border:var(--wc-border-width-emphasis) solid var(--wc-border-default);border-radius:var(--wc-radius-control);padding:0 var(--wc-spacing-sm);color:var(--wc-text-primary);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-hard-sm);font:inherit;text-align:center;cursor:pointer;transition:var(--wc-transition-interactive)}.cooking-timer-chip-label{display:inline-flex;max-width:8rem;align-items:center;justify-content:center;gap:var(--wc-space-2);overflow:hidden;font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-bold);text-overflow:ellipsis;white-space:nowrap}.cooking-timer-chip time{font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display);font-variant-numeric:tabular-nums;line-height:var(--wc-line-height-tight)}.cooking-timer-chip--yellow{background:var(--wc-color-accent)}.cooking-timer-chip--red{background:var(--wc-color-danger)}.cooking-timer-chip.is-paused{opacity:.75}@media(hover:hover){.cooking-timer-chip:hover{box-shadow:var(--wc-shadow-button-hover);transform:translate(var(--wc-interactive-hover-lift),var(--wc-interactive-hover-lift))}}.cooking-timer-chip:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-green-800);outline-offset:var(--wc-space-2)}@media(prefers-reduced-motion:no-preference){.cooking-timer-chip--red:has(time[datetime=PT0S]){animation:cooking-timer-done 1s ease-in-out infinite alternate}}@keyframes cooking-timer-done{to{transform:scale(1.06)}}.cooking-timer-edit-footer{flex-wrap:nowrap}.cooking-timer-edit-footer>.ui-button{min-width:0;flex:0 1 auto;padding-inline:var(--wc-spacing-md)}.cooking-timer-edit-footer>.cooking-timer-delete{margin-right:auto}.app-loading-animation{display:block}.app-loading-animation img{display:block;width:200px;height:150px}.meal-carousel-loader{display:grid;justify-items:center;gap:var(--wc-spacing-xs);text-align:center}.meal-carousel-loader .meal-carousel-loader-label{margin:calc(-1 * var(--wc-spacing-xl)) 0 0;color:var(--wc-text-secondary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.recipe-import-progress-dialog{gap:var(--wc-spacing-sm);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-dialog);padding:var(--wc-spacing-lg) var(--wc-spacing-xl) var(--wc-spacing-xl);background:var(--wc-surface-default);box-shadow:var(--wc-dialog-shadow)}.recipe-import-scanner{display:block}.recipe-import-scanner img{display:block;width:180px;height:135px}.recipe-import-progress-copy strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.recipe-import-progress-copy small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}@media(min-width:740px){.modal-backdrop.add-recipe-backdrop.recipe-preview-backdrop{padding-inline:calc(var(--wc-spacing-lg) / 2)}.modal-backdrop.add-recipe-backdrop .modal.recipe-preview-modal{width:min(100%,var(--wc-content-max));max-width:none}}@media(max-width:739px){.cooking-controls-row .cooking-timer-launcher{display:none}}.app-navigation-bar{width:min(var(--wc-content-navigation),calc(100% - var(--wc-spacing-lg)));min-height:var(--wc-control-height-xl);margin:var(--wc-spacing-lg) auto 0;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding:var(--wc-spacing-sm) var(--wc-spacing-md);color:var(--wc-text-primary);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-md)}.app-navigation-bar .hero-row{display:flex;width:100%;min-height:var(--wc-control-height-lg);flex-wrap:nowrap;gap:var(--wc-spacing-sm)}.app-navigation-bar .app-header-logo{width:auto;height:var(--wc-space-32);max-width:none;max-height:none;transform:none;opacity:1}.app-navigation-bar .app-header-logo-button{flex:0 0 auto}.app-navigation-bar .hero-search-row{display:grid;width:min(100%,var(--wc-navigation-search-width));max-width:var(--wc-navigation-search-width);min-width:0;margin:0 0 0 clamp(var(--wc-spacing-lg),5vw,var(--wc-space-32));flex:0 1 var(--wc-navigation-search-width);grid-template-columns:minmax(0,1fr) var(--wc-control-height-md);gap:var(--wc-spacing-xs);order:initial}.app-navigation-bar .search-box{height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-sm);background:var(--wc-surface-default);box-shadow:none}.app-navigation-bar .search-box input{min-width:0;background:transparent}.app-navigation-bar .filter-button,.app-navigation-bar .hero-add-button{display:grid;width:var(--wc-control-height-md);height:var(--wc-control-height-md);min-width:var(--wc-control-height-md);min-height:var(--wc-control-height-md);flex:0 0 var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-text-primary);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-hard-xs)}.app-navigation-bar .hero-controls{margin-left:auto;gap:var(--wc-spacing-xs)}.filter-button-icon{display:block;width:1.5rem;height:1.5rem;object-fit:contain;pointer-events:none}.app-navigation-bar .filter-button{background:var(--wc-surface-default)}.archived-tab-icon{display:block;flex:0 0 auto;width:1.75rem;height:1.75rem;object-fit:contain}.nav-icon-image{display:block;flex:0 0 auto;width:1.75rem;height:1.75rem;object-fit:contain;pointer-events:none}.app-navigation-bar .page-navigation{min-height:0;border:0;padding:0;gap:var(--wc-spacing-2xs);background:transparent;box-shadow:none}.app-navigation-bar .page-navigation button{display:grid;width:var(--wc-control-height-md);height:var(--wc-control-height-md);min-width:var(--wc-control-height-md);min-height:var(--wc-control-height-md);flex:0 0 var(--wc-control-height-md);border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-control);padding:0;place-items:center;color:var(--wc-text-primary);background:transparent;box-shadow:none;transition:var(--wc-transition-interactive)}.app-navigation-bar .page-navigation button.active,.app-navigation-bar .page-navigation button[aria-current=page]{border-color:var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-navigation-active);box-shadow:var(--wc-shadow-button-rest)}@media(hover:hover){.app-navigation-bar .page-navigation button:hover:not(:disabled){border-color:var(--wc-border-default);background:var(--wc-green-100);box-shadow:var(--wc-shadow-button-rest);transform:translateY(var(--wc-interactive-hover-lift))}.app-navigation-bar .page-navigation button:is(.active,[aria-current=page]):hover:not(:disabled){background:var(--wc-navigation-active);box-shadow:var(--wc-shadow-button-rest)}}.app-navigation-bar .profile-menu-container{margin-left:var(--wc-spacing-xl)}.app-navigation-bar .avatar-button{display:inline-flex;align-items:center;gap:var(--wc-spacing-2xs);color:var(--wc-text-primary)}.app-navigation-bar .avatar{width:var(--wc-control-height-md);height:var(--wc-control-height-md)}.mobile-bottom-navigation{display:none}.ui-button--prominent{min-height:var(--wc-control-height-xl);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-lg);box-shadow:var(--wc-shadow-hard-md);font-size:var(--wc-font-size-body)}:is(.category-badge--library,.category-chip.category-chip){display:inline-flex;min-height:var(--wc-control-height-category);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding:0 var(--wc-spacing-sm);align-items:center;justify-content:center;gap:var(--wc-spacing-2xs);color:var(--wc-text-primary);background:color-mix(in srgb,var(--wc-category-color, var(--wc-soft-green)) 28%,var(--wc-surface-default));box-shadow:var(--wc-shadow-hard-xs);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight);white-space:nowrap}[data-category=Desserts]{--wc-category-color: var(--wc-category-desserts)}[data-category=Baking]{--wc-category-color: var(--wc-category-baking)}[data-category="Bread and Rolls"]{--wc-category-color: var(--wc-category-bread)}[data-category=Beverages]{--wc-category-color: var(--wc-category-beverages)}[data-category=Breakfast]{--wc-category-color: var(--wc-category-breakfast)}[data-category=Snacks]{--wc-category-color: var(--wc-category-snacks)}[data-category=Appetizers]{--wc-category-color: var(--wc-category-appetizers)}[data-category=Soups]{--wc-category-color: var(--wc-category-soups)}[data-category="Pasta & Rice"]{--wc-category-color: var(--wc-category-pasta-rice)}[data-category="Main Course"]{--wc-category-color: var(--wc-category-main-course)}[data-category="Side Dish"]{--wc-category-color: var(--wc-category-side-dish)}[data-category="Sauces, Dips & Spreads"]{--wc-category-color: var(--wc-category-sauces)}.category-badge--library:not([data-category]){--wc-category-color: var(--wc-butter)}:is(.category-badge--library.selected,.category-chip.category-chip){border-color:var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-category-color, var(--wc-soft-green));box-shadow:var(--wc-shadow-hard-sm)}.category-badge--library{transition:var(--wc-transition-interactive)}@media(hover:hover){.category-badge--library:hover:not(:disabled){background:color-mix(in srgb,var(--wc-category-color, var(--wc-soft-green)) 55%,var(--wc-surface-default));box-shadow:var(--wc-shadow-hard-sm);transform:translateY(var(--wc-interactive-hover-lift))}.category-badge--library.selected:hover:not(:disabled){background:var(--wc-category-color, var(--wc-soft-green));box-shadow:var(--wc-shadow-button-hover)}}.category-badge--library .category-badge-icon{display:inline-grid;width:var(--wc-spacing-lg);place-items:center;font-size:var(--wc-font-size-lg);line-height:1}.segmented--library{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.segmented--library,.meal-prep-tabs,.shopping-scope-tabs{display:grid;gap:var(--wc-spacing-2xs);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-xs);background:var(--wc-tabs-background, var(--wc-surface-muted));box-shadow:var(--wc-shadow-hard-sm)}.segmented--yellow{--wc-tabs-background: var(--wc-surface-default);--wc-tabs-active: var(--wc-butter)}.segmented--lavender{--wc-tabs-background: color-mix(in srgb, var(--wc-lavender) 60%, var(--wc-surface));--wc-tabs-active: var(--wc-category-snacks)}.segmented--library button,.meal-prep-tabs button,.shopping-scope-tabs button{display:inline-flex;min-width:0;min-height:var(--wc-control-height-lg);border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-pill);align-items:center;justify-content:center;gap:var(--wc-spacing-xs);color:var(--wc-text-primary);background:transparent;box-shadow:none;font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display)}.segmented--library button.active,.meal-prep-tabs button.active,.shopping-scope-tabs button.active{border-color:var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-tabs-active, var(--wc-color-primary));box-shadow:none}.segmented--compact{gap:var(--wc-space-1);border-radius:var(--wc-radius-lg);padding:var(--wc-space-2)}.segmented--compact button{min-height:var(--wc-control-height-card-badge);padding-inline:var(--wc-spacing-xs);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold)}.segmented--library .compact-tab-icon{display:block}.segmented--library .favorites-tab-badge{display:grid;width:var(--wc-control-height-xs);height:var(--wc-control-height-xs);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-tomato);background:var(--wc-coral-100);box-shadow:var(--wc-shadow-hard-xs)}.segmented--library .mobile-compact-tab .tab-label{display:inline}.recipe-card--library{display:flex;min-width:0;height:100%;flex-direction:column;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-md)}.recipe-card--library:not(.list-card) .recipe-image{min-height:0;aspect-ratio:16 / 9;border-bottom:var(--wc-border-width) solid var(--wc-border-default);background:var(--wc-soft-green)}.recipe-card--library .recipe-image>img{object-fit:cover;object-position:center}.recipe-card--library .rating-pill,.recipe-card--library .heart-button{top:var(--wc-spacing-xs);min-height:var(--wc-control-height-card-badge);border:var(--wc-border-width) solid var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs)}.recipe-card--library .rating-pill{left:var(--wc-spacing-xs);background:var(--wc-yellow-100);font-size:var(--wc-font-size-sm)}.recipe-card--library .heart-button{right:var(--wc-spacing-xs);width:var(--wc-control-height-card-badge);height:var(--wc-control-height-card-badge)}.recipe-card--library .heart-button:not(.is-favorite){color:var(--wc-text-primary)}.recipe-card--library .heart-button.is-favorite{color:var(--wc-tomato)}.recipe-card--library .recipe-card-body{display:flex;min-height:var(--wc-library-card-body-height);flex:1 1 auto;flex-direction:column;padding:var(--wc-spacing-sm) var(--wc-spacing-md) var(--wc-spacing-md);background:var(--wc-canvas)}.recipe-card--library h3{display:-webkit-box;overflow:hidden;margin:0;color:var(--wc-text-primary);font-size:var(--wc-library-card-title-size);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-heading);text-transform:none;-webkit-line-clamp:2;-webkit-box-orient:vertical}.recipe-card--library .recipe-card-footer{display:flex;min-width:0;margin-top:auto;padding-top:var(--wc-spacing-xs);align-items:flex-end;justify-content:space-between;gap:var(--wc-spacing-xs)}.recipe-card--library .chip-row{min-width:0;flex:1 1 auto;flex-wrap:wrap;gap:var(--wc-spacing-2xs)}.recipe-card--library .category-chip{min-width:0;min-height:var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding:0 var(--wc-spacing-sm);max-width:100%;overflow:hidden;color:var(--wc-text-primary);box-shadow:none;font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);text-overflow:ellipsis;white-space:nowrap}.recipe-card--library .recipe-card-portions{display:inline-flex;min-width:0;flex:0 0 auto;align-items:center;gap:var(--wc-spacing-2xs);color:var(--wc-text-primary);font-size:var(--wc-font-size-sm);white-space:nowrap}.recipe-card--library.list-card{display:grid;grid-template-columns:minmax(var(--wc-library-list-thumb-width),25%) minmax(0,1fr);min-height:var(--wc-library-list-card-height)}.recipe-card--library.list-card .recipe-image{min-height:100%;border-right:var(--wc-border-width) solid var(--wc-border-default)}.recipe-card--library.list-card .recipe-card-body{min-height:0}.feed-style-icons--library{display:flex;height:var(--wc-control-height-xl);padding:var(--wc-space-2);gap:var(--wc-spacing-2xs);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-control);background:var(--wc-surface-default);box-shadow:none}.feed-style-icons--library button{width:calc(var(--wc-control-height-xl) - 2 * var(--wc-space-2) - 2 * var(--wc-border-width));height:calc(var(--wc-control-height-xl) - 2 * var(--wc-space-2) - 2 * var(--wc-border-width));min-width:calc(var(--wc-control-height-xl) - 2 * var(--wc-space-2) - 2 * var(--wc-border-width));min-height:calc(var(--wc-control-height-xl) - 2 * var(--wc-space-2) - 2 * var(--wc-border-width));border:var(--wc-border-width) solid transparent;border-radius:var(--wc-radius-sm);color:var(--wc-text-primary);background:transparent;box-shadow:var(--wc-shadow-button-rest)}.feed-style-icons--library button svg{width:var(--wc-space-10);height:var(--wc-space-10)}.feed-style-icons--library button.active{border-color:var(--wc-border-default);color:var(--wc-text-primary);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-button-rest)}@media(max-width:900px)and (min-width:740px){.app-navigation-bar .app-header-logo{width:auto;height:var(--wc-control-height-xl)}.app-navigation-bar .hero-search-row{width:min(100%,var(--wc-navigation-search-compact));max-width:var(--wc-navigation-search-compact);margin-left:auto;flex:0 1 var(--wc-navigation-search-compact);grid-template-columns:minmax(0,1fr) var(--wc-control-height-sm)}.app-navigation-bar .hero-controls{gap:var(--wc-spacing-2xs)}.app-navigation-bar .profile-menu-container{margin-left:var(--wc-spacing-xs)}.app-navigation-bar .page-navigation{gap:0}.app-navigation-bar .page-navigation button,.app-navigation-bar .filter-button,.app-navigation-bar .hero-add-button,.app-navigation-bar .avatar{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);flex-basis:var(--wc-control-height-sm)}}@media(max-width:739px){.phone-app{padding-bottom:calc(var(--wc-mobile-bottom-nav-height) + env(safe-area-inset-bottom))}.phone-app .modal-backdrop{z-index:var(--wc-z-dialog)}.segmented--library{grid-template-columns:repeat(2,minmax(0,1fr)) 68px}.segmented--library .mobile-compact-tab .tab-label{display:none}.app-navigation-bar{width:calc(100% - var(--wc-spacing-md));min-height:0;margin:calc(var(--wc-spacing-sm) + env(safe-area-inset-top)) auto 0;padding:var(--wc-spacing-2xs) var(--wc-spacing-xs) var(--wc-spacing-2xs) var(--wc-spacing-md)}.app-navigation-bar.is-search-open{border-radius:var(--wc-radius-2xl);padding-bottom:var(--wc-spacing-xs)}.app-navigation-bar .hero-row{min-height:var(--wc-touch-target);flex-wrap:nowrap;gap:var(--wc-spacing-2xs)}.app-navigation-bar.is-search-open .hero-row{flex-wrap:wrap}.app-navigation-bar .app-header-logo{height:var(--wc-control-height-sm)}.app-navigation-bar .hero-add-button{display:none}.app-navigation-bar .hero-controls{min-width:0;flex:0 0 auto;margin-left:auto;gap:0}.app-navigation-bar .page-navigation{display:flex;flex:0 0 auto;justify-content:flex-start;gap:var(--wc-spacing-2xs)}.app-navigation-bar .page-navigation button{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);flex:0 0 var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);padding:0;place-items:center;color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs)}.app-navigation-bar .page-navigation .nav-icon-image{width:var(--wc-spacing-lg);height:var(--wc-spacing-lg)}.app-navigation-bar .avatar{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm)}.app-navigation-bar .profile-menu-container{margin-left:var(--wc-spacing-sm)}.app-navigation-bar .hero-search-row{display:none;width:100%;max-width:none;margin:var(--wc-spacing-2xs) 0 0;flex:0 0 100%;grid-template-columns:minmax(0,1fr) var(--wc-touch-target);order:3}.app-navigation-bar.is-search-open .hero-search-row{display:grid}.app-navigation-bar .filter-button{width:var(--wc-touch-target);height:var(--wc-touch-target);min-width:var(--wc-touch-target);min-height:var(--wc-touch-target);flex-basis:var(--wc-touch-target)}.mobile-bottom-navigation{position:fixed;right:0;bottom:0;left:0;z-index:var(--wc-z-sticky);display:grid;min-height:calc(var(--wc-mobile-bottom-nav-height) + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;border-top:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl) var(--wc-radius-xl) 0 0;padding:var(--wc-spacing-xs) var(--wc-spacing-xs) calc(var(--wc-spacing-xs) + env(safe-area-inset-bottom));color:var(--wc-text-primary);background:var(--wc-color-accent);box-shadow:0 calc(-1 * var(--wc-space-2)) var(--wc-space-8) color-mix(in srgb,var(--wc-ink) 8%,transparent)}.mobile-bottom-navigation--five{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-bottom-navigation button{display:flex;width:100%;min-width:0;min-height:var(--wc-touch-target);flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--wc-space-1);border:0;border-radius:var(--wc-radius-control);padding:0;color:inherit;background:transparent;box-shadow:none;font:inherit;font-size:var(--wc-font-size-2xs);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight);cursor:pointer}.mobile-bottom-navigation button:disabled{cursor:default;opacity:var(--wc-interactive-disabled-opacity)}.mobile-bottom-navigation-icon{display:grid;width:var(--wc-touch-target);height:var(--wc-touch-target);border-radius:var(--wc-radius-pill);place-items:center}.mobile-bottom-navigation :is(.mobile-bottom-navigation-icon,.mobile-page-switcher-options) img{display:block;width:var(--wc-mobile-nav-icon-size);height:var(--wc-mobile-nav-icon-size);object-fit:contain}.mobile-bottom-navigation .mobile-bottom-navigation-icon svg{width:var(--wc-mobile-nav-icon-size);height:var(--wc-mobile-nav-icon-size)}.mobile-bottom-navigation button.active .mobile-bottom-navigation-icon{background:var(--wc-color-accent)}.mobile-page-switcher{position:relative;display:grid;min-width:0;justify-items:center}.mobile-page-switcher:before{position:absolute;top:var(--wc-spacing-xs);bottom:var(--wc-spacing-xs);left:0;width:var(--wc-border-width);background:var(--wc-border-default);content:"";pointer-events:none}.mobile-bottom-navigation .mobile-page-switcher-toggle .mobile-bottom-navigation-icon{border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);background:var(--wc-white);box-shadow:0 var(--wc-space-2) 0 var(--wc-ink)}.mobile-page-switcher-options{position:absolute;right:0;bottom:calc(100% + var(--wc-spacing-sm));left:0;z-index:var(--wc-z-dropdown);display:flex;flex-direction:column;align-items:center;gap:var(--wc-spacing-xs)}.mobile-bottom-navigation .mobile-page-switcher-options button{display:grid;width:var(--wc-touch-target);height:var(--wc-touch-target);min-width:var(--wc-touch-target);min-height:var(--wc-touch-target);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;justify-content:center;background:var(--wc-color-accent);box-shadow:0 var(--wc-space-2) 0 var(--wc-ink)}.mobile-bottom-navigation .mobile-bottom-navigation-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-navigation button:focus-visible{outline:none}.mobile-bottom-navigation button:focus-visible .mobile-bottom-navigation-icon,.mobile-bottom-navigation .mobile-page-switcher-options button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-border-default);outline-offset:var(--wc-spacing-2xs)}body.shopping-fullscreen-open .mobile-bottom-navigation{z-index:calc(var(--wc-z-dialog) + 1)}.recipe-back-to-top{bottom:calc(var(--wc-mobile-bottom-nav-height) + var(--wc-spacing-md) + env(safe-area-inset-bottom))}}@media(max-width:520px){:is(.segmented--library,.meal-prep-tabs,.shopping-scope-tabs) button{min-height:var(--wc-touch-target);font-size:var(--wc-font-size-body)}.segmented--compact button{font-size:var(--wc-font-size-body-sm)}.segmented--library button svg{width:var(--wc-spacing-md)}.category-badge--library{min-height:var(--wc-touch-target)}.feed-style-icons--library{height:var(--wc-control-height-xl);padding:var(--wc-space-2)}.feed-style-icons--library button{width:var(--wc-touch-target);height:var(--wc-touch-target);min-width:var(--wc-touch-target);min-height:var(--wc-touch-target)}.recipe-card--library .heart-button{width:var(--wc-touch-target);height:var(--wc-touch-target);min-height:var(--wc-touch-target)}.recipe-card--library h3{font-size:1.25rem}.recipe-card--library .recipe-card-portions{font-size:var(--wc-font-size-sm)}}@media(max-width:360px){.app-navigation-bar{padding-inline:var(--wc-spacing-xs)}.app-navigation-bar .hero-controls{gap:0}.app-navigation-bar .app-header-logo{height:var(--wc-control-height-xs)}}.recipe-library{width:100%;flex:1 1 auto;padding-bottom:var(--wc-spacing-3xl);background:transparent}.recipe-library.recipe-tab-all{background:transparent}.feed-panel.recipe-library>:is(.recipe-library-intro,.categories-section,.segmented,.feed-heading,.recipe-feed,.mobile-swipe-view,.recipe-feed-loading,.empty-state){width:min(var(--wc-content-library),100%);margin-inline:auto}.recipe-library-intro{margin-bottom:var(--wc-space-12);padding-bottom:var(--wc-spacing-sm)}.recipe-library-add{min-width:var(--wc-library-action-width)}.recipe-library .categories-section{overflow:visible;margin-bottom:var(--wc-spacing-md);border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.recipe-library .category-scroll{display:flex;width:100%;min-width:0;overflow-x:auto;flex-wrap:nowrap;gap:var(--wc-spacing-xs);padding:var(--wc-spacing-2xs) 0;scrollbar-width:none}.recipe-library .category-scroll::-webkit-scrollbar{display:none}.recipe-library>.segmented--library{margin-bottom:var(--wc-spacing-lg)}.recipe-library .feed-heading{display:flex;min-height:var(--wc-control-height-lg);margin:0 auto var(--wc-spacing-lg);align-items:center;justify-content:space-between;gap:var(--wc-spacing-md)}.recipe-library .feed-heading h2{margin:0;color:var(--wc-text-primary);font-size:clamp(var(--wc-font-size-xl),2.5vw,var(--wc-font-size-2xl));font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-heading)}.recipe-library-controls{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:var(--wc-spacing-xs)}.recipe-library .recipe-feed.card-view{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:var(--wc-space-9)}.recipe-library .recipe-feed.list-view{grid-template-columns:1fr;gap:var(--wc-spacing-md)}@media(max-width:900px){.recipe-library .recipe-feed.card-view{gap:var(--wc-space-9)}}@media(max-width:739px){.recipe-library .feed-heading{flex-wrap:wrap}.recipe-library-controls{width:100%;flex-wrap:nowrap;justify-content:space-between;margin-left:0}.recipe-library-controls .wc-select.ui-sort-menu{flex:0 1 auto}.recipe-library-controls .ui-sort-menu>.wc-select-trigger{gap:var(--wc-spacing-xs);padding-inline:var(--wc-spacing-xs)}.recipe-library-controls .feed-style-icons--library{flex:0 0 auto;gap:var(--wc-space-1);margin-left:auto;padding-inline:var(--wc-space-1)}}@media(max-width:660px){.recipe-library-intro{padding-bottom:var(--wc-spacing-lg)}.recipe-library-add{min-width:var(--wc-touch-target);min-height:var(--wc-touch-target);padding-inline:var(--wc-spacing-sm);font-size:var(--wc-font-size-sm)}.recipe-library .recipe-feed.card-view{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.recipe-library-intro{align-items:flex-end;gap:var(--wc-spacing-xs)}.recipe-library-intro p{max-width:22ch}.recipe-library-add{display:none}.recipe-library .recipe-feed.card-view{grid-template-columns:1fr}.recipe-library .feed-heading h2{font-size:var(--wc-font-size-xl)}}@media(max-width:360px){.recipe-library-controls .ui-sort-menu .wc-select-prefix{display:none}}.recipe-library .categories-section.categories-section{margin-bottom:2rem}.recipe-page:not(.is-editing){background:transparent}.recipe-route .recipe-page--showcase{width:100%;min-height:0;overflow:visible;border:0;border-radius:0;margin:0;background:transparent;box-shadow:none}.recipe-page--showcase .detail-scroll{min-height:0;padding-bottom:var(--wc-spacing-lg)}.recipe-page--showcase .detail-view{width:min(var(--wc-content-library),100%);margin-inline:auto}.recipe-page--showcase .detail-page-actions,.recipe-page--showcase .detail-page-action-group{display:flex;align-items:center;gap:var(--wc-spacing-xs)}.recipe-page--showcase .detail-page-actions{justify-content:space-between;margin-bottom:var(--wc-spacing-sm)}.recipe-page--showcase .detail-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:0;min-height:0;overflow:hidden;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-hard-sm)}.recipe-page--showcase .detail-section{min-width:0;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm)}.recipe-page--showcase .detail-photo{position:relative;min-width:0;min-height:var(--wc-recipe-hero-min-height);max-height:none;overflow:hidden;border:0;border-radius:0;margin:0;background:var(--wc-surface-muted)}.recipe-page--showcase .detail-photo>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.recipe-page--showcase .detail-photo:after{display:none}.recipe-page--showcase .detail-rating{position:relative;inset:auto;min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);padding-inline:var(--wc-spacing-sm);color:var(--wc-text-primary);background:var(--wc-yellow-100);box-shadow:var(--wc-shadow-hard-xs);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold);cursor:pointer}.recipe-page--showcase .detail-rating small{font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-regular)}.recipe-page--showcase .detail-photo-actions{position:absolute;z-index:2;top:var(--wc-spacing-md);display:flex;align-items:center;gap:var(--wc-spacing-xs)}.recipe-page--showcase .detail-photo-actions--start{left:var(--wc-spacing-md)}.recipe-page--showcase .detail-photo-actions--end{right:var(--wc-spacing-md)}.recipe-page--showcase .detail-photo-actions>button:not(.detail-rating){position:relative;inset:auto;display:inline-grid;width:var(--wc-control-height-md);height:var(--wc-control-height-md);min-width:var(--wc-control-height-md);min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);padding:0;place-items:center;color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs);-webkit-backdrop-filter:none;backdrop-filter:none;transition:var(--wc-transition-interactive)}.recipe-page--showcase .detail-photo-actions>.is-favorite:not(.detail-rating){color:var(--wc-tomato);background:var(--wc-coral-100)}.recipe-page--showcase .detail-photo-actions>button:not(.detail-rating):hover{background:var(--wc-color-surface-warm);transform:translate(var(--wc-interactive-hover-lift),var(--wc-interactive-hover-lift))}.recipe-page--showcase .detail-photo-byline{position:absolute;z-index:2;bottom:var(--wc-spacing-md);left:var(--wc-spacing-md);display:inline-flex;max-width:calc(100% - var(--wc-spacing-md) * 2);min-height:var(--wc-control-height-xs);align-items:center;gap:var(--wc-spacing-2xs);overflow:hidden;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);margin:0;padding:var(--wc-spacing-2xs) var(--wc-spacing-sm);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-medium);line-height:var(--wc-line-height-tight);white-space:nowrap}.recipe-page--showcase .detail-photo-byline .user-name-with-avatar{min-width:0}.recipe-page--showcase .detail-photo-byline .user-name-with-avatar>span:last-child{overflow:hidden;text-overflow:ellipsis}.recipe-page--showcase .detail-hero-body{display:flex;min-width:0;min-height:var(--wc-recipe-hero-min-height);flex-direction:column;align-items:flex-start;justify-content:flex-start;border:0;border-radius:0;margin:0;padding:var(--wc-spacing-lg);color:var(--wc-text-primary);background:var(--wc-yellow-100);-webkit-backdrop-filter:none;backdrop-filter:none}.recipe-page--showcase .detail-hero-body:before{display:none}.recipe-page--showcase .detail-hero .chip-row{gap:var(--wc-spacing-xs)}.recipe-page--showcase .detail-hero .category-chip.category-chip{min-height:var(--wc-control-height-xs);border:var(--wc-border-width) solid var(--wc-border-default);padding-inline:var(--wc-spacing-sm);color:var(--wc-text-primary);box-shadow:none;font-size:var(--wc-font-size-sm)}.recipe-page--showcase .detail-hero h1{margin:var(--wc-spacing-xs) 0 var(--wc-spacing-sm);color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-recipe-title-size);font-weight:var(--wc-font-weight-display);letter-spacing:var(--wc-editorial-title-tracking);line-height:var(--wc-line-height-tight);text-wrap:balance}.recipe-page--showcase .detail-hero .detail-description{max-width:48ch;margin:0 0 var(--wc-spacing-xs);color:var(--wc-text-secondary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-regular);line-height:var(--wc-line-height-body)}.recipe-page--showcase .detail-source-link{display:inline-flex;max-width:100%;align-items:center;gap:var(--wc-spacing-xs);overflow:hidden;color:var(--wc-green-800);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);text-decoration:none;text-overflow:ellipsis}.recipe-page--showcase .detail-source-link:hover{text-decoration:underline}.recipe-page--showcase .detail-source-link>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-page--showcase .detail-source-link>svg{flex:0 0 auto}.recipe-page--showcase .detail-source-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wc-spacing-sm)}.recipe-page--showcase .detail-source-row .detail-source-link{flex:0 1 auto;min-width:0}.recipe-page--showcase .detail-tag-cloud{gap:var(--wc-spacing-2xs);margin:0}.recipe-page--showcase .detail-tag-cloud span{display:inline-flex;min-height:var(--wc-control-height-xs);align-items:center;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-sm);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-xs);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-bold)}.recipe-page--showcase .detail-hero .nutrition-byline{width:100%;margin:var(--wc-spacing-sm) 0 0;padding-top:0}.recipe-page--showcase .nutrition-byline-content{width:100%}.recipe-page--showcase .nutrition-summary-button,.recipe-page--showcase .nutrition-retry-button{width:100%;min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xs);margin:0;padding:var(--wc-spacing-xs) var(--wc-spacing-sm);color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-hard-sm);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-medium);line-height:var(--wc-line-height-body)}.recipe-page--showcase .nutrition-summary-button{width:auto;min-height:0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;font-weight:var(--wc-font-weight-bold);justify-content:flex-start;gap:var(--wc-spacing-xs)}.recipe-page--showcase .detail-photo-byline>span:first-child:after{content:"·";margin-left:var(--wc-spacing-2xs)}.recipe-page--showcase .detail-hero-actions{display:grid;width:100%;gap:var(--wc-spacing-sm);margin-top:var(--wc-spacing-sm)}.recipe-page--showcase .detail-cook-action{width:100%}.recipe-page--showcase .detail-hero-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wc-spacing-xs)}.recipe-page--showcase .detail-hero-secondary-actions .ui-button{min-width:0}.recipe-page--showcase .detail-hero-secondary-actions .ui-button span{text-align:center}.recipe-page--showcase .detail-content:not(.recipe-edit-content){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:var(--wc-spacing-md);margin:var(--wc-spacing-md) 0 0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.recipe-page--showcase .detail-section{align-self:stretch;margin:0;padding:var(--wc-spacing-lg);background:var(--wc-canvas)}.recipe-page--showcase .detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--wc-spacing-sm);margin:0 0 var(--wc-spacing-sm)}.recipe-page--showcase .detail-section-heading>h3,.recipe-page--showcase .feedback-heading h2{display:block;width:auto;min-height:0;border:0;margin:0;padding:0;color:var(--wc-text-primary);background:transparent;font-family:var(--wc-font-display);font-size:var(--wc-font-size-xl);font-weight:var(--wc-font-weight-display);letter-spacing:var(--wc-editorial-title-tracking);line-height:var(--wc-line-height-heading);text-transform:none}.recipe-page--showcase .detail-section-heading>h3:after,.recipe-page--showcase .detail-section-count{display:none}.recipe-page--showcase .directions-section{display:flex;flex-direction:column}.recipe-page--showcase .directions-empty{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:var(--wc-spacing-md);padding-block:var(--wc-spacing-lg);text-align:center}.recipe-page--showcase .directions-empty p{margin:0;color:var(--wc-color-text-muted);font-size:var(--wc-font-size-body);line-height:var(--wc-line-height-body)}.recipe-page--showcase .ingredient-scale-controls{display:inline-flex;width:auto;flex-wrap:nowrap;align-items:center;gap:var(--wc-spacing-xs);border:var(--wc-border-width) solid var(--wc-color-border);border-radius:var(--wc-radius-pill);padding:var(--wc-space-1) var(--wc-space-1) var(--wc-space-1) var(--wc-spacing-sm);background:var(--wc-surface-muted);white-space:nowrap}.recipe-page--showcase .ingredient-scale-label{color:var(--wc-text-primary);font-size:var(--wc-font-size-sm);font-weight:var(--wc-font-weight-bold)}.recipe-page--showcase .ingredient-scale-controls button{display:grid;width:var(--wc-control-height-sm);height:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);padding:0;place-items:center;color:var(--wc-text-primary);background:var(--wc-surface-default);box-shadow:var(--wc-shadow-button-rest)}.recipe-page--showcase .ingredient-scale-controls button:last-child{background:var(--wc-color-primary)}.recipe-page--showcase .ingredient-scale-controls button:disabled{opacity:var(--wc-interactive-disabled-opacity)}.recipe-page--showcase .ingredient-scale-controls output{min-width:var(--wc-spacing-lg);color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);text-align:center}.recipe-page--showcase .grouped-ingredient-list{display:block}.recipe-page--showcase .grouped-ingredient-list h4{margin:var(--wc-spacing-lg) 0 var(--wc-spacing-xs);color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-bold);letter-spacing:0;text-transform:none}.recipe-page--showcase .grouped-ingredient-list h4:first-child{margin-top:0}.recipe-page--showcase .ingredients-section ul{display:block}.recipe-page--showcase .ingredients-section li{display:grid;grid-template-columns:var(--wc-recipe-amount-column) minmax(0,1fr);gap:var(--wc-spacing-xs);border-bottom:var(--wc-border-width) solid var(--wc-color-border);padding:var(--wc-spacing-xs) 0;color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-regular);line-height:var(--wc-line-height-body)}.recipe-page--showcase .ingredients-section li.ingredient-row--no-amount{grid-template-columns:minmax(0,1fr)}.recipe-page--showcase .ingredients-section li:before{display:none}.recipe-page--showcase .ingredient-amount{font-weight:var(--wc-font-weight-bold)}.recipe-page--showcase .directions-list{display:block}.recipe-page--showcase .directions-list li{display:grid;grid-template-columns:var(--wc-control-height-md) minmax(0,1fr);align-items:start;gap:var(--wc-spacing-md);border:0;border-bottom:var(--wc-border-width) solid var(--wc-color-border);border-radius:0;padding:var(--wc-spacing-sm) 0;color:var(--wc-text-secondary);background:transparent;box-shadow:none;font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-regular);line-height:var(--wc-line-height-body)}.recipe-page--showcase .directions-list li:last-child{border-bottom:0}.recipe-page--showcase .directions-list li:before{display:grid;width:var(--wc-control-height-md);height:var(--wc-control-height-md);border:var(--wc-border-width-emphasis) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-text-primary);background:var(--wc-butter);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-display)}.recipe-page--showcase .directions-list li:nth-child(4n+2):before{background:var(--wc-coral-100)}.recipe-page--showcase .directions-list li:nth-child(4n+3):before{background:var(--wc-soft-green)}.recipe-page--showcase .directions-list li:nth-child(4n+4):before{background:var(--wc-lavender)}.recipe-page--showcase .directions-list strong{display:block;margin:0 0 var(--wc-spacing-2xs);color:var(--wc-text-primary);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-heading)}.recipe-page--showcase .directions-list p{margin:0}.recipe-page--showcase .feedback-section{margin-top:var(--wc-spacing-md);padding:var(--wc-spacing-md) var(--wc-spacing-lg)}.recipe-page--showcase .feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--wc-spacing-md);margin-bottom:var(--wc-spacing-sm)}.recipe-page--showcase .feedback-heading-copy{display:flex;align-items:center;flex-wrap:wrap;gap:var(--wc-spacing-lg)}.recipe-page--showcase .feedback-rating{display:inline-flex;align-items:center;gap:var(--wc-spacing-xs);color:var(--wc-text-primary);font-size:var(--wc-font-size-body-sm)}.recipe-page--showcase .feedback-rating svg,.recipe-page--showcase .review-stars{color:var(--wc-butter)}.recipe-page--showcase .feedback-rating strong{font-weight:var(--wc-font-weight-display)}.recipe-page--showcase .feedback-rating>span{color:var(--wc-text-secondary)}.recipe-page--showcase .feedback-write-comment{min-height:var(--wc-control-height-sm);flex:0 0 auto;padding-inline:var(--wc-spacing-md);font-size:var(--wc-font-size-sm)}.recipe-page--showcase .feedback-empty{margin:0;color:var(--wc-text-secondary)}.recipe-page--showcase .feedback-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--wc-spacing-xl)}.recipe-page--showcase .feedback-columns.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-page--showcase .feedback-list{min-width:0}.recipe-page--showcase .feedback-columns.two-columns .feedback-entry{grid-template-columns:minmax(0,1fr);gap:var(--wc-spacing-xs)}.recipe-page--showcase .feedback-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:var(--wc-spacing-md);border-top:var(--wc-border-width) solid var(--wc-color-border);padding:var(--wc-spacing-sm) 0}.recipe-page--showcase .feedback-author{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:var(--wc-spacing-xs);color:var(--wc-text-secondary);font-size:var(--wc-font-size-body-sm)}.recipe-page--showcase .feedback-author .user-name-with-avatar{color:var(--wc-text-primary);font-weight:var(--wc-font-weight-bold)}.recipe-page--showcase .feedback-author .mini-user-avatar{width:var(--wc-control-height-xs);height:var(--wc-control-height-xs);flex-basis:var(--wc-control-height-xs)}.recipe-page--showcase .feedback-author .review-stars{letter-spacing:var(--wc-letter-spacing-label)}.recipe-page--showcase .feedback-entry-body p{margin:0;color:var(--wc-text-secondary);font-size:var(--wc-font-size-body);line-height:var(--wc-line-height-body)}.recipe-page--showcase .feedback-entry-body img{display:block;width:min(var(--wc-content-narrow),100%);max-height:var(--wc-content-narrow);margin-top:var(--wc-spacing-xs);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-md);object-fit:cover}.recipe-page--showcase .feedback-show-all{display:flex;width:100%;min-height:var(--wc-control-height-md);align-items:center;justify-content:center;gap:var(--wc-spacing-xs);border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);color:var(--wc-text-primary);background:transparent;font-size:var(--wc-font-size-body-sm);cursor:pointer}.recipe-page--showcase .feedback-show-all:hover{background:var(--wc-surface-muted)}.recipe-page--showcase .feedback-show-all[aria-expanded=true] svg{transform:rotate(-90deg)}@media(max-width:900px){.recipe-page--showcase .detail-hero{grid-template-columns:minmax(0,1fr)}.recipe-page--showcase .detail-photo{min-height:clamp(220px,65vw,480px);aspect-ratio:3 / 2}.recipe-page--showcase .detail-hero-body{min-height:0}.recipe-page--showcase .detail-content:not(.recipe-edit-content){grid-template-columns:minmax(0,1fr)}}@media(max-width:739px){.recipe-page--showcase .detail-hero-body,.recipe-page--showcase .detail-section{padding:var(--wc-spacing-md)}.recipe-page--showcase .detail-hero h1{font-size:var(--wc-font-size-2xl)}.recipe-page--showcase .detail-content:not(.recipe-edit-content),.recipe-page--showcase .feedback-section{margin-top:var(--wc-spacing-md)}.recipe-page--showcase .feedback-heading{align-items:flex-start;flex-direction:column}.recipe-page--showcase .feedback-entry{grid-template-columns:minmax(0,1fr);gap:var(--wc-spacing-xs)}.recipe-page--showcase .feedback-columns.two-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.recipe-page--showcase .detail-photo{min-height:clamp(240px,75vw,390px);aspect-ratio:4 / 3}.recipe-page--showcase .detail-section-heading{align-items:flex-start;flex-direction:column}.recipe-page--showcase .ingredient-scale-controls{max-width:100%}}@media(prefers-reduced-motion:reduce){.recipe-page--showcase .detail-photo-actions>button{transition-duration:.01ms}}.app-footer{position:relative;isolation:isolate;overflow:hidden;width:min(var(--wc-content-library),calc(100% - var(--wc-spacing-lg) * 2));height:auto;min-height:0;margin:var(--wc-spacing-2xl) auto var(--wc-spacing-3xl);border:var(--wc-border-width-emphasis) solid var(--wc-border-default);border-radius:var(--wc-radius-dialog);padding:var(--wc-spacing-2xl) var(--wc-spacing-xl) var(--wc-spacing-md);color:var(--wc-text-primary);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-lg)}.app-footer-main{position:relative;z-index:1;display:grid;min-height:var(--wc-space-32);grid-template-columns:minmax(var(--wc-grid-item-min),1.3fr) minmax(0,2fr) minmax(var(--wc-form-column-min),.9fr);gap:var(--wc-spacing-xl)}.app-footer-brand{min-width:0}.app-footer-logo-mark{position:relative;width:fit-content}.app-footer-logo{display:block;width:auto;height:7.5rem}.app-footer-brand>p{margin:var(--wc-spacing-xs) 0 var(--wc-spacing-lg);color:var(--wc-text-secondary);font-size:var(--wc-font-size-body);line-height:var(--wc-line-height-body)}.app-footer-social-icons{display:flex;gap:var(--wc-spacing-sm)}.app-footer-social-icons>span{display:grid;width:var(--wc-touch-target);height:var(--wc-touch-target);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);place-items:center;color:var(--wc-text-primary);background:color-mix(in srgb,var(--wc-surface) 72%,transparent);font-size:var(--wc-font-size-xl);line-height:1}.app-footer-tiktok{font-family:var(--wc-font-display);font-weight:var(--wc-font-weight-display)}.app-footer-pinterest{font-family:Georgia,serif;font-style:italic;font-weight:var(--wc-font-weight-display)}.app-footer-newsletter{margin-top:var(--wc-spacing-xl)}.app-footer-newsletter h3{margin:0 0 var(--wc-spacing-xs);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-display)}.app-footer-newsletter-field{display:flex;width:min(100%,calc(var(--wc-space-32) * 5));min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);background:var(--wc-surface-default)}.app-footer-newsletter-field input{width:100%;min-width:0;border:0;border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-md);color:var(--wc-text-secondary);background:transparent;font:inherit;opacity:1}.app-footer-newsletter-field button{flex:0 0 auto;min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-md);color:var(--wc-text-primary);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-hard-xs);font:inherit;font-weight:var(--wc-font-weight-bold);opacity:1;cursor:not-allowed}.app-footer-newsletter>p{margin:var(--wc-spacing-xs) 0 0 var(--wc-spacing-xs);color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}.app-footer-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wc-spacing-lg);padding-top:var(--wc-spacing-md)}.app-footer-section h3{margin:0 0 var(--wc-spacing-md);font-size:var(--wc-font-size-body-sm);font-weight:var(--wc-font-weight-display);letter-spacing:var(--wc-letter-spacing-label);text-transform:uppercase}.app-footer-section-toggle{display:none}.app-footer-links{display:grid;gap:var(--wc-spacing-sm);margin:0;padding:0;list-style:none}.app-footer-links li{min-width:0}.app-footer-links button,.app-footer-links span{display:block;border:0;padding:0;color:var(--wc-text-primary);background:transparent;font:inherit;font-size:var(--wc-font-size-body-sm);line-height:var(--wc-line-height-body);text-align:left}.app-footer-links button{box-shadow:none;cursor:pointer}.app-footer-links button:hover{text-decoration:underline}.app-footer-links button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-border-default);outline-offset:var(--wc-spacing-2xs)}.app-footer-art{position:relative;isolation:isolate;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:var(--wc-spacing-2xs);color:var(--wc-ink)}.app-footer-hat{width:var(--wc-orb-md);height:var(--wc-orb-md);transform:rotate(-14deg)}.app-footer-art-copy{display:block;max-width:var(--wc-form-column-min);font-family:var(--wc-font-display);font-size:var(--wc-font-size-2xl);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-tight);text-align:center;transform:rotate(-12deg)}.app-footer-art-copy svg{display:inline-block;margin-left:var(--wc-spacing-2xs);color:var(--wc-tomato);vertical-align:middle}.app-footer-bottom{position:relative;z-index:1;display:flex;min-height:var(--wc-space-32);margin-top:var(--wc-spacing-xl);border-top:var(--wc-border-width) solid var(--wc-gray-300);align-items:flex-end;justify-content:space-between;gap:var(--wc-spacing-md)}.app-footer-bottom small{color:var(--wc-text-secondary);font-size:var(--wc-font-size-sm)}.app-footer-language{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--wc-spacing-xs)}.app-footer-language-error{color:var(--wc-color-danger);font-size:var(--wc-font-size-sm)}@media(max-width:980px)and (min-width:741px){.app-footer-main{grid-template-columns:minmax(var(--wc-grid-item-min),1fr) minmax(0,1.5fr)}.app-footer-art{display:none}}@media(max-width:740px){.app-footer{width:calc(100% - var(--wc-spacing-lg));margin-block:var(--wc-spacing-lg);padding:var(--wc-spacing-xl) var(--wc-spacing-lg) var(--wc-spacing-md);background:var(--wc-canvas)}.app-footer-main{display:flex;min-height:0;flex-direction:column;gap:var(--wc-spacing-lg)}.app-footer-logo{height:5.5rem}.app-footer-brand>p{margin-bottom:var(--wc-spacing-md)}.app-footer-newsletter{margin-top:var(--wc-spacing-lg)}.app-footer-newsletter-field{display:grid;width:100%;gap:var(--wc-spacing-xs);border:0;border-radius:0;background:transparent}.app-footer-newsletter-field input,.app-footer-newsletter-field button{width:100%;min-height:var(--wc-control-height-md);border:var(--wc-border-width) solid var(--wc-color-outline);border-radius:var(--wc-radius-pill);background:var(--wc-surface-default)}.app-footer-newsletter-field button{border-color:var(--wc-border-default);background:var(--wc-color-primary)}.app-footer-newsletter>p{margin-left:0}.app-footer-sections{display:block;padding-top:0}.app-footer-section{border-top:var(--wc-border-width) solid var(--wc-gray-300)}.app-footer-section:last-child{border-bottom:var(--wc-border-width) solid var(--wc-gray-300)}.app-footer-section h3{display:none}.app-footer-section-toggle{display:flex;width:100%;min-height:var(--wc-control-height-xl);border:0;padding:0;align-items:center;justify-content:space-between;color:var(--wc-text-primary);background:transparent;box-shadow:none;font:inherit;font-weight:var(--wc-font-weight-display);text-align:left;cursor:pointer}.app-footer-section-toggle svg{transition:transform var(--wc-duration-fast) var(--wc-ease-standard)}.app-footer-section.is-open .app-footer-section-toggle svg{transform:rotate(180deg)}.app-footer-section:not(.is-open) .app-footer-links{display:none}.app-footer-links{padding-bottom:var(--wc-spacing-md)}.app-footer-art{min-height:calc(var(--wc-space-32) * 2);flex-direction:column;gap:0}.app-footer-art:before{right:auto;bottom:calc(-1 * var(--wc-spacing-lg));left:calc(-1 * var(--wc-spacing-lg))}.app-footer-art:after{top:var(--wc-spacing-sm);right:calc(50% - var(--wc-space-32))}.app-footer-hat{width:var(--wc-orb-md);height:var(--wc-orb-md)}.app-footer-art-copy{max-width:var(--wc-form-column-min);font-size:var(--wc-font-size-lg)}.app-footer-bottom{min-height:var(--wc-space-32);margin:var(--wc-spacing-md) calc(-1 * var(--wc-spacing-lg)) calc(-1 * var(--wc-spacing-md));padding:var(--wc-spacing-md) var(--wc-spacing-lg);align-items:center;background:var(--wc-canvas)}.app-footer-bottom small{max-width:16ch}}@media(max-width:360px){.app-footer{padding-inline:var(--wc-spacing-md)}.app-footer-social-icons{gap:var(--wc-spacing-xs)}.app-footer-bottom{margin-inline:calc(-1 * var(--wc-spacing-md));padding-inline:var(--wc-spacing-md)}}@media(max-width:1023px){.app-footer{display:none}}.wc-select{min-width:0;position:relative;display:inline-block;width:100%;color:var(--wc-ink);font:inherit;anchor-scope:--wc-select-anchor}.wc-select>.wc-select-trigger{anchor-name:--wc-select-anchor;display:flex;align-items:center;gap:var(--wc-spacing-sm);width:100%;min-height:var(--wc-control-height-lg);padding:.65rem .85rem;border:1px solid var(--wc-ink);border-radius:var(--wc-radius-dropdown);background:var(--wc-surface);color:inherit;font:inherit;text-align:left;box-shadow:var(--wc-shadow-control);cursor:pointer;transition:var(--wc-transition-interactive)}.wc-select-trigger:hover:not(:disabled){background:var(--wc-green-50);box-shadow:var(--wc-shadow-control-hover)}.wc-select-trigger:focus-visible,.wc-select[data-open=true] .wc-select-trigger{outline:2px solid var(--wc-primary);outline-offset:1px;box-shadow:var(--wc-shadow-focus)}.wc-select-trigger:disabled{color:var(--wc-gray-600);background:var(--wc-gray-100);border-color:var(--wc-gray-300);box-shadow:none;cursor:not-allowed;opacity:.65}.wc-select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.wc-select-input::-webkit-search-cancel-button{display:none}.wc-select.ui-sort-menu{width:auto;flex:0 0 auto}.wc-select.ui-sort-menu>.wc-select-trigger{min-height:var(--wc-control-height-xl)}.wc-select.ui-sort-menu .wc-select-value{font-weight:var(--wc-font-weight-bold)}.wc-select--recipe-picker{width:var(--wc-touch-target);flex:none}.wc-select--recipe-picker>.wc-select-trigger{width:var(--wc-touch-target);height:var(--wc-touch-target);min-height:var(--wc-touch-target);justify-content:center;padding:0;border-radius:50%}.wc-select--recipe-picker>.wc-select-menu{width:min(22rem,calc(100vw - 1rem))}.wc-select--recipe-picker .wc-select-option-icon img{width:2.6rem;height:2.6rem;border-radius:var(--wc-radius-sm);object-fit:cover}.wc-select--menu-action>.wc-select-trigger{min-height:var(--wc-touch-target);gap:var(--wc-spacing-xs);border:0;border-radius:var(--wc-radius-sm);padding:var(--wc-spacing-xs) var(--wc-spacing-sm);background:transparent;box-shadow:none}.wc-select--menu-action>.wc-select-trigger:hover{background:var(--wc-green-50);box-shadow:none}.wc-select--recipe-options>.wc-select-menu{width:min(22rem,calc(100vw - 1rem))}.wc-select--recipe-options .wc-select-option-icon img{width:2.6rem;height:2.6rem;border-radius:var(--wc-radius-sm);object-fit:cover}.app-footer-language .wc-select{width:auto;min-width:8rem}.wc-select-field{display:grid;gap:.35rem}.wc-select-prefix{display:inline-flex;flex:none}.wc-select-value{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wc-select-placeholder{color:var(--wc-gray-600)}.wc-select-chevron{flex:none;transition:transform var(--wc-duration-fast) var(--wc-ease-standard)}.wc-select[data-open=true] .wc-select-chevron{transform:rotate(180deg)}.wc-select-menu{position:fixed;position-anchor:--wc-select-anchor;position-area:bottom span-right;position-try-fallbacks:flip-block,flip-inline;inset:auto;width:anchor-size(width);min-width:min(14rem,calc(100vw - 1rem));max-width:calc(100vw - 1rem);max-height:min(22rem,55vh);margin:.35rem 0 0;padding:.45rem;border:1px solid var(--wc-ink);border-radius:var(--wc-radius-dropdown);background:var(--wc-surface);color:var(--wc-ink);box-shadow:var(--wc-shadow-soft-md),var(--wc-shadow-hard-xs);overflow:auto;font:inherit}.wc-select-menu:not(:popover-open){display:none}.wc-select-search{display:flex;min-height:var(--wc-control-height-md);align-items:center;gap:var(--wc-spacing-xs);margin-bottom:var(--wc-spacing-2xs);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-control);padding:0 var(--wc-spacing-sm);color:var(--wc-text-secondary);background:var(--wc-surface-default);box-shadow:none}.wc-select-search:focus-within{outline:var(--wc-border-width-emphasis) solid var(--wc-green-200);outline-offset:0}.wc-select-menu .wc-select-search input,.wc-select-menu .wc-select-search input:focus,.wc-select-menu .wc-select-search input:focus-visible{width:100%;min-width:0;height:auto!important;min-height:0!important;flex:1 1 auto;border:0;border-radius:0;padding:var(--wc-spacing-2xs) 0!important;color:var(--wc-text-primary);background:transparent;box-shadow:none;outline:0;font:inherit;font-size:var(--wc-font-size-body-sm)}.wc-select-search input::-webkit-search-cancel-button{display:none}.wc-select-group{padding:.65rem .65rem .3rem;color:var(--wc-gray-600);font-size:.8rem;font-weight:700}.wc-select-option{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.55rem;padding:.45rem .55rem;border:0;border-radius:var(--wc-radius-md);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.wc-select-option:hover:not(:disabled),.wc-select-option:focus-visible,.wc-select-option[aria-selected=true]{background:var(--wc-soft-green);outline:none}.wc-select-option:disabled{opacity:.5;cursor:not-allowed}.wc-select-check{display:inline-flex;width:1.1rem;flex:none;color:var(--wc-green-800)}.wc-select-option-icon{display:inline-flex;flex:none}.wc-select-option-copy{display:grid;min-width:0}.wc-select-option.wc-select-option--action{color:var(--wc-green-800);font-weight:var(--wc-font-weight-bold)}.wc-select-option--action>.wc-select-option-icon{display:grid;width:var(--wc-control-height-xs);height:var(--wc-control-height-xs);place-items:center;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-circle);color:var(--wc-text-primary);background:var(--wc-color-primary);box-shadow:var(--wc-shadow-hard-xs)}.wc-select-entry:has(>.wc-select-option--action):not(:last-child){margin-bottom:.25rem;border-bottom:var(--wc-border-width) solid var(--wc-color-border);padding-bottom:.25rem}.wc-select-option-copy small{color:var(--wc-gray-600);font-size:.8rem}.wc-select-empty{margin:0;padding:.65rem;color:var(--wc-gray-600);font-size:.85rem}.wc-select--unspecified>.wc-select-trigger{border-color:var(--wc-secondary);background:var(--wc-yellow-100)}@media(max-width:739px){.wc-select-trigger,.wc-select-option{min-height:var(--wc-touch-target)}.wc-select.ui-sort-menu>.wc-select-trigger{min-height:var(--wc-control-height-xl)}}.meal-prep-overview{display:grid;gap:var(--wc-space-8);width:min(var(--wc-content-library),100%)}.meal-prep-action-rail.meal-prep-action-rail--compact{display:flex;width:auto;border:0;padding:0;background:transparent;box-shadow:none}.meal-prep-action-rail--compact .meal-prep-create-button{width:auto;min-width:var(--wc-meal-prep-action-width)}.meal-prep-create-dialog .meal-prep-dialog-scope-toggle{grid-column:auto;grid-row:auto}@media(max-width:739px){.meal-prep-action-rail--compact .meal-prep-create-button{width:auto;min-width:var(--wc-meal-prep-action-width);border-radius:var(--wc-radius-pill);padding-inline:var(--wc-spacing-sm)}.meal-prep-action-rail--compact .meal-prep-create-button>span:not(.circle-action-icon){display:inline;position:static;width:auto;height:auto;clip-path:none}}.meal-prep-week-bar{display:flex;align-items:center;gap:var(--wc-spacing-lg);min-width:0}.meal-prep-week-bar>.meal-prep-calorie-setting{flex:0 0 auto}.meal-prep-week-bar>.meal-prep-selector-row{flex:1 1 auto;min-width:0;max-width:var(--wc-content-list);margin-inline:auto}@media(max-width:1023px){.meal-prep-week-bar{flex-direction:column;align-items:stretch;gap:var(--wc-spacing-sm)}.meal-prep-week-bar>.meal-prep-calorie-setting{justify-content:flex-start}.meal-prep-week-bar>.meal-prep-selector-row{width:100%}}.meal-prep-overview>.meal-prep-day-selector{width:100%}.meal-prep-day-carousel{--meal-prep-carousel-card-width: 78%;--meal-prep-carousel-gap: var(--wc-spacing-md);min-width:0;outline-offset:var(--wc-spacing-xs)}.meal-prep-day-carousel:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);border-radius:var(--wc-radius-xl)}.meal-prep-day-carousel-viewport{display:flex;position:relative;gap:var(--meal-prep-carousel-gap);width:100%;padding-block:var(--wc-spacing-xs) var(--wc-spacing-md);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.meal-prep-day-carousel-viewport::-webkit-scrollbar{display:none}.meal-prep-day-carousel-viewport:before,.meal-prep-day-carousel-viewport:after{content:"";flex:0 0 max(0px,calc((100% - var(--meal-prep-carousel-card-width)) / 2 - var(--meal-prep-carousel-gap)))}.meal-prep-day-slide{position:relative;flex:0 0 var(--meal-prep-carousel-card-width);min-width:0;align-self:flex-start;opacity:.38;transform:scale(.965);transform-origin:center top;scroll-snap-align:center;transition:opacity .32s ease,transform .32s ease}.meal-prep-day-slide.is-active{opacity:1;transform:scale(1)}.meal-prep-day-slide:not(.is-active){max-height:var(--meal-prep-active-day-height, none);overflow:hidden;border-radius:var(--wc-radius-xl)}.meal-prep-day-slide:not(.is-active) .meal-prep-day-overview{pointer-events:none}.meal-prep-day-peek-button{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;border:0;border-radius:var(--wc-radius-xl);background:transparent;cursor:pointer;touch-action:pan-x pan-y}.meal-prep-day-peek-button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:2px}.meal-prep-day-carousel-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--wc-spacing-xs);padding:var(--wc-spacing-xs)}.meal-prep-day-carousel-dots button{width:var(--wc-spacing-sm);height:var(--wc-spacing-sm);border:0;border-radius:var(--wc-radius-circle);padding:0;background:var(--wc-gray-300);cursor:pointer;transition:background .24s ease,transform .24s ease}.meal-prep-day-carousel-dots button:hover{background:var(--wc-color-accent)}.meal-prep-day-carousel-dots button.is-active{background:var(--wc-color-accent);box-shadow:0 0 0 var(--wc-border-width) var(--wc-border-default);transform:scale(1.3)}.meal-prep-day-carousel-dots button:focus-visible{outline:var(--wc-border-width-emphasis) solid var(--wc-color-focus);outline-offset:3px}@media(prefers-reduced-motion:reduce){.meal-prep-day-slide,.meal-prep-day-carousel-dots button{transition:none}}.meal-prep-selector-row,.meal-prep-day-selector,.meal-prep-selected-week,.meal-prep-overview-header,.meal-prep-overview-actions,.meal-prep-overview-slot>header,.meal-prep-overview-meal{display:flex;align-items:center}.meal-prep-selector-row{gap:var(--wc-spacing-sm)}.meal-prep-selector-arrow,.meal-prep-day-arrow{flex:0 0 auto}.meal-prep-selected-week{position:relative;flex:1 1 auto;min-width:0;gap:var(--wc-spacing-sm);padding:var(--wc-spacing-sm) var(--wc-spacing-sm) var(--wc-spacing-sm) var(--wc-spacing-md);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-sm)}.meal-prep-selected-week-icon{display:block;flex:0 0 auto;width:var(--wc-touch-target);height:var(--wc-touch-target);object-fit:contain}.meal-prep-selected-week-copy{display:grid;min-width:0}.meal-prep-selected-week-copy strong{color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-tight)}.meal-prep-selected-week-copy strong,.meal-prep-overview-meal-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-prep-selected-week-copy small,.meal-prep-overview-meal-copy small{color:var(--wc-color-text-muted)}.meal-prep-position{margin-left:auto}.meal-prep-selected-week .meal-prep-pill-actions{margin-left:var(--wc-spacing-xs)}.meal-prep-day-selector{gap:var(--wc-spacing-sm);min-width:0}.meal-prep-day-tabs{display:flex;flex:1 1 auto;gap:var(--wc-spacing-xs);min-width:0;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity;padding:var(--wc-spacing-xs)}.meal-prep-day-tab{display:grid;flex:0 0 max(88px,calc((100% - 6 * var(--wc-spacing-xs)) / 7));gap:var(--wc-spacing-2xs);min-height:76px;place-content:center;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-lg);background:var(--wc-surface-default);color:var(--wc-ink);box-shadow:var(--wc-shadow-hard-sm);text-align:center;scroll-snap-align:start;cursor:pointer}.meal-prep-day-tab strong{font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-bold)}.meal-prep-day-tab span{font-size:var(--wc-font-size-body-sm)}.meal-prep-day-tab:not(.active):hover{background:color-mix(in srgb,var(--wc-yellow-500) 70%,var(--wc-surface))}.meal-prep-day-tab.is-past:not(.active){color:var(--wc-color-text-muted)}.meal-prep-day-tab.is-today span{color:var(--wc-text-primary);font-weight:var(--wc-font-weight-bold)}.meal-prep-day-tab:focus-visible{outline:3px solid var(--wc-basil);outline-offset:2px}.meal-prep-day-tab.active{background:var(--wc-color-accent);box-shadow:var(--wc-shadow-hard-sm)}.meal-prep-mobile-calendar-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--wc-spacing-xs)}.meal-prep-mobile-calendar-days .meal-prep-day-tab{min-width:0;min-height:var(--wc-control-height-xl)}.meal-prep-day-overview{display:grid;gap:var(--wc-spacing-md);padding:var(--wc-spacing-lg);border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-sm)}.meal-prep-overview-header{justify-content:space-between;align-items:flex-start;gap:var(--wc-spacing-md)}.meal-prep-overview-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--wc-spacing-sm)}.meal-prep-overview-heading h3{margin:0;color:var(--wc-text-primary);font-family:var(--wc-font-display);font-size:var(--wc-font-size-xl);font-weight:var(--wc-font-weight-display);line-height:var(--wc-line-height-tight);letter-spacing:-.01em}.meal-prep-overview-heading>span{color:var(--wc-color-text-muted);font-size:var(--wc-font-size-body);font-weight:var(--wc-font-weight-bold)}.meal-prep-overview-actions{justify-content:flex-end;flex-wrap:wrap;gap:var(--wc-spacing-sm)}.meal-prep-overview-slots{display:grid;gap:var(--wc-spacing-sm)}.meal-prep-overview-slot{display:grid;gap:var(--wc-spacing-lg);padding:var(--wc-spacing-sm);border:1px solid var(--wc-border-default);border-radius:var(--wc-radius-lg);background:var(--wc-surface)}.meal-prep-overview-slot>header{gap:var(--wc-spacing-sm);padding:var(--wc-spacing-xs) var(--wc-spacing-sm);border-radius:var(--wc-radius-md);background:var(--wc-green-200)}.meal-prep-overview-slot>header h4{flex:1;margin:0;color:var(--wc-text-primary);font-weight:var(--wc-font-weight-bold)}.meal-prep-overview-meal{gap:var(--wc-spacing-lg);min-width:0}.meal-prep-overview-meal+.meal-prep-overview-meal{border-top:var(--wc-border-width) solid var(--wc-color-border);padding-top:var(--wc-spacing-lg)}.meal-prep-overview-meal>img,.meal-prep-overview-meal-placeholder{display:grid;flex:0 0 5.5rem;width:5.5rem;height:5.5rem;place-items:center;object-fit:cover;border:1px solid var(--wc-border-default);border-radius:var(--wc-radius-md);background:var(--wc-soft-green)}.meal-prep-overview-meal-copy{display:grid;flex:1 1 auto;min-width:0;gap:var(--wc-spacing-2xs)}.meal-prep-overview-meal-copy strong{color:var(--wc-text-primary);font-size:var(--wc-font-size-lg);font-weight:var(--wc-font-weight-bold);line-height:var(--wc-line-height-tight)}.meal-prep-overview-meal-copy small{font-size:var(--wc-font-size-body-sm)}.ui-button.meal-prep-cook-one{flex:0 0 auto;width:var(--wc-control-height-xl);min-width:var(--wc-control-height-xl);height:var(--wc-control-height-xl)}.meal-prep-cook-one>img{display:block;width:2.25rem;height:2.25rem;object-fit:contain}.meal-prep-overview-heading{align-items:center}.ui-button.meal-prep-day-edit{width:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);margin-left:var(--wc-spacing-xs)}.ui-button.meal-prep-overview-drag{flex:0 0 auto;width:var(--wc-control-height-sm);min-width:var(--wc-control-height-sm);min-height:var(--wc-control-height-sm);cursor:grab;touch-action:none}.ui-button.meal-prep-overview-drag:active{cursor:grabbing}.ui-button.meal-prep-overview-delete{flex:0 0 auto;width:var(--wc-control-height-xl);min-width:var(--wc-control-height-xl);height:var(--wc-control-height-xl)}.meal-prep-overview-meal{position:relative}.meal-prep-overview-meal.is-dragging{opacity:.45}.meal-prep-overview-meal.drop-before:before,.meal-prep-overview-meal.drop-after:after{position:absolute;right:0;left:0;height:var(--wc-space-2);border-radius:var(--wc-radius-pill);background:var(--wc-green-800);content:""}.meal-prep-overview-meal.drop-before:before{top:calc(-1 * var(--wc-spacing-md))}.meal-prep-overview-meal.drop-after:after{bottom:calc(-1 * var(--wc-spacing-sm))}.meal-prep-day-overview.is-editing .meal-prep-overview-slot{min-height:calc(var(--wc-control-height-xl) + var(--wc-spacing-md))}.meal-prep-overview-slot.is-drop-target{outline:var(--wc-border-width-emphasis) dashed var(--wc-green-800);outline-offset:2px}.meal-prep-overview-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--wc-spacing-sm)}.meal-prep-overview-footer>:is(.meal-prep-start-day,.meal-prep-done-editing){margin-left:auto}.meal-prep-editor-backdrop{align-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.meal-prep-editor-modal{--ui-dialog-pad: 0px;display:flex;flex-direction:column;width:min(1100px,100%);max-width:100%;max-height:min(92dvh,960px);overflow:hidden;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);background:var(--wc-surface);box-shadow:var(--wc-shadow-hard-sm)}.meal-prep-editor-body.meal-prep-page{display:block;flex:1 1 auto;min-height:0;width:100%;max-width:none;overflow:auto;padding:var(--wc-spacing-lg);background:var(--wc-surface)}.meal-prep-editor-body .meal-prep-week-list{width:100%;max-width:none}.meal-prep-confirm-modal{width:min(480px,calc(100% - 24px));margin:auto;background:var(--wc-surface)}.meal-prep-confirm-modal>p{margin:var(--wc-spacing-lg)}@media(max-width:767px){.meal-prep-overview{gap:var(--wc-spacing-md)}.meal-prep-day-carousel{--meal-prep-carousel-card-width: calc(100% - 2 * var(--wc-spacing-lg));--meal-prep-carousel-gap: var(--wc-spacing-xs)}.meal-prep-selector-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.meal-prep-selected-week-copy strong{font-size:var(--wc-font-size-body)}.meal-prep-selected-week-icon{width:var(--wc-control-height-sm);height:var(--wc-control-height-sm)}.meal-prep-day-tab{flex-basis:72px;min-height:62px}.meal-prep-day-tab strong{font-size:var(--wc-font-size-body)}.meal-prep-day-tab span{font-size:var(--wc-font-size-sm)}.meal-prep-day-overview{padding:var(--wc-spacing-sm)}.meal-prep-overview-header{display:grid}.meal-prep-overview-actions{justify-content:flex-start}.meal-prep-overview-footer>.meal-prep-start-day{width:100%}.meal-prep-overview-meal>img,.meal-prep-overview-meal-placeholder{flex-basis:4rem;width:4rem;height:4rem}.meal-prep-overview-meal{gap:var(--wc-spacing-md)}.meal-prep-overview-meal-copy strong{font-size:var(--wc-font-size-body)}.meal-prep-overview-meal-copy small{font-size:var(--wc-font-size-sm)}.meal-prep-editor-backdrop{padding:0}.meal-prep-editor-modal{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.meal-prep-editor-body.meal-prep-page{padding:var(--wc-spacing-sm)}}@media(min-width:380px)and (max-width:767px){.meal-prep-day-carousel{--meal-prep-carousel-card-width: calc(100% - 2 * var(--wc-spacing-xl))}}.ui-page-header.ui-page-banner{position:relative;isolation:isolate;min-height:178px;border:var(--wc-border-width) solid var(--wc-border-default);border-radius:var(--wc-radius-xl);padding:var(--wc-spacing-lg) clamp(var(--wc-spacing-md),4vw,var(--wc-spacing-2xl));background:var(--wc-canvas);box-shadow:var(--wc-shadow-hard-sm)}.ui-page-banner>:not(.ui-page-banner-art){position:relative;z-index:1}.ui-page-banner-art{position:absolute;inset:0 0 0 auto;z-index:0;width:min(55%,700px);overflow:hidden;border-radius:inherit;pointer-events:none}.ui-page-banner-art img{position:absolute;top:-15%;right:-6%;width:auto;max-width:none;height:130%;object-fit:contain;opacity:0}.ui-page-banner-art img.is-ready,.ui-page-banner-art img.ui-page-banner-art-previous{opacity:1}.ui-page-banner-art img.ui-page-banner-art-previous.is-fading-out{opacity:0}@keyframes header-art-fade-in{0%{opacity:0}to{opacity:1}}@keyframes header-art-fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:no-preference){.ui-page-banner-art img.is-ready{animation:header-art-fade-in .65s ease-in-out both}.ui-page-banner-art img.ui-page-banner-art-previous.is-fading-out{animation:header-art-fade-out .65s ease-in-out both}}@media(max-width:660px){.ui-page-header.ui-page-banner{min-height:0;padding:var(--wc-spacing-sm) var(--wc-spacing-md)}.ui-page-banner-art{width:80%;opacity:.55;-webkit-mask-image:linear-gradient(to right,transparent,#000 40%);mask-image:linear-gradient(to right,transparent,#000 40%)}.ui-page-banner-art img{top:-8%;right:-3%;height:116%}}@media(max-width:739px){.ui-page-banner .ui-page-header-copy>p{display:none}.ui-page-banner--meal-prep .meal-prep-action-rail--compact,.ui-page-banner--shopping .shopping-new-list-button{display:none}}
