@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff")}@font-face{font-family:Inter;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-italic-CIUtULAL.woff2) format("woff2"),url(/assets/inter-cyrillic-400-italic-DsJ3McxZ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-italic-D1l0FflY.woff2) format("woff2"),url(/assets/inter-latin-400-italic-BmFrN47l.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}:root{--font-sans: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;--white: #ffffff;--fog: #f7f7f7;--page-canvas: #f7f7f6;--mint: #e6f0ec;--sage-light: #c5ddd3;--deep-green: #1e6b57;--graphite: #1a1a1a;--brand-accent-soft: #f5e6ea;--brand-accent-strong: #a63d5a;--accent-tertiary: #5f6f8f;--accent-tertiary-soft: #e8ecf3;--accent-tertiary-pale: #f5f7fa;--menu-type-week-bg: var(--mint);--menu-type-week-fg: #457a68;--menu-type-day-bg: var(--accent-tertiary-soft);--menu-type-day-fg: var(--accent-tertiary);--menu-type-meal-bg: var(--brand-accent-soft);--menu-type-meal-fg: #876e76;--menus-card-bg: color-mix(in srgb, var(--page-canvas) 16%, var(--white));--menus-card-radius: 14px;--menus-card-border: color-mix(in srgb, var(--week-grid-outer) 55%, var(--menus-card-bg));--sidebar-bg: var(--deep-green);--sidebar-text: #ffffff;--sidebar-text-muted: #d7ebe3;--sidebar-active-bg: #2a8570;--sidebar-hover-bg: color-mix(in srgb, #ffffff 12%, transparent);--sidebar-border: color-mix(in srgb, #0f3d32 35%, transparent);--sidebar-active-mark: #ffffff;--color-bg-nest: var(--page-canvas);--empty-mark-fill: var(--white);--empty-mark-rim: var(--color-border-default);--blush: #ffe6e8;--blush-strong: #f5a8b5;--sage-dark: #185a49;--coral-soft: #ffe6e8;--muted-gold: #7a9e90;--terracotta: #c45c6a;--amber: #5f8f7d;--amber-soft: #e6f0ec;--color-bg-page: var(--fog);--color-bg-surface: var(--white);--color-bg-subtle: var(--fog);--color-bg-selected: var(--mint);--color-bg-accent: var(--brand-accent-soft);--color-bg-field: var(--white);--color-text-on-primary: #ffffff;--color-text-primary: var(--graphite);--color-text-secondary: #6b736f;--color-text-placeholder: #858c88;--color-border-default: #e4e7e5;--color-border-strong: #cdd3d0;--color-border-hover: #aab3ae;--color-action-primary: var(--deep-green);--color-action-primary-hover: var(--sage-dark);--color-action-primary-disabled-bg: var(--mint);--color-action-primary-disabled-text: var(--color-category-complete);--color-action-primary-disabled-border: transparent;--color-action-destructive: #c45c6a;--color-action-destructive-hover: #a84b58;--color-action-destructive-pressed: #8f3f4a;--color-text-destructive: #a84b58;--color-text-destructive-hover: color-mix(in srgb, var(--color-action-destructive-pressed) 80%, var(--graphite));--color-bg-destructive: var(--blush);--color-bg-destructive-hover: #ffd6db;--color-border-destructive: #f5b8c0;--color-bg-inverse: #1f2e28;--color-border-inverse: #2b6653;--color-text-on-inverse: var(--fog);--color-action-on-inverse: #d5e9d8;--color-bg-tooltip: #2f3331;--color-text-tooltip: var(--fog);--color-focus-ring: var(--deep-green);--color-accent-brand: var(--brand-accent-soft);--color-accent-brand-strong: var(--brand-accent-strong);--color-accent-pink: var(--color-accent-brand);--color-accent-pink-strong: var(--color-accent-brand-strong);--color-status-partial: var(--sage-light);--color-status-complete: var(--deep-green);--color-category-default: #9aaa9d;--color-category-protein: #c45c6a;--color-category-carbs: #5f8f7d;--color-category-fiber: #6e9a70;--color-category-complete: #7a8f88;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--space-9: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--control-min-size: 44px;--type-ui: .875rem;--type-comfort: .9375rem;--type-body: 1rem;--type-subtitle: 1.125rem;--type-title: 1.5rem;--logo-name-size: 2rem;--logo-name-auth: 2.5rem;--logo-tagline-indent: calc(var(--logo-name-size) * 209 / 165);--logo-mark-size: 1rem;--logo-mark-rail: 1rem;--type-eyebrow: .8125rem;--type-micro: var(--type-eyebrow);--button-min-height: var(--control-min-size);--button-padding-y: var(--space-2);--button-padding-x: 1.25rem;--button-font-size: var(--type-ui);--field-font-size: var(--type-ui);--button-line-height: 1.4;--button-font-weight: 600;--button-radius: var(--radius-md);--sidebar-width: 240px;--main-padding-inline: var(--space-8);--library-scroll-top-size: 48px;--library-scroll-top-gap: var(--space-5);--library-sort-width: 11rem;--library-tile-columns: 4;--library-sticky-chrome: calc( var(--space-5) + var(--page-eyebrow-line-height) + var(--page-eyebrow-title-gap) + var(--page-title-line-height) + var(--page-title-content-gap) );--paper-pad-block: var(--space-2);--paper-pad-inline: var(--space-4);--paper-card-pad: var(--space-5);--paper-action-pad: var(--space-4);--paper-stack-gap: var(--space-3);--profile-column-max: 48rem;--profile-block-gap: var(--space-4);--profile-avatar-size: 88px;--meal-priority-max: 680px;--meal-name-field-max: 28rem;--page-content-max: 1360px;--modal-viewport-inset: var(--space-6);--pairing-options-max-height: min(20rem, 42dvh);--pairing-selected-max-height: 9rem;--chip-min-height: 40px;--chip-padding-y: var(--space-3);--chip-padding-x: var(--space-4);--chip-radius: var(--radius-md);--chip-font-size: var(--type-ui);--chip-font-weight: 500;--chip-line-height: 1.25;--chip-gap: var(--space-2);--chip-wrap-gap: var(--space-3);--page-title-size: 2.25rem;--page-title-line-height: 42px;--page-title-weight: 500;--page-title-chrome-settle: 10px;--editor-close-eyebrow-nudge: calc((var(--page-eyebrow-line-height) - var(--button-min-height)) / 2);--page-title-content-gap: var(--space-4);--page-title-chrome-gap: var(--space-4);--page-eyebrow-size: var(--type-eyebrow);--page-eyebrow-line-height: 16px;--page-eyebrow-title-gap: var(--space-2);--phone-tab-bar-pad-block-start: 8px;--phone-tab-bar-item-height: 72px;--phone-tab-bar-pad-block-end: max(8px, env(safe-area-inset-bottom, 0px));--phone-tab-bar-height: calc( var(--phone-tab-bar-pad-block-start) + var(--phone-tab-bar-item-height) + var(--phone-tab-bar-pad-block-end) );--phone-tab-bar-offset: calc(96px + env(safe-area-inset-bottom, 0px)) ;--week-table-edge: var(--space-4);--week-row-min: 104px;--week-row-max: 136px;--week-fill-chrome: 320px;--week-meal-rows: 4;--week-meal-scale: 132px;--toolbar-cluster-gap: var(--space-1);--week-meal-scale-gap: var(--space-5);--week-panel-surface: var(--white);--week-panel-shadow: 0 1px 2px rgba(26, 26, 26, .022), 0 14px 40px rgba(26, 26, 26, .045);--week-header-bg: var(--week-panel-surface);--week-grid-header-rule: #dddede;--week-grid-header-vline: #f1f2f1;--week-grid-outer: #dddede;--week-grid-hline: #f1f2f1;--week-grid-vline: #eceeec;--week-grid-meal-edge: #dddede;--week-meal-marker: #d6d9d6;--week-day-tint: rgba(30, 107, 87, .055);--week-hover-tint: rgba(30, 107, 87, .08);--week-row-scan-hover: rgba(30, 107, 87, .04);--chip-selected-bg: color-mix(in srgb, var(--mint) 58%, var(--sage-light));--chip-selected-bg-hover: color-mix(in srgb, var(--mint) 35%, var(--sage-light));--nav-active-bg: #fafafa;--nav-mobile-active-bg: #f5f8f7;--library-table-edge: var(--space-5);--library-panel-shadow: var(--week-panel-shadow);--library-row-hover: var(--week-hover-tint);--library-row-rule: #f6f7f6;--form-label-gap: var(--space-1);--form-stack-gap: var(--space-4);--motion-fast: .12s;--motion-ui: .18s;--motion-soft: .22s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ink: var(--color-text-primary);--muted: var(--color-text-secondary);--paper: var(--color-bg-surface);--paper-strong: var(--color-bg-surface);--sage: var(--color-action-primary);--sage-soft: var(--color-bg-selected);--coral: var(--blush-strong);--line: var(--color-border-default);--line-strong: var(--color-border-strong);--focus: var(--color-focus-ring);--shadow: 0 1px 2px rgba(26, 26, 26, .04);--shadow-float: 0 16px 40px rgba(26, 26, 26, .12);--modal-panel-shadow: var(--week-panel-shadow);--hint-shadow: 0 8px 28px rgba(26, 26, 26, .06);color:var(--color-text-primary);background:var(--color-bg-page)}[data-theme=dark]{color-scheme:dark;--white: #272e2b;--fog: #161b19;--page-canvas: #101312;--mint: #2a3a34;--sage-light: #3d5c50;--deep-green: #4fa38a;--graphite: #f1f3f2;--brand-accent-soft: #3a272e;--brand-accent-strong: #c96b82;--accent-tertiary: #8a9bb5;--accent-tertiary-soft: #2a3140;--accent-tertiary-pale: #1e242c;--menu-type-week-bg: var(--mint);--menu-type-week-fg: #6bb89a;--menu-type-day-bg: var(--accent-tertiary-soft);--menu-type-day-fg: var(--accent-tertiary);--menu-type-meal-bg: var(--brand-accent-soft);--menu-type-meal-fg: #b08a94;--menus-card-bg: color-mix(in srgb, var(--page-canvas) 22%, var(--white));--color-bg-nest: #1a201d;--empty-mark-fill: #2e3632;--empty-mark-rim: #4a5450;--blush: #3a282c;--blush-strong: #c47a88;--sage-dark: #63b399;--coral-soft: #3a282c;--muted-gold: #8aa89a;--terracotta: #d47886;--amber: #7aaf98;--amber-soft: #2a3a34;--color-bg-page: var(--fog);--color-bg-surface: var(--white);--color-bg-subtle: var(--fog);--color-bg-selected: var(--mint);--color-bg-accent: var(--brand-accent-soft);--color-bg-field: #1a201d;--color-text-on-primary: #ffffff;--color-text-primary: var(--graphite);--color-text-secondary: #b0b8b4;--color-text-placeholder: #a4ada8;--color-border-default: #3a423e;--color-border-strong: #6e7872;--color-border-hover: #858f89;--color-action-primary: var(--deep-green);--color-action-primary-hover: var(--sage-dark);--color-action-primary-disabled-bg: var(--mint);--color-action-primary-disabled-text: #7a9088;--color-action-primary-disabled-border: transparent;--color-action-destructive: #d47886;--color-action-destructive-hover: #e08a96;--color-action-destructive-pressed: #c45c6a;--color-text-destructive: #e08a96;--color-text-destructive-hover: color-mix(in srgb, var(--color-action-destructive-hover) 70%, var(--graphite));--color-bg-destructive: var(--blush);--color-bg-destructive-hover: #4a3236;--color-border-destructive: #8f5a64;--color-bg-inverse: #2f3a36;--color-border-inverse: #4a6358;--color-text-on-inverse: #f1f3f2;--color-action-on-inverse: #b7e0c8;--color-bg-tooltip: #0e1210;--color-text-tooltip: #f1f3f2;--color-focus-ring: var(--deep-green);--color-accent-brand: var(--brand-accent-soft);--color-accent-brand-strong: var(--brand-accent-strong);--color-accent-pink: var(--color-accent-brand);--color-accent-pink-strong: var(--color-accent-brand-strong);--color-status-partial: var(--sage-light);--color-status-complete: var(--deep-green);--color-category-default: #8a9a90;--color-category-protein: #d47886;--color-category-carbs: #7aaf98;--color-category-fiber: #84b088;--color-category-complete: #7a9088;--week-panel-surface: var(--white);--week-panel-shadow: 0 1px 2px rgba(0, 0, 0, .28), 0 16px 44px rgba(0, 0, 0, .42);--week-header-bg: var(--week-panel-surface);--week-grid-header-rule: #48514c;--week-grid-header-vline: #3c4540;--week-grid-outer: #48514c;--week-grid-hline: #434c47;--week-grid-vline: #3c4540;--week-grid-meal-edge: #48514c;--week-meal-marker: #68706b;--week-day-tint: rgba(79, 163, 138, .075);--week-hover-tint: rgba(79, 163, 138, .14);--week-row-scan-hover: rgba(79, 163, 138, .08);--chip-selected-bg: color-mix(in srgb, var(--mint) 55%, var(--sage-light));--chip-selected-bg-hover: color-mix(in srgb, var(--mint) 35%, var(--sage-light));--nav-active-bg: #313935;--nav-mobile-active-bg: #2a332f;--sidebar-bg: var(--color-bg-surface);--sidebar-text: var(--color-text-primary);--sidebar-text-muted: var(--color-text-secondary);--sidebar-active-bg: var(--nav-mobile-active-bg);--sidebar-hover-bg: color-mix(in srgb, var(--nav-active-bg) 55%, transparent);--sidebar-border: var(--color-border-default);--sidebar-active-mark: var(--deep-green);--library-panel-shadow: var(--week-panel-shadow);--library-row-hover: var(--week-hover-tint);--library-row-rule: color-mix(in srgb, var(--week-grid-hline) 50%, var(--white));--toolbar-cluster-gap: var(--space-1);--ink: var(--color-text-primary);--muted: var(--color-text-secondary);--paper: var(--color-bg-surface);--paper-strong: var(--color-bg-surface);--sage: var(--color-action-primary);--sage-soft: var(--color-bg-selected);--coral: var(--blush-strong);--line: var(--color-border-default);--line-strong: var(--color-border-strong);--focus: var(--color-focus-ring);--shadow: 0 1px 2px rgba(0, 0, 0, .28);--shadow-float: 0 16px 40px rgba(0, 0, 0, .45);--modal-panel-shadow: var(--week-panel-shadow);--hint-shadow: 0 8px 28px rgba(0, 0, 0, .35);color:var(--color-text-primary);background:var(--color-bg-page)}[data-theme=dark] .view-switch button.is-active,[data-theme=dark] .segmented:not(.segmented--line) button.is-active{background:var(--white);box-shadow:0 1px 2px #00000047}[data-theme=dark] .month-day.is-selected{background:var(--mint);box-shadow:inset 0 0 0 2px var(--white)}[data-theme=dark] .dish-picker section>div>button,[data-theme=dark] .duplicate-list-item,[data-theme=dark] .conflict-option{background:var(--white)}[data-theme=dark] .dish-picker section>div>button:hover{border-color:var(--color-border-hover);background:var(--mint)}[data-theme=dark] .food-card:hover{background:color-mix(in srgb,var(--mint) 55%,var(--white))}[data-theme=dark] .meal-editor:not(.food-editor) .editor-footer,[data-theme=dark] .food-editor-actions{background:var(--white)}[data-theme=dark] .modal-backdrop{background:#080a099e}[data-theme=dark] .empty-state-illustration,[data-theme=dark] .food-picker-empty-illustration{filter:brightness(1.45) saturate(.92)}[data-theme=dark] .undo-toast button{color:var(--color-action-on-inverse)}[data-theme=dark] .undo-toast .toast-close{color:color-mix(in srgb,var(--color-text-on-inverse) 65%,transparent)}[data-theme=dark] .app-logo__mark--light,[data-theme=dark] .app-logo__mark--dark,[data-theme=dark] .app-logo__wordmark--ink{display:none}[data-theme=dark] .app-logo__wordmark--white{display:block}[data-theme=dark] .brand .app-logo__type{color:var(--graphite)}[data-theme=dark] .app-boot-logo--ink{display:none}[data-theme=dark] .app-boot-logo--white{display:block}[data-theme=dark] .day-progress,[data-theme=dark] .week-day-progress-track,[data-theme=dark] .day-button .day-progress{background:#3a423e}[data-theme=dark] .calendar-button,[data-theme=dark] .library-toolbar-primary .custom-select-trigger{border-color:var(--color-border-strong)}[data-theme=dark] .library-toolbar-primary .custom-select-trigger svg,[data-theme=dark] .library-sort .custom-select-trigger svg{color:var(--color-text-secondary)}[data-theme=dark] .library-toolbar-primary .library-filter-field.is-default .custom-select-trigger span,[data-theme=dark] .library-filters-sheet .library-filter-field.is-default .custom-select-trigger span{color:var(--color-text-secondary)}[data-theme=dark] .week-toolbar .toolbar-actions{gap:var(--space-1)}[data-theme=dark] .week-toolbar .toolbar-icon-button,[data-theme=dark] .week-toolbar .calendar-button.icon-only,[data-theme=dark] .week-toolbar .week-menu-trigger{color:var(--color-text-primary)}[data-theme=dark] .week-toolbar .toolbar-nav-group .tertiary-button:not(.is-current){color:var(--color-text-primary)}[data-theme=dark] .app-header{background:var(--color-bg-surface);border-right-color:var(--color-border-default)}[data-theme=dark] .main-nav a:not(.is-active):not(.profile-nav){color:var(--color-text-secondary)}[data-theme=dark] .main-nav a:not(.is-active):not(.profile-nav) .nav-icon,[data-theme=dark] .main-nav a:not(.is-active):not(.profile-nav) .ui-icon.nav-icon{color:var(--color-text-secondary)}[data-theme=dark] .main-nav a.is-active{background:var(--nav-active-bg);color:var(--color-text-primary)}[data-theme=dark] .main-nav a:hover:not(.is-active){background:color-mix(in srgb,var(--nav-active-bg) 55%,transparent);color:var(--color-text-primary)}[data-theme=dark] .main-nav .profile-nav{border-top-color:var(--color-border-default);background:transparent}[data-theme=dark] .main-nav .profile-nav.is-active{background:var(--nav-active-bg)}[data-theme=dark] .main-nav .profile-nav:hover:not(.is-active){background:color-mix(in srgb,var(--nav-active-bg) 55%,transparent)}[data-theme=dark] .week-table thead .week-day-heading.is-today{border-right-color:color-mix(in srgb,var(--week-grid-header-vline) 50%,var(--week-panel-surface))}[data-theme=dark] .week-table td.is-today-day{border-right-color:color-mix(in srgb,var(--week-grid-vline) 50%,var(--week-panel-surface));border-bottom-color:color-mix(in srgb,var(--week-grid-hline) 55%,var(--week-panel-surface))}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg-page)}html.modal-scroll-lock,html.modal-scroll-lock body{overscroll-behavior:none}html.modal-scroll-lock .app-header{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;height:100dvh;z-index:12}.type-ui{font-size:var(--type-ui)}.type-comfort{font-size:var(--type-comfort)}.type-body{font-size:var(--type-body)}.type-subtitle{font-size:var(--type-subtitle)}.type-title{font-size:var(--type-title)}.type-eyebrow{font-size:var(--type-eyebrow)}.type-micro{font-size:var(--type-micro)}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:none}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.35rem;font-family:var(--font-display);font-size:var(--page-title-size);line-height:var(--page-title-line-height);letter-spacing:-.02em;font-weight:var(--page-title-weight)}h2{margin-bottom:.25rem;font-size:var(--type-title);line-height:1.33;letter-spacing:-.02em;font-weight:650}h3{margin-bottom:.35rem;font-size:var(--type-subtitle);line-height:1.33;font-weight:550}.app-shell{width:100%;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);margin:0;background:var(--color-bg-page)}.app-header{min-height:100vh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--space-7);border-right:1px solid var(--color-border-default);border-bottom:0;background:var(--color-bg-surface);padding:var(--space-6) var(--space-4)}.brand{display:flex;align-items:center;container-type:inline-size;container-name:brand;border:0;background:none;cursor:pointer;padding:.25rem 0;text-align:left;min-height:44px;min-width:44px;text-decoration:none;color:inherit}.app-logo{position:relative;display:flex;flex-direction:column;align-items:flex-start;flex:0 0 auto;line-height:0}.app-logo__cluster{display:flex;flex-direction:column;align-items:stretch;width:max-content;max-width:100%}.app-logo__lockup{align-items:flex-end;gap:var(--space-1);pointer-events:none;-webkit-user-select:none;user-select:none}.app-logo__horizontal{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;width:auto}.app-logo__stacked{display:none;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left}.app-logo__mark{display:none;width:auto;height:var(--logo-mark-rail);flex:0 0 auto;object-fit:contain;object-position:center}.app-logo__mark--dark{display:none}.app-logo__name{display:inline-flex;align-items:flex-end;align-self:flex-end;min-width:0;max-width:100%;line-height:0}.app-logo__wordmark{display:block;height:auto;width:auto;max-height:var(--logo-name-size);max-width:100%;object-fit:contain;object-position:left center}.app-logo__wordmark--white{display:none}.app-logo__type{display:none;margin:0;padding:0;padding-inline-start:var(--logo-tagline-indent);box-sizing:border-box;font-family:var(--font-sans);font-size:var(--type-eyebrow);line-height:var(--page-eyebrow-line-height);font-weight:400;letter-spacing:.08em;text-transform:lowercase;color:var(--graphite);white-space:nowrap}.app-logo__stacked .app-logo__mark{height:var(--logo-mark-size);width:auto}.app-logo__stacked .app-logo__wordmark{height:var(--type-title)}.main-nav{display:flex;align-items:center;gap:.4rem}.main-nav a{text-decoration:none;color:inherit;font:inherit;position:relative;min-height:44px;border:0;background:transparent;padding:.65rem .85rem;border-radius:0;color:var(--graphite);cursor:pointer;display:flex;gap:.45rem;align-items:center;font-weight:500}.main-nav a:hover{background:#ffffff8c}.main-nav a.is-active{color:var(--graphite);background:var(--nav-active-bg);font-weight:600;box-shadow:inset 2px 0 0 var(--deep-green)}.main-nav .nav-label{font-size:inherit}.main-nav a>i{min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--coral);color:#fff;font-style:normal;font-size:var(--type-micro)}.main-nav .profile-nav{margin-left:.25rem;border-left:1px solid var(--line);border-radius:0 12px 12px 0}.profile-nav>small{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-comfort);font-weight:550;line-height:1.3}.profile-nav-tab-label,.profile-nav-tab-icon{display:none}.profile-nav-initial{display:grid;place-items:center}.header-account{display:none;text-decoration:none;color:inherit}main{flex:1;padding:2.1rem 0 3rem}.sync-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border-destructive);border-radius:var(--radius-lg);background:var(--color-bg-destructive);color:var(--color-text-destructive);padding:var(--space-3) var(--space-4);font-size:var(--type-ui)}.sync-error strong{display:block;margin-bottom:.15rem}.sync-error .tertiary-button{flex:0 0 auto}.page-skeleton-chrome{display:inline-flex;align-items:center;gap:var(--space-2);pointer-events:none}.page-skeleton-chip{display:block;width:44px;height:44px;border:1px solid var(--color-border-default);border-radius:var(--button-radius);background:transparent;pointer-events:none}.page-skeleton-chip--wide{width:5.5rem}.page-skeleton-chip--cta{width:9.5rem}.page-skeleton-chip--search{width:100%;height:44px}.page-skeleton-chip--filter{width:100%;max-width:8.5rem;height:44px}.page-skeleton-library-toolbar .page-skeleton-chip--filter{max-width:none}.page-skeleton-line{display:block;height:3px;border-radius:2px;background:var(--color-border-default)}.page-skeleton-line--date{width:2.25rem;margin-top:6px}.page-skeleton-line--meal{width:4.5rem}.page-skeleton-line--name{width:min(12rem,70%)}.page-skeleton-line--meta{width:4.5rem}.page-skeleton-line--gap{width:40%;margin-top:var(--space-3)}.page-skeleton-week-cell{min-height:96px}.page-skeleton-day-strip{display:flex;gap:8px;margin-bottom:24px;overflow:hidden}.page-skeleton-day-button{pointer-events:none;opacity:.85}.page-skeleton-day-num{display:block;width:1.25rem;height:3px;margin:4px auto 0;border-radius:2px;background:var(--color-border-default);font-size:0!important}.page-skeleton-meal-row{pointer-events:none;grid-template-columns:88px minmax(0,1fr)}.page-skeleton-library-toolbar{pointer-events:none}.page-skeleton-menus-filters{display:flex;flex-wrap:nowrap;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;pointer-events:none}.page-skeleton-chip--menu-filter{width:3.25rem;height:1rem;border-radius:var(--radius-sm);align-self:center}.page-skeleton-chip--menu-badge{width:3.5rem;height:1.25rem;border-radius:var(--radius-sm)}.page-skeleton-chip--menu-favorite{width:1.25rem;height:1.25rem;border-radius:999px;flex:0 0 auto;align-self:center}.page-skeleton-menus-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);pointer-events:none}.page-skeleton-menus-toolbar .menus-filters{flex:1 1 100%}.page-skeleton-menus-toolbar .page-skeleton-chip--search{flex:1 1 12rem;min-width:0}.page-skeleton-menus-list,.page-skeleton-menus-row{pointer-events:none}.page-skeleton-menus-row .menus-list-row-heading{align-items:center}.page-skeleton-menus-week-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) 0 var(--space-6);pointer-events:none}.page-skeleton-menus-week-body .page-skeleton-line--name{width:min(16rem,70%)}.page-skeleton-menus-week-body .page-skeleton-line--meta{width:min(10rem,45%)}.library-table--pending tbody tr{cursor:default}.library-table--pending tbody tr:hover{background:transparent}.page-skeleton-heart{display:block;width:14px;height:14px;margin:0 auto;border:1.5px solid var(--color-border-default);border-radius:50%;background:transparent}.page-skeleton-settings-list{display:grid;gap:0;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);overflow:hidden;pointer-events:none}.page-skeleton-settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default)}.page-skeleton-settings-row:last-child{border-bottom:0}.page-skeleton-profile-card{pointer-events:none}.page-skeleton-avatar{display:block;width:96px;height:96px;border:1px solid var(--color-border-default);border-radius:50%;background:transparent}.page-skeleton-profile-card .profile-card-main{display:grid;align-content:start;gap:var(--space-2);padding-top:var(--space-2)}.planner-load-status,.planner-save-status{position:fixed;z-index:60;left:50%;bottom:var(--space-5);display:flex;align-items:center;gap:var(--space-3);max-width:min(360px,calc(100% - 32px));transform:translate(-50%);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);box-shadow:var(--shadow-float);padding:var(--space-3) var(--space-4)}.planner-load-status-copy{display:grid;gap:var(--space-2);min-width:0}.planner-load-status-copy>p,.planner-save-status>span{margin:0;font-size:var(--type-ui);font-weight:500;line-height:1.35}.planner-load-status-hint{color:var(--muted);font-weight:450}.planner-load-status .tertiary-button{justify-self:start;min-height:36px;padding-block:6px}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.planner-load-status,.planner-save-status{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.status-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--fog)}.status-card{width:min(430px,100%);display:grid;justify-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow);padding:var(--space-6) var(--space-5);text-align:center}.status-card .eyebrow{margin:0}.status-card h1{margin:0;font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;color:var(--graphite)}.status-card>p:not(.eyebrow){max-width:20rem;margin:0;color:var(--graphite);font-size:var(--type-body);line-height:1.5;font-weight:400}.status-card>.primary-button{margin-top:var(--space-2)}.status-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:var(--space-2)}.status-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.eyebrow{margin-bottom:var(--space-2);color:var(--sage);text-transform:uppercase;letter-spacing:.09em;font-size:var(--type-micro);line-height:1.4;font-weight:750}.week-toolbar,.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--page-title-chrome-gap);margin-bottom:var(--page-title-content-gap)}.week-toolbar{flex-direction:column;align-items:stretch;justify-content:flex-start}.week-toolbar-titlebar{display:flex;justify-content:space-between;align-items:center;gap:var(--page-title-chrome-gap);min-width:0}.week-toolbar h1{margin:0;min-width:0}.toolbar-actions,.inline-actions{display:flex;align-items:center;gap:.55rem}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.primary-button,.secondary-button,.tertiary-button,.danger-button,.meal-delete-text-button,.calendar-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-min-height);margin:0;border-radius:var(--button-radius);padding:var(--button-padding-y) var(--button-padding-x);border:1px solid transparent;cursor:pointer;font-size:var(--button-font-size);line-height:var(--button-line-height);font-weight:var(--button-font-weight)}.icon-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--button-min-height);min-height:var(--button-min-height);margin:0;padding:0;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--paper);cursor:pointer;font-size:var(--type-subtitle);font-weight:var(--button-font-weight)}.secondary-button{background:var(--mint);color:var(--deep-green);border-color:transparent;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.tertiary-button{background:transparent;color:var(--graphite);transition:color var(--motion-fast) var(--ease-out)}.primary-button{color:var(--color-text-on-primary);background:var(--sage);border-color:var(--sage)}.primary-button:hover{background:var(--sage-dark)}.secondary-button:disabled,.tertiary-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.calendar-button{gap:.45rem;border-color:#b9c8bb;background:var(--sage-soft);color:var(--sage-dark)}.calendar-button:hover,.calendar-button.is-active{border-color:var(--sage);background:var(--sage);color:#fff}.calendar-button.icon-only.is-active{border-color:transparent;background:var(--mint);color:var(--deep-green)}.calendar-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.calendar-button.icon-only svg{width:24px;height:24px}.danger-button{border-color:var(--color-border-destructive);color:var(--color-text-destructive);background:var(--color-bg-destructive)}.danger-button:hover{background:var(--color-bg-destructive-hover)}.confirm-actions .danger-button:active,.confirm-dialog .confirm-actions .danger-button:active,.delete-account-dialog .danger-button:active{border-color:var(--color-action-destructive-pressed);background:var(--color-action-destructive-pressed)}.confirm-actions .danger-button:focus-visible,.confirm-dialog .confirm-actions .danger-button:focus-visible,.delete-account-dialog .danger-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.confirm-actions .danger-button:disabled,.delete-account-dialog .danger-button:disabled{opacity:.55;cursor:not-allowed}.full-width{width:100%}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.65rem;margin-bottom:1.2rem}.day-button{min-width:0;min-height:88px;display:grid;place-items:center;gap:.2rem;border:1px solid var(--line);border-radius:17px;background:#fffdfab3;cursor:pointer}.day-button:hover{background:var(--paper-strong)}.day-button span{color:var(--muted);font-size:var(--type-micro);font-weight:650}.day-button strong{font-size:var(--type-subtitle)}.day-button i{display:block;width:36px;height:3px;border-radius:99px;overflow:hidden;background:#e5e4df}.day-button i b{display:block;height:100%;background:#9fb29f;border-radius:inherit}.day-button i.is-partial b{background:var(--amber)}.day-button i.is-complete b{background:#5c8969}.day-button.is-active{border-color:var(--sage);background:var(--sage);color:#fff;box-shadow:0 10px 24px #3752402b}.day-button.is-active span{color:#ffffffc2}.day-button.is-active i{background:#fff3}.day-button.is-active i b{background:#fff}.day-button.is-today:not(.is-active){border-color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage)}.day-button.is-today:not(.is-active) strong{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--sage-soft);color:var(--sage-dark)}.month-calendar{padding:1rem}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.month-weekdays{margin-bottom:.45rem}.month-weekdays span{padding:.35rem;color:var(--muted);text-align:center;font-size:var(--type-micro);font-weight:750}.month-day{position:relative;min-width:0;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;border:1px solid var(--line);border-radius:15px;background:#fffdfab3;cursor:pointer}.month-day:hover{border-color:#b8c4ba;background:var(--sage-soft)}.month-day.is-outside{opacity:.48}.month-day.is-selected{border:2px solid var(--sage);background:#f3f7f3;box-shadow:inset 0 0 0 2px #fff}.month-day.is-today .month-day-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:#fff}.month-day-number{font-size:var(--type-ui);font-weight:750}.month-status-dot,.month-legend i{width:10px;height:10px;flex:0 0 auto;border-radius:50%}.month-day.is-empty .month-status-dot,.month-legend i.is-empty{border:2px solid #aeb4ae;background:transparent}.month-day.is-partial .month-status-dot,.month-legend i.is-partial{background:#c18335}.month-day.is-complete .month-status-dot,.month-legend i.is-complete{background:#5c8969}.month-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1rem;margin-top:.9rem;color:var(--muted);font-size:var(--type-micro)}.month-legend span{display:inline-flex;align-items:center;gap:.4rem}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;align-items:start}.panel{border:1px solid var(--line);background:var(--paper);border-radius:22px;box-shadow:var(--shadow)}.starter-choice{display:grid;place-items:center;min-height:min(70vh,36rem);padding:var(--space-7) 0 var(--space-6)}.starter-choice-state{max-width:28rem}.starter-choice-state h1{margin:0;font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;color:var(--graphite)}.starter-choice-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-2)}.starter-choice-error{width:100%;max-width:22rem;margin:0;text-align:left}.starter-shell .starter-card{width:min(100%,40rem);overflow:visible}.starter-shell .starter-card--flow{width:min(100%,56rem);display:flex;flex-direction:column;overflow:visible;padding-inline-start:max(clamp(1.4rem,5vw,2.25rem),calc(32px + var(--space-2) + var(--space-4)))}.starter-shell .starter-card--flow>.auth-brand{flex:0 0 auto}.starter-flow{display:grid;gap:var(--space-6);flex:1 1 auto;min-height:0;margin-top:var(--space-2)}.starter-flow-lead{display:grid;align-content:start;gap:var(--space-5);min-width:0}.starter-step{display:grid;gap:var(--space-2);max-width:12rem}.starter-step-label{margin:0;font-size:var(--type-eyebrow);font-weight:500;line-height:1.25;letter-spacing:.02em;color:var(--color-text-secondary)}.starter-step-track{height:3px;border-radius:999px;background:var(--color-border-default);overflow:hidden}.starter-step-fill{display:block;height:100%;border-radius:inherit;background:var(--deep-green)}.starter-step-fill--1{width:50%}.starter-step-fill--2{width:100%}.starter-flow-title-row{position:relative;display:block;min-width:0;max-width:100%;width:max-content;margin:0;padding:0;border:0;background:transparent;font:inherit;text-align:left;color:inherit;cursor:pointer;touch-action:manipulation}.starter-flow-title-row:focus-visible{outline:none}.starter-flow-title-row:focus-visible .starter-flow-back{outline:3px solid var(--color-focus-ring);outline-offset:2px}.starter-flow-back{position:absolute;top:50%;left:calc(-32px - var(--space-2));width:32px;height:32px;transform:translateY(calc(-50% + 3px));display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.starter-flow-back:before{content:"";position:absolute;inset:-6px}.starter-flow-title-row:hover .starter-flow-back{color:var(--deep-green);background:var(--week-hover-tint, #EDF3F2)}.starter-flow-lead h1,.starter-flow-title-row h1{margin:0;font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;color:var(--graphite)}.starter-flow-intro{margin:calc(var(--space-1) * -1) 0 0;max-width:22rem;font-size:var(--type-body);font-weight:400;line-height:1.5;color:var(--graphite)}.starter-flow-points{display:grid;gap:var(--space-5);margin:var(--space-1) 0 0;padding:0;list-style:none;max-width:22rem}.starter-flow-points>li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-3);align-items:start}.starter-flow-point-icon{display:grid;place-items:center;width:22px;height:22px;margin-top:2px;color:var(--deep-green)}.starter-flow-points strong{display:block;margin:0 0 4px;font-size:var(--type-body);font-weight:600;line-height:1.35;color:var(--graphite)}.starter-flow-points p{margin:0;font-size:var(--type-comfort);font-weight:400;line-height:1.45;color:var(--color-text-secondary)}.starter-flow-time{display:inline-flex;align-items:center;gap:.5em;margin:var(--space-2) 0 0;font-size:var(--type-comfort);font-weight:500;line-height:1.4;color:var(--graphite)}.starter-flow-time .brand-dot{width:7px;height:7px;box-shadow:none}.starter-flow-picks{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0;flex:1 1 auto}.starter-pack-grid{display:grid;gap:var(--space-3);margin:0;flex:0 0 auto}.starter-pack-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:var(--space-4);width:100%;padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--library-panel-shadow, 0 10px 30px rgba(26, 26, 26, .028));text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.starter-pack-card:hover{background:color-mix(in srgb,var(--deep-green) 8%,var(--white))}.starter-pack-card:hover .starter-pack-card-chevron{color:var(--deep-green)}.starter-pack-card:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.starter-pack-card--expanded{grid-template-columns:auto minmax(0,1fr);cursor:default;border-color:var(--color-border-default);background:var(--white)}.starter-pack-card--expanded:hover{border-color:var(--color-border-default);background:var(--white)}.starter-pack-card .starter-pack-mark{margin-bottom:0;flex:0 0 auto}.starter-pack-card-copy{display:grid;gap:4px;min-width:0}.starter-pack-card-title{font-size:var(--type-body);font-weight:600;color:var(--graphite)}.starter-pack-card-blurb{font-size:var(--type-ui);font-weight:400;color:var(--graphite)}.starter-pack-card-chevron{display:grid;place-items:center;width:24px;height:24px;color:var(--muted);transition:color var(--motion-fast) var(--ease-out)}.starter-pack-skip{margin:auto 0 0;text-align:center}.starter-preview{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.starter-preview-body{flex:1 1 auto;min-height:0;overflow:auto;padding-right:2px;padding-bottom:var(--space-2)}.starter-preview-week,.starter-preview-dishes{margin-top:var(--space-5)}.starter-preview-section-title{margin:0 0 var(--space-3);font-size:var(--type-ui);font-weight:500;color:var(--graphite)}.starter-preview-timeline{margin:0;padding:0;list-style:none;display:grid;gap:0}.starter-preview-timeline-item{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:var(--space-3);align-items:start;position:relative}.starter-preview-timeline-item:not(:last-child){padding-bottom:var(--space-4)}.starter-preview-timeline-item:not(:last-child):before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:1px;background:var(--color-border-default)}.starter-preview-step{margin:0;z-index:1}.starter-preview-day{display:grid;gap:6px;min-width:0}.starter-preview-day-label{margin:0;padding-top:4px;font-size:var(--type-ui);font-weight:500;line-height:1.35;color:var(--graphite)}.starter-preview-day-card{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--library-panel-shadow, 0 10px 30px rgba(26, 26, 26, .028));font-size:var(--type-ui);font-weight:400;line-height:1.45;color:var(--graphite)}.starter-preview-dishes-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:44px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;color:var(--graphite);text-align:left}.starter-preview-dishes-toggle-label{font-size:var(--type-ui);font-weight:500;color:var(--graphite)}.starter-preview-dishes-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.starter-preview-dishes-chevron{flex:0 0 auto;color:var(--muted);transition:transform var(--motion-ui) var(--ease-out)}.starter-preview-dishes-toggle[aria-expanded=false] .starter-preview-dishes-chevron{transform:rotate(-90deg)}.starter-preview-dishes-toggle[aria-expanded=true]+.starter-preview-group-list{margin-top:var(--space-4)}@media(prefers-reduced-motion:reduce){.starter-preview-dishes-chevron{transition:none}}.starter-preview-group-list{margin:0;padding:0 0 var(--space-4);list-style:none;display:grid;gap:var(--space-3)}.starter-preview-group-row{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:var(--space-3);align-items:start;min-width:0}.starter-preview-group-icon{display:grid;place-items:center;margin-top:1px;color:var(--deep-green)}.starter-preview-group-copy{display:grid;gap:var(--form-label-gap, var(--space-1));min-width:0}.starter-preview-group-title{margin:0;font-size:var(--type-ui);font-weight:500;color:var(--graphite)}.starter-preview-group-examples{margin:0;font-size:var(--type-ui);font-weight:400;line-height:1.45;color:var(--color-text-secondary)}.starter-preview-actions{display:grid;gap:var(--space-3);flex:0 0 auto;margin-top:0;padding-top:var(--space-4);border-top:1px solid var(--color-border-default);background:var(--white)}.starter-preview-note{margin:0;font-size:var(--type-ui);font-weight:400;line-height:1.45;color:var(--color-text-secondary)}.starter-preview-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}@media(min-width:901px){.starter-shell .starter-card{max-height:calc(100dvh - 2 * var(--space-6, 32px));overflow:auto}.starter-shell .starter-card--flow{height:min(40rem,calc(100dvh - 2 * var(--space-6, 32px)));min-height:min(34rem,calc(100dvh - 2 * var(--space-6, 32px)));overflow:hidden}.starter-flow{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:var(--space-7);align-items:stretch}.starter-flow-lead{position:sticky;top:0}.starter-flow-time{margin-top:var(--space-5)}.starter-flow-picks{min-height:0}.starter-preview{height:100%;max-height:none}.starter-pack-skip{text-align:left}}@media(max-width:900px),(max-height:500px)and (orientation:landscape){.auth-shell.starter-shell{display:block;height:auto;min-height:100dvh;overflow:visible}.starter-shell .starter-card,.starter-shell .starter-card--flow{width:100%;max-height:none;min-height:0;height:auto;overflow:visible}.starter-flow{flex:none;gap:var(--space-4)}.starter-flow-lead,.starter-flow-points{gap:var(--space-4)}.starter-flow-picks,.starter-preview,.starter-preview-body{flex:none;overflow:visible;max-height:none}}@media(max-width:360px){.starter-shell .starter-card--flow{padding-inline:var(--space-4);padding-top:var(--space-6);--logo-name-auth: 1.75rem}.starter-flow-title-row{display:flex;align-items:center;gap:var(--space-2)}.starter-flow-title-row h1{min-width:0}.starter-flow-back{position:relative;top:auto;left:auto;transform:none;flex:0 0 var(--control-min-size);width:var(--control-min-size);height:var(--control-min-size);z-index:1}.starter-flow-back:before{display:none}}.starter-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 auto var(--space-4);max-width:var(--page-content-max);padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--library-panel-shadow, 0 10px 30px rgba(26, 26, 26, .028))}.starter-banner-copy{display:grid;gap:4px;min-width:min(100%,16rem)}.starter-banner-title{margin:0;font-size:var(--type-body);font-weight:500;color:var(--graphite)}.starter-banner-text{margin:0;font-size:var(--type-ui);color:var(--graphite)}.button-loading-label{display:inline-flex;align-items:center;gap:.55rem}.button-loading-dots{display:inline-flex;align-items:center;gap:var(--space-1)}.button-loading-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.35;animation:button-loading-dot .9s var(--ease-out) infinite}.button-loading-dots i:nth-child(2){animation-delay:.12s}.button-loading-dots i:nth-child(3){animation-delay:.24s}@keyframes button-loading-dot{0%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){.button-loading-dots i{animation:none;opacity:.7}}.meal-conflict-actions{flex-wrap:wrap}.onboarding-toast{z-index:48}.hint-close{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.hint-close:hover{background:var(--fog);color:var(--deep-green)}.hint-close:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-accent-strong);box-shadow:0 0 0 2px var(--white);pointer-events:none}.brand-dot--inline{flex:0 0 auto;align-self:flex-start;margin-top:5px;box-shadow:0 0 0 2px var(--fog)}.hint-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:0;margin:.85rem 0 0;border:0;border-radius:16px;background:var(--white);color:var(--graphite);box-shadow:var(--hint-shadow);padding:0;overflow:hidden}.hint-card>.empty-mark{align-self:center;margin:var(--space-5) var(--space-4) var(--space-5) var(--space-5)}.hint-card-body{position:relative;display:grid;gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-4) var(--space-5) var(--space-5)}.hint-card-body:before{content:"";position:absolute;top:var(--space-4);bottom:var(--space-4);left:0;width:1px;background:var(--library-row-rule)}.hint-card-top{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:var(--space-2);align-items:start}.hint-card-heading{display:grid;gap:.3rem;min-width:0;padding-top:.1rem}.hint-card-eyebrow{color:var(--deep-green);font-size:var(--type-micro);font-weight:650;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.hint-card-title{display:block;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:650;line-height:1.35}.hint-card-top .hint-close{margin-top:-.2rem;margin-right:-.15rem}.hint-card-list{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}.hint-card-row{margin:0;padding:0;border:0}.hint-card-text{margin:0;color:var(--color-text-secondary);font-size:var(--type-ui);font-weight:450;line-height:1.45}.hint-card-text strong{color:var(--graphite);font-weight:650}.hint-card--tip{max-width:1120px;margin:0 auto var(--space-4)}.hint-card--tip.is-compact{max-width:none;margin:.75rem 0}.hint-card--tip>.empty-mark{margin:var(--space-4) var(--space-3) var(--space-4) var(--space-4)}.hint-card--tip .hint-card-body{padding:var(--space-3) var(--space-4) var(--space-3) var(--space-4)}.hint-card--tip .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.hint-card--tip .hint-card-text{font-size:.875rem;color:var(--graphite)}.hint-card--tip .hint-card-heading>.hint-card-text{margin-top:.1rem;color:var(--graphite)}.hint-card--tip .tertiary-button{margin-top:.45rem;justify-content:flex-start}.day-panel{padding:1.45rem}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.panel-heading.tight{margin-bottom:.6rem}.panel-heading h2,.panel-heading h3{margin-bottom:0}.day-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.day-summary span{display:inline-flex;align-items:center;border-radius:999px;background:var(--sage-soft);color:var(--sage-dark);padding:.4rem .65rem;font-size:var(--type-micro);font-weight:700}.day-heading-actions{display:flex;flex-wrap:nowrap;flex:0 0 auto;justify-content:flex-end;align-items:center;gap:.6rem}.calendar-empty-state{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:.75rem;align-items:center;margin-bottom:1rem;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);padding:.8rem}.calendar-empty-state>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--color-accent-pink);color:var(--deep-green);font-size:var(--type-subtitle)}.calendar-empty-state strong{font-size:var(--type-ui)}.calendar-empty-state p{margin:.2rem 0 0;color:var(--muted);font-size:var(--type-ui);line-height:1.45}.plan-empty-state{display:grid;justify-items:center;gap:0;box-sizing:border-box;width:100%;min-width:0;max-width:420px;margin:0 auto;padding:var(--space-9) var(--space-6);text-align:center}.plan-empty-state--compact{max-width:none;margin:0 0 var(--space-4);padding:var(--space-6) var(--space-4);border:0;border-radius:0;background:transparent}.day-empty-intro{margin:0 0 var(--space-4);padding:var(--space-2) 0 0}.day-empty-intro .empty-state-illustration{width:min(120px,42%);max-height:96px;margin-bottom:var(--space-3)}.day-empty-intro h2{margin-bottom:var(--space-2)}.empty-mark{--empty-mark-size: 72px;--empty-mark-icon: 56%;--empty-mark-dot: 10px;position:relative;width:var(--empty-mark-size);height:var(--empty-mark-size);display:grid;place-items:center;margin-bottom:var(--space-2);border-radius:50%;border:1px solid var(--empty-mark-rim);background:var(--empty-mark-fill);box-shadow:none;color:var(--deep-green)}.empty-mark .ui-icon{width:var(--empty-mark-icon);height:var(--empty-mark-icon)}.empty-mark .brand-dot{position:absolute;right:6%;bottom:10%;width:var(--empty-mark-dot);height:var(--empty-mark-dot);box-shadow:0 0 0 2px var(--empty-mark-fill)}.empty-mark--compact,.plan-empty-state--compact .empty-mark{--empty-mark-size: 56px;--empty-mark-dot: 9px}.plan-empty-state .empty-mark{margin:0 0 var(--space-5)}.plan-empty-state h1,.plan-empty-state h2{margin:0 0 var(--space-3);width:auto;max-width:100%;margin-inline:auto;font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;letter-spacing:0;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--graphite)}.plan-empty-state p{margin:0;max-width:min(280px,100%);color:var(--graphite);font-size:var(--type-body);line-height:1.5;font-weight:400}.plan-empty-state>.primary-button,.plan-empty-state>.secondary-button,.plan-empty-state>.tertiary-button{margin-top:var(--space-5);min-width:0;width:auto}.plan-empty-state .empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-5)}.plan-empty-state .empty-state-actions .primary-button,.plan-empty-state .empty-state-actions .secondary-button,.plan-empty-state .empty-state-actions .tertiary-button{margin-top:0;min-width:0;width:auto;justify-content:center}.meal-list{border-top:1px solid var(--line)}.meal-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:87px;border-bottom:1px solid var(--line)}.meal-row:last-child{border-bottom:0}.meal-time{font-size:var(--type-ui);color:var(--muted);font-weight:700}.meal-content{border:0;background:transparent;min-width:0;padding:.8rem .35rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.meal-content strong{display:-webkit-box;width:100%;overflow:hidden;overflow-wrap:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4}.meal-content:hover strong{color:var(--sage)}.meal-row.is-empty .meal-content{flex-direction:row;align-items:center;color:var(--muted)}.plus-circle{width:29px;height:29px;display:grid;place-items:center;color:var(--sage);font-size:var(--type-subtitle)}.meal-row.has-open-menu{position:relative;z-index:6}.meal-actions-menu{position:relative}.meal-menu-trigger{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--type-subtitle);font-weight:800;letter-spacing:.06em;line-height:1}.meal-menu-trigger[aria-expanded=true]{background:var(--fog);color:var(--deep-green)}@media(hover:hover)and (pointer:fine){.meal-menu-trigger:hover{background:var(--fog);color:var(--deep-green)}}.meal-menu-trigger:focus-visible{outline:2px solid var(--deep-green);outline-offset:2px}.meal-menu-popover{position:absolute;z-index:30;top:calc(100% + 4px);right:0;animation:ui-fade-in var(--motion-ui) var(--ease-out);width:256px;display:grid;gap:2px;border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:var(--shadow-float);padding:6px}.meal-menu-popover button{min-height:40px;border:0;border-radius:8px;background:transparent;color:var(--graphite);padding:.55rem .75rem;cursor:pointer;text-align:left;font-size:var(--type-ui);font-weight:550;line-height:1.3}.meal-menu-popover button.meal-menu-item{display:flex;align-items:center;gap:var(--space-2)}.meal-menu-popover .meal-menu-item-icon{flex:none;color:inherit}.meal-menu-popover .meal-menu-item-label{min-width:0}.meal-menu-popover button:hover,.meal-menu-popover button:focus-visible{background:var(--fog);color:var(--graphite)}.meal-menu-popover button[aria-disabled=true],.meal-menu-popover button.is-danger[aria-disabled=true]{cursor:not-allowed;opacity:1;color:var(--muted);font-weight:500}.meal-menu-popover button[aria-disabled=true]:hover,.meal-menu-popover button.is-danger[aria-disabled=true]:hover{background:transparent;color:var(--muted)}.meal-menu-separator{border:0;border-top:1px solid var(--color-border-default);margin:var(--space-1) 0;width:100%}.meal-menu-popover button.is-danger{color:var(--color-action-destructive-pressed);font-weight:var(--button-font-weight)}.meal-menu-popover button.is-danger:hover{background:var(--color-bg-destructive-hover);color:var(--color-action-destructive-hover)}.page-heading{align-items:flex-start}.page-heading p:last-child{color:var(--muted);margin:.35rem 0 0;max-width:600px}.library-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:var(--space-3);row-gap:var(--space-3);width:100%;max-width:100%;min-width:0;margin:0 0 var(--page-title-content-gap);container-type:inline-size;container-name:library-toolbar}.library-module .library-toolbar:has(.library-active-filters){padding-bottom:var(--space-3)}.library-toolbar-primary,.library-toolbar-secondary{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-2);min-width:0}.library-toolbar-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;grid-column:1;grid-row:2;width:100%;min-width:0;gap:var(--space-3)}.library-toolbar-disclose{grid-column:2;grid-row:2;display:flex;align-items:stretch;min-width:0}.library-toolbar-secondary{grid-column:3;grid-row:2;gap:var(--space-3);margin-left:0;padding-left:var(--space-3);border-left:1px solid var(--color-border-default)}.library-toolbar-more{grid-column:1 / -1;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,12rem));gap:var(--space-3);align-items:center;min-width:0;padding:var(--space-2) 0 0}.library-toolbar-more .library-filter-field{min-width:0}.library-active-filters{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--chip-wrap-gap);min-width:0;margin:0;padding-top:var(--space-2)}.library-active-filter-chip{box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--chip-gap);min-height:var(--chip-min-height);margin:0;padding:var(--chip-padding-y) var(--chip-padding-x);border:1px solid var(--deep-green);border-radius:var(--radius-md);background:var(--chip-selected-bg);color:var(--deep-green);font:inherit;font-size:var(--chip-font-size, var(--type-ui));font-weight:var(--chip-font-weight, 500);line-height:var(--chip-line-height, 1.25);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.library-active-filter-chip:hover{background:var(--chip-selected-bg-hover)}.library-active-filter-chip-clear{display:inline-flex;color:currentColor;flex-shrink:0}.library-active-filter-chip-clear .ui-icon{width:14px;height:14px;display:block}.library-active-filters-reset{box-sizing:border-box;display:inline-flex;align-items:center;min-height:var(--chip-min-height);margin:0;padding:0 var(--space-2);border:0;border-radius:var(--button-radius);background:transparent;color:var(--graphite);font:inherit;font-size:var(--button-font-size);font-weight:500;line-height:1.25;cursor:pointer;white-space:nowrap;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.library-active-filters-reset:hover{background:var(--fog);color:var(--graphite)}.library-toolbar-tools{display:inline-flex;align-items:center;gap:var(--space-3);flex:0 0 auto;min-width:0}.library-view-toggle{display:inline-flex;align-items:center;flex:0 0 auto}.library-view-toggle-button{box-sizing:border-box;width:var(--button-min-height);min-width:var(--button-min-height);height:var(--button-min-height);display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:var(--button-radius);background:transparent;color:var(--graphite);cursor:pointer;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.library-view-toggle-button:hover{background:var(--fog)}.library-view-toggle-button.is-active{background:var(--chip-selected-bg);border-color:transparent;color:var(--deep-green)}.library-view-toggle-button.is-active:hover{background:var(--chip-selected-bg-hover)}.library-view-toggle-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.library-toolbar-search{display:block;grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;min-width:0}.library-toolbar-search .search-field{position:relative;display:block;width:100%;max-width:none;min-width:0;margin:0}.search-layout-suggestion{display:block;margin:var(--space-2) 0 0;color:var(--graphite);font-size:var(--type-ui);font-weight:400;line-height:1.4}.search-layout-suggestion-word{display:inline;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--deep-green);font:inherit;font-weight:500;text-decoration:underline;text-underline-offset:.12em;cursor:pointer}.search-layout-suggestion-word:hover{color:var(--sage-dark)}.food-picker-search+.search-layout-suggestion,.pairing-editor-search+.search-layout-suggestion{margin-top:var(--space-2);padding-inline:0}.food-picker-dialog-body>.search-layout-suggestion{padding-inline:var(--space-6);margin-top:0;margin-bottom:var(--space-2)}.library-toolbar-search>.page-skeleton-chip--search{display:block;width:100%;min-width:0}.library-toolbar .search-field input:not([type=checkbox]):not([type=radio]){box-sizing:border-box;width:100%;height:var(--button-min-height);min-height:var(--button-min-height);padding:0 12px 0 2.5rem;border-radius:var(--button-radius);font-size:var(--field-font-size);font-weight:500;line-height:1.25}.library-toolbar>.tertiary-button,.library-toolbar-secondary>.tertiary-button{flex:0 0 auto;height:var(--button-min-height);padding:0 var(--space-2);border-color:transparent;background:transparent;font-weight:500;line-height:1.25}.library-toolbar-secondary>.tertiary-button:hover:not(:disabled){border-color:transparent;background:transparent;color:var(--deep-green)}.library-filter-field{display:block;min-width:0;margin:0}.library-toolbar-primary .custom-select,.library-toolbar-more .custom-select{width:100%;min-width:0;max-width:100%}.library-toolbar-primary .custom-select-trigger,.library-toolbar-more .custom-select-trigger{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:100%;min-width:0;height:var(--button-min-height);min-height:var(--button-min-height);padding:0 12px;border-radius:var(--button-radius);background:var(--color-bg-field);color:var(--graphite);font-size:var(--field-font-size);font-weight:500;line-height:1.25;gap:8px;overflow:hidden}.library-toolbar-primary .custom-select-trigger span,.library-toolbar-more .custom-select-trigger span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;color:var(--graphite);font-weight:500;transition:color var(--motion-ui) var(--ease-out)}.library-toolbar-primary .library-filter-field.is-default .custom-select-trigger span,.library-toolbar-more .library-filter-field.is-default .custom-select-trigger span,.library-filters-sheet .library-filter-field.is-default .custom-select-trigger span{color:var(--color-text-placeholder);font-weight:400}.library-toolbar-primary .custom-select-trigger svg,.library-toolbar-more .custom-select-trigger svg{flex-shrink:0;color:var(--muted)}@container library-toolbar (max-width: 62rem){.library-toolbar-search,.library-toolbar-primary{grid-column:1 / -1;width:100%;max-width:100%}.library-toolbar-primary{grid-row:2}.library-toolbar-disclose{grid-column:1;grid-row:3}.library-toolbar-secondary{grid-column:2 / -1;grid-row:3;border-left:none;padding-left:0;margin-left:0}.library-toolbar-more{grid-row:4}.library-active-filters{grid-row:5}.library-toolbar:not(:has(.library-toolbar-more)) .library-active-filters{grid-row:4}.library-toolbar-secondary .library-favorite-chip{margin-right:auto}}.library-favorite-chip{flex:0 0 auto;box-sizing:border-box;height:var(--button-min-height);min-height:var(--button-min-height);display:inline-flex;align-items:center;gap:.4rem;border:1px solid transparent;border-radius:var(--button-radius);background:transparent;color:var(--graphite);padding:0 var(--space-2);cursor:pointer;white-space:nowrap;font-size:var(--button-font-size);line-height:1.25;font-weight:500;transition:color var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out)}.library-favorite-chip-icon{display:inline-flex;align-items:center;color:currentColor;flex-shrink:0}.library-favorite-chip-icon .ui-icon{display:block}.library-favorite-chip:hover{border-color:transparent;background:var(--fog);color:var(--graphite)}.library-favorite-chip:active{background:var(--fog)}.library-favorite-chip.is-active{border-color:transparent;background:var(--chip-selected-bg);color:var(--deep-green)}.library-favorite-chip.is-active:hover{border-color:transparent;background:var(--chip-selected-bg-hover);color:var(--deep-green)}.library-favorite-chip-clear{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:2px;color:var(--deep-green);pointer-events:none}.library-favorite-chip-clear .close-icon,.library-favorite-chip-clear .ui-icon{width:14px;height:14px}.library-favorite-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.library-toolbar-disclose .library-disclose-button{width:auto;min-width:max-content;white-space:nowrap}.library-filter-panel-mark,.library-filter-panel-reset{display:none}.library-disclose-button{box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:var(--button-min-height);min-height:var(--button-min-height);padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--button-radius);background:transparent;color:var(--graphite);font-size:var(--button-font-size);font-weight:500;line-height:1.25;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.library-disclose-badge{position:absolute;top:2px;right:2px;box-sizing:border-box;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--deep-green);color:var(--white);font-family:var(--font-sans);font-size:var(--type-micro);font-weight:600;line-height:18px;text-align:center;pointer-events:none}.library-disclose-button.has-filters:not(.is-open){border-color:transparent;color:var(--deep-green)}.library-disclose-button.has-filters:not(.is-open) .library-disclose-button-icon{color:var(--deep-green)}.library-disclose-button-icon{display:inline-flex;color:currentColor;flex-shrink:0}.library-disclose-button-icon .ui-icon{display:block}@media(hover:hover)and (pointer:fine){.library-disclose-button:hover{border-color:transparent;background:var(--fog);color:var(--graphite)}.library-disclose-button:hover .library-disclose-button-icon{color:currentColor}}.library-disclose-button.is-open,.library-disclose-button.is-open:hover{border-color:transparent;background:var(--mint);color:var(--deep-green)}.library-disclose-button.is-open .library-disclose-button-icon{color:var(--deep-green)}.library-disclose-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.library-sort{position:relative;display:block;flex:0 0 var(--library-sort-width);width:var(--library-sort-width);margin:0}.library-sort-icon{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);z-index:1;display:inline-flex;color:var(--muted);pointer-events:none}.library-sort-icon .ui-icon{display:block}.library-sort .custom-select{width:100%}.library-sort .custom-select-trigger{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:flex-start;width:100%;max-width:none;grid-template-columns:unset;padding:0 var(--space-2) 0 2.15rem;border-color:transparent;background:transparent;gap:6px}.library-sort .custom-select-trigger span{flex:0 1 auto;min-width:0;white-space:nowrap;overflow-wrap:normal}.library-sort .custom-select-trigger:hover,.library-sort .custom-select:hover .custom-select-trigger{border-color:transparent;background:var(--fog)}.library-sort .custom-select.is-open .custom-select-trigger{border-color:transparent;background:var(--fog);box-shadow:none}.search-field{position:relative}.search-field-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--muted);pointer-events:none}.library-page .search-field input{min-height:var(--button-min-height);border-radius:var(--button-radius);font-size:var(--field-font-size)}input:not([type=checkbox]):not([type=radio]){width:100%;min-height:44px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--graphite);padding:10px 12px;font-size:var(--field-font-size);font-weight:500;line-height:1.25;transition:border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out);background:var(--color-bg-field);-webkit-appearance:none;appearance:none}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}.search-input-shell{position:relative;display:block}.food-picker-search .search-input-shell input:not([type=checkbox]):not([type=radio]),.pairing-editor-search .search-input-shell input{padding-right:2.75rem}.search-clear-button{position:absolute;top:50%;right:.2rem;width:36px;height:36px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.search-clear-button:hover{color:var(--deep-green);background:var(--fog)}.search-clear-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.search-clear-button .close-icon{width:16px;height:16px}.prep-minutes-input{font-variant-numeric:tabular-nums}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-border-destructive);background:var(--color-bg-field);box-shadow:none}input[aria-invalid=true]:focus,input[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus-visible{outline:none;border-color:var(--color-border-destructive);box-shadow:none}.custom-select{position:relative;width:100%}.custom-select-trigger{width:100%;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-field);color:var(--graphite);padding:10px 12px;font-size:var(--field-font-size);line-height:1.25;font-weight:500;cursor:pointer;text-align:left;transition:border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out)}.custom-select-trigger span{min-width:0;overflow-wrap:anywhere;white-space:normal}.custom-select-trigger span.is-placeholder{color:var(--color-text-placeholder);font-weight:400}.custom-select-trigger svg{justify-self:center;flex-shrink:0;color:var(--muted);transition:transform var(--motion-ui) var(--ease-out)}.custom-select:hover .custom-select-trigger{border-color:var(--color-border-hover);background:var(--color-bg-surface)}.custom-select.is-open .custom-select-trigger{border-color:var(--deep-green);box-shadow:none;background:var(--white)}.custom-select.is-open .custom-select-trigger svg{transform:rotate(180deg)}.custom-select-trigger:focus-visible{border-color:var(--deep-green);box-shadow:none;outline:none}.custom-select-trigger[aria-invalid=true]{border-color:var(--color-border-destructive);background:var(--color-bg-field);box-shadow:none}.custom-select-menu{z-index:40;margin:0;padding:0;display:flex;flex-direction:column;list-style:none;border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:0 16px 40px #19221b24;overflow:hidden;animation:ui-fade-in var(--motion-ui) var(--ease-out)}.custom-select-menu-list{margin:0;padding:4px 4px 0;list-style:none;overflow-x:hidden;overflow-y:auto;min-height:0;flex:1 1 auto;background:var(--white)}.custom-select-menu-list li{margin:0}.custom-select-menu-list li:last-child button{border-bottom-left-radius:0;border-bottom-right-radius:0}.custom-select-menu-list button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:0;border-radius:6px;background:transparent;color:var(--ink);padding:.6rem .7rem;font-weight:600;cursor:pointer;text-align:left}.custom-select-menu-list button span{min-width:0;overflow-wrap:anywhere;white-space:normal;line-height:1.4}.custom-select-menu-list button:hover,.custom-select-menu-list button.is-selected,.custom-select-menu-list button.is-active{background:var(--sage-soft);color:var(--sage-dark)}.custom-select-menu-list button>.ui-icon{flex-shrink:0;color:var(--sage)}.custom-select.has-chips .custom-select-chips{margin-bottom:var(--space-2)}.custom-select-menu-list--checks button{justify-content:flex-start;gap:var(--space-2);font-weight:500;color:var(--graphite)}.custom-select-menu-list--checks button:hover,.custom-select-menu-list--checks button.is-active{background:var(--week-hover-tint, color-mix(in srgb, var(--deep-green) 8%, var(--white)));color:var(--graphite)}.custom-select-menu-list--checks button.is-selected{background:var(--chip-selected-bg);color:var(--deep-green)}.custom-select-menu-list--checks button .ui-check{flex:0 0 auto}.custom-select-menu-list--checks button.is-selected .ui-check,.custom-select-menu-list--checks button .ui-check.is-checked{border-color:var(--deep-green);background:var(--deep-green);color:var(--color-text-on-primary)}.custom-select-menu-list--checks button .ui-check .ui-icon{color:inherit}.custom-select-menu-list--radios button .food-picker-radio{flex:0 0 18px}.custom-select-menu-list--radios button.is-selected .food-picker-radio{border-color:var(--deep-green);box-shadow:inset 0 0 0 5px var(--deep-green)}.custom-select-section{margin:0;padding:var(--space-2) var(--space-3) var(--space-1);list-style:none}.custom-select-section-label{display:block;color:var(--muted);font-size:var(--type-micro);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.search-field input:not([type=checkbox]):not([type=radio]){padding-left:2.5rem}.library-options{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--button-min-height);margin-bottom:var(--space-4)}.library-count{margin:0;color:var(--color-text-secondary);font-size:var(--type-ui);font-weight:400;line-height:1.35}.library-options .library-reset-button{flex:0 0 auto;margin:0;margin-inline-start:auto;padding-inline:var(--space-2);border-color:transparent;background:transparent;color:var(--graphite);font-weight:500}.library-options .library-reset-button:hover{border-color:transparent;background:var(--fog);color:var(--graphite)}.view-switch{display:flex;border:1px solid var(--line);border-radius:11px;background:#ebeae5;padding:3px}.view-switch button{min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:.5rem .7rem;cursor:pointer;font-size:var(--type-ui);font-weight:700}.view-switch button.is-active{background:var(--white);color:var(--sage-dark);box-shadow:0 1px 5px #37413917}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.food-card{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr);gap:.8rem;min-height:126px;padding:1rem;border:1px solid var(--line);border-radius:17px;background:var(--paper);cursor:pointer}.food-card:hover{border-color:#b8c5b9;box-shadow:0 8px 22px #303b320f}.food-card h3{margin:.25rem 6rem .45rem 0;font-size:var(--type-comfort);line-height:1.4}.food-card small,.food-card p{color:var(--muted);font-size:var(--type-ui);line-height:1.45}.food-card p{margin-bottom:0}.category-dot{width:9px;height:9px;border-radius:50%;margin-top:.2rem;background:var(--color-category-default)}.category-protein{background:var(--color-category-protein)}.category-side{background:var(--color-category-carbs)}.category-fiber{background:var(--color-category-fiber)}.category-completeDish{background:var(--color-category-complete)}.food-card-actions{position:absolute;right:.55rem;top:.55rem;display:flex;gap:.15rem}.food-card-actions button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;cursor:pointer}.food-card-actions button:hover{background:var(--sage-soft)}.favorite{box-sizing:border-box;display:inline-grid;place-items:center;width:var(--control-min-size);height:var(--control-min-size);margin:0;padding:0;border:0;border-radius:var(--button-radius);background:transparent;color:var(--color-text-secondary);cursor:pointer;appearance:none;-webkit-appearance:none;transition:color var(--motion-ui) var(--ease-out)}.favorite:hover,.favorite:active{background:transparent;color:var(--deep-green)}.favorite.is-active,.favorite.is-active:hover,.favorite.is-active:active{background:transparent;color:var(--brand-accent-strong)}.favorite:focus-visible{outline:2px solid color-mix(in srgb,var(--deep-green) 35%,transparent);outline-offset:2px}.library-table-wrap{overflow:clip;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--library-panel-shadow)}.library-scroll-top{position:fixed;z-index:40;right:max(env(safe-area-inset-right,0px),calc(var(--main-padding-inline) + var(--library-scroll-top-gap)));bottom:max(var(--space-5),env(safe-area-inset-bottom,0px));width:var(--library-scroll-top-size);height:var(--library-scroll-top-size);display:grid;place-items:center;margin:0;border:1px solid var(--color-border-default);border-radius:50%;background:var(--white);color:var(--deep-green);box-shadow:var(--shadow-float);cursor:pointer;transition:background-color var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out),color var(--motion-ui) var(--ease-out)}.library-scroll-top:hover{border-color:var(--deep-green);background:var(--deep-green);color:var(--white)}.library-scroll-top:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.library-scroll-top .ui-icon{display:block;margin-top:-1px}.library-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:var(--font-sans)}.library-col-name{width:38%}.library-col-category{width:27%}.library-col-time,.library-col-effort{width:12%}.library-col-favorite{width:88px}.library-table th,.library-table td{border-bottom:1px solid var(--library-row-rule);padding:var(--space-4) var(--space-3);text-align:left;overflow-wrap:anywhere}.library-table thead th{position:sticky;top:var(--library-sticky-chrome);z-index:2;color:var(--muted);background:var(--white);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:500;line-height:1.35;text-transform:none;letter-spacing:.04em;padding-top:var(--space-5);padding-bottom:var(--space-2);border-bottom:0;box-shadow:0 1px 0 var(--color-border-default);overflow:visible;vertical-align:bottom}.library-table tbody tr{cursor:pointer}.library-table tbody tr:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:-3px;background:var(--library-row-hover)}.library-results{transition:opacity var(--motion-fast) var(--ease-out)}.library-results.is-dim{opacity:.88}.library-table-stack{position:relative}.library-favorite-tip{position:absolute;z-index:5;top:var(--space-3);right:var(--library-table-edge);width:min(18rem,calc(100% - 24px));max-width:none;margin:0;pointer-events:auto}.library-table tbody tr.is-just-created{animation:library-row-flash var(--motion-soft) var(--ease-out)}.library-table-stack.is-tiles .library-favorite-tip{width:min(18rem,calc(100% - 24px))}.library-tiles{display:grid;grid-template-columns:repeat(var(--library-tile-columns),minmax(0,1fr));gap:var(--space-4);padding:0 var(--library-table-edge) var(--space-5)}.library-dish-card{display:flex;flex-direction:column;min-width:0;background:var(--white);border:1px solid var(--menus-card-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer}@media(hover:hover)and (pointer:fine){.library-dish-card:hover{border-color:var(--deep-green)}}.library-dish-card.is-just-created{animation:library-tile-flash var(--motion-soft) var(--ease-out)}@keyframes library-tile-flash{0%{background-color:var(--mint)}to{background-color:var(--white)}}@media(prefers-reduced-motion:reduce){.library-dish-card.is-just-created,.library-table tbody tr.is-just-created,.library-phone-row.is-just-created{animation:none}.swipe-to-delete-front{transition:none}}.library-dish-card:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-color:var(--deep-green)}.library-dish-card-media{aspect-ratio:3 / 2;background:var(--dish-photo-mat-bg);overflow:hidden}.library-dish-card-media img{display:block;width:100%;height:100%;object-fit:cover}.library-dish-card-media.is-illustration img{object-fit:contain;padding:var(--space-4)}.library-dish-card-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.library-dish-card-title-row{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0}.library-dish-card-name{display:flex;align-items:flex-start;gap:var(--space-1);min-width:0;flex:1 1 auto}.library-dish-card-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:500;line-height:1.4}.library-dish-card-title-row .favorite{flex:0 0 auto;margin-block-start:calc((var(--control-min-size) - (1.4 * var(--type-ui))) / -2);margin-inline-end:-9px}.library-dish-card-facts{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;column-gap:var(--space-3);row-gap:var(--space-1);margin:0;padding:0;list-style:none}.library-dish-card-fact{display:inline-flex;align-items:center;gap:var(--space-1);margin:0;padding:0;min-width:0;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.4}.library-dish-card-fact .food-category-icon,.library-dish-card-fact .ui-icon{flex:0 0 auto}.library-dish-card-fact .ui-icon{color:var(--deep-green)}.library-dish-card-fact-label{min-width:0}.swipe-to-delete{position:relative;overflow:hidden;touch-action:pan-y}.swipe-to-delete-action{position:absolute;inset:0 0 0 auto;z-index:0;display:flex;align-items:center;justify-content:center;gap:var(--space-1);width:88px;background:var(--color-action-destructive);color:var(--color-text-on-primary);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:600;pointer-events:none}.swipe-to-delete-action .ui-icon{color:var(--color-text-on-primary)}.swipe-to-delete-front{position:relative;z-index:1;background:var(--white);touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:transform var(--motion-ui) var(--ease-out)}.swipe-to-delete-front img{-webkit-user-drag:none}.swipe-to-delete-front.is-dragging{transition:none}.swipe-to-delete--tile{min-width:0;border-radius:var(--radius-lg)}.swipe-to-delete--row .library-phone-row{background:var(--white)}.library-phone-list{display:flex;flex-direction:column}.library-phone-row{display:grid;grid-template-columns:minmax(0,1fr) 22% 24% 88px;align-items:start;min-width:0;padding-block:var(--library-row-pad-block, 22px);padding-inline:var(--space-3);padding-left:var(--library-table-edge);padding-right:var(--library-table-edge);cursor:pointer}.library-phone-row .library-item-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.4}.library-phone-row .library-item-category{display:block;margin-top:var(--library-name-category-gap, 6px);color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.25rem}.library-phone-row-time,.library-phone-row-effort{color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.4;padding-top:0}.library-phone-row-effort{padding-left:10px}.library-phone-row .favorite{justify-self:center;align-self:center;margin-inline:0}.swipe-to-delete--row{border-bottom:1px solid var(--library-row-rule)}.library-phone-list>.swipe-to-delete--row:last-child{border-bottom:0}.library-phone-row.is-just-created{animation:library-row-flash var(--motion-soft) var(--ease-out)}@media(hover:hover)and (pointer:fine){.library-phone-row:hover{background:var(--library-row-hover)}}.library-phone-row:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:-3px;background:var(--library-row-hover)}@keyframes library-row-flash{0%{background:var(--mint, #e8f0ea);box-shadow:inset 3px 0 0 var(--deep-green, #2b6653)}to{background:transparent;box-shadow:none}}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}.library-table tbody th{font-family:var(--font-sans);color:var(--graphite);font-size:var(--type-ui);font-weight:500;line-height:1.4;padding-top:var(--space-5);padding-bottom:var(--space-4)}.library-item-primary{display:block;min-width:0}.library-item-name{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;min-width:0;color:var(--graphite);font-weight:500}.library-item-name-text{min-width:0}.library-item-category,.library-item-facts{display:none}.library-table tbody td{font-family:var(--font-sans);color:var(--graphite);font-size:var(--type-ui);font-weight:400;line-height:1.4;padding-top:var(--space-5);padding-bottom:var(--space-4)}.library-cell-placeholder{color:var(--muted);font-weight:400}.library-table tbody td:nth-child(4){padding-left:calc(var(--space-3) + 10px)}.library-table th:first-child,.library-table td:first-child{padding-left:var(--library-table-edge)}.library-table th:last-child,.library-table td:last-child{width:88px;max-width:88px;padding-left:8px;padding-right:var(--library-table-edge);text-align:center}.library-table tbody tr:last-child th,.library-table tbody tr:last-child td{border-bottom:0;padding-bottom:var(--space-5)}.library-table .favorite{margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.required-mark{color:var(--color-text-destructive);font-weight:500;margin-inline-start:.05em}.field-label{display:inline-flex;align-items:center;gap:0;line-height:1.4;min-height:1.4em}.optional-hint{margin-inline-start:.35em;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:inherit}.required-fields-hint{margin:0;color:var(--muted);font-size:var(--type-ui)}.field-block .field-error{margin-top:var(--space-2)}.meal-settings-page{max-width:var(--page-content-max)}.meal-settings-page .page-heading{align-items:flex-start}.meal-settings-page .page-heading-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.page-back-link{display:inline-flex;align-items:center;gap:var(--space-1);box-sizing:border-box;min-height:44px;margin:0 0 var(--space-3);margin-inline-start:calc(var(--space-2) * -1);padding:0 var(--space-2) 0 0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--graphite);font-family:inherit;font-size:var(--type-body);font-weight:500;line-height:1.3;cursor:pointer;transition:color var(--motion-fast) var(--ease-out)}.page-back-link-icon{flex:0 0 auto;width:18px;height:18px;color:inherit}.page-back-link:hover,.page-back-link:focus-visible,.page-back-link:active{background:transparent;color:var(--deep-green)}.page-back-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}span.page-back-link{pointer-events:none}.library-page .page-heading{align-items:flex-end}.meal-settings-page .page-heading>.primary-button{margin-top:calc(44px + var(--space-3) + var(--page-eyebrow-line-height) + var(--page-eyebrow-title-gap))}.library-page .page-heading>div,.menus-page .page-heading>div,.profile-page .page-heading>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.meal-settings-page .page-heading .settings-count{margin:var(--space-4) 0 0;color:var(--muted);font-size:1rem;font-weight:400;line-height:22px;max-width:none}.meal-order-hint{position:absolute;z-index:18;top:50%;right:calc(100% + var(--space-2));width:min(300px,calc(100vw - 48px));max-width:none;margin:0;transform:translateY(-50%)}.meal-order-hint>.empty-mark{margin:var(--space-3) var(--space-2) var(--space-3) var(--space-3)}.meal-order-hint .hint-card-body{padding:var(--space-3)}.meal-order-hint .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.meal-order-hint:after{position:absolute;top:50%;right:-5px;width:8px;height:8px;transform:translateY(-50%) rotate(45deg);border-top:1px solid transparent;border-right:1px solid transparent;background:var(--white);box-shadow:2px -2px 6px #1a1a1a0f;content:""}.meal-order-hint .hint-close{width:32px;height:32px}.meal-drag-anchor{position:relative;width:var(--control-min-size);height:var(--control-min-size);display:grid;place-items:center}.meal-settings-list{display:grid;gap:12px;margin-top:0}.meal-setting-row{position:relative;display:grid;gap:0;min-height:0;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);box-shadow:none;padding:18px 20px;transition:background-color var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),opacity var(--motion-ui) var(--ease-out)}.meal-setting-row:not(.is-expanded){min-height:88px;cursor:grab;touch-action:none}.meal-setting-row:not(.is-expanded) .meal-setting-toggle{cursor:grab}.meal-setting-row:hover:not(.is-expanded){border-color:var(--color-border-default);background:color-mix(in srgb,var(--deep-green) 8%,var(--white))}.meal-setting-row.is-expanded{min-height:0;border-color:var(--color-border-default);background:var(--white);box-shadow:none;padding-bottom:18px;cursor:default;touch-action:auto}.meal-setting-row.is-dragging{opacity:.92;box-shadow:var(--shadow-float);cursor:grabbing;z-index:2}.meal-setting-row.is-just-created{animation:library-row-flash var(--motion-soft) var(--ease-out)}.meal-setting-row.drop-before:before,.meal-setting-row.drop-after:after{position:absolute;right:0;left:0;height:3px;border-radius:999px;background:var(--deep-green);content:""}.meal-setting-row.drop-before:before{top:-.4rem}.meal-setting-row.drop-after:after{bottom:-.4rem}.meal-setting-toolbar{display:grid;grid-template-columns:minmax(0,1fr) var(--control-min-size);align-items:center;gap:var(--space-1);min-height:var(--control-min-size)}.meal-setting-toggle{display:grid;grid-template-columns:minmax(0,1fr) var(--control-min-size);align-items:center;gap:var(--space-1);min-width:0;min-height:var(--control-min-size);margin:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--graphite);padding:0;text-align:left;cursor:pointer}.meal-setting-toggle:hover{background:transparent}.meal-setting-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.meal-setting-toggle-name{min-width:0;padding:0 4px 0 0;font-size:var(--type-ui);font-weight:500;line-height:1.4;overflow-wrap:anywhere}.meal-setting-toggle-chevron{width:var(--control-min-size);height:var(--control-min-size);display:grid;place-items:center;color:var(--muted);opacity:1;transition:color var(--motion-fast) var(--ease-out)}.meal-setting-toggle:hover .meal-setting-toggle-chevron{color:var(--graphite)}.meal-setting-row .drag-handle{color:var(--muted);opacity:1;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.meal-setting-row .drag-handle:hover,.meal-setting-row .drag-handle:active{color:var(--graphite);background:transparent}.meal-name-field{display:grid;gap:var(--form-label-gap);min-width:0}.meal-name-field--editor{gap:var(--space-2);margin:0 0 var(--space-6);min-width:0;max-width:var(--meal-name-field-max);width:100%}.meal-name-field--editor .field-label{color:var(--graphite);font-size:var(--type-ui);font-weight:500}.meal-name-field--editor input{width:100%;min-height:var(--button-min-height);border:1px solid var(--color-border-strong);border-radius:var(--button-radius);background:var(--white);box-shadow:none;color:var(--graphite);padding:0 12px;font-size:var(--field-font-size);font-weight:500;overflow-wrap:anywhere}.meal-name-field--editor input:focus,.meal-name-field--editor input:focus-visible{border-color:var(--deep-green);outline:none;box-shadow:none}.meal-name-field--editor input[aria-invalid=true]{border-color:var(--color-border-destructive)}.meal-name-field--editor .field-error{margin:0}.meal-priority-hint{width:fit-content;max-width:min(36rem,100%)}.hint-card--tip.is-compact.meal-priority-hint{margin:var(--space-2) 0 var(--space-5);box-shadow:var(--hint-shadow)}.meal-priority-hint>.empty-mark{margin:var(--space-3) var(--space-2) var(--space-3) var(--space-3)}.meal-priority-hint .hint-card-body{padding:var(--space-3)}.meal-priority-hint .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.meal-priority-hint .hint-close{width:32px;height:32px}.meal-icon-button{width:var(--control-min-size);height:var(--control-min-size);display:grid;place-items:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;padding:0}.meal-icon-button svg{display:block}.meal-icon-button:hover{background:var(--fog);color:var(--deep-green)}.meal-icon-button:active{background:var(--mint);color:var(--deep-green)}.meal-icon-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.drag-handle{cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.meal-setting-details{display:grid;gap:0;height:auto;min-height:0;margin-top:var(--space-3);padding:var(--space-5) 0 0;border-top:1px solid var(--library-row-rule)}.meal-setting-details.is-click-guarded{pointer-events:none}.meal-setting-details>.meal-name-field+.meal-priority-fields{margin-top:0}.meal-setting-details .meal-priority-fields{margin:0 0 var(--space-4);height:auto;min-height:0}.meal-priority-fields{margin:0;padding:0;border:0;min-width:0;height:auto}.meal-priority-fields legend.meal-priority-title{display:block;margin:0 0 var(--space-5);padding:0;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-body);font-weight:500;line-height:1.4}.meal-priority-fields:has(>.meal-priority-hint) legend.meal-priority-title{margin-bottom:var(--space-2)}.meal-priority-fields:has(.meal-priority-group-hint) legend.meal-priority-title{margin-bottom:var(--space-2)}.meal-priority-fields>.field-error{margin:0 0 var(--space-5)}.meal-priority-fields>.meal-priority-groups{margin-top:0}.meal-priority-fields>.meal-priority-hint+.meal-priority-groups{margin-top:0}.meal-priority-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8);row-gap:0;width:100%;max-width:var(--meal-priority-max);height:auto;min-height:0;justify-items:start;align-items:start}.meal-priority-groups.is-single{grid-template-columns:minmax(0,1fr);max-width:var(--meal-priority-max)}.meal-priority-groups.is-single .meal-priority-group-hint{margin-top:0;margin-bottom:var(--space-3)}.meal-priority-groups.is-single .meal-priority-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8);row-gap:var(--space-1);width:100%}.meal-priority-groups.is-single .meal-priority-options label{width:100%;max-width:100%}.meal-priority-group{display:flex;flex-direction:column;gap:0;min-width:0;height:auto;min-height:0}.meal-priority-group+.meal-priority-group{margin-top:0}.meal-priority-group-title{margin:0;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:500;line-height:1.4}.meal-priority-group-hint{margin:2px 0 var(--space-4);color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.meal-priority-group:not(:has(.meal-priority-group-hint)) .meal-priority-group-title{margin-bottom:var(--space-3)}.meal-priority-options{display:flex;flex-direction:column;gap:var(--space-1)}.meal-priority-options label{position:relative;display:flex;align-items:center;gap:var(--space-2);margin:0;padding:0;width:max-content;max-width:100%;min-height:28px;border-radius:4px;color:var(--graphite);font-size:var(--type-ui);font-weight:500;line-height:1.4;cursor:pointer}.meal-priority-options label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.meal-priority-options input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.meal-priority-options label>span:not(.meal-priority-option-icon):not(.ui-check){min-width:0;cursor:pointer;display:inline-flex;align-items:center;line-height:22px}.meal-priority-option-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:0}.meal-priority-option-icon .food-category-icon{width:22px;height:22px}.meal-delete-action{margin-top:0;padding-top:var(--space-4);padding-bottom:var(--space-1);border-top:1px solid var(--library-row-rule)}.meal-delete-text-button{justify-content:flex-start;margin-inline-start:calc(-1 * var(--button-padding-x));background:transparent;color:var(--color-text-destructive);text-align:left;transition:color var(--motion-fast) var(--ease-out)}.meal-delete-text-button:hover{color:var(--color-text-destructive-hover);background:transparent}.meal-delete-text-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.add-meal-section{margin:0 0 var(--space-5);max-width:none;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--library-panel-shadow);padding:var(--paper-card-pad) var(--paper-pad-inline);scroll-margin-top:var(--space-5)}.add-meal-name-field,.meal-setting-details .meal-name-field{scroll-margin-top:var(--space-6)}.add-meal-form{display:grid;gap:0;justify-items:start;width:100%}.add-meal-title{margin:0 0 var(--space-4);color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-body);font-weight:500;line-height:1.4}.add-meal-name-field{display:grid;gap:var(--space-2);width:100%;max-width:var(--meal-name-field-max);margin:0 0 var(--space-6);color:var(--graphite);font-size:var(--type-ui);font-weight:500}.add-meal-name-field input{width:100%;height:var(--button-min-height);border:1px solid var(--color-border-strong);border-radius:var(--button-radius);background:var(--white);color:var(--graphite);padding:0 12px;font-size:var(--field-font-size);font-weight:500}.add-meal-name-field input:focus,.add-meal-name-field input:focus-visible{border-color:var(--deep-green);outline:none;box-shadow:none}.add-meal-name-field input[aria-invalid=true]{border-color:var(--color-border-destructive)}.add-meal-form>.field-error{margin:calc(var(--space-4) * -1) 0 var(--space-4)}.add-meal-form .meal-priority-fields{width:100%;margin:0 0 var(--space-6)}.add-meal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-3);width:100%;margin-top:0;padding-top:var(--space-5);border-top:1px solid var(--color-border-default)}.calendar-button.icon-only{width:44px;justify-content:center;padding:0}.day-heading-actions,.day-actions-menu{position:relative}.day-actions-popover{position:absolute;z-index:35;top:calc(100% + 5px);right:0;width:220px;display:grid;gap:2px;border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:var(--shadow-float);padding:4px;animation:ui-fade-in var(--motion-ui) var(--ease-out)}.day-actions-popover button{min-height:42px;border:0;border-radius:6px;background:transparent;padding:8px 10px;cursor:pointer;text-align:left;font-size:var(--type-ui)}.day-actions-popover button:hover,.day-actions-popover button:focus-visible{background:var(--fog)}.day-actions-popover button.is-danger{color:var(--color-action-destructive-pressed);font-weight:var(--button-font-weight)}.day-actions-popover button.is-danger:hover{color:var(--color-action-destructive-hover);background:var(--color-bg-destructive-hover)}.day-actions-popover button:disabled,.day-actions-popover button[aria-disabled=true],.day-actions-popover button.is-danger:disabled,.day-actions-popover button.is-danger[aria-disabled=true]{cursor:not-allowed;opacity:1;color:var(--muted);font-weight:500}.day-actions-popover button:disabled:hover,.day-actions-popover button[aria-disabled=true]:hover,.day-actions-popover button.is-danger:disabled:hover,.day-actions-popover button.is-danger[aria-disabled=true]:hover{background:transparent;color:var(--muted)}.copy-day-dialog form{text-align:left}.copy-day-dialog>p{margin-bottom:var(--space-5)}.copy-day-dialog .confirm-actions{margin-top:0}.meal-menu-popover.is-fixed{z-index:80;inset:auto;overflow-y:auto;overscroll-behavior:contain}.meal-menu-tip{position:absolute;z-index:18;top:50%;right:calc(100% + var(--space-2));width:min(260px,calc(100vw - 72px));max-width:none;margin:0;transform:translateY(-50%);overflow:visible}.meal-menu-tip>.empty-mark{margin:var(--space-3) var(--space-2) var(--space-3) var(--space-3)}.meal-menu-tip .hint-card-body{padding:var(--space-3) var(--space-3) var(--space-3) var(--space-3)}.meal-menu-tip .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.meal-menu-tip-text{display:flex;align-items:flex-start;gap:6px}.meal-menu-tip-actions-icon{flex-shrink:0;width:16px;height:16px;margin-top:.2em;color:var(--color-text-secondary)}.meal-menu-tip:after{position:absolute;top:50%;right:-5px;width:8px;height:8px;transform:translateY(-50%) rotate(45deg);border-top:1px solid transparent;border-right:1px solid transparent;background:var(--white);box-shadow:2px -2px 6px #1a1a1a0f;content:""}.meal-menu-tip .hint-close{width:32px;height:32px}.meal-actions-menu:has(.meal-menu-tip){z-index:24}.day-menu,.week-menu{position:relative}.day-menu:has(.meal-menu-tip),.week-menu:has(.meal-menu-tip){z-index:24}.week-day-header:has(.meal-menu-tip),.day-heading-actions:has(.meal-menu-tip){overflow:visible}.week-table thead .week-day-heading:has(.meal-menu-tip){z-index:8}.week-day-header .day-menu .meal-menu-tip,.day-heading-actions .day-menu .meal-menu-tip{top:calc(100% + 8px);right:0;left:auto;width:min(240px,calc(100vw - 48px));transform:none}.week-day-header .day-menu .meal-menu-tip:after,.day-heading-actions .day-menu .meal-menu-tip:after{top:-5px;right:12px;left:auto;transform:rotate(-45deg);box-shadow:-2px -2px 6px #1a1a1a0d}.week-toolbar-titlebar .toolbar-actions:has(.meal-menu-tip),.week-chrome-trailing:has(.meal-menu-tip){z-index:24;overflow:visible}.week-toolbar .week-menu .meal-menu-tip,.week-chrome-trailing .week-menu .meal-menu-tip{top:0;transform:none;width:min(260px,calc(100vw - 72px))}.week-toolbar .week-menu .meal-menu-tip:after,.week-chrome-trailing .week-menu .meal-menu-tip:after{top:calc(var(--control-min-size, 44px) / 2);transform:translateY(-50%) rotate(45deg)}.active-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 var(--space-3)}.active-filters button{min-height:34px;border:1px solid var(--sage-light);border-radius:999px;background:var(--mint);color:var(--deep-green);padding:5px 10px;cursor:pointer;font-size:var(--type-ui);font-weight:600}.compact-button{min-height:36px;padding:6px 10px}.library-table td:last-child{white-space:nowrap}.completion-circle{width:15px;height:15px;flex:0 0 auto;overflow:visible}.completion-circle .is-filled{fill:var(--deep-green);stroke:var(--white);stroke-width:1}.completion-circle .is-empty{fill:#e7ebe9;stroke:#aeb8b3;stroke-width:1}.month-legend .completion-circle{width:14px;height:14px}.field-block,.field-row label,.builder-fields label{display:grid;gap:var(--form-label-gap);color:var(--graphite);font-size:var(--type-ui);font-weight:500}.empty-state{padding:3rem;text-align:center}.empty-state>span{font-size:var(--type-title);color:var(--sage)}.empty-state p{max-width:520px;margin-left:auto;margin-right:auto;color:var(--graphite);font-size:var(--type-comfort);line-height:1.5}.empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:var(--modal-viewport-inset) var(--space-4);overflow:hidden;overscroll-behavior:contain;width:100%;max-width:100%;background:#20262173}.meal-editor{width:min(560px,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--modal-panel-shadow);padding:var(--space-6)}.confirm-dialog{width:min(430px,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--modal-panel-shadow);padding:var(--space-6);text-align:center}.confirm-dialog h2,.delete-account-dialog h2{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.3;color:var(--graphite)}.confirm-dialog p:not(.eyebrow):not(.menu-preview-meta):not(.menu-pick-sidebar-label):not(.menu-pick-preview-meta):not(.menu-pick-status):not(.pairing-all-count):not(.create-menu-lead):not(.menus-list-preview-more):not(.menus-list-week-day-preview-empty):not(.share-card-kicker):not(.share-card-subtitle):not(.share-card-nutrition):not(.share-card-count):not(.share-card-lead):not(.share-card-week-name):not(.share-card-meal-label),.delete-account-dialog>p:not(.eyebrow):not(.menu-preview-meta){margin:0 auto var(--space-5);max-width:320px;color:var(--graphite);font-size:var(--type-body);line-height:1.5;font-weight:400}.confirm-dialog>.empty-mark,.delete-account-dialog>.empty-mark{margin:0 auto var(--space-5)}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--library-row-rule)}.editor-header .eyebrow{line-height:var(--page-eyebrow-line-height)}.editor-header:has(.eyebrow)>.close-button{margin-top:var(--editor-close-eyebrow-nudge)}.editor-header h2{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.33;letter-spacing:-.02em}.close-button{width:var(--button-min-height);height:var(--button-min-height);flex:0 0 var(--button-min-height);display:grid;place-items:center;border:1px solid transparent;border-radius:var(--button-radius);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.close-button:hover{background:var(--fog);color:var(--deep-green)}.close-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.close-button:active{background:var(--mint);color:var(--deep-green)}.close-icon{display:block}.meal-editor form,.food-editor-form,.move-meal-dialog form,.copy-day-dialog form,.delete-account-dialog form,.auth-card form{display:grid;gap:var(--form-stack-gap)}.meal-editor form{padding-top:var(--space-3)}.food-editor{width:min(680px,100%);display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;background:var(--white)}.meal-editor.food-editor{display:flex;flex-direction:column;overflow:hidden}.meal-editor.food-editor>.editor-header{flex:0 0 auto}.food-editor-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0;grid-template-columns:none;overflow:hidden}.food-editor-body{display:grid;grid-template-columns:minmax(0,1fr);flex:1 1 auto;min-height:0;gap:var(--form-stack-gap);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;padding-top:var(--space-3);padding-bottom:0}.food-editor-body>.hint-card--tip{width:auto;max-width:100%;margin-inline:var(--space-3);margin-block:0;justify-self:stretch;box-sizing:border-box}.food-editor-form .full-field{grid-column:1 / -1}.food-editor-form .field-block{display:grid;gap:var(--form-label-gap)}.food-editor-form .field-row.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--form-stack-gap);align-items:start}.food-editor-form .field-row.two-columns>.field-block>.field-label{min-height:calc(var(--type-ui) * 1.4)}.food-editor-form .field-row.two-columns>*{min-width:0}.food-editor-form .field-block>small:not(.field-error){color:var(--muted);font-size:var(--type-ui);line-height:1.4;font-weight:500}.pairing-editor{display:block;margin:0;border:1px solid var(--library-row-rule);border-radius:var(--radius-md);padding:0;background:var(--color-bg-nest)}.pairing-editor-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;margin:0;padding:14px 16px;border:0;border-radius:inherit;background:transparent;cursor:pointer;list-style:none;color:var(--graphite);font:inherit;font-size:var(--type-ui);font-weight:600;line-height:1.35;text-align:start}.pairing-editor-summary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.pairing-editor-summary-label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;min-width:0}.pairing-editor-chevron{flex:0 0 auto;color:var(--muted);transition:transform var(--motion-ui) var(--ease-out)}.pairing-editor.is-open .pairing-editor-chevron{transform:rotate(180deg)}.pairing-editor-body{display:grid;gap:var(--space-5);padding:var(--space-4) var(--space-4) var(--space-5);border-top:1px solid var(--library-row-rule);background:var(--white);border-radius:0 0 var(--radius-md) var(--radius-md)}.pairing-editor-selected{display:flex;flex-wrap:wrap;gap:var(--chip-wrap-gap);max-height:none;overflow:visible;padding-bottom:2px}.pairing-editor-search,.pairing-editor label.pairing-editor-search{display:block;width:100%;margin:0;cursor:text}.pairing-editor-search .search-input-shell{display:block;width:100%}.pairing-editor-tabs{position:relative;z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin-bottom:0}.pairing-editor-tabs button{display:inline-flex;align-items:center;justify-content:center;min-width:0}.pairing-editor-search input{width:100%;box-sizing:border-box;min-height:var(--control-min-size);margin:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);font:inherit;font-size:var(--field-font-size);font-weight:500;line-height:1.25;padding:10px var(--space-3)}.food-editor-form .pairing-editor-search .search-input-shell--with-icon input:not([type=checkbox]):not([type=radio]),.pairing-editor-search .search-input-shell--with-icon input{padding-left:2.75rem}.pairing-editor-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;z-index:1}.pairing-editor-search input::placeholder{color:var(--color-text-placeholder);font-weight:450}.pairing-editor-lists{display:grid;gap:var(--space-5);min-width:0;overflow:visible}.pairing-editor-role{display:grid;gap:var(--space-3);min-width:0}.pairing-editor-role>strong{color:var(--graphite);font-size:var(--type-ui);font-weight:650;line-height:1.35}.pairing-editor-options{display:grid;grid-template-columns:1fr;gap:var(--space-1);align-items:stretch;align-content:start;height:var(--pairing-options-max-height);max-height:var(--pairing-options-max-height);overflow-x:hidden;overflow-y:auto;overscroll-behavior:auto;padding:2px;margin:-2px}.pairing-editor-option{box-sizing:border-box;position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:44px;margin:0;padding:10px 12px;border-radius:var(--radius-md);background:transparent;color:var(--graphite);font-size:var(--type-ui);font-weight:500;line-height:1.35;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out)}.pairing-editor-option:hover{background:var(--color-bg-subtle)}.pairing-editor-option.is-selected{background:var(--mint)}.pairing-editor-option:has(input[type=checkbox]:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.pairing-editor-option input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.pairing-editor-option>span{min-width:0;overflow-wrap:anywhere}.pairing-editor-empty{margin:0;padding:var(--space-3) var(--space-2);color:var(--graphite);font-size:var(--type-ui);font-weight:450;line-height:1.4}.pairing-editor-empty-state{display:grid;justify-items:center;align-content:center;gap:0;padding:var(--space-5) var(--space-4);text-align:center}.pairing-editor-empty-state .empty-mark{margin-bottom:var(--space-5)}.pairing-editor-empty-state strong{margin:0 0 var(--space-3);color:var(--graphite);font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}.pairing-editor-empty-state p{margin:0;max-width:280px;color:var(--graphite);font-size:1rem;font-weight:400;line-height:1.5}.pairing-editor-empty-state--panel{box-sizing:border-box;min-height:var(--pairing-options-max-height);padding:var(--space-4)}.field-row.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--form-stack-gap)}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:8px;background:var(--fog)}.segmented button{border:0;border-radius:6px;background:transparent;padding:.65rem .75rem;cursor:pointer;font-size:var(--type-ui);font-weight:650;color:var(--color-text-secondary)}.segmented button.is-active{background:var(--white);color:var(--deep-green);box-shadow:0 1px 2px #1f232814}.segmented button:focus{outline:none}.segmented button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.segmented--line{gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;border-bottom:1px solid var(--library-row-rule);margin-bottom:var(--space-3)}.segmented--line button{min-height:44px;margin:0 0 -1px;padding:.65rem .75rem;border:0;border-radius:0;border-bottom:2px solid transparent;background:transparent;box-shadow:none;color:var(--graphite);font-weight:500;line-height:1.25;white-space:normal;transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.segmented--line button.is-active{background:transparent;color:var(--deep-green);font-weight:600;box-shadow:none;border-bottom-color:var(--deep-green)}.segmented--line button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px;border-radius:var(--radius-sm)}.food-picker-kind-filter{flex:0 0 auto;grid-template-columns:repeat(3,minmax(0,1fr));margin:.55rem var(--space-6) 0;min-width:0}.food-picker-kind-filter button{min-width:0;padding:.55rem .35rem;font-size:var(--type-ui);line-height:1.25;white-space:normal}.builder-fields{display:grid;gap:var(--space-4)}.meal-editor-mode-body{min-width:0;transition:height var(--motion-soft) var(--ease-out)}.builder-fields label{position:relative;grid-template-columns:29px 105px minmax(0,1fr);align-items:center;color:var(--ink);font-size:var(--type-ui)}.builder-fields label>span{width:27px;height:27px;box-sizing:border-box;border-radius:50%;display:grid;place-items:center;border:1px solid var(--color-border-default);color:var(--deep-green);background:transparent;font-weight:650}.builder-fields label small{grid-column:3;color:var(--deep-green);font-weight:500}.food-picker-field{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;row-gap:var(--form-label-gap)}.food-picker-field.has-step{grid-template-columns:28px minmax(0,1fr);column-gap:12px;grid-template-areas:". label" "step trigger" ". hint"}.food-picker-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.food-picker-label-row>.field-label{color:var(--graphite);font-size:var(--type-ui);font-weight:500;min-width:0}.food-picker-label-actions{display:flex;flex:none;align-items:baseline;gap:12px}.food-picker-clear-link{flex:none;border:0;background:transparent;padding:0;margin:0;min-height:0;color:var(--deep-green);font-size:var(--type-ui);font-weight:500;line-height:1.25;cursor:pointer;transition:color var(--motion-fast) var(--ease-out)}.food-picker-clear-link:hover{color:var(--sage-dark)}.food-picker-clear-link:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:2px}.food-picker-field.has-step>.food-picker-label-row{grid-area:label}.food-picker-field.has-step>.food-picker-step{grid-area:step;align-self:start;margin-top:8px}.food-picker-field.has-step>.food-picker-control{grid-area:trigger}.food-picker-field.has-step>small{grid-area:hint}.food-picker-step{position:relative;width:28px;height:28px;box-sizing:border-box;display:grid;place-items:center;border-radius:50%;border:1px solid var(--color-border-default);background:var(--white);color:var(--deep-green);font-size:var(--type-micro);font-weight:650;line-height:1;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.food-picker-step.is-done{border-color:transparent;background:var(--deep-green);color:var(--white);font-weight:700}.food-picker-step.is-future{color:var(--deep-green);font-weight:650}.food-picker-step .brand-dot{position:absolute;right:6%;bottom:10%;width:6px;height:6px;box-shadow:0 0 0 1.5px var(--white);opacity:0;transition:opacity var(--motion-fast) var(--ease-out)}.food-picker-step.is-current .brand-dot{opacity:1}.food-picker-field>small{color:var(--deep-green);font-size:var(--type-ui);line-height:1.45}.food-picker-control{display:flex;align-items:center;width:100%;min-width:0;min-height:44px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--white);transition:border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out)}.food-picker-control:hover{border-color:var(--color-border-hover);background:var(--color-bg-surface)}.food-picker-control:focus-within{border-color:var(--deep-green);box-shadow:none}.food-picker-trigger{flex:1 1 auto;min-width:0;min-height:44px;display:flex;align-items:center;border:0;border-radius:var(--radius-md) 0 0 var(--radius-md);background:transparent;color:var(--color-text-primary);padding:10px 8px 10px 12px;cursor:pointer;text-align:left;font-size:var(--type-ui);line-height:1.25}.food-picker-trigger:focus-visible{outline:none}.food-picker-trigger>span{min-width:0;overflow-wrap:anywhere;color:var(--color-text-primary);font-size:var(--type-ui);font-weight:500;line-height:1.25}.food-picker-trigger>span.is-placeholder{color:var(--color-text-placeholder);font-weight:500}.food-picker-chevron{flex:none;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:0 var(--radius-md) var(--radius-md) 0;background:transparent;color:var(--color-text-secondary);padding:0;cursor:pointer}.food-picker-chevron:focus-visible{outline:none}.food-picker-chevron svg{flex-shrink:0}.food-picker-backdrop{z-index:45;overflow:visible}.food-picker-dialog{position:relative;width:min(520px,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--modal-panel-shadow);overflow:visible}.food-picker-dialog-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow:hidden;border-radius:var(--radius-lg);background:var(--white)}.food-picker-dialog.has-create-footer .food-picker-dialog-body{border-bottom-left-radius:0;border-bottom-right-radius:0}.food-picker-header{flex:0 0 auto;padding-top:var(--space-6);padding-inline:var(--space-6)}.food-picker-header .eyebrow{max-width:560px;line-height:var(--page-eyebrow-line-height);white-space:pre-line}.food-picker-search{flex:0 0 auto;padding:var(--space-3) var(--space-6) var(--space-2)}.food-picker-search .search-input-shell--with-icon input:not([type=checkbox]):not([type=radio]){padding-left:2.75rem}.food-picker-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.food-picker-tabs{flex:0 0 auto;margin:0 var(--space-6);grid-template-columns:repeat(3,max-content);column-gap:var(--space-3);justify-content:start}.food-picker-tabs button{padding-inline:var(--space-2);white-space:nowrap}.food-picker-tabs button:first-child{padding-inline-start:0}.food-picker-category-block{display:flex;flex-direction:column;gap:var(--space-2);flex:0 0 auto}.food-picker-category-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);flex:0 0 auto;padding:var(--space-2) var(--space-6) 0}.food-picker-category-chips .food-picker-filter-chip{min-height:var(--chip-min-height);padding:6px 10px}.food-picker-category-chips .food-picker-filter-chip--with-icon{padding-inline:10px 12px;gap:6px}.food-picker-category-chips .food-picker-filter-chip-icon,.food-picker-category-chips .food-picker-filter-chip-icon .food-category-icon{width:18px;height:18px}.food-picker-category-chips .food-picker-filter-chip-label{overflow-wrap:normal;word-break:normal;text-wrap:pretty}.food-picker-category-hint{padding:0 var(--space-6)}.food-picker-category-hint .hint-card{margin:0}.food-picker-filter-chip,.food-picker-chip,.pairing-editor-chip,.food-tag-chip{box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--chip-gap);min-height:var(--chip-min-height);margin:0;padding:var(--chip-padding-y) var(--chip-padding-x);border-radius:var(--chip-radius);font:inherit;font-size:var(--chip-font-size);font-weight:var(--chip-font-weight);line-height:var(--chip-line-height);cursor:pointer;transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.food-picker-filter-chip{width:100%;min-width:0;min-height:var(--chip-min-height);height:100%;justify-content:center;text-align:center;white-space:normal;border:1px solid var(--color-border-strong);background:var(--white);color:var(--graphite)}.food-picker-filter-chip--with-icon{justify-content:flex-start;text-align:start;padding-inline:var(--space-3);align-items:center}.food-picker-filter-chip:hover{border-color:var(--color-border-hover)}.food-picker-filter-chip.is-selected{border-color:var(--deep-green);background:var(--chip-selected-bg);color:var(--deep-green)}.food-picker-filter-chip.is-selected:hover{background:var(--chip-selected-bg-hover)}.food-picker-filter-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.food-picker-filter-chip-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:0}.food-picker-filter-chip-icon .food-category-icon{display:block;width:22px;height:22px}.food-picker-filter-chip-label{min-width:0;flex:1 1 auto;text-wrap:pretty;overflow-wrap:normal;word-break:normal;line-height:1.25}.food-picker-selected{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:var(--chip-wrap-gap);margin:var(--space-3) var(--space-6) 0;padding:0}.food-picker-category-block+.food-picker-selected{margin-top:var(--space-5)}.food-picker-chip,.pairing-editor-chip{gap:var(--chip-gap);max-width:100%;border:1px solid var(--deep-green);background:var(--chip-selected-bg);color:var(--deep-green);text-align:left}.food-picker-chip:hover,.pairing-editor-chip:hover{border-color:var(--deep-green);background:var(--chip-selected-bg-hover);color:var(--deep-green)}.food-picker-chip:focus-visible,.pairing-editor-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.food-picker-chip>span:not(.selected-chip-x),.pairing-editor-chip>span:not(.selected-chip-x){min-width:0;overflow-wrap:anywhere}.food-picker-chip .selected-chip-x,.pairing-editor-chip .selected-chip-x{flex:0 0 auto;margin-block:-.05em;color:var(--deep-green);font-size:1em;font-weight:400;line-height:1;opacity:.55;transition:opacity var(--motion-fast) var(--ease-out)}.food-picker-chip:hover .selected-chip-x,.pairing-editor-chip:hover .selected-chip-x{opacity:.9}.pairing-editor-chip--more{justify-content:center;min-width:2.75rem;font-variant-numeric:tabular-nums}.pairing-editor-chip--more:hover{border-color:var(--deep-green);background:var(--chip-selected-bg-hover)}.pairing-all-dialog{position:relative;width:min(100%,28rem);max-width:28rem;text-align:left}.pairing-all-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1}.pairing-all-dialog>h2{margin:0;padding-inline-end:var(--space-7);text-align:left;color:var(--graphite)}.confirm-dialog.pairing-all-dialog>.pairing-all-count{display:block;width:100%;margin:var(--space-2) 0 var(--space-5);max-width:none;text-align:left;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.pairing-all-list{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:var(--chip-wrap-gap);max-height:min(18rem,42dvh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;margin:0 0 var(--space-5);padding:2px}.pairing-all-actions{grid-template-columns:1fr}.pairing-all-actions .primary-button{width:100%;justify-content:center}.food-picker-search-hint{flex:0 0 auto;padding:0 var(--space-6) var(--space-3)}.food-picker-search-hint .hint-card{margin:0}.food-picker-search input{background:var(--white);border-radius:var(--radius-md);border-color:var(--color-border-strong)}.food-picker-sections{flex:1 1 auto;min-height:0;display:grid;gap:var(--space-3);align-content:start;overflow-y:auto;padding:var(--space-4) var(--space-6) var(--space-6)}.food-picker-list-heading{margin:0;color:var(--graphite);font-size:var(--type-ui);font-weight:600;line-height:1.35}.food-picker-options--flat{gap:2px}.food-picker-create-inline{box-sizing:border-box;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:0 .35em;min-height:44px;margin:var(--space-2) var(--space-6);padding:0;border:0;background:transparent;font:inherit;font-size:var(--type-ui);line-height:1.4;text-align:left;cursor:pointer}.food-picker-create-prompt{color:var(--color-text-placeholder);font-size:var(--type-ui);font-weight:400}.food-picker-create-action{color:var(--deep-green);font-size:var(--type-ui);font-weight:600;text-decoration:none;text-underline-offset:2px;overflow-wrap:anywhere;transition:color var(--motion-fast) var(--ease-out),text-decoration-color var(--motion-fast) var(--ease-out)}.food-picker-create-inline:hover .food-picker-create-action,.food-picker-create-inline:active .food-picker-create-action{text-decoration:underline;color:var(--sage-dark)}.food-picker-create-inline:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.food-picker-dialog.has-create-footer .food-picker-sections{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}.food-picker-selected-count{color:var(--graphite);font-size:var(--type-ui);font-weight:500;line-height:1.35;white-space:nowrap}.food-picker-empty .secondary-button,.food-picker-empty .tertiary-button{margin-top:var(--space-5);min-width:0;width:auto;justify-content:center}.food-picker-section{display:grid;gap:var(--space-2)}.food-picker-section h3{margin:0;color:var(--color-text-secondary);font-size:var(--type-micro);font-weight:650;text-transform:uppercase;letter-spacing:.04em}.food-picker-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:32px;margin:0;border:0;border-radius:var(--radius-sm);background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit}.food-picker-section-toggle:hover h3{color:var(--graphite)}.food-picker-section-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.food-picker-section-chevron{flex:0 0 auto;color:var(--muted);stroke-width:1.75;transition:transform var(--motion-ui) var(--ease-out)}.food-picker-section-toggle[aria-expanded=false] .food-picker-section-chevron{transform:rotate(-90deg)}.food-picker-options{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}.food-picker-options button{min-width:0;min-height:56px;display:flex;align-items:center;gap:var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;padding:var(--space-3);cursor:pointer;text-align:left}.food-picker-options button:hover{background:var(--color-bg-subtle)}.food-picker-options button.is-selected{background:var(--mint)}.food-picker-radio{width:18px;height:18px;flex:0 0 18px;border:1.5px solid var(--color-border-strong);border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 0 var(--deep-green);transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.ui-check{box-sizing:border-box;width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--white);color:var(--white);line-height:0;box-shadow:none;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.ui-check .ui-icon{display:block}.ui-check.is-checked,.food-picker-options button.is-selected .ui-check,.pairing-editor-option.is-selected .ui-check,.meal-priority-options label.is-selected .ui-check,.legal-consent.is-selected .ui-check,.food-tag-chip.is-selected .ui-check{border-color:var(--deep-green);background:var(--deep-green);color:var(--color-text-on-primary);box-shadow:none}.food-picker-options button.is-selected .food-picker-radio{border-color:var(--deep-green);box-shadow:inset 0 0 0 5px var(--deep-green)}.food-picker-options button>span{min-width:0;display:grid;gap:.2rem}.food-picker-options strong{overflow-wrap:anywhere;font-size:var(--type-ui);line-height:1.35;font-weight:600;color:var(--color-text-primary)}.food-picker-options small{color:var(--color-text-secondary);font-size:var(--type-ui)}.food-picker-empty,.food-picker-empty-block{position:relative;display:grid;justify-items:center;gap:0;width:100%;margin:0;border:0;border-radius:var(--radius-lg);background:var(--white);color:var(--graphite);padding:var(--space-6) var(--space-5);text-align:center}.food-picker-empty .empty-mark{margin:0 0 var(--space-5)}.food-picker-empty-illustration,.empty-state-illustration{display:block;width:min(220px,72%);height:auto;margin:0 0 var(--space-5);object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.plan-empty-state:not(.day-empty-intro) .empty-state-illustration,.food-picker-empty .empty-state-illustration,.food-picker-empty-illustration{width:min(165px,54%)}}.food-picker-empty strong{display:block;width:max-content;max-width:min(320px,100%);margin:0 auto var(--space-3);font-family:var(--font-display);color:var(--graphite);font-size:var(--type-title);font-weight:600;line-height:1.25;letter-spacing:0;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.food-picker-empty p{margin:0;max-width:280px;color:var(--graphite);font-size:var(--type-body);line-height:1.5;font-weight:400}.food-picker-empty .primary-button{margin-top:var(--space-5);min-width:0;width:auto;justify-content:center}.modal-backdrop.is-suppressed,.food-picker-backdrop.is-suppressed{display:none}.locked-field{min-height:44px;display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--fog);color:var(--graphite);padding:10px 12px;font-size:var(--type-ui);font-weight:500}.meal-dish-list{display:grid;gap:var(--form-stack-gap)}.meal-dish-panel{display:grid;gap:var(--space-3)}.meal-dish-rows{list-style:none;margin:0;padding:0;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.meal-dish-row{display:flex;align-items:stretch;justify-content:space-between;gap:var(--space-2);min-height:52px;padding:0 0 0 14px;border-top:1px solid var(--library-row-rule)}.meal-dish-row:first-child{border-top:0}.meal-dish-row-name{display:flex;align-items:center;min-width:0;flex:1 1 auto;margin:0;padding-block:14px;padding-inline-end:var(--space-2);border:0;background:transparent;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:500;line-height:1.35;text-align:left;overflow-wrap:anywhere}button.meal-dish-row-name{cursor:pointer;transition:color var(--motion-fast) var(--ease-out)}button.meal-dish-row-name:hover,button.meal-dish-row-name:focus-visible{color:var(--deep-green)}button.meal-dish-row-name:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.meal-dish-row-actions{display:flex;flex:0 0 auto;align-items:stretch;gap:0}.meal-dish-row-remove{display:grid;place-items:center;box-sizing:border-box;width:44px;min-height:52px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.meal-dish-row-remove:hover{color:var(--graphite);background:var(--fog)}.meal-dish-row-remove:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.meal-dish-row-remove .close-icon{width:18px;height:18px}.meal-add-dish-action.primary-button{width:100%;justify-content:center}.meal-add-dish-action.tertiary-button{width:100%;justify-content:center;border-color:transparent;background:transparent;color:var(--graphite);text-align:center;box-shadow:none;transition:color var(--motion-fast) var(--ease-out)}.meal-add-dish-action.tertiary-button:hover,.meal-add-dish-action.tertiary-button:active{border-color:transparent;background:transparent;color:var(--deep-green);box-shadow:none}.food-editor-form .field-block.food-tag-groups{gap:0}.food-editor-body>.food-tag-groups{margin-bottom:var(--space-2)}.food-tag-groups>.field-label{margin:0}.food-tag-groups-hint{margin:var(--form-label-gap) 0 0;color:var(--color-text-placeholder);font-size:var(--type-ui);font-weight:400;line-height:1.4}.food-tag-groups-stack{display:grid;gap:var(--space-4);margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-nest)}.food-tag-groups>.field-error{margin-top:var(--space-2)}.food-tag-group{display:grid;gap:var(--space-3)}.food-tag-group-heading{display:grid;gap:2px}.food-tag-group-title{margin:0;font-size:var(--type-ui);font-weight:500;color:var(--graphite)}.food-tag-group-hint{margin:0;color:var(--color-text-placeholder);font-size:var(--type-ui);font-weight:400;line-height:1.4}.food-tag-options{display:flex;flex-wrap:wrap;gap:var(--chip-wrap-gap)}.food-tag-options--tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--chip-wrap-gap)}.food-tag-chip{position:relative;border:1px solid var(--color-border-strong);background:var(--white);color:var(--graphite);line-height:1}.food-tag-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.food-tag-chip-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:0}.food-tag-chip-icon .food-category-icon,.food-category-icon{display:block;width:22px;height:22px;flex-shrink:0;color:var(--deep-green);background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;pointer-events:none;-webkit-user-select:none;user-select:none}.food-tag-chip-label{min-width:0;display:inline-flex;align-items:center;line-height:22px}.food-tag-chip:hover{border-color:var(--color-border-hover)}.food-tag-chip.is-selected{border-color:var(--deep-green);background:var(--chip-selected-bg);color:var(--deep-green)}.food-tag-chip.is-selected:hover{background:var(--chip-selected-bg-hover)}.food-tag-chip:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.food-tag-tile{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:0;min-height:52px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);text-align:start}.food-tag-tile .ui-check{position:absolute;top:50%;left:var(--space-2);transform:translateY(-50%)}.food-tag-tile-body{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-2);min-width:0;width:100%;padding-inline-start:calc(18px + var(--space-2));padding-inline-end:0}.food-tag-tile .food-tag-chip-icon,.food-tag-tile .food-tag-chip-icon .food-category-icon{width:28px;height:28px}.food-tag-tile .food-tag-chip-label{display:block;min-width:0;width:auto;flex:1 1 auto;line-height:1.25;text-align:start;overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}@media(max-width:900px){.food-tag-options--tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.food-tag-chip{transition:none}}.food-picker-empty-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.35rem}.food-picker-create-footer{position:absolute;left:0;right:0;bottom:0;z-index:5;display:grid;gap:var(--space-3);align-content:end;padding:2.75rem var(--space-6) max(var(--space-6),env(safe-area-inset-bottom,0px));border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:0;background:linear-gradient(to top,var(--white) 0%,var(--white) 42%,color-mix(in srgb,var(--white) 94%,transparent) 58%,color-mix(in srgb,var(--white) 62%,transparent) 78%,transparent 100%);pointer-events:none}.food-picker-create-footer .primary-button,.food-picker-create-button,.food-picker-remove-button{width:100%;justify-content:center;pointer-events:auto}.food-picker-confirm-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3);pointer-events:none}.food-picker-confirm-footer .food-picker-selected-count{pointer-events:none}.food-picker-confirm-footer .primary-button{width:auto;min-width:10rem;flex:0 0 auto;pointer-events:auto}.dish-picker{display:grid;gap:var(--form-stack-gap)}.dish-picker section{display:grid;gap:.55rem}.dish-picker h3{margin:0;color:var(--ink);font-size:var(--type-ui)}.dish-picker section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:220px;overflow-y:auto;padding:.15rem}.dish-picker section>div>button{min-height:54px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;border:1px solid var(--line);border-radius:11px;background:#fff;padding:.6rem .7rem;cursor:pointer;text-align:left}.dish-picker section>div>button:hover{border-color:#b4c1b5;background:#f8faf8}.dish-picker section>div>button.is-selected{border-color:var(--sage);background:var(--sage-soft);box-shadow:0 0 0 2px #4166501a}.dish-picker button span{width:100%;overflow-wrap:anywhere;font-size:var(--type-ui);font-weight:700;line-height:1.35}.dish-picker button small{color:var(--sage);font-size:var(--type-ui);font-weight:700}.dish-picker section>p{margin:0;border:1px dashed var(--line);border-radius:10px;color:var(--muted);padding:.75rem;font-size:var(--type-ui)}.meal-empty-guard,.form-group-error{display:flex;align-items:flex-start;gap:6px;max-width:28rem;margin:12px 0 0;padding:0 0 0 10px;border:0;border-left:2px solid var(--blush-strong);border-radius:0;background:transparent;color:var(--color-text-destructive);font-size:var(--type-comfort);font-weight:500;line-height:1.5}.meal-empty-guard-icon,.form-group-error-icon{flex:none;width:16px;height:16px;margin-top:3px;color:var(--color-text-destructive)}.meal-empty-guard p,.form-group-error p{margin:0;min-width:0;overflow-wrap:anywhere;font-weight:500}.form-error{max-width:28rem;margin:12px 0 0;padding:0 0 0 10px;border-left:2px solid var(--blush-strong);color:var(--color-text-destructive);font-size:var(--type-comfort);font-weight:500;line-height:1.5}.repeat-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--form-stack-gap);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--library-row-rule)}.date-field.is-popover-only{display:contents}.meal-editor:not(.food-editor) .editor-footer{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;z-index:4;bottom:0;margin-top:var(--space-4);padding:var(--space-5) 0 0;border-top:1px solid var(--library-row-rule);background:var(--white)}.meal-editor:not(.food-editor) .editor-footer>.hint-card--tip{width:100%;max-width:none;margin:0;align-self:stretch}.meal-editor:not(.food-editor) .editor-footer>.hint-card--tip>.empty-mark{margin-block:var(--space-3)}.meal-editor:not(.food-editor) .editor-footer>.hint-card--tip .hint-card-body{padding-block:var(--space-3);align-content:center}.meal-editor:not(.food-editor) .editor-footer>.hint-card--tip .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.meal-editor:not(.food-editor) .editor-footer>.hint-card--tip .hint-card-heading{padding-top:0}.meal-editor:not(.food-editor) .editor-footer .editor-actions{position:static;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.75rem;margin:0;padding:0;border:0;background:transparent;min-height:var(--button-min-height)}.meal-editor:not(.food-editor) .editor-footer .meal-delete-text-button{display:inline-flex;align-items:center}.editor-footer{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;z-index:3;bottom:0;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--library-row-rule);background:linear-gradient(to bottom,color-mix(in srgb,var(--paper) 92%,transparent),var(--paper) 28%);padding-bottom:0}.editor-footer>.repeat-fields{margin:0;padding:0;border:0}.editor-footer>.hint-card--tip{width:100%;max-width:none;margin:0;align-self:stretch}.editor-footer>.hint-card--tip>.empty-mark{margin-block:var(--space-3)}.editor-footer>.hint-card--tip .hint-card-body{padding-block:var(--space-3);align-content:center}.editor-footer>.hint-card--tip .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.editor-footer>.hint-card--tip .hint-card-heading{padding-top:0}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.75rem;margin-top:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--library-row-rule)}.editor-actions,.confirm-actions,.duplicate-actions{position:sticky;z-index:3;bottom:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--paper) 92%,transparent),var(--paper) 28%);padding-top:.8rem;padding-bottom:.15rem}.editor-footer .editor-actions{position:static;background:transparent;margin-top:0;padding-top:0;padding-bottom:0;border-top:0}.food-editor .food-editor-actions{flex:0 0 auto;position:static;z-index:auto;bottom:auto;margin:var(--space-5) 0 0;padding:var(--space-5) 0 0;border-top:1px solid var(--library-row-rule);background:var(--white);gap:var(--space-3)}.editor-actions-end{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-left:auto}.disabled-action-wrap{display:inline-flex;cursor:not-allowed}.disabled-action-wrap>:disabled{pointer-events:none}.menu-delete-action{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.meal-conflict-dialog{position:relative;width:min(500px,100%)}.meal-conflict-close{position:absolute;top:var(--space-3);right:var(--space-3)}.conflict-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:.55rem}.conflict-options{display:grid;gap:.55rem;margin:1rem 0 1.15rem}.conflict-option{display:flex;align-items:flex-start;gap:.65rem;border:1px solid var(--line);border-radius:10px;background:var(--white);padding:.75rem .85rem;cursor:pointer}.conflict-option.is-selected{border-color:var(--sage);background:var(--sage-soft)}.conflict-option input{margin-top:.15rem}.conflict-option span{color:var(--ink);font-size:var(--type-ui);line-height:1.4;font-weight:600}.meal-conflict-dialog .confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.move-meal-dialog{width:min(470px,100%);text-align:left}.move-meal-dialog>p{max-width:none}.duplicate-dialog{width:min(520px,100%);text-align:left}.confirm-dialog.duplicate-dialog>h2,.confirm-dialog.duplicate-dialog>p{margin-right:0;margin-left:0;max-width:none;text-align:left}.duplicate-dialog>p{max-width:none;margin-left:0}.duplicate-list{display:grid;gap:.5rem;max-height:280px;overflow-y:auto;margin:0 0 1rem;padding:0;list-style:none}.duplicate-list-item{display:grid;gap:.2rem;width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.75rem;text-align:left}.duplicate-list-item strong{overflow-wrap:anywhere}.duplicate-list-item small{color:var(--muted)}.duplicate-actions{display:flex;justify-content:flex-end;gap:.6rem}.undo-toast{position:fixed;z-index:50;left:50%;bottom:var(--space-5);width:min(520px,calc(100% - 24px));display:flex;align-items:center;gap:var(--space-3);transform:translate(-50%);border-radius:var(--radius-lg);background:var(--color-bg-inverse);color:var(--color-text-on-inverse);box-shadow:0 16px 45px #141d1647;padding:var(--space-3) 14px;font-size:var(--type-ui);animation:ui-fade-in var(--motion-soft) var(--ease-out)}.undo-toast>span{min-width:0;margin-right:auto;overflow-wrap:anywhere}.undo-toast button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--color-action-on-inverse);padding:.45rem;cursor:pointer;font-weight:800}.undo-toast .toast-close{color:color-mix(in srgb,var(--color-text-on-inverse) 65%,transparent);font-size:var(--type-subtitle)}.achievement-toast{position:fixed;z-index:110;left:50%;top:max(var(--space-5),calc(env(safe-area-inset-top,0px) + var(--space-4)));bottom:auto;width:min(440px,calc(100% - 24px));display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);transform:translate(-50%);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);box-shadow:var(--week-panel-shadow);padding:var(--space-3) var(--space-4);padding-right:calc(var(--space-4) + 36px);text-align:start;animation:ui-fade-in var(--motion-soft) var(--ease-out)}.achievement-toast-badge{position:relative;flex:0 0 auto;width:56px;height:56px;line-height:0}.achievement-toast-badge .achievement-badge{width:56px;height:56px}.achievement-toast-badge .achievement-status-mark{position:absolute;right:0;bottom:0}.achievement-toast-copy{display:grid;gap:var(--space-1);min-width:0;align-content:center;justify-items:start}.achievement-toast-eyebrow{margin:0;color:var(--muted);font-size:var(--type-micro);font-weight:500;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}.achievement-toast-title{margin:0;color:var(--graphite);font-family:var(--font-display);font-size:var(--type-body);font-weight:600;line-height:1.25}.achievement-toast-text{margin:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.35}.achievement-toast-close{position:absolute;top:50%;right:var(--space-1);display:grid;place-items:center;width:44px;height:44px;margin:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted);cursor:pointer;transform:translateY(-50%)}.achievement-toast-close:hover{color:var(--graphite)}.achievement-toast--hero{position:fixed}.achievement-badge{position:relative;display:block;flex-shrink:0;width:64px;height:64px;border:0;border-radius:50%;background:transparent;overflow:hidden;line-height:0}.achievement-badge--sm{width:52px;height:52px}.achievement-badge--lg{width:88px;height:88px}.achievement-badge--hero{width:112px;height:112px}.achievement-badge-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}.achievement-badge.is-locked .achievement-badge-image{filter:grayscale(1)}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--fog)}.auth-card{width:min(460px,100%);border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow);padding:clamp(1.4rem,5vw,2.25rem)}.app-boot{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-6);background:var(--fog);color:var(--graphite)}.app-boot-mark{display:grid;place-items:center;animation:ui-fade-in var(--motion-soft) var(--ease-out)}.app-boot-logo{display:block;width:auto;height:2rem;object-fit:contain}.app-boot-logo--white{display:none}.berry-wait-rail{position:relative;display:block;width:100%;height:8px;flex:none}.berry-wait-rail--pace{width:2.75rem}.berry-wait-dot{position:absolute;top:50%;left:0;width:7px;height:7px;border-radius:50%;background:var(--brand-accent-strong);transform:translateY(-50%)}.berry-wait-rail--roll .berry-wait-dot{animation:berry-wait-roll 2.2s cubic-bezier(.45,0,.55,1) infinite}.berry-wait-rail--pace .berry-wait-dot{animation:berry-wait-pace 1.6s cubic-bezier(.45,0,.55,1) infinite alternate}@keyframes berry-wait-roll{0%{left:0;transform:translateY(-50%) rotate(0)}to{left:100%;transform:translate(-100%,-50%) rotate(360deg)}}@keyframes berry-wait-pace{0%{left:0;transform:translateY(-50%) rotate(0)}to{left:100%;transform:translate(-100%,-50%) rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-boot-mark{animation:none}.berry-wait-dot{left:50%;animation:none!important;transform:translate(-50%,-50%)}}.recipe-import-blocking{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:var(--space-6);background:color-mix(in srgb,var(--fog) 92%,transparent);color:var(--graphite);animation:ui-fade-in var(--motion-soft) var(--ease-out);cursor:wait;-webkit-user-select:none;user-select:none}.recipe-import-blocking-mark{display:inline-grid;justify-items:stretch;gap:28px;max-width:min(22rem,100%)}.recipe-import-blocking-title{margin:0;min-height:2.6em;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);font-weight:400;line-height:1.3;letter-spacing:-.01em;color:var(--graphite);text-align:center;text-wrap:balance;animation:ui-fade-in var(--motion-soft) var(--ease-out)}.recipe-import-blocking-rail.berry-wait-rail--pace{width:100%}@media(prefers-reduced-motion:reduce){.recipe-import-blocking,.recipe-import-blocking-title{animation:none}}.auth-brand{display:flex;align-items:center;container-type:inline-size;container-name:brand;margin-bottom:2rem;width:100%;max-width:100%;min-height:0;--logo-tagline-indent: calc(var(--logo-name-auth) * 209 / 165)}.auth-brand .app-logo{width:100%;max-width:100%;min-width:0}.auth-brand .app-logo__horizontal{display:inline-flex;flex-wrap:nowrap;align-items:flex-end;gap:var(--space-1);width:100%;max-width:100%}.auth-brand .app-logo__stacked,.auth-brand .app-logo__mark{display:none}.auth-brand .app-logo__name{width:100%;max-width:100%}.auth-brand .app-logo__wordmark{height:auto;max-height:var(--logo-name-auth);max-width:100%}.auth-brand .app-logo__cluster{gap:var(--space-1)}.auth-brand .app-logo__type{display:block;color:var(--graphite)}.auth-heading{margin-bottom:var(--space-5)}.auth-heading .eyebrow{font-size:var(--page-eyebrow-size, .8125rem);line-height:var(--page-eyebrow-line-height, 16px);font-weight:650;letter-spacing:.08em;color:var(--color-text-secondary)}.auth-heading h1{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;color:var(--graphite)}.auth-heading>p:last-child{margin:0;max-width:28rem;font-size:var(--type-ui);font-weight:400;line-height:1.5;color:var(--graphite)}.auth-card form label{display:grid;gap:var(--form-label-gap);color:var(--graphite);font-size:var(--type-ui);font-weight:500}.auth-card form label>small{color:var(--muted);font-size:var(--type-ui);line-height:1.4;font-weight:500}.auth-card form input:not([type=checkbox]):not([type=radio]){min-height:48px}.auth-card form .legal-consent{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:.65rem;color:var(--muted);font-size:var(--type-ui);font-weight:500;line-height:1.5;cursor:pointer}.auth-card form .legal-consent .ui-check{margin-top:.15em}.auth-card form .legal-consent.is-error{margin:0;padding:0 0 0 10px;border:0;border-left:2px solid var(--blush-strong);border-radius:0;background:transparent}.auth-card form .legal-consent:has(input[type=checkbox]:focus-visible){outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.legal-consent input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.legal-consent a{color:var(--deep-green);cursor:pointer}.legal-consent a:hover{text-decoration:underline}.auth-card form .field-error,.delete-account-dialog .field-error,.consent-error,.field-block>.field-error,.add-meal-form .field-error,.meal-name-field .field-error{display:flex;align-items:flex-start;gap:6px;margin:var(--space-2) 0 0;max-width:28rem;color:var(--color-text-destructive);font-size:var(--type-ui);font-weight:500;line-height:1.5}.field-error:before{content:"!";width:16px;height:16px;box-sizing:border-box;display:inline-grid;place-items:center;flex:0 0 16px;margin-top:.2em;border:1.5px solid currentColor;border-radius:50%;background:transparent;color:var(--color-text-destructive);font-size:.6875rem;font-weight:700;line-height:1}.consent-error{margin-top:var(--space-2)}.password-input{position:relative;display:block;isolation:isolate}.password-input input{padding-right:3.25rem}.password-visibility-button{position:absolute;z-index:1;top:50%;right:.25rem;width:44px;height:44px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;touch-action:manipulation;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.password-visibility-button:hover{background:var(--fog);color:var(--deep-green)}.password-visibility-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-card form>.primary-button{min-height:48px}.auth-error,.auth-notice{margin:0;padding:.7rem .8rem;border-radius:10px;font-size:var(--type-ui);line-height:1.45}.auth-error{background:var(--color-bg-destructive-hover);color:var(--color-text-destructive)}.auth-notice{background:var(--sage-soft);color:var(--sage-dark)}.auth-links{display:grid;justify-items:center;gap:.75rem;margin-top:var(--form-stack-gap);color:var(--muted);font-size:var(--type-ui);line-height:1.45;text-align:center}.auth-links>span{display:flex;flex-direction:column;align-items:center;width:fit-content;justify-self:center}.auth-links button{min-height:44px;border:0;background:none;padding:.45rem .55rem;color:var(--deep-green);cursor:pointer;font-size:inherit;font-weight:500}.auth-links button:hover{color:var(--sage-dark);text-decoration:underline}.legal-note{margin:1.35rem 0 0;color:var(--muted);text-align:center;font-size:var(--type-ui);line-height:1.5}.legal-note a{color:var(--deep-green);cursor:pointer}.legal-note a:hover{text-decoration:underline}.legal-shell{min-height:100vh;padding:clamp(16px,4vw,48px);background:var(--fog)}.legal-page{position:relative;width:min(820px,100%);margin:0 auto;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:var(--shadow);padding:clamp(1.4rem,5vw,3rem)}.legal-page-close{position:absolute;top:clamp(.75rem,2.5vw,1.1rem);right:clamp(.75rem,2.5vw,1.1rem);z-index:1}.legal-page .auth-brand{margin-bottom:1.4rem;padding-right:calc(var(--button-min-height) + .5rem)}.legal-draft{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:2rem;border:1px solid #e3c98d;border-radius:12px;background:#fff8e8;color:#75531f;padding:.8rem .9rem;font-size:var(--type-ui);line-height:1.45}.legal-draft strong{flex-shrink:0;border-radius:999px;background:#f0d9a5;padding:.15rem .45rem;text-transform:uppercase;letter-spacing:.06em;font-size:var(--type-micro)}.legal-updated{margin:.5rem 0 2rem;color:var(--muted);font-size:var(--type-ui)}.legal-content{display:grid;gap:1.5rem}.legal-content section{border-top:1px solid var(--line);padding-top:1.25rem}.legal-content h2{margin-bottom:.55rem;font-size:var(--type-subtitle)}.legal-content p{margin:0;color:#596159;line-height:1.7}.legal-content ul{margin:0;padding-left:1.25rem;color:#596159;line-height:1.7}.legal-content li+li{margin-top:var(--space-1)}.legal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.25rem;border-top:1px solid var(--line);padding-top:1.5rem}.legal-actions a{color:var(--sage)}.legal-actions .tertiary-button{color:var(--ink);text-decoration:none}.profile-page{width:100%;max-width:var(--page-content-max);margin-inline:auto}.profile-page>.profile-module,.profile-page>.profile-heading,.profile-page>.profile-card,.profile-page>.profile-actions,.profile-page>.profile-legal-block,.profile-module>.profile-heading,.profile-module>.profile-card,.profile-module>.profile-appearance-card,.profile-module>.profile-achievements-card,.profile-module>.profile-actions,.profile-module>.profile-legal-block{width:100%;max-width:var(--profile-column-max)}.profile-page .profile-heading{margin-bottom:var(--page-title-content-gap);align-items:flex-start}.profile-page .profile-heading h1{margin-bottom:0}.profile-card{width:100%;max-width:none;padding:var(--paper-card-pad);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--library-panel-shadow)}.profile-appearance-card{margin-top:var(--profile-block-gap);display:grid;gap:var(--space-4)}.profile-appearance-card>h2{margin:0;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-body);font-weight:500;line-height:1.35}.profile-achievements-card{margin-top:var(--profile-block-gap);display:grid;gap:var(--space-4);min-width:0;max-width:100%;overflow-x:clip}.profile-achievements-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.profile-achievements-heading{display:grid;gap:var(--space-1);min-width:0}.profile-achievements-heading>h2{margin:0;color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-body);font-weight:500;line-height:1.35}.profile-achievements-count{margin:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.profile-achievements-all{margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2)) 0 0;padding-inline:var(--space-2);white-space:nowrap}.achievements-progress{min-width:0}.achievements-progress-track{display:block;width:100%;height:4px;border-radius:99px;background:var(--fog);overflow:hidden}.achievements-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--deep-green)}.path-section{--path-gallery-radius: 24px;--path-poster-shadow: 0 8px 24px rgba(26, 26, 26, .08)}.path-poster{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.path-poster.is-locked{filter:grayscale(.55) saturate(.55);opacity:.72}.path-preview-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:var(--space-3);width:100%;min-width:0}.path-preview-grid>li{min-width:0;height:100%;display:flex}.path-preview-tile{width:100%;height:100%;min-height:112px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:var(--space-3);margin:0;padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.path-preview-tile:hover{background:color-mix(in srgb,var(--deep-green) 8%,var(--white))}}.path-preview-tile:focus-visible{outline:2px solid var(--deep-green);outline-offset:2px}.path-preview-tile.is-locked{background:color-mix(in srgb,var(--fog) 70%,var(--white))}.path-preview-thumb{width:96px;height:128px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--path-poster-shadow);background:var(--page-canvas);line-height:0}.path-preview-copy{display:grid;gap:var(--space-1);min-width:0}.path-preview-stage{color:var(--muted);font-size:var(--type-micro);font-weight:500;letter-spacing:.04em;line-height:1.3}.path-preview-title{color:var(--graphite);font-family:var(--font-display);font-size:var(--type-ui);font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.path-preview-meta{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.path-modal-dialog{--path-gallery-radius: 24px;--path-poster-shadow: 0 12px 36px rgba(26, 26, 26, .12);position:relative;width:min(900px,100%);max-height:min(720px,calc(100dvh - 2 * var(--modal-viewport-inset)));margin:auto;display:flex;flex-direction:column;min-height:0;border:1px solid var(--color-border-default);border-radius:var(--path-gallery-radius);background:var(--white);box-shadow:var(--modal-panel-shadow);overflow:hidden;outline:none;animation:ui-fade-in var(--motion-soft) var(--ease-out)}.path-modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:start;padding:var(--space-6) var(--space-6) var(--space-3);flex:0 0 auto}.path-modal-heading{display:grid;gap:var(--space-1);min-width:0}.path-modal-header h2{margin:0;color:var(--graphite);font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25}.path-modal-count{margin:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.path-modal-lead{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.45;max-width:28rem}.path-modal-progress{flex:0 0 auto;padding:0 var(--space-6) var(--space-4)}.path-gallery-body{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-6) var(--space-6)}.path-gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-items:stretch;gap:var(--space-5)}.path-gallery-grid>li{min-width:0;height:100%;display:flex}.path-gallery-card{width:100%;height:100%;display:flex;flex-direction:column;gap:0;margin:0;padding:0;border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);background:var(--white);color:var(--graphite);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color var(--motion-ui) var(--ease-out)}.path-gallery-poster-wrap{display:block;width:100%;aspect-ratio:3 / 4;border-radius:0;overflow:hidden;background:var(--page-canvas);box-shadow:none;outline:0}@media(hover:hover)and (pointer:fine){.path-gallery-card:hover{border-color:var(--deep-green)}}.path-gallery-card:focus-visible{outline:2px solid var(--deep-green);outline-offset:2px}.path-gallery-copy{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-3) var(--space-4)}.path-gallery-title{color:var(--graphite);font-family:var(--font-display);font-size:var(--type-body);font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.path-gallery-description,.path-gallery-status{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.path-gallery-description{-webkit-line-clamp:2}.path-gallery-status{-webkit-line-clamp:1;margin-top:auto;padding-top:var(--space-1)}.path-gallery-card.is-unlocked .path-gallery-status{color:var(--graphite)}.path-modal-dialog.is-detail{width:max-content;max-width:min(900px,100%);height:min(540px,calc(100dvh - 2 * var(--modal-viewport-inset)));max-height:min(540px,calc(100dvh - 2 * var(--modal-viewport-inset)));border:0;background:var(--white);touch-action:pan-y}.path-modal-dialog.is-detail .path-detail-close{position:absolute;top:var(--space-2);right:var(--space-2);z-index:3;margin:0;color:var(--graphite)}.path-detail-stage{display:flex;flex-direction:column;min-width:0;min-height:0;width:100%;height:100%;max-height:100%;flex:1 1 auto}.path-detail-layout{display:grid;grid-template-columns:max-content minmax(16rem,22rem);gap:0;align-items:stretch;width:max-content;max-width:100%;height:100%;min-height:0;flex:1 1 auto;overflow:hidden;padding:0;animation:ui-fade-in var(--motion-ui) var(--ease-out)}.path-detail-poster-panel{justify-self:start;align-self:stretch;width:max-content;height:100%;min-width:auto;min-height:0;border:0;outline:0;background:transparent;overflow:hidden}.path-detail-poster,.path-modal-dialog.is-detail .path-poster.path-detail-poster{display:block;width:auto;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;object-fit:unset;object-position:center top;border:0;outline:0;border-radius:0;box-shadow:none;background:transparent}.path-detail-copy{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);min-width:0;min-height:0;padding:calc(var(--button-min-height) + var(--space-4)) var(--space-6) var(--space-5);background:var(--white);text-align:center;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.path-detail-copy-main{display:grid;justify-items:center;align-content:center;gap:var(--space-3);flex:0 0 auto;width:100%;max-width:22rem;min-height:0;margin-block:0;padding-top:0}.path-detail-mark{display:grid;place-items:center;width:56px;height:56px;margin:0 0 var(--space-1);border-radius:50%;background:var(--brand-accent-strong);color:var(--white);line-height:0}.path-detail-whisk{display:block;width:32px;height:32px;object-fit:contain}.path-detail-title{margin:0;color:var(--graphite);font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25}.path-detail-description{margin:0;color:var(--graphite);font-size:var(--type-body);font-weight:400;line-height:1.45}.path-detail-meta,.path-detail-progress{margin:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.45}.path-detail-rule{position:relative;display:block;width:4.5rem;height:1px;margin-top:var(--space-2);background:var(--brand-accent-strong)}.path-detail-rule:after{content:"";position:absolute;top:50%;right:0;width:5px;height:5px;border-radius:50%;background:var(--brand-accent-strong);transform:translate(50%,-50%)}.path-detail-nav{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:var(--space-3);flex:0 0 auto;width:100%;padding-top:var(--space-2)}.path-detail-nav-btn{display:inline-grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--color-border-strong);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.path-detail-nav-btn:hover:not(:disabled){color:var(--deep-green);border-color:var(--deep-green);background:transparent}}.path-detail-nav-btn:disabled{opacity:.35;cursor:not-allowed}.path-detail-nav-btn:focus-visible{outline:2px solid var(--deep-green);outline-offset:2px}@media(max-width:900px){.path-preview-grid{grid-template-columns:1fr}.path-preview-tile{grid-template-columns:64px minmax(0,1fr)}.path-preview-thumb{width:64px;height:88px}.path-gallery-grid{gap:var(--space-4)}.path-modal-header,.path-modal-progress,.path-gallery-body{padding-inline:var(--space-4)}.path-modal-header{padding-top:var(--space-5)}}@media(min-width:680px)and (max-width:900px){.profile-module{margin-inline:auto}.path-modal-dialog.is-detail{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:auto;max-width:100%;height:min(540px,calc(100dvh - 2 * var(--modal-viewport-inset)));max-height:min(540px,calc(100dvh - 2 * var(--modal-viewport-inset)));margin:auto;padding:0;overflow:hidden}.path-modal-dialog.is-detail .path-detail-close{position:absolute;top:var(--space-2);right:var(--space-2);margin:0}.path-modal-dialog.is-detail .path-detail-stage{width:auto;height:100%;max-height:100%;flex:1 1 auto}.path-detail-layout{display:grid;grid-template-columns:auto minmax(12rem,16rem);align-items:stretch;column-gap:0;width:auto;max-width:none;height:100%;max-height:100%;min-height:0;flex:1 1 auto;overflow:hidden;border-radius:0;background:transparent}.path-detail-poster-panel{grid-area:auto;justify-self:start;align-self:stretch;flex:none;width:auto;height:100%;max-height:none;max-width:none;min-height:0;border-radius:0;overflow:hidden;background:var(--white)}.path-detail-poster,.path-modal-dialog.is-detail .path-poster.path-detail-poster{width:auto;height:100%;max-width:none;max-height:none;min-height:0;object-fit:unset;object-position:center top}.path-detail-copy{grid-area:auto;align-self:stretch;z-index:1;flex:none;width:16rem;max-width:16rem;height:auto;max-height:none;padding:calc(var(--button-min-height) + var(--space-4)) var(--space-5) var(--space-5);gap:var(--space-5);justify-content:center;border-radius:0;overflow:hidden}.path-detail-copy-main{flex:0 0 auto;margin-block:0;padding-top:0;gap:var(--space-2);max-width:none}}@media(max-width:679px){.path-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.path-modal-dialog.is-detail{width:100%;max-width:none;height:auto;max-height:92dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-self:end;justify-self:stretch;margin:0;min-height:0;overflow:hidden;padding:var(--space-2) var(--space-4) max(var(--space-5),env(safe-area-inset-bottom,0px));border-radius:var(--space-4) var(--space-4) 0 0;background:var(--page-canvas)}.path-modal-dialog.is-detail .path-detail-close{position:static;align-self:flex-end;flex:0 0 auto;margin:0 calc(-1 * var(--space-2)) var(--space-2) 0}.path-detail-stage{display:flex;flex-direction:column;width:100%;height:auto;max-height:100%;min-height:0;flex:1 1 auto}.path-detail-layout{display:flex;flex-direction:column;align-items:center;width:100%;min-height:0;height:auto;max-height:100%;flex:1 1 auto;gap:var(--space-5);overflow:hidden;border-radius:0;background:transparent}.path-detail-poster-panel{grid-area:auto;flex:0 1 auto;width:auto;max-width:100%;height:auto;max-height:min(28rem,52dvh);aspect-ratio:3 / 4;min-height:0;align-self:center;border-radius:var(--path-gallery-radius);overflow:hidden;background:var(--white);box-shadow:var(--week-panel-shadow)}.path-detail-poster,.path-modal-dialog.is-detail .path-poster.path-detail-poster{width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;object-fit:cover;object-position:center top}.path-detail-copy{grid-area:auto;align-self:stretch;z-index:1;flex:0 0 auto;width:100%;height:auto;max-height:none;padding:0;gap:var(--space-5);justify-content:flex-start;border-radius:0;overflow:hidden;background:transparent}.path-detail-copy-main{flex:0 0 auto;margin-block:0;padding-top:0;gap:var(--space-3);max-width:none}.path-detail-mark{width:56px;height:56px;margin-bottom:0}.path-detail-mark svg,.path-detail-whisk{width:32px;height:32px}.path-detail-nav{padding-top:0}}@media(max-width:440px){.path-modal-dialog{width:100%;max-height:92dvh;border-radius:var(--space-4) var(--space-4) 0 0;margin:0;align-self:end;justify-self:stretch}}@media(prefers-reduced-motion:reduce){.path-modal-dialog,.path-detail-layout{animation:none}}.profile-theme-field{display:grid;gap:var(--form-label-gap)}.profile-theme-field .profile-field-hint{margin:var(--space-1) 0 0}.profile-theme-segmented{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0}.profile-theme-segmented button{min-height:44px;min-width:0;font-weight:500}.profile-theme-label-360,.profile-theme-hint-360{display:none}@media(max-width:360px){.profile-theme-label-wide,.profile-theme-hint-wide{display:none}.profile-theme-label-360,.profile-theme-hint-360{display:inline}}.profile-card-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--paper-card-pad);align-items:start}.profile-card-main{display:grid;min-width:0}.profile-field-list{display:grid;gap:0}.profile-field-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-4) 0;border-top:1px solid var(--library-row-rule)}.profile-field-row:first-child{border-top:0;padding-top:0}.profile-field-row:last-child{padding-bottom:0}.profile-field-copy{display:grid;gap:4px;min-width:0}.profile-field-label{color:var(--graphite);font-size:var(--type-ui);font-weight:500;line-height:1.35}.profile-field-value-line{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-3);min-width:0}.profile-field-value-line .profile-field-value{flex:1 1 auto;min-width:0}.profile-field-value-line .profile-icon-button{flex:0 0 auto;align-self:center}.profile-field-value{color:var(--graphite);font-size:var(--type-comfort);font-weight:500;line-height:1.4;overflow-wrap:anywhere}.profile-field-hint{color:var(--color-text-secondary);font-size:var(--type-ui);font-weight:400;line-height:1.4}.profile-field-row.is-editing{grid-template-columns:minmax(0,1fr)}.profile-name-edit{display:grid;gap:var(--form-label-gap);width:100%;min-width:0}.profile-name-input{width:100%;box-sizing:border-box;min-height:var(--button-min-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:10px 12px;background:var(--white);color:var(--graphite);font:inherit;font-size:var(--field-font-size);font-weight:500;line-height:1.25;transition:border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out)}.profile-name-input:hover:not(:disabled){border-color:var(--color-border-hover)}.profile-name-input:focus,.profile-name-input:focus-visible{outline:none;border-color:var(--deep-green);box-shadow:none}.profile-name-input[aria-invalid=true]{border-color:var(--color-border-destructive);background:var(--color-bg-field);box-shadow:none}.profile-name-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-3);margin-top:calc(var(--form-stack-gap) - var(--form-label-gap))}.profile-name-actions .disabled-action-wrap,.profile-name-actions .primary-button{order:2}.profile-name-actions .tertiary-button{order:1}.profile-icon-button{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border:0;border-radius:var(--button-radius, 8px);background:transparent;color:var(--deep-green);transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.profile-icon-button--edit{cursor:pointer}.profile-icon-button--edit:hover{background:var(--fog);color:var(--deep-green)}.profile-icon-button--edit:active{background:var(--mint);color:var(--deep-green)}.profile-icon-button--edit:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.profile-icon-button--locked{color:var(--color-text-secondary);pointer-events:none}.user-avatar,.profile-avatar,.profile-nav-initial,.profile-nav-avatar{display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--color-accent-pink);color:var(--color-text-primary);font-family:var(--font-display);font-weight:600;object-fit:cover}.profile-nav-initial,.profile-nav-avatar{width:32px;height:32px;font-size:var(--type-micro)!important}.profile-nav-avatar{background:var(--fog)}.profile-avatar{width:var(--profile-avatar-size);height:var(--profile-avatar-size);flex:0 0 var(--profile-avatar-size);font-size:1.75rem}.profile-avatar--lg{width:var(--profile-avatar-size);height:var(--profile-avatar-size);flex-basis:var(--profile-avatar-size)}.profile-avatar-column{display:grid;gap:var(--space-2);justify-items:center;align-content:start}.profile-avatar-button{position:relative;display:grid;place-items:center;flex-shrink:0;margin:0;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;line-height:0;overflow:hidden}.profile-avatar-overlay{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:#1a1a1a6b;color:var(--white);pointer-events:none}.profile-avatar-button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.profile-avatar-button:disabled{opacity:.65;cursor:not-allowed}.profile-avatar-remove{min-height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--color-text-destructive);font:inherit;font-size:var(--type-ui);font-weight:500;line-height:1.4;cursor:pointer}.profile-avatar-remove:hover{color:var(--color-text-destructive-hover)}.profile-avatar-remove:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.profile-avatar-remove:disabled{opacity:.65;cursor:not-allowed}.profile-avatar-column .field-error{max-width:7.5rem;text-align:center}.profile-avatar--xl{width:96px;height:96px;flex-basis:96px;font-size:2rem}.profile-avatar--empty{color:var(--graphite);background:var(--mint)}img.profile-avatar{display:block;padding:0;border:0}.profile-actions{display:grid;gap:var(--paper-stack-gap);margin-top:var(--profile-block-gap);width:100%;max-width:none}.profile-actions .auth-error{margin:0}.profile-actions .disabled-action-wrap{display:block;width:100%}.profile-action-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:start;width:100%;padding:var(--paper-action-pad);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);text-align:left;cursor:pointer;font:inherit;color:inherit;box-shadow:var(--library-panel-shadow);transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.profile-action-card:hover:not(:disabled){border-color:var(--color-border-default);background:color-mix(in srgb,var(--deep-green) 8%,var(--white))}.profile-action-card:hover:not(:disabled) .profile-action-icon--mint{color:var(--deep-green)}.profile-action-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.profile-action-card:disabled{cursor:not-allowed;opacity:1}.profile-action-card:disabled .profile-action-icon--mint{color:var(--muted)}.profile-action-card:disabled .profile-action-title{color:var(--graphite)}.profile-action-icon{width:24px;height:1.35rem;display:grid;place-items:center;flex-shrink:0;background:transparent;transition:color var(--motion-fast) var(--ease-out)}.profile-action-icon--mint{color:var(--deep-green)}.profile-action-icon--blush{color:var(--color-action-destructive)}.profile-action-copy{display:grid;gap:2px;min-width:0}.profile-action-title{color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-body);font-weight:500;line-height:1.35}.profile-action-subtitle{color:var(--color-text-secondary);font-size:var(--type-eyebrow);line-height:1.4}.profile-legal-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%;max-width:none;margin-top:var(--profile-block-gap)}.profile-documents{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);width:100%;max-width:none;margin:0;padding:0;border-top:0;color:var(--deep-green);font-size:var(--type-ui);font-weight:500}.profile-delete-account{min-height:44px}.profile-documents a,.profile-document-link{min-height:var(--control-min-size);display:inline-flex;align-items:center;border:0;margin:0;padding:0;background:transparent;color:var(--deep-green);font:inherit;font-size:var(--type-ui);font-weight:500;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer;-webkit-appearance:none;appearance:none}.profile-documents a:hover,.profile-document-link:hover:not(:disabled){color:var(--sage-dark);text-decoration-thickness:2px}.profile-documents a:focus-visible,.profile-document-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px;background:var(--mint);text-decoration:none;border-radius:var(--radius-sm)}.profile-document-link:disabled{color:var(--muted);cursor:not-allowed;text-decoration:underline;text-underline-offset:3px}.legal-document-dialog{width:min(100%,40rem);max-height:min(92vh,44rem);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:var(--space-5);border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--modal-panel-shadow)}.legal-document-header{margin-bottom:var(--space-4)}.legal-document-scroll{overflow:auto;overscroll-behavior:contain;padding-right:var(--space-1)}.legal-document-scroll .legal-draft{margin-bottom:var(--space-4)}.legal-document-scroll .legal-updated{margin:0 0 var(--space-4)}@media(max-width:720px){.legal-document-dialog{width:100%;max-height:100%;min-height:100%;border-radius:0;padding:var(--space-4)}}@media(max-width:679px){.profile-card-layout{grid-template-columns:1fr;justify-items:stretch}.profile-card-main{width:100%}.profile-avatar,.profile-avatar--lg{width:72px;height:72px;flex-basis:72px;font-size:var(--type-title)}}.delete-account-dialog{width:min(470px,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--modal-panel-shadow);padding:var(--space-6);text-align:center}.delete-account-dialog form{text-align:left}.delete-account-dialog form>label{display:grid;gap:var(--form-label-gap);color:var(--graphite);font-size:var(--type-ui);font-weight:500}.confirm-dialog.support-dialog{width:min(470px,100%)}.confirm-dialog.support-dialog form{display:grid;gap:var(--form-stack-gap);text-align:left}.confirm-dialog.support-dialog textarea{min-height:8rem;resize:vertical;line-height:1.45}.confirm-dialog.support-dialog .auth-error{margin:0}@media(max-width:900px){.planner-layout{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{align-items:center}}@media(max-width:767px){.meal-priority-groups{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5);row-gap:var(--space-5);width:100%;max-width:none}}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.app-shell{width:100%;max-width:none;display:flex;flex-direction:column;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.app-header{min-height:100px;width:100%;flex:0 0 auto}.app-shell>main{width:100%;min-width:0;flex:1 1 auto}.app-logo__horizontal{display:inline-flex;flex-wrap:nowrap;width:auto}.brand .app-logo__name{display:inline-flex}.app-logo__stacked,.app-logo__stacked .app-logo__mark{display:none}.brand .app-logo__wordmark{height:auto;max-height:var(--logo-name-size);max-width:100%}.brand .app-logo__cluster{gap:var(--space-1)}.brand .app-logo__type{display:block;color:var(--graphite)}.main-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;justify-content:space-around;background:var(--white);border-top:1px solid #E5E8E6;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:8px 6px max(8px,env(safe-area-inset-bottom))}.main-nav a{min-height:64px;height:72px;flex-direction:column;gap:6px;padding:8px 14px;border-radius:12px;font-size:var(--type-micro)}.main-nav a>i{position:absolute;top:0;right:.35rem}.main-nav .profile-nav{margin-left:0;border-left:0;border-radius:12px}.profile-nav-name,.profile-nav-tab-icon{display:none}.profile-nav-tab-label{display:block;max-width:100%}.main-nav .profile-nav .profile-nav-avatar,.main-nav .profile-nav .profile-nav-initial{width:22px;height:22px;font-size:.625rem!important}main{padding-top:1.3rem}.week-toolbar,.page-heading{align-items:flex-start;flex-direction:column}.week-toolbar-titlebar{flex-direction:column;align-items:stretch;gap:var(--space-3)}.week-toolbar .toolbar-actions{transform:none;align-self:flex-end;width:fit-content;max-width:100%;justify-content:flex-end}.toolbar-actions{width:100%}.week-toolbar .toolbar-actions{width:fit-content}.day-strip{gap:.35rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.day-strip::-webkit-scrollbar{display:none}.month-calendar{padding:.55rem;border-radius:17px}.month-weekdays,.month-grid{gap:.2rem}.month-weekdays{margin-bottom:.2rem}.month-weekdays span{padding:.25rem 0;font-size:var(--type-micro)}.month-day{min-height:57px;gap:.3rem;border-radius:11px}.month-day-number{font-size:var(--type-ui)}.month-day.is-today .month-day-number{width:25px;height:25px}.month-status-dot,.month-legend i{width:8px;height:8px}.month-legend{justify-content:flex-start;gap:.65rem;margin:.7rem .2rem .2rem;font-size:var(--type-micro)}.panel-heading{align-items:flex-start;flex-direction:column}.day-summary{justify-content:flex-start}.day-heading-actions{width:100%;justify-content:space-between}.calendar-empty-state{grid-template-columns:36px minmax(0,1fr)}.calendar-empty-state .tertiary-button{grid-column:1 / -1;width:100%}.meal-menu-popover{position:fixed;top:auto;right:10px;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:10px;width:auto}.library-toolbar{margin-right:-10px;padding-right:10px}.view-switch{display:none}.sync-error{align-items:stretch;flex-direction:column}.sync-error .tertiary-button{width:100%}.meal-setting-toolbar{grid-template-columns:minmax(0,1fr) var(--control-min-size)}.meal-icon-button{width:44px;height:44px}.meal-priority-groups{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5);row-gap:var(--space-5);width:100%;max-width:none}.meal-priority-groups.is-single{grid-template-columns:minmax(0,1fr);max-width:none}.meal-priority-groups.is-single .meal-priority-options{column-gap:var(--space-4);row-gap:var(--space-2)}.meal-priority-groups.is-single .meal-priority-group-hint{margin-bottom:var(--space-4)}.meal-priority-group{width:100%}.meal-priority-group+.meal-priority-group{margin-top:0}.meal-priority-group-title{margin-bottom:var(--space-2)}.meal-priority-options{gap:var(--space-2)}.meal-priority-options label{width:100%;min-width:0;min-height:var(--control-min-size);padding:var(--space-1) 0;gap:var(--space-2);align-items:center}.meal-priority-options label>span:not(.meal-priority-option-icon):not(.ui-check){overflow-wrap:break-word;word-break:normal}.meal-setting-details{padding:var(--space-5) 0 0}.meal-setting-details .meal-name-field--editor{margin-bottom:var(--space-5)}.meal-priority-fields legend.meal-priority-title{margin-bottom:var(--space-4)}.add-meal-section{max-width:none}.food-card{min-height:105px}.field-row.two-columns,.food-editor-form .field-row.two-columns,.food-editor-form{grid-template-columns:1fr}.food-editor-form .field-block,.food-editor-form .full-field,.food-editor-form .editor-actions{grid-column:1}.pairing-editor-options{grid-template-columns:1fr}.dish-picker section>div,.repeat-fields{grid-template-columns:1fr}.repeat-fields>small{grid-column:1}.conflict-actions{grid-template-columns:1fr}.undo-toast,.achievement-toast{top:max(var(--space-3),calc(env(safe-area-inset-top,0px) + var(--space-3)));bottom:auto}.library-scroll-top{display:none}.auth-shell{align-items:start;padding:12px}.auth-card{margin-top:12px;border-radius:20px}.profile-card{padding:var(--space-4)}.profile-card-layout{gap:var(--space-4)}.profile-avatar,.profile-avatar--lg{width:72px;height:72px;flex-basis:72px;font-size:var(--type-title)}.profile-action-card{padding:var(--space-4)}.profile-legal-block{margin-top:var(--space-4)}.profile-achievements-top{align-items:center}}@media(max-width:439px){.profile-achievements-all{font-size:var(--type-ui)}}@media(max-width:360px){.profile-achievements-top{align-items:start}.tertiary-button.profile-achievements-all{margin-top:0;align-items:flex-start;padding-block:0;padding-inline:var(--space-2)}}@media(max-width:380px){.main-nav a{padding-inline:.35rem;font-size:var(--type-micro)}.profile-nav>small{max-width:52px}.status-actions{display:grid}.meal-setting-row{padding:18px 20px}.meal-setting-row.is-expanded{padding-bottom:18px}.meal-setting-row:not(.is-expanded){min-height:88px}.meal-setting-toolbar{gap:2px}}html{background:var(--color-bg-page)}body{color:var(--color-text-primary);font-size:16px;line-height:1.5}button,input,textarea{letter-spacing:normal}button{transition:color var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),transform var(--motion-fast) var(--ease-out)}button:active:not(:disabled){transform:translateY(1px)}::selection{background:var(--sage-light);color:var(--graphite)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}button:active:not(:disabled){transform:none}}.app-shell{width:100%;max-width:none;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);margin:0;background:var(--color-bg-page)}.app-header{position:fixed;top:0;left:0;z-index:12;grid-column:1;grid-row:1;width:var(--sidebar-width);min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--space-7);border-right:1px solid var(--color-border-default);border-bottom:0;background:var(--color-bg-surface);padding:var(--space-6) var(--space-4) 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.brand{gap:0;padding:0;width:100%}.brand .app-logo{width:100%;max-width:100%}.brand .app-logo__wordmark{width:auto;max-width:100%;height:auto;max-height:var(--logo-name-size);object-fit:contain;object-position:left bottom}.brand .app-logo__horizontal,.brand .app-logo__stacked{max-width:100%}.main-nav{min-height:0;flex:1;flex-direction:column;align-items:stretch;gap:var(--space-1)}.main-nav a{position:relative;width:100%;min-height:44px;justify-content:flex-start;gap:var(--space-3);border-radius:0;padding:10px var(--space-3);color:var(--graphite);font-size:var(--type-comfort);font-weight:500;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.main-nav a:hover{background:var(--fog);color:var(--graphite)}.main-nav a.is-active{background:var(--nav-active-bg);color:var(--graphite);font-weight:600;box-shadow:inset 2px 0 0 var(--deep-green)}.main-nav a.is-active:hover{background:var(--nav-active-bg);color:var(--graphite)}.main-nav a.is-active .nav-icon,.main-nav a.is-active .ui-icon.nav-icon{color:var(--deep-green)}.main-nav .nav-icon,.main-nav .ui-icon.nav-icon{width:24px;height:24px;flex:0 0 24px;color:inherit}.main-nav .profile-nav{margin:auto 0 0;border-top:1px solid var(--line);border-left:0;border-radius:0;padding-block:var(--space-4)}.main-nav .profile-nav.is-active{background:var(--nav-active-bg);color:var(--graphite);box-shadow:inset 2px 0 0 var(--deep-green)}.profile-nav>small{max-width:130px;color:inherit;font-size:var(--type-comfort);font-weight:600}@media(min-width:901px){html:not([data-theme=dark]) .app-header{background:var(--sidebar-bg);border-right-color:var(--sidebar-border);color:var(--sidebar-text)}html:not([data-theme=dark]) .brand .app-logo__mark--light{display:none}html:not([data-theme=dark]) .brand .app-logo__mark--dark{display:none}html:not([data-theme=dark]) .brand .app-logo__wordmark--ink{display:none}html:not([data-theme=dark]) .brand .app-logo__wordmark--white{display:block}html:not([data-theme=dark]) .main-nav a{border-radius:var(--radius-md);color:var(--sidebar-text-muted)}html:not([data-theme=dark]) .main-nav a:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text)}html:not([data-theme=dark]) .main-nav a.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-text);font-weight:600;box-shadow:none}html:not([data-theme=dark]) .main-nav a.is-active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-text)}html:not([data-theme=dark]) .main-nav a.is-active .nav-icon,html:not([data-theme=dark]) .main-nav a.is-active .ui-icon.nav-icon{color:var(--sidebar-text)}html:not([data-theme=dark]) .main-nav .nav-icon,html:not([data-theme=dark]) .main-nav .ui-icon.nav-icon{color:inherit}html:not([data-theme=dark]) .main-nav .profile-nav{border-top-color:var(--sidebar-border)}html:not([data-theme=dark]) .main-nav .profile-nav.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-text);box-shadow:none}}@media(prefers-reduced-motion:reduce){.main-nav a{transition:none}}.app-shell>main{grid-column:2;grid-row:1;position:relative;width:100%;max-width:none;margin:0;min-width:0;padding:var(--space-7) var(--main-padding-inline) var(--space-9);background-color:var(--page-canvas);background-image:none}.section-page{width:100%;max-width:var(--page-content-max);margin-inline:auto}@media(min-width:1101px){.brand .app-logo__mark,[data-theme=dark] .brand .app-logo__mark--dark{display:none}.app-header{gap:var(--space-5)}.brand{flex-direction:column;align-items:flex-start;justify-content:center;padding-inline-start:var(--space-3)}.brand .app-logo__horizontal{justify-content:flex-start;align-items:flex-end;width:100%}.brand .app-logo__wordmark{height:auto;max-height:var(--logo-name-size);max-width:100%}.brand .app-logo__cluster{gap:var(--space-1)}.brand .app-logo__type{display:block;color:var(--sidebar-text-muted)}:root{--main-padding-inline: var(--space-8)}.app-shell>main{padding:var(--space-9) var(--main-padding-inline) var(--space-9)}.section-page{position:relative;z-index:1;min-height:calc(100dvh - var(--space-9) - var(--space-9))}.week-page .week-meal-cell,.week-page .week-meal-content,.week-page .week-table tbody .week-meal-label-shell{min-height:clamp(var(--week-row-min),calc((100dvh - var(--week-fill-chrome)) / var(--week-meal-rows, 4)),var(--week-row-max))}.week-page .week-meal-content strong{-webkit-line-clamp:4;line-clamp:4}}@media(min-width:1101px)and (max-width:1399px){:root{--main-padding-inline: var(--space-6);--week-meal-scale: 120px;--library-tile-columns: 3}}@media(min-width:1920px){:root{--page-content-max: 1600px;--page-title-size: 2.5rem;--page-title-line-height: 48px;--sidebar-width: 300px;--main-padding-inline: 72px;--week-meal-scale: 160px;--week-row-min: 120px;--week-row-max: 148px;--week-fill-chrome: 420px;--toolbar-cluster-gap: var(--space-2);--type-ui: var(--type-body);--type-comfort: var(--type-body);--button-min-height: 52px;--button-padding-x: 1.25rem;--library-scroll-top-size: 48px;--library-scroll-top-gap: var(--space-5);--library-sort-width: 12rem;--paper-pad-block: var(--space-4);--paper-pad-inline: var(--space-5);--paper-card-pad: var(--space-6);--paper-action-pad: var(--space-5);--paper-stack-gap: var(--space-4);--profile-column-max: 56rem;--profile-block-gap: var(--space-5);--profile-avatar-size: 104px;--meal-priority-max: 760px;--meal-name-field-max: 32rem}.app-shell>main{padding:96px var(--main-padding-inline) 80px}.app-header{padding:var(--space-7) var(--space-5) 0;gap:var(--space-6)}.brand{padding-inline-start:var(--space-4)}.brand .app-logo{max-width:240px}.brand .app-logo__mark{display:none}.brand .app-logo__wordmark{height:auto;max-height:var(--logo-name-size);max-width:100%}.main-nav{gap:var(--space-2)}.main-nav a{min-height:52px;gap:16px;padding:14px var(--space-4);font-size:var(--type-subtitle)}.main-nav .nav-icon,.main-nav .ui-icon.nav-icon{width:28px;height:28px;flex:0 0 28px}.main-nav .profile-nav{margin-top:auto;padding-block:var(--space-4);padding-inline:var(--space-4)}.profile-nav-initial,.profile-nav-avatar{width:40px;height:40px;font-size:var(--type-ui)!important}.profile-nav>small,.profile-nav-name{max-width:168px;font-size:var(--type-subtitle)}.week-toolbar .toolbar-icon-button,.week-toolbar .calendar-button.icon-only,.week-toolbar .week-menu-trigger{width:52px;height:52px;min-height:52px}.week-toolbar .toolbar-nav-group .toolbar-icon-button{width:36px;min-width:36px}.week-toolbar .calendar-button.icon-only .ui-icon,.week-toolbar .calendar-button.icon-only svg{width:28px;height:28px}.week-toolbar .toolbar-icon-button .ui-icon,.week-toolbar .toolbar-icon-button svg{width:22px;height:22px}.week-toolbar .week-menu-trigger{font-size:1.375rem;letter-spacing:.04em}.week-toolbar .toolbar-nav-group .tertiary-button{min-height:52px;padding-inline:var(--space-2);font-size:var(--type-ui)}.library-page .page-heading{margin-bottom:var(--page-title-content-gap)}.library-toolbar{margin-top:0;margin-bottom:var(--page-title-content-gap);column-gap:var(--space-4)}.library-toolbar .search-field input:not([type=checkbox]):not([type=radio]),.library-toolbar-primary .custom-select-trigger,.library-toolbar>.tertiary-button,.library-toolbar-secondary>.tertiary-button{height:var(--button-min-height);min-height:var(--button-min-height)}.library-toolbar .search-field input:not([type=checkbox]):not([type=radio]),.library-toolbar-primary .custom-select-trigger{font-size:var(--field-font-size)}.library-toolbar>.tertiary-button,.library-toolbar-secondary>.tertiary-button{font-size:var(--button-font-size)}.library-toolbar .search-field input:not([type=checkbox]):not([type=radio]){padding-left:2.75rem}.library-toolbar .search-field .ui-icon,.library-toolbar .search-field svg{width:22px;height:22px}.library-favorite-chip-icon .ui-icon,.library-sort-icon .ui-icon{width:22px;height:22px}.library-table th,.library-table td{padding-block:var(--space-5);padding-inline:var(--space-4)}.library-table thead th{padding-top:var(--space-5);padding-bottom:0}.library-table tbody th,.library-table tbody td{padding-top:var(--space-5);padding-bottom:var(--space-4)}.library-table tbody td:nth-child(4){padding-left:calc(var(--space-4) + 10px)}.library-table th:first-child,.library-table td:first-child{padding-left:var(--library-table-edge)}.library-col-favorite,.library-table th:last-child,.library-table td:last-child{width:88px;max-width:88px;padding-left:8px;padding-right:var(--library-table-edge)}}.eyebrow{margin-bottom:var(--space-2);color:var(--color-text-secondary);letter-spacing:.08em;font-size:var(--type-micro);line-height:1.45;font-weight:650;text-transform:uppercase}.eyebrow--with-dot{display:inline-flex;align-items:center;gap:var(--space-1)}.eyebrow--with-dot .brand-dot{width:6px;height:6px;box-shadow:none;margin-inline-start:-.08em}.week-toolbar h1,.page-heading h1{margin:0;margin-inline-start:-.05em;font-family:var(--font-display);font-size:var(--page-title-size);line-height:var(--page-title-line-height);font-weight:var(--page-title-weight);letter-spacing:-.02em;color:var(--graphite)}.week-toolbar .eyebrow,.page-heading .eyebrow{margin-bottom:var(--page-eyebrow-title-gap);font-size:var(--page-eyebrow-size);line-height:var(--page-eyebrow-line-height);letter-spacing:.08em;font-weight:500;color:var(--color-text-placeholder)}.week-toolbar,.page-heading{gap:var(--page-title-chrome-gap);margin-bottom:var(--page-title-content-gap)}.week-toolbar{gap:0}.week-toolbar-titlebar{gap:var(--page-title-chrome-gap)}.week-toolbar .hint-card--tip{margin:var(--space-3) 0 0;max-width:28rem}.week-table-stack{position:relative}.week-table-stack>.week-replace-tip.hint-card--tip{position:absolute;z-index:5;top:var(--space-3);left:50%;transform:translate(-50%);width:min(22rem,calc(100% - 2 * var(--space-5)));max-width:none;margin:0;pointer-events:auto}.page-heading p:last-child{margin-top:6px;color:var(--muted);font-size:var(--type-ui);line-height:1.5}.toolbar-actions{gap:var(--space-2)}.icon-button,.secondary-button,.tertiary-button,.primary-button,.danger-button,.calendar-button,.meal-delete-text-button{min-height:var(--button-min-height);border-radius:var(--button-radius);padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--button-font-size);line-height:var(--button-line-height);font-weight:var(--button-font-weight)}.icon-button{width:var(--button-min-height);padding:0;border:1px solid var(--color-border-strong);background:var(--color-bg-surface);color:var(--color-text-primary)}.icon-button:hover{border-color:transparent;background:var(--fog);color:var(--deep-green)}.primary-button{border:1px solid var(--color-action-primary);background:var(--color-action-primary);color:var(--color-text-on-primary)}.primary-button:hover{border-color:var(--color-action-primary-hover);background:var(--color-action-primary-hover)}.secondary-button{border:1px solid transparent;background:var(--mint);color:var(--deep-green);transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.secondary-button:hover,.secondary-button:active{border-color:transparent;background:var(--chip-selected-bg);color:var(--sage-dark)}.tertiary-button{border:1px solid transparent;background:transparent;color:var(--graphite);transition:color var(--motion-fast) var(--ease-out)}.tertiary-button:hover,.tertiary-button:active{border-color:transparent;background:transparent;color:var(--deep-green)}.danger-button{border:1px solid var(--color-border-destructive);background:var(--color-bg-destructive);color:var(--color-action-destructive)}.danger-button:hover{border-color:var(--color-action-destructive);background:var(--color-bg-destructive-hover)}.confirm-actions .danger-button,.confirm-dialog .confirm-actions .danger-button,.delete-account-dialog .danger-button{border-color:var(--color-action-destructive);background:var(--color-action-destructive);color:var(--color-text-on-primary)}.confirm-actions .danger-button:hover,.confirm-dialog .confirm-actions .danger-button:hover,.delete-account-dialog .danger-button:hover{border-color:var(--color-action-destructive-hover);background:var(--color-action-destructive-hover);color:var(--color-text-on-primary)}.calendar-button{gap:8px;border:1px solid var(--line-strong);background:var(--white);color:var(--deep-green)}.calendar-button:hover:not(.icon-only),.calendar-button.is-active:not(.icon-only){border-color:var(--deep-green);background:var(--mint);color:var(--deep-green)}.calendar-button.icon-only{border-color:transparent;background:transparent;border-radius:var(--button-radius)}.calendar-button.icon-only:hover{border-color:transparent;background:var(--fog);color:var(--deep-green)}.calendar-button.icon-only.is-active,.calendar-button.icon-only.is-active:hover{border-color:transparent;background:var(--mint);color:var(--deep-green)}.meal-delete-text-button{justify-content:flex-start}.secondary-button:disabled,.tertiary-button:disabled,.icon-button:disabled,.danger-button:disabled{opacity:.42;cursor:not-allowed}.primary-button:disabled{cursor:not-allowed;opacity:1;box-shadow:none;color:var(--color-action-primary-disabled-text);background:var(--color-action-primary-disabled-bg);border-color:var(--color-action-primary-disabled-border)}.primary-button:disabled:hover{box-shadow:none;color:var(--color-action-primary-disabled-text);background:var(--color-action-primary-disabled-bg);border-color:var(--color-action-primary-disabled-border)}.week-toolbar .toolbar-actions{gap:var(--toolbar-cluster-gap);align-items:center;flex-shrink:0;justify-content:flex-end;width:fit-content;max-width:100%;transform:none}.meal-settings-page .page-heading>.primary-button{transform:translateY(var(--page-title-chrome-settle))}.library-page .page-heading>.primary-button{transform:none}.week-toolbar .toolbar-nav-group{display:inline-flex;align-items:center;gap:0}.week-toolbar .toolbar-nav-group .toolbar-icon-button{width:32px;min-width:32px}.week-toolbar .toolbar-nav-group .tertiary-button{padding-inline:var(--space-2);border:1px solid transparent;background:transparent;color:var(--graphite);box-shadow:none;transition:color var(--motion-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.week-toolbar .toolbar-nav-group .tertiary-button:hover{border-color:transparent;background:transparent;color:var(--deep-green)}}.week-toolbar .toolbar-nav-group .tertiary-button:active{border-color:transparent;background:transparent;color:var(--deep-green)}.week-toolbar .toolbar-nav-group .tertiary-button.is-current,.week-toolbar .toolbar-nav-group .tertiary-button.is-current:hover,.week-toolbar .toolbar-nav-group .tertiary-button.is-current:active{border-color:transparent;background:transparent;color:var(--deep-green);cursor:default}.week-toolbar .toolbar-icon-button,.week-toolbar .calendar-button.icon-only,.week-toolbar .week-menu-trigger{width:var(--button-min-height);height:var(--button-min-height);min-height:var(--button-min-height);display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--button-radius);background:transparent;color:var(--graphite);box-shadow:none;line-height:0;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.week-toolbar .toolbar-icon-button .ui-icon,.week-toolbar .toolbar-icon-button svg,.week-toolbar .calendar-button.icon-only .ui-icon,.week-toolbar .calendar-button.icon-only svg{display:block}.week-toolbar .week-menu-trigger{font-size:var(--type-title);font-weight:800;letter-spacing:.06em;line-height:1}@media(hover:hover)and (pointer:fine){.week-toolbar .toolbar-icon-button:hover,.week-toolbar .calendar-button.icon-only:hover,.week-toolbar .week-menu-trigger:hover{border-color:transparent;background:var(--fog);color:var(--deep-green)}}.week-toolbar .toolbar-icon-button:active,.week-toolbar .calendar-button.icon-only:active,.week-toolbar .week-menu-trigger:active{border-color:transparent;background:var(--mint);color:var(--deep-green)}.week-toolbar .toolbar-icon-button[data-just-pressed],.week-toolbar .toolbar-icon-button[data-just-pressed]:hover,.week-toolbar .calendar-button.icon-only[data-just-pressed],.week-toolbar .calendar-button.icon-only[data-just-pressed]:hover,.week-toolbar .week-menu-trigger[data-just-pressed],.week-toolbar .week-menu-trigger[data-just-pressed]:hover{border-color:transparent;background:transparent;color:var(--graphite)}.week-toolbar .toolbar-nav-group .tertiary-button[data-just-pressed]:not(.is-current),.week-toolbar .toolbar-nav-group .tertiary-button[data-just-pressed]:not(.is-current):hover{border-color:transparent;background:transparent;color:var(--graphite)}.week-toolbar .calendar-button.icon-only.is-active,.week-toolbar .week-menu-trigger[aria-expanded=true]{border-color:transparent;background:var(--mint);color:var(--deep-green)}@media(prefers-reduced-motion:reduce){.week-toolbar .toolbar-icon-button,.week-toolbar .calendar-button.icon-only,.week-toolbar .week-menu-trigger{transition:none}}.panel{border-color:var(--line);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow)}.week-table-panel{border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);background:var(--week-panel-surface);box-shadow:var(--week-panel-shadow);overflow:hidden}.week-module{display:flex;flex-direction:column;min-width:0;background:var(--week-panel-surface);border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);box-shadow:var(--week-panel-shadow);overflow:hidden}.week-module .week-toolbar{margin-bottom:0;padding:var(--space-5) var(--space-5) var(--space-5)}.week-module .week-toolbar .hint-card--tip{margin-top:var(--space-3)}.week-module .week-table-panel,.week-module .week-table-empty{border:0;border-radius:0;box-shadow:none;border-top:1px solid var(--week-grid-hline)}.week-module .desktop-week-view{min-width:0}.week-module .mobile-day-view{min-width:0;padding:0 var(--space-5) var(--space-5)}.week-module .day-strip-viewport{margin-bottom:var(--space-4)}.week-module .day-strip-viewport .day-strip{margin-bottom:0}.week-module .day-panel.panel{border:0;border-radius:0;box-shadow:none;border-top:1px solid var(--week-grid-hline);background:transparent;padding:var(--space-4) 0 0}.library-module,.settings-module,.profile-module,.dish-module{display:flex;flex-direction:column;min-width:0;background:var(--week-panel-surface);border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);box-shadow:var(--week-panel-shadow)}.library-module{box-shadow:var(--library-panel-shadow)}.library-module .page-heading{position:sticky;top:0;z-index:5;margin-bottom:0;padding:var(--space-5) var(--space-5) var(--page-title-content-gap);background-color:var(--week-panel-surface);isolation:isolate;border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0}.library-module .library-toolbar{position:relative;z-index:3;margin:0;padding:0 var(--space-5) var(--page-title-content-gap);background-color:var(--week-panel-surface)}.library-module .library-toolbar .search-field input:not([type=checkbox]):not([type=radio]){background-color:var(--color-bg-field)}.library-module .library-options{margin:0 var(--space-5) var(--page-title-content-gap)}.library-module .library-table-wrap,.library-module .week-table-empty,.library-module .panel.week-table-empty{border:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:none;background:transparent}.library-module .library-table thead th{padding-top:var(--space-3)}.library-module .library-results{min-width:0}.settings-module .page-heading{margin-bottom:0;padding:var(--space-5) var(--space-5) 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.settings-module .add-meal-section{margin:var(--space-5) var(--space-5) 0;box-shadow:none}.settings-module .meal-settings-list{margin:var(--space-5) 0 0;padding:0 var(--space-5) var(--space-5)}.settings-module .meal-setting-row,.settings-module .meal-setting-row.is-expanded{box-shadow:none}.settings-module .week-table-empty,.settings-module .panel.week-table-empty{margin:var(--space-5) 0 0;border:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:none;background:transparent}.profile-module{width:100%;max-width:var(--profile-column-max);padding:var(--space-5)}.profile-module>.profile-heading,.profile-module>.profile-card,.profile-module>.profile-appearance-card,.profile-module>.profile-achievements-card,.profile-module>.profile-actions,.profile-module>.profile-legal-block{max-width:none}.profile-module .profile-heading{margin-bottom:var(--page-title-content-gap)}.profile-module .profile-card,.profile-module .profile-appearance-card,.profile-module .profile-achievements-card,.profile-module .profile-action-card{box-shadow:none}.day-strip{gap:8px;margin-bottom:var(--space-5)}.day-button{min-height:80px;gap:4px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);box-shadow:none}.day-button:hover{border-color:var(--color-border-hover);background:var(--fog)}.day-button span{color:var(--muted);font-size:var(--type-micro);font-weight:400}.day-button strong{font-size:var(--type-subtitle);font-weight:500;color:var(--graphite)}.day-button .day-progress{width:28px;height:2px;border-radius:99px;overflow:hidden;background:#e2e6e3}.day-button .day-progress b{display:block;height:100%;border-radius:inherit;background:var(--deep-green)}.day-button.is-active{border-color:var(--deep-green);background:var(--white);color:var(--deep-green);box-shadow:none}.day-button.is-active span{color:var(--deep-green)}.day-button.is-active strong{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--deep-green);color:var(--white);font-weight:600;box-shadow:none}.day-button.is-active .day-progress{background:color-mix(in srgb,var(--deep-green) 16%,var(--white))}.day-button.is-active .day-progress b{background:var(--deep-green)}.day-button.is-today:not(.is-active){border-color:var(--color-border-default);box-shadow:none}.day-button.is-today:not(.is-active) strong{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:transparent;color:var(--graphite);font-weight:650;box-shadow:inset 0 0 0 1.5px var(--deep-green)}.day-panel.panel{padding:24px;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--week-panel-shadow)}.mobile-day-view{display:none}.desktop-week-view{display:block}.week-chrome{display:none}.week-table-empty{padding:var(--space-5);min-height:360px;display:grid;place-items:center}.week-table-empty .calendar-empty-state,.week-table-empty .plan-empty-state{margin:0}.week-table-scroll{max-width:100%;overflow:auto;scrollbar-width:thin}.week-table-scroll:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.week-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;background:var(--week-panel-surface)}.week-table .week-meal-column{width:var(--week-meal-scale)}.week-table .week-day-column{width:auto}.week-table th,.week-table td{border-right:1px solid var(--week-grid-vline);border-bottom:1px solid var(--week-grid-hline);padding:0;text-align:left;vertical-align:middle}.week-table tr>:last-child{border-right:0}.week-table tbody tr:last-child>*{border-bottom:0}.week-table thead th{color:var(--graphite);font-weight:650;background:var(--week-panel-surface);border-bottom:1px solid var(--week-grid-header-rule);border-right:1px solid var(--week-grid-header-vline)}.week-table thead .week-corner,.week-table tbody .week-meal-label{position:sticky;left:0;z-index:2;width:var(--week-meal-scale);min-width:var(--week-meal-scale);max-width:var(--week-meal-scale);background:var(--week-panel-surface);border-right:0;box-shadow:1px 0 0 var(--week-grid-meal-edge)}.week-table thead .week-corner{top:0;z-index:4;padding:0;border-bottom:1px solid var(--week-grid-header-rule);border-right:0;vertical-align:middle}.week-corner-action{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-2);box-sizing:border-box;width:100%;min-height:100%;margin:0;padding:var(--space-2) var(--space-2) var(--space-2) var(--week-table-edge);border:0;border-radius:0;background:transparent;color:var(--graphite);font-family:inherit;font-size:var(--type-ui);font-weight:500;line-height:1.3;letter-spacing:normal;text-align:left;cursor:pointer;transition:color var(--motion-fast) var(--ease-out)}.week-corner-action-label{flex:0 0 auto;min-width:auto}.week-corner-action-icon{flex:0 0 auto;color:inherit}.week-corner-action:hover,.week-corner-action:focus-visible,.week-corner-action:active{background:transparent;color:var(--deep-green)}.week-corner-action:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.week-table tbody .week-meal-label{border-bottom:0;color:var(--graphite);padding:0;transition:background-color var(--motion-fast) var(--ease-out);vertical-align:middle;height:1px}.week-table tbody .week-meal-label-shell{position:relative;display:flex;align-items:center;box-sizing:border-box;height:100%;min-height:var(--week-row-min);padding:var(--space-4) var(--week-meal-scale-gap) var(--space-4) var(--week-table-edge)}.week-table tbody .week-meal-label-shell:after{content:"";position:absolute;top:50%;left:100%;z-index:1;width:5px;height:5px;border-radius:50%;background:var(--week-meal-marker);transform:translate(calc(-50% + .5px),-50%);pointer-events:none}@media(hover:hover)and (pointer:fine){.week-table tbody .week-meal-label:hover{background:var(--week-row-scan-hover)}.week-table tbody .week-meal-label:hover .week-meal-label-shell:after{background:var(--deep-green)}.week-table tbody tr:has(.week-meal-label:hover) .week-meal-content{background:var(--week-row-scan-hover)}.week-table:has(.week-day-heading:nth-child(2):not(.is-today):hover,.week-day-heading:nth-child(2):not(.is-today) .week-day-label:focus-visible) tbody tr>td:nth-child(2) .week-meal-content,.week-table:has(.week-day-heading:nth-child(3):not(.is-today):hover,.week-day-heading:nth-child(3):not(.is-today) .week-day-label:focus-visible) tbody tr>td:nth-child(3) .week-meal-content,.week-table:has(.week-day-heading:nth-child(4):not(.is-today):hover,.week-day-heading:nth-child(4):not(.is-today) .week-day-label:focus-visible) tbody tr>td:nth-child(4) .week-meal-content,.week-table:has(.week-day-heading:nth-child(5):not(.is-today):hover,.week-day-heading:nth-child(5):not(.is-today) .week-day-label:focus-visible) tbody tr>td:nth-child(5) .week-meal-content,.week-table:has(.week-day-heading:nth-child(6):not(.is-today):hover,.week-day-heading:nth-child(6):not(.is-today) .week-day-label:focus-visible) tbody tr>td:nth-child(6) .week-meal-content,.week-table:has(.week-day-heading:nth-child(7):not(.is-today):hover,.week-day-heading:nth-child(7):not(.is-today) .week-day-label:focus-visible) tbody tr>td:nth-child(7) .week-meal-content,.week-table:has(.week-day-heading:nth-child(8):not(.is-today):hover,.week-day-heading:nth-child(8):not(.is-today) .week-day-label:focus-visible) tbody tr>td:nth-child(8) .week-meal-content{background:var(--week-row-scan-hover)}}.week-table thead .week-day-heading{position:sticky;top:0;z-index:1;overflow:visible;background:var(--week-panel-surface);vertical-align:top}.week-table thead .week-day-heading.is-today{background:var(--week-day-tint)}.week-table tbody .week-meal-label-text{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-family:var(--font-sans);font-size:var(--type-ui);line-height:1.4;font-weight:500;letter-spacing:normal;color:var(--graphite)}.week-table td.is-today-day{background:var(--week-day-tint)}.week-day-header{position:relative;min-height:76px;overflow:visible}.week-day-header .day-menu{position:absolute;top:var(--space-1);right:var(--space-1);z-index:2}.week-day-label{width:100%;min-height:76px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-1);border:0;background:transparent;color:var(--graphite);padding:var(--week-table-edge) var(--space-3) var(--space-4) var(--space-3);cursor:default;text-align:left}.week-day-header.has-day-menu .week-day-label{padding-right:52px}@media(hover:hover)and (pointer:fine){.week-day-heading:not(.is-today):hover .week-day-label,.week-day-heading:not(.is-today) .week-day-label:focus-visible{background:var(--week-row-scan-hover)}}.week-day-label .week-day-name{overflow:hidden;white-space:nowrap;text-overflow:clip;font-family:var(--font-sans);color:var(--graphite);font-size:var(--type-body);line-height:1.2;font-weight:500;letter-spacing:.02em}.week-day-label strong{overflow:hidden;white-space:nowrap;text-overflow:clip;font-size:var(--type-ui);line-height:1.2;font-weight:400;color:var(--graphite)}.week-day-label .day-progress{width:32px;margin-top:4px}.week-day-header .day-menu-trigger{width:var(--control-min-size);height:var(--control-min-size);border:0;border-radius:8px;background:transparent;color:var(--color-text-secondary);opacity:0;pointer-events:none;font-size:var(--type-subtitle);font-weight:800;letter-spacing:.06em;line-height:1;transition:opacity var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.week-day-heading.is-today .day-menu-trigger,.week-day-header:focus-within .day-menu-trigger,.week-day-header .day-menu-trigger[aria-expanded=true]{opacity:.75;pointer-events:auto}@media(hover:hover)and (pointer:fine){.week-day-header:hover .day-menu-trigger{opacity:.75;pointer-events:auto}}.week-day-header .day-menu-trigger:hover{border:0;background:var(--white);color:var(--deep-green);opacity:1;pointer-events:auto}.week-day-header .day-menu-trigger:focus-visible{border:0;opacity:1;outline:2px solid var(--deep-green);outline-offset:2px;color:var(--deep-green);pointer-events:auto}.week-day-header .day-menu-trigger:active,.week-day-header .day-menu-trigger[aria-expanded=true]{border:0;background:var(--mint);color:#1e5a46;opacity:1;pointer-events:auto}.day-progress{width:40px;height:2px;display:block;flex:none;overflow:hidden;border-radius:99px;background:#e2e6e3}.day-progress b{width:0;height:100%;display:block;border-radius:inherit;background:var(--deep-green)}.week-meal-cell{position:relative;min-height:var(--week-row-min);height:100%}.week-meal-content{width:100%;height:100%;min-height:var(--week-row-min);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:0;background:transparent;color:var(--graphite);padding:var(--space-4) var(--space-6) var(--space-4) var(--space-4);cursor:pointer;text-align:left}@media(hover:hover)and (pointer:fine){.week-meal-content.is-draggable{cursor:grab}.week-table.is-dragging-meal{-webkit-user-select:none;user-select:none}.week-table.is-dragging-meal .week-meal-content,.week-table.is-dragging-meal .week-meal-content.is-draggable{cursor:grabbing}.week-table td.is-drag-source .week-meal-content{opacity:.42;transition:opacity var(--motion-fast) var(--ease-out)}.week-table td.is-drop-target .week-meal-content{background:var(--week-hover-tint);box-shadow:inset 0 0 0 2px var(--deep-green)}.desktop-week-view .week-table.is-dragging-meal td.is-empty .week-empty-add,.desktop-week-view .week-table.is-dragging-meal td.is-empty:hover .week-empty-add,.desktop-week-view .week-table.is-dragging-meal td.is-empty.is-today-day .week-empty-add,.desktop-week-view .week-table.is-dragging-meal td.is-empty.is-selected-day .week-empty-add,.week-table.is-dragging-meal td.is-empty .week-empty-add,.week-table.is-dragging-meal td.is-empty:hover .week-empty-add{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.week-table td.is-drag-source .week-meal-content{transition:none}}.week-meal-content:focus-visible{background:var(--week-hover-tint);outline:3px solid var(--focus);outline-offset:-3px}@media(hover:hover)and (pointer:fine){.week-meal-content:hover{background:var(--week-hover-tint)}}.week-meal-content strong{display:-webkit-box;width:100%;max-width:100%;max-height:none;overflow:hidden;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;font-size:var(--type-ui);line-height:1.4;font-weight:500;color:var(--graphite)}.meal-dish-sep{display:inline-block;width:4px;height:4px;margin:0 .35em;border-radius:50%;background:var(--deep-green);vertical-align:.22em;flex-shrink:0}.meal-entry-tooltip{position:fixed;z-index:100;max-width:min(320px,calc(100vw - 16px));transform:translate(-50%,-100%);border-radius:var(--radius-md);background:var(--color-bg-tooltip);color:var(--color-text-tooltip);box-shadow:0 8px 24px #1a1a1a1f;padding:8px 12px;pointer-events:none;font-size:var(--type-ui);font-weight:500;line-height:1.4;overflow-wrap:anywhere}.week-table td.is-empty .week-meal-content{position:relative;overflow:hidden;align-items:center;justify-content:center;color:var(--color-text-secondary);padding:var(--space-5) var(--space-4);text-align:center}.week-table td.is-empty .week-meal-content:focus-visible{background:var(--week-hover-tint)}.week-empty-add{position:absolute;inset:0;margin:auto;width:max-content;max-width:calc(100% - 8px);height:max-content;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 12px;border-radius:8px;background:transparent;color:var(--deep-green);opacity:0;transition:opacity var(--motion-fast) var(--ease-out);pointer-events:none}.desktop-week-view .week-table .week-empty-add{opacity:0;visibility:hidden}.desktop-week-view .week-table td.is-empty:hover .week-empty-add,.desktop-week-view .week-table td.is-empty .week-meal-content:focus-visible .week-empty-add{opacity:1;visibility:visible}.desktop-week-view .week-table .meal-menu-trigger{opacity:0}.desktop-week-view .week-table td.has-meal:hover .meal-menu-trigger,.desktop-week-view .week-table td.has-meal:focus-within .meal-menu-trigger,.desktop-week-view .week-table .meal-menu-trigger[aria-expanded=true]{opacity:1}.desktop-week-view .week-table .meal-menu-trigger[aria-expanded=true]{color:var(--deep-green)}@media(hover:hover)and (pointer:fine){.desktop-week-view .week-table .meal-menu-trigger:hover{color:var(--deep-green)}}.desktop-week-view .week-table .week-day-header .day-menu-trigger{opacity:0;pointer-events:none}.desktop-week-view .week-table .week-day-heading.is-today .day-menu-trigger,.desktop-week-view .week-table .week-day-header:hover .day-menu-trigger,.desktop-week-view .week-table .week-day-header:focus-within .day-menu-trigger,.desktop-week-view .week-table .week-day-header .day-menu-trigger[aria-expanded=true]{opacity:.75;pointer-events:auto}.week-table td.is-empty .week-meal-content:focus-visible .week-empty-add{opacity:1}@media(hover:hover)and (pointer:fine){.week-table td.is-empty .week-meal-content:hover{background:var(--week-hover-tint)}.week-table td.is-empty:hover .week-empty-add{opacity:1}}.week-empty-plus{flex:0 0 auto;font-size:var(--type-subtitle);font-weight:700;line-height:1}.week-empty-label{font-size:var(--type-ui);font-weight:500;letter-spacing:.01em}.week-table .meal-actions-menu{position:absolute;top:8px;right:6px;z-index:1}.week-table .meal-actions-menu:has(.meal-menu-tip){z-index:8}.week-table td.has-meal:has(.meal-menu-tip){z-index:5;overflow:visible}.week-table .meal-menu-trigger{width:32px;height:32px;border-radius:8px;font-size:var(--type-subtitle);color:var(--color-text-secondary);opacity:0;transition:opacity var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.week-table td.has-meal:focus-within .meal-menu-trigger,.week-table .meal-menu-trigger[aria-expanded=true],.week-table .meal-actions-menu:has(.meal-menu-tip) .meal-menu-trigger{opacity:1}.week-table .meal-menu-trigger[aria-expanded=true]{color:var(--deep-green)}@media(hover:hover)and (pointer:fine){.week-table td.has-meal:hover .meal-menu-trigger{opacity:1}}.week-table .meal-menu-trigger[aria-expanded=true]{background:var(--fog);color:var(--deep-green)}@media(hover:hover)and (pointer:fine){.week-table .meal-menu-trigger:hover{background:var(--fog);color:var(--deep-green)}}.week-table .meal-actions-menu .meal-menu-tip{top:calc(100% + 8px);right:0;left:auto;width:min(220px,36vw);max-width:240px;transform:none;overflow:visible}.week-table .meal-actions-menu .meal-menu-tip:after{top:-5px;right:12px;left:auto;transform:rotate(-45deg);box-shadow:-2px -2px 6px #1a1a1a0d}.day-menu-trigger{width:var(--control-min-size);height:var(--control-min-size);display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.day-menu-trigger .ui-icon{display:block}.day-menu-trigger[aria-expanded=true]{border-color:transparent;background:var(--fog);color:var(--deep-green)}@media(hover:hover)and (pointer:fine){.day-menu-trigger:hover{border-color:transparent;background:var(--fog);color:var(--deep-green)}}.day-menu-trigger:focus-visible{outline:2px solid var(--deep-green);outline-offset:2px;color:var(--deep-green)}.day-menu-trigger:active{border-color:transparent;background:var(--mint);color:var(--deep-green)}.day-heading-actions .day-menu-trigger{border-color:transparent;background:transparent;color:var(--graphite);border-radius:var(--radius-md)}@media(hover:hover)and (pointer:fine){.day-heading-actions .day-menu-trigger:hover{border-color:transparent;background:var(--fog);color:var(--deep-green)}}.day-heading-actions .day-menu-trigger:active,.day-heading-actions .day-menu-trigger[aria-expanded=true]{border-color:transparent;background:var(--mint);color:var(--deep-green)}@media(max-width:1100px){:root{--week-meal-scale: 112px;--week-row-min: 92px}.week-table tbody .week-meal-label-shell{padding:12px 16px 12px var(--week-table-edge)}.week-day-label{padding:var(--week-table-edge) 10px 16px 10px}.week-day-header.has-day-menu .week-day-label{padding-right:52px}.week-meal-content{padding:var(--space-4) var(--space-6) var(--space-4) var(--space-3)}.week-table td.is-empty .week-meal-content{padding:var(--space-4) var(--space-3)}}@media(max-width:1100px)and (min-width:901px){:root{--sidebar-width: 72px;--main-padding-inline: var(--space-5);--logo-mark-rail: 1.5rem;--library-tile-columns: 3}.app-header{gap:var(--space-5);padding:var(--space-5) var(--space-2) 0}.brand{justify-content:center}.brand .app-logo{max-width:none;width:auto}.brand .app-logo__horizontal{display:inline-flex;justify-content:center}.brand .app-logo__stacked,.brand .app-logo__name,.brand .app-logo__type{display:none}.brand .app-logo__mark{display:none;width:auto;height:var(--logo-mark-rail);object-fit:contain;transform:none}html:not([data-theme=dark]) .brand .app-logo__mark--dark,[data-theme=dark] .brand .app-logo__mark--dark{display:block}html:not([data-theme=dark]) .brand .app-logo__mark--light,[data-theme=dark] .brand .app-logo__mark--light{display:none}.main-nav{align-items:stretch}.main-nav a{justify-content:center;gap:0;padding:12px 0}.main-nav .nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.main-nav .profile-nav{justify-content:center;padding-block:var(--space-4)}.profile-nav-name{display:none}.app-shell>main{padding:var(--space-9) var(--main-padding-inline) var(--space-8)}.week-toolbar-titlebar{flex-wrap:wrap;row-gap:var(--space-3)}.week-toolbar .toolbar-actions{margin-left:auto}}@media(max-width:900px){:root{--library-row-pad-block: 22px;--library-name-category-gap: 6px;--library-category-facts-gap: 4px;--library-name-facts-gap: 8px;--library-tile-columns: 2}.library-toolbar{display:grid;grid-template-columns:max-content max-content minmax(0,1fr) max-content max-content;align-items:stretch;column-gap:var(--space-2);row-gap:var(--space-2)}.library-toolbar-disclose,.library-toolbar-primary,.library-toolbar-secondary,.library-toolbar-tools{display:contents}.library-filter-panel-mark,.library-filter-panel-reset{display:none}.library-toolbar-search{grid-column:1 / -1;grid-row:1;order:1;width:100%;min-width:0}.library-toolbar-search .search-field{width:auto;min-width:0}.library-toolbar .library-disclose-button{grid-column:1;grid-row:2;order:2;width:var(--button-min-height);min-width:var(--button-min-height);max-width:var(--button-min-height);justify-self:stretch;padding-inline:0;gap:0}.library-toolbar .library-disclose-button-label{display:none}.library-toolbar.is-filters-open .library-disclose-button{width:auto;max-width:none;padding-inline:var(--space-2);gap:var(--space-2)}.library-toolbar.is-filters-open .library-disclose-button-label{display:inline}.library-toolbar.is-filters-open .library-disclose-button.is-open,.library-toolbar.is-filters-open .library-disclose-button.is-open:hover{border-color:transparent;background:var(--mint);color:var(--deep-green)}.library-toolbar .library-favorite-chip,.library-toolbar:not(.is-filters-open) .library-favorite-chip,.library-toolbar.is-filters-open .library-favorite-chip{grid-column:2;grid-row:2;order:2;width:var(--button-min-height);min-width:var(--button-min-height);max-width:var(--button-min-height);margin-right:0;justify-content:center;justify-self:stretch;gap:0;padding-inline:0;border:1px solid transparent;background:transparent}.library-toolbar .library-favorite-chip-label,.library-toolbar .library-favorite-chip-clear{display:none}.library-toolbar .library-favorite-chip.is-active{border-color:transparent;background:var(--chip-selected-bg)}.library-toolbar .library-sort{grid-column:4;grid-row:2;order:2;flex:none;width:max-content;min-width:0;max-width:100%;margin-left:0;justify-self:end}.library-toolbar .library-view-toggle{grid-column:5;grid-row:2;order:2;justify-self:end}.library-toolbar.is-filters-open{grid-template-columns:max-content max-content minmax(0,1fr) max-content max-content}.library-toolbar .library-sort .custom-select,.library-toolbar .library-sort .custom-select-trigger{width:auto;min-width:0;max-width:100%}.library-toolbar .library-sort .custom-select-trigger{height:var(--button-min-height);min-height:var(--button-min-height);justify-content:flex-start;padding-inline:2.5rem 2rem;border-color:transparent;background:transparent}.library-toolbar .library-sort .custom-select-trigger:hover,.library-toolbar .library-sort .custom-select:hover .custom-select-trigger,.library-toolbar .library-sort .custom-select.is-open .custom-select-trigger{border-color:transparent;background:var(--fog);box-shadow:none}.library-toolbar .library-sort-icon{display:inline-flex;color:var(--muted)}.library-toolbar .library-active-filters{grid-column:1 / -1;grid-row:3;order:3;padding-top:var(--space-1)}.library-toolbar.is-filters-open .library-active-filters{grid-row:4;order:5}.library-toolbar .library-sort .custom-select-trigger span,.library-toolbar .library-filter-field .custom-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-toolbar .library-filter-field .custom-select,.library-toolbar .library-filter-field .custom-select-trigger{width:100%}.library-toolbar:not(.is-filters-open) .library-filter-field--category,.library-toolbar:not(.is-filters-open) .library-filter-field--meal,.library-toolbar:not(.is-filters-open) .library-filter-field--effort,.library-toolbar:not(.is-filters-open) .library-filter-field--time,.library-toolbar:not(.is-filters-open) .library-filter-field--equipment{display:none}.library-toolbar.is-filters-open .library-toolbar-primary{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;grid-column:1 / -1;grid-row:3;order:4;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--fog)}.library-toolbar.is-filters-open .library-filter-panel-mark{display:inline-flex;grid-column:1;grid-row:1 / span 2;align-self:center;flex:0 0 auto;align-items:center;color:var(--deep-green)}.library-toolbar.is-filters-open .library-filter-panel-mark .ui-icon{display:block}.library-toolbar.is-filters-open .library-filter-field--category,.library-toolbar.is-filters-open .library-filter-field--meal,.library-toolbar.is-filters-open .library-filter-field--time,.library-toolbar.is-filters-open .library-filter-field--effort,.library-toolbar.is-filters-open .library-filter-field--equipment{display:block;flex:unset;width:auto;min-width:0;grid-column:unset;order:unset}.library-toolbar.is-filters-open .library-filter-field--category{grid-column:2;grid-row:1}.library-toolbar.is-filters-open .library-filter-field--meal{grid-column:3;grid-row:1}.library-toolbar.is-filters-open .library-filter-field--time{grid-column:4;grid-row:1}.library-toolbar.is-filters-open .library-filter-field--effort{grid-column:2;grid-row:2}.library-toolbar.is-filters-open .library-filter-field--equipment{grid-column:3;grid-row:2}.library-toolbar.is-filters-open .library-filter-field .custom-select-trigger{border-color:var(--color-border-default);background:var(--white)}.library-toolbar.is-filters-open .library-filter-panel-reset{display:inline-flex;grid-column:4;grid-row:2;justify-self:end;align-self:center;flex:0 0 auto;align-items:center;min-height:var(--button-min-height);margin:0;padding:0 var(--space-2);border:0;background:transparent;color:var(--graphite);font-size:var(--button-font-size);font-weight:500;white-space:nowrap}.library-toolbar.is-filters-open .library-filter-panel-reset:hover:not(:disabled){background:var(--fog);color:var(--graphite)}.library-toolbar.is-filters-open .library-filter-panel-reset:disabled{opacity:.42;cursor:not-allowed}.library-toolbar.is-filters-open .library-toolbar-primary:not(:has(.library-filter-field--equipment)) .library-filter-field--effort{grid-column:2 / 4}.library-page:has(.library-toolbar.is-filters-open) .library-options .library-reset-button,.library-page:has(.library-filters-sheet) .library-options .library-reset-button{display:none}.library-module .library-options{min-height:0;margin-bottom:var(--space-3)}.library-module .week-table-empty,.library-module .panel.week-table-empty{min-height:0;place-items:start center;padding:0 var(--space-4) var(--space-6)}.library-module .week-table-empty .plan-empty-state{padding:var(--space-4) var(--space-4) var(--space-6)}.library-module .week-table-empty .plan-empty-state.has-illustration{padding-top:var(--space-6)}.library-page .library-empty-create{display:none}.library-page .empty-state-actions:not(:has(button:not(.library-empty-create))){display:none}.library-table thead{display:none}.library-table th,.library-table td{padding-block:var(--library-row-pad-block);padding-inline:var(--space-3)}.library-table th:first-child,.library-table td:first-child{padding-left:var(--library-table-edge)}.library-col-category,.library-category-col,.library-category-cell{display:none}.library-col-name{width:auto}.library-col-time{width:22%}.library-col-effort{width:24%}.library-table tbody th,.library-table tbody td,.library-table tbody tr:last-child th,.library-table tbody tr:last-child td{padding-block:var(--library-row-pad-block)}.library-table tbody th,.library-table tbody td{vertical-align:top;min-height:0}.library-table tbody td:last-child{vertical-align:middle}.library-item-category{display:block;margin-top:var(--library-name-category-gap);color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.25rem;background:none;border:0;padding:0}.library-item-name{max-width:100%}.library-item-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.4}.library-table tbody td:nth-child(4){padding-left:calc(var(--space-4) + 10px)}.library-col-favorite,.library-table th:last-child,.library-table td:last-child{width:88px;max-width:88px;padding-left:8px;padding-right:var(--library-table-edge)}.library-module .library-toolbar{padding-top:0;padding-bottom:var(--space-3)}.meal-setting-row:not(.is-expanded){min-height:88px;padding:18px 20px;box-shadow:none}}@media(max-width:900px){.week-meal-cell,.week-meal-content,.week-table tbody .week-meal-label-shell{min-height:92px}.week-meal-content{padding:var(--space-3) var(--space-6) var(--space-3) var(--space-2)}.week-table td.is-empty .week-meal-content{padding:var(--space-3) var(--space-2)}}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.week-toolbar-titlebar{flex-direction:row;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:var(--space-3);width:100%}.week-toolbar-titlebar h1{flex:1 1 auto;min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap}.week-toolbar .toolbar-actions{transform:none;flex:0 0 auto;align-self:flex-end;width:fit-content;min-width:0;max-width:100%;margin-left:auto;justify-content:flex-end;align-items:center;flex-wrap:nowrap;gap:var(--toolbar-cluster-gap)}.week-toolbar .toolbar-nav-group{display:inline-flex;flex:0 0 auto;align-items:center;gap:0}.week-toolbar .toolbar-nav-group .toolbar-icon-button{width:var(--control-min-size);min-width:var(--control-min-size)}.week-toolbar .calendar-control,.week-toolbar .toolbar-actions .week-menu,.week-toolbar .toolbar-actions .week-actions-menu{display:flex;flex:0 0 auto;align-items:center}.week-toolbar .toolbar-icon-button,.week-toolbar .calendar-button.icon-only,.week-toolbar .week-menu-trigger{box-sizing:border-box;display:inline-grid;place-items:center;flex:0 0 auto;width:var(--control-min-size);height:var(--control-min-size);min-width:var(--control-min-size);min-height:var(--control-min-size);padding:0;border:1px solid transparent;background:transparent;box-shadow:none;line-height:0;color:var(--graphite)}.week-toolbar .toolbar-icon-button .ui-icon,.week-toolbar .toolbar-icon-button svg,.week-toolbar .calendar-button.icon-only .ui-icon,.week-toolbar .calendar-button.icon-only svg{display:block}.week-toolbar .toolbar-nav-group .tertiary-button{box-sizing:border-box;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:auto;height:var(--control-min-size);min-height:var(--control-min-size);padding-block:0;padding-inline:var(--space-2);border:1px solid transparent;background:transparent;line-height:1}.week-toolbar .toolbar-nav-group .tertiary-button.is-current,.week-toolbar .toolbar-nav-group .tertiary-button.is-current:hover{border-color:transparent;background:transparent;color:var(--deep-green)}}@media(max-width:1100px)and (hover:none)and (pointer:coarse){.desktop-week-view .week-table td.has-meal .week-meal-content{padding-right:52px}.desktop-week-view .week-table .week-empty-add{opacity:0;visibility:hidden;color:var(--deep-green)}.desktop-week-view .week-table td.is-empty.is-today-day .week-empty-add,.desktop-week-view .week-table td.is-empty.is-selected-day .week-empty-add{opacity:.75;visibility:visible}.desktop-week-view .week-table td.is-empty .week-empty-label{display:none}.desktop-week-view .week-table td.is-empty:focus-within .week-empty-add,.desktop-week-view .week-table td.is-empty .week-meal-content:active .week-empty-add{opacity:1;visibility:visible}.desktop-week-view .week-table .meal-menu-trigger{width:var(--control-min-size);height:var(--control-min-size);color:var(--color-text-secondary);opacity:1}.desktop-week-view .week-table .meal-menu-trigger[aria-expanded=true]{color:var(--deep-green)}@media(hover:hover)and (pointer:fine){.desktop-week-view .week-table .meal-menu-trigger:hover{color:var(--deep-green)}}.desktop-week-view .week-table .week-day-header .day-menu-trigger{width:var(--control-min-size);height:var(--control-min-size);color:var(--color-text-secondary);opacity:.75;background:transparent;pointer-events:auto}.desktop-week-view .week-table .week-day-header .day-menu-trigger[aria-expanded=true]{color:#1e5a46;opacity:1;background:var(--mint)}}@media(min-width:1920px){.page-skeleton-week-cell{min-height:var(--week-row-min)}.week-table tbody .week-meal-label-shell{padding-block:18px}.week-meal-content{padding:var(--space-5) 36px var(--space-5) var(--space-5)}.week-table td.is-empty .week-meal-content{padding:var(--space-5) var(--space-4)}.week-day-header,.week-day-label{min-height:92px}.week-day-label{padding:20px 14px 22px}.week-day-label .week-day-name{font-size:var(--type-subtitle)}.week-empty-plus{font-size:1.25rem}}.calendar-control{position:relative;display:inline-flex}.calendar-scrim{display:none}.calendar-popover{z-index:80;width:min(320px,calc(100vw - 16px));border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow-float);padding:14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:ui-fade-in var(--motion-ui) var(--ease-out)}.date-field-popover{z-index:90}.calendar-popover-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.calendar-popover-header strong{font-size:var(--type-body);line-height:1.25;font-weight:600;color:var(--graphite)}.calendar-popover-footer{position:sticky;bottom:-14px;z-index:2;margin:12px -14px -14px;padding:12px 14px 14px;border-top:1px solid var(--library-row-rule, #EEF0EE);background:var(--white)}.tertiary-button.calendar-today-action{width:100%;border:1px solid transparent;background:transparent;color:var(--graphite);box-shadow:none;transition:color var(--motion-fast) var(--ease-out)}.tertiary-button.calendar-today-action:hover,.tertiary-button.calendar-today-action:active{border-color:transparent;background:transparent;color:var(--deep-green)}.tertiary-button.calendar-today-action.is-current,.tertiary-button.calendar-today-action.is-current:hover,.tertiary-button.calendar-today-action.is-current:active{border-color:transparent;background:transparent;color:var(--deep-green);cursor:default}.calendar-nav{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--graphite);cursor:pointer;line-height:1;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.calendar-nav .ui-icon{display:block}.calendar-nav:hover{border-color:transparent;background:var(--fog);color:var(--deep-green)}.calendar-nav:active{border-color:transparent;background:var(--mint);color:var(--deep-green)}.calendar-nav:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.calendar-nav{transition:none}}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:var(--type-micro);font-weight:500;padding:2px 0}.calendar-day{position:relative;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--graphite);cursor:pointer;padding:4px 0 10px;font-size:var(--type-ui);font-weight:500;font-variant-numeric:tabular-nums}.calendar-day-number{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;line-height:1;font-variant-numeric:tabular-nums}.calendar-day:hover:not(:disabled):not(.is-selected) .calendar-day-number{background:var(--fog)}.calendar-day.is-outside{color:var(--color-text-secondary)}.calendar-day.is-today:not(.is-selected) .calendar-day-number{box-shadow:inset 0 0 0 1.5px var(--deep-green);font-weight:650}.calendar-day.is-selected .calendar-day-number{background:var(--deep-green);color:var(--white);font-weight:650;box-shadow:none}.calendar-day.is-disabled,.calendar-day:disabled{opacity:.38;cursor:not-allowed}.calendar-day-dot{position:absolute;left:50%;bottom:3px;width:5px;height:5px;border-radius:50%;background:var(--deep-green);transform:translate(-50%);pointer-events:none}.calendar-day.is-selected .calendar-day-dot{background:var(--deep-green)}.date-field{width:100%}.date-field-trigger{width:100%;min-height:var(--control-min-size);display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--paper-strong);color:var(--ink);padding:10px var(--space-3);cursor:pointer;text-align:left;font:inherit;font-weight:500;line-height:1.25;transition:border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out)}.date-field-trigger:hover,.date-field-trigger.is-open{border-color:var(--deep-green);background:var(--white)}.date-field-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.date-field-trigger svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:var(--deep-green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.panel-heading{margin-bottom:16px}.day-summary span{border:1px solid #d8e7df;border-radius:999px;background:var(--mint);color:var(--deep-green);padding:5px 10px;font-size:var(--type-micro)}.calendar-empty-state{border-color:var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.calendar-empty-state>span{border-radius:50%;background:var(--color-accent-pink);color:var(--deep-green)}.meal-list{border-top:1px solid var(--library-row-rule);border-color:var(--library-row-rule)}.meal-row{grid-template-columns:120px minmax(0,1fr) auto;min-height:72px;gap:12px;border-color:var(--library-row-rule)}.meal-row.is-empty{grid-template-columns:minmax(0,1fr);min-height:0}.meal-time{color:var(--muted);font-size:var(--type-ui);font-weight:400}.meal-content{min-height:52px;border-radius:6px;padding:8px;display:grid;grid-template-columns:minmax(0,1fr);column-gap:8px;align-items:center;text-align:left;min-width:0}.meal-content:hover{background:var(--fog)}.meal-content strong{display:-webkit-box;grid-column:1;width:100%;min-width:0;overflow:hidden;overflow-wrap:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--type-body);font-weight:400;line-height:1.4;color:var(--graphite)}.meal-row.is-empty .meal-content{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;width:100%;min-height:44px;color:var(--color-text-secondary)}.meal-row.is-empty .meal-content .plus-circle{flex:0 0 auto;align-self:center}.meal-row.is-empty .meal-content .meal-time{flex:0 1 auto;min-width:0;color:var(--deep-green);font-size:inherit;font-weight:inherit;line-height:1.35}.meal-row.is-empty .meal-content .meal-time span{display:inline;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;white-space:nowrap}.plus-circle{box-sizing:border-box;width:auto;height:auto;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;color:var(--deep-green);font-size:var(--type-ui);font-weight:600;line-height:1}.meal-menu-trigger{border-radius:8px}.meal-menu-popover,.custom-select-menu{border-radius:8px;box-shadow:var(--shadow-float)}.month-calendar{padding:16px}.month-weekdays,.month-grid{gap:6px}.month-day{min-height:72px;border-radius:8px;background:var(--white)}.month-day:hover{border-color:var(--sage-light);background:var(--mint)}.month-day.is-selected{border:1px solid var(--deep-green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--deep-green)}.month-day.is-today .month-day-number{background:var(--deep-green)}.month-day.is-partial .month-status-dot,.month-legend i.is-partial{background:var(--sage-light)}.month-day.is-complete .month-status-dot,.month-legend i.is-complete{background:var(--deep-green)}input,textarea,.custom-select-trigger,.food-picker-trigger{min-height:44px;border-color:var(--line-strong);border-radius:var(--radius-md);background:var(--color-bg-field);color:var(--graphite);padding:10px 12px;font-family:var(--font-sans);font-size:var(--field-font-size);font-weight:500}input::placeholder,textarea::placeholder{color:var(--color-text-placeholder);font-weight:400;opacity:1}input:not([type=checkbox]):not([type=radio]):hover,textarea:hover,.custom-select:hover .custom-select-trigger,.food-picker-trigger:hover{border-color:var(--color-border-hover);background:var(--color-bg-surface)}input:not([type=checkbox]):not([type=radio]):focus,input:not([type=checkbox]):not([type=radio]):focus-visible,textarea:focus,textarea:focus-visible,.custom-select.is-open .custom-select-trigger,.custom-select-trigger:focus-visible,.food-picker-trigger:focus-visible{border-color:var(--deep-green);outline:none;box-shadow:none}.custom-select-trigger,.food-picker-trigger{gap:12px;font-weight:500}.custom-select-trigger span,.food-picker-trigger>span{font-size:var(--field-font-size);font-weight:500;line-height:1.25}.field-block>.field-label{color:var(--graphite);font-size:var(--type-ui);font-weight:500}.food-editor-form .field-block{display:grid;gap:var(--form-label-gap);align-content:start;font-weight:500;color:var(--graphite)}.food-editor-form input:not([type=checkbox]):not([type=radio]),.food-editor-form .custom-select-trigger{box-sizing:border-box;min-height:var(--button-min-height);height:var(--button-min-height);padding:10px 12px;border-radius:var(--radius-md);font-size:var(--field-font-size);font-weight:500;line-height:1.25}.food-editor-form .custom-select-trigger{color:var(--graphite)}.food-editor-form .custom-select-trigger span.is-placeholder{color:var(--color-text-placeholder);font-weight:400}.food-editor-form .field-row.two-columns{gap:var(--form-stack-gap);align-items:start}.custom-select-menu{border-color:var(--line);background:var(--white)}.custom-select-menu-list button{border-radius:6px;font-size:var(--type-ui);font-weight:500}.custom-select-menu-list button:hover{background:var(--fog)}.custom-select-menu-list button.is-selected,.custom-select-menu-list button.is-active{background:var(--mint);color:var(--deep-green)}.segmented,.view-switch{border-color:var(--line);border-radius:8px;background:var(--fog);padding:3px}.segmented button,.view-switch button{border-radius:6px}.segmented button.is-active,.view-switch button.is-active{background:var(--white);color:var(--deep-green);box-shadow:0 1px 2px #1f232814}.segmented--line{padding:0;border:0;border-radius:0;border-bottom:1px solid var(--library-row-rule);background:transparent;box-shadow:none;margin-bottom:var(--space-3)}.segmented--line button{border-radius:0;background:transparent;box-shadow:none;color:var(--graphite);font-weight:500}.segmented--line button:hover{color:var(--graphite);background:transparent}.segmented--line button.is-active{background:transparent;color:var(--deep-green);font-weight:600;box-shadow:none;border-bottom:2px solid var(--deep-green)}.library-toolbar{margin:0 0 var(--page-title-content-gap)}.library-favorite-chip.is-active .library-favorite-chip-icon{color:var(--brand-accent-strong)}.library-sort .custom-select-trigger{border-color:transparent;background:transparent}.library-sort .custom-select-trigger:hover,.library-sort .custom-select:hover .custom-select-trigger,.library-sort .custom-select.is-open .custom-select-trigger{border-color:transparent;background:var(--fog);box-shadow:none}.library-grid{gap:8px}.food-card{min-height:112px;border-radius:8px;box-shadow:none}.food-card:hover{border-color:var(--sage-light);background:#fbfdfc;box-shadow:none;transform:none}.food-card h3{font-size:var(--type-comfort);font-weight:550}.library-table-wrap{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--library-panel-shadow);overflow:clip}.library-table thead{background:var(--white)}.library-table thead th{position:sticky;top:var(--library-sticky-chrome);z-index:2;background:var(--white);box-shadow:0 1px 0 var(--color-border-default)}.library-table th,.library-table td{border-color:var(--library-row-rule)}.library-table tbody tr:hover{background:var(--library-row-hover)}.profile-page{max-width:var(--page-content-max);margin-inline:auto}.meal-setting-row{border-radius:var(--radius-lg)}.meal-icon-button{border-radius:var(--button-radius);background:transparent}.hint-card{border:0;border-radius:16px;background:var(--white);box-shadow:var(--hint-shadow)}.empty-state{border-radius:12px}.empty-state>span{color:var(--deep-green)}.modal-backdrop{background:#1f23286b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.meal-editor,.confirm-dialog,.delete-account-dialog,.food-picker-dialog,.legal-document-dialog,.library-filters-sheet,.dish-ingredients-sheet,.recipe-import-action-sheet,.recipe-import-url-sheet{border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--modal-panel-shadow)}.editor-header{border-color:var(--library-row-rule)}.editor-footer,.editor-actions,.confirm-actions,.duplicate-actions{background:linear-gradient(to bottom,color-mix(in srgb,var(--white) 90%,transparent),var(--white) 28%)}.meal-editor:not(.food-editor) .editor-footer{background:var(--white)}.editor-footer .editor-actions{background:transparent;border-top:0}.food-editor-actions{background:var(--white)}.library-filters-sheet{display:flex;flex-direction:column;width:min(430px,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow:hidden;padding:var(--space-5);text-align:left}.library-filters-sheet .editor-header{flex:0 0 auto}.library-filters-sheet-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--form-stack-gap);align-content:start;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--form-stack-gap) 0;overscroll-behavior:contain}.library-filters-sheet-body .field-block{margin:0;min-width:0}.library-filters-sheet-body .field-block>.field-label{min-height:calc(var(--type-ui) * 1.25)}.library-filters-sheet-body .custom-select,.library-filters-sheet-body .custom-select-trigger{width:100%}.library-filters-sheet-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);flex:0 0 auto;margin-top:0;padding-top:var(--space-4);border-top:1px solid var(--library-row-rule);background:var(--white)}.pairing-editor,.food-picker-trigger,.food-picker-options button,.duplicate-list-item{border-radius:8px}.food-picker-options button.is-selected,.dish-picker section>div>button.is-selected{border-color:var(--deep-green);background:var(--mint);box-shadow:none}.undo-toast{border:1px solid var(--color-border-inverse);border-radius:var(--radius-md);background:var(--color-bg-inverse);box-shadow:var(--shadow-float)}.auth-shell,.legal-shell{background:var(--fog)}.auth-card,.legal-page,.status-card{border-radius:12px;background:var(--white);box-shadow:var(--shadow)}.auth-brand{margin-bottom:32px}.auth-error,.auth-notice,.legal-draft{border-radius:8px}.auth-error{border:1px solid var(--color-border-destructive);background:var(--color-bg-destructive);color:var(--color-text-destructive)}.auth-notice{border:1px solid var(--sage-light);background:var(--mint);color:var(--deep-green)}.legal-draft{border-color:#ead5aa;background:#fdf9ef}.sync-error{border-color:var(--color-border-destructive);border-radius:var(--radius-md);background:var(--color-bg-destructive);color:var(--color-text-destructive)}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){:root{--main-padding-inline: 20px;--pairing-options-max-height: min(16rem, 36dvh);--logo-name-size: 1.5rem;--logo-name-auth: 2rem;--field-font-size: var(--type-body)}.app-shell{width:100%;max-width:100%;display:flex;flex-direction:column;overflow-x:clip;padding-bottom:calc(96px + env(safe-area-inset-bottom));background:var(--color-bg-page)}.app-header{position:static;width:100%;height:auto;min-height:100px;box-sizing:border-box;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-4);border-right:0;border-bottom:1px solid var(--color-border-default);padding-block:var(--space-5);padding-inline:var(--main-padding-inline)}html.modal-scroll-lock .app-header{position:static;inset:auto;width:100%;height:auto}.brand{padding:0;width:max-content;max-width:100%;min-width:0;min-height:0;flex:0 0 auto;align-items:center;justify-content:flex-start;container-type:normal}.brand .app-logo{width:auto;max-width:none}.brand .app-logo__horizontal{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:var(--space-1);width:auto}.brand .app-logo__stacked,.brand .app-logo__horizontal .app-logo__mark{display:none}.brand .app-logo__horizontal .app-logo__name{display:inline-flex}.brand .app-logo__wordmark{width:auto;max-width:100%;height:auto;max-height:var(--logo-name-size)}html:not([data-theme=dark]) .brand .app-logo__wordmark--ink{display:block}html:not([data-theme=dark]) .brand .app-logo__wordmark--white{display:none}[data-theme=dark] .brand .app-logo__wordmark--ink{display:none}[data-theme=dark] .brand .app-logo__wordmark--white{display:block}.brand .app-logo__cluster{gap:var(--space-1)}.brand .app-logo__type{display:block;color:var(--graphite)}.header-account{display:none}.main-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;min-height:0;height:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;border-top:1px solid var(--sidebar-border);background:var(--sidebar-bg);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:var(--phone-tab-bar-pad-block-start) 6px var(--phone-tab-bar-pad-block-end);color:var(--sidebar-text)}.main-nav .profile-nav{display:flex;margin:0 auto;border:0;border-top:0;border-left:0;border-radius:12px;padding:8px 14px;box-shadow:none;color:var(--sidebar-text-muted)}.main-nav .profile-nav.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-text);box-shadow:none}.main-nav .profile-nav .profile-nav-tab-icon{display:none}.main-nav .profile-nav .profile-nav-avatar,.main-nav .profile-nav .profile-nav-initial{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border-radius:50%;font-size:.625rem!important;line-height:1;box-shadow:none}.main-nav .profile-nav .profile-nav-tab-label{display:block;width:auto;height:auto;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-family:var(--font-sans);font-size:var(--type-micro);font-weight:400;line-height:1.25;color:inherit;white-space:nowrap}.main-nav a{position:relative;box-sizing:border-box;width:auto;max-width:100%;min-width:64px;min-height:64px;height:var(--phone-tab-bar-item-height);margin-inline:auto;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:0;border-radius:12px;padding:8px 14px;font-size:var(--type-micro);font-weight:400;box-shadow:none;background:transparent;color:var(--sidebar-text-muted)}.main-nav a:hover{background:transparent;color:var(--sidebar-text)}.main-nav .nav-label{position:static;display:block;width:auto;height:auto;max-width:100%;margin:0;overflow:visible;clip:auto;white-space:nowrap;font-family:var(--font-sans);font-size:var(--type-micro);font-weight:400;line-height:1.25;color:inherit}.main-nav .nav-icon,.main-nav .ui-icon.nav-icon{width:22px;height:22px;flex:0 0 auto}.main-nav a.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-text);font-weight:400;box-shadow:none}.main-nav a.is-active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-text)}.main-nav a.is-active .nav-icon,.main-nav a.is-active .ui-icon.nav-icon{color:var(--sidebar-text)}.main-nav a.is-active:after{content:"";position:absolute;top:5px;left:50%;width:30px;height:2px;border-radius:2px;background:var(--sidebar-active-mark);transform:translate(-50%)}.profile-nav-name{display:none}.app-shell>main{width:100%;min-width:0;flex:1 1 auto;padding:var(--space-5) var(--main-padding-inline) var(--space-6)}.app-shell.has-pull-to-refresh{overscroll-behavior-y:contain}.app-shell.has-pull-to-refresh>main{overscroll-behavior-y:contain}.pull-to-refresh-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:28px;margin:calc(-1 * var(--space-2)) 0 var(--space-2);color:var(--graphite);font-size:.875rem;font-weight:400;line-height:1.3;opacity:calc(.35 + (var(--ptr-progress, 0) * .65));pointer-events:none;transition:opacity var(--motion-ui) var(--ease-out)}.pull-to-refresh-indicator.is-armed,.pull-to-refresh-indicator.is-refreshing{opacity:1}.pull-to-refresh-indicator.is-refreshing{transition:opacity var(--motion-soft) var(--ease-out)}@media(prefers-reduced-motion:reduce){.pull-to-refresh-indicator{transition:none}}.desktop-week-view{display:none}.mobile-day-view{display:block}.week-toolbar .eyebrow,.page-heading .eyebrow{font-weight:500}.week-toolbar{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin-bottom:var(--page-title-content-gap)}.week-module .week-toolbar{margin-bottom:0}.page-heading{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--page-title-chrome-gap);margin-bottom:var(--page-title-content-gap)}.meal-settings-page .page-heading{align-items:flex-start}.meal-settings-page .page-heading>.primary-button,.library-page .page-heading>.primary-button{flex:0 0 auto;width:auto;white-space:nowrap}.panel-heading{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--library-row-rule)}.panel-heading>div:first-child{min-width:0;margin:0;padding:0}.panel-heading h2{font-family:var(--font-sans);font-size:var(--type-subtitle);font-weight:500;line-height:1.3;color:var(--graphite);margin:0}.day-heading-actions{flex:0 0 auto;width:auto;flex-wrap:nowrap;justify-content:flex-end;gap:0}.day-heading-actions .day-heading-icon-button{box-sizing:border-box;width:var(--control-min-size);height:var(--control-min-size);display:inline-grid;place-items:center;margin:0;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--graphite);cursor:pointer}.day-heading-actions .day-heading-icon-button:hover:not(:disabled){background:var(--fog);color:var(--deep-green)}.day-heading-actions .day-heading-icon-button--danger:hover:not(:disabled){background:transparent;color:var(--color-text-destructive-hover)}.day-heading-actions .day-heading-icon-button:disabled{opacity:.38;cursor:not-allowed}.day-strip-viewport,.day-panel-viewport{width:100%;max-width:100%;overflow:hidden;touch-action:pan-y;contain:inline-size}.day-strip-viewport{margin-bottom:var(--space-5)}.day-strip-track,.day-panel-track{display:flex;will-change:transform}.day-strip-viewport .day-strip,.day-panel-track>.day-panel-pane{margin-bottom:0;min-width:0;box-sizing:border-box}.day-strip-viewport .day-strip--peer .day-button{pointer-events:none;display:grid;place-items:center}.day-panel-pane--peer{pointer-events:none;-webkit-user-select:none;user-select:none}.day-panel .meal-content,.day-panel .meal-content strong{font-size:.875rem;font-weight:500;line-height:1.4;-webkit-text-size-adjust:100%;text-size-adjust:100%}.day-empty-intro .empty-state-illustration,.day-panel-pane .plan-empty-state .empty-state-illustration{width:120px;max-width:min(120px,42%);max-height:96px;margin-inline:auto}.day-strip{width:100%;margin-right:0;margin-inline:0;padding-inline:0;padding-right:0;gap:0;margin-bottom:var(--space-5);overflow-x:visible;scrollbar-width:none;-ms-overflow-style:none}.day-strip::-webkit-scrollbar{display:none}.day-button{min-width:0;width:100%;min-height:60px;border:0;border-radius:0;background:transparent;box-shadow:none;padding:var(--space-1) 2px;gap:var(--space-1)}.day-button:hover{border-color:transparent;background:transparent}.day-button span{font-size:.75rem;line-height:1.2;font-weight:400}.day-button strong{font-size:var(--type-body);font-weight:500;line-height:1.2}.day-button .day-progress{width:70%;max-width:36px;min-width:22px}.day-button.is-active{border:0;background:transparent;box-shadow:none}.day-button.is-active span{color:var(--deep-green)}.day-button.is-active strong{width:28px;height:28px;font-size:var(--type-ui);line-height:28px;font-weight:600}.day-button.is-today:not(.is-active){border:0;box-shadow:none}.day-button.is-today:not(.is-active) strong{width:28px;height:28px;font-size:var(--type-ui);line-height:28px}.day-panel.panel{padding:var(--space-3);touch-action:pan-y}.meal-list{border-top:0}.meal-row{border-bottom:1px solid var(--library-row-rule)}.meal-row:last-child{border-bottom:0}.meal-content{padding:4px 0;min-height:44px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.meal-content:hover{background:transparent}@media(hover:hover)and (pointer:fine){.meal-content:hover{background:var(--fog)}}.meal-row{grid-template-columns:6.75rem minmax(0,1fr) 44px;min-height:60px;gap:var(--space-3)}.meal-row.is-empty{grid-template-columns:minmax(0,1fr);min-height:0;padding-block:var(--space-1)}.meal-time{font-size:var(--type-body);font-weight:400;color:var(--muted);min-width:0;align-self:center}.meal-time span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:break-word}.calendar-empty-state{border-style:solid}.month-calendar{border-radius:8px;padding:8px}.month-day{min-height:54px;border-radius:6px}.food-card{border-radius:8px}.profile-card{padding:var(--space-5)}.profile-card-layout{gap:var(--space-5)}.profile-avatar,.profile-avatar--lg{width:72px;height:72px;flex-basis:72px;font-size:var(--type-title)}.profile-action-card{padding:var(--space-5)}.profile-legal-block{margin-top:var(--space-4)}html,body{overflow-x:clip;max-width:100%;overscroll-behavior-x:none}#root{overflow-x:clip;max-width:100%}.meal-settings-page,.meal-settings-list,.meal-setting-row,.meal-editor,.food-picker-field,.section-page,.dish-module.dish-view-page{max-width:100%;min-width:0}input:not([type=checkbox]):not([type=radio]),textarea,select,.custom-select-trigger,.custom-select-trigger span,.food-picker-trigger,.food-picker-trigger>span,.recipe-step-tip-input,.food-editor-form input:not([type=checkbox]):not([type=radio]),.food-editor-form .custom-select-trigger,.meal-editor input:not([type=checkbox]):not([type=radio]),.meal-name-field--editor input,.add-meal-name-field input,.food-picker-search input,.library-page .search-field input,.library-toolbar .search-field input:not([type=checkbox]):not([type=radio]),.library-module .library-toolbar .search-field input:not([type=checkbox]):not([type=radio]),.menus-search .search-field input:not([type=checkbox]):not([type=radio]),.search-field input:not([type=checkbox]):not([type=radio]),.auth-card form input:not([type=checkbox]):not([type=radio]),.profile-name-input,.menu-pick-search input:not([type=checkbox]):not([type=radio]){font-size:var(--field-font-size)}.library-table{min-width:0}.library-table-wrap{max-width:100%;contain:inline-size;scrollbar-width:thin;overflow-x:clip;overflow-y:clip}.day-actions-popover{position:fixed;top:auto;right:10px;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:10px;width:auto}.meal-menu-tip{width:min(240px,calc(100% - 92px))}.week-table .meal-actions-menu .meal-menu-tip{width:min(220px,calc(100vw - 96px))}.day-panel .meal-row:has(.meal-menu-tip){z-index:8;overflow:visible}.day-panel .meal-actions-menu .meal-menu-tip{top:calc(100% + 8px);right:0;left:auto;width:min(260px,calc(100vw - 48px));transform:none}.day-panel .meal-actions-menu .meal-menu-tip:after{top:-5px;right:12px;left:auto;transform:rotate(-45deg);box-shadow:-2px -2px 6px #1a1a1a0d}.calendar-scrim{display:block;position:fixed;z-index:79;inset:0;background:#1f232847;pointer-events:none}.calendar-popover{width:min(360px,calc(100% - 24px));max-height:min(520px,calc(100dvh - 88px));border-radius:12px;padding:14px}.calendar-popover-footer{bottom:-14px;margin:12px -14px -14px;padding:12px 14px 14px}.calendar-popover-header{margin-bottom:var(--space-5);gap:var(--space-3)}.calendar-nav{width:var(--control-min-size);height:var(--control-min-size)}.calendar-nav .ui-icon,.calendar-nav svg{width:20px;height:20px}.calendar-weekdays{margin-bottom:var(--space-2)}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{min-height:var(--control-min-size);padding:2px 0 10px}.calendar-day-number{width:40px;height:40px;font-size:var(--type-body)}.calendar-day-dot{width:5px;height:5px;bottom:2px}}@media(max-width:520px){.week-toolbar-titlebar{flex-wrap:wrap;align-items:center;row-gap:var(--space-3)}.week-toolbar-titlebar h1{flex:1 1 100%;max-width:100%}.week-toolbar .toolbar-actions{flex:0 0 auto;margin-left:auto}}@media(max-width:440px){:root{--page-title-size: clamp(1.375rem, 3.8vw + .55rem, 1.75rem);--page-title-line-height: 1.2;--page-title-weight: 400;--library-tile-columns: 1}.library-filters-sheet-body{grid-template-columns:1fr}.meal-priority-groups.is-single .meal-priority-options{grid-template-columns:1fr;row-gap:var(--space-1)}.meal-priority-fields:has(.meal-priority-group-hint) legend.meal-priority-title{margin-bottom:var(--space-2)}.add-meal-name-field,.add-meal-form .meal-priority-fields{margin-bottom:var(--space-5)}.add-meal-actions{padding-top:var(--space-5)}.food-tag-groups-stack{gap:var(--space-5);padding:var(--space-4)}.food-tag-group{gap:var(--space-4)}.food-tag-groups-stack:not(.dish-edit-category-cols) .food-tag-group:first-child .food-tag-options,.dish-edit-category-cols .food-tag-group--mealtime .food-tag-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--chip-wrap-gap)}.food-tag-groups-stack:not(.dish-edit-category-cols) .food-tag-group:first-child .food-tag-options .food-tag-chip,.dish-edit-category-cols .food-tag-group--mealtime .food-tag-options .food-tag-chip{width:100%;min-width:0;justify-content:flex-start}.week-toolbar{margin-bottom:var(--page-title-content-gap)}.week-module .week-toolbar{margin-bottom:0}.week-page-skeleton .week-toolbar-titlebar{display:none}.week-chrome{display:block;margin:0}.week-chrome-titlebar{display:flex;align-items:center;gap:0;height:var(--control-min-size)}.week-chrome-scrub{display:flex;align-items:center;min-width:0;flex:0 1 auto}.week-chrome-nav,.week-chrome-calendar,.week-chrome .week-menu-trigger{box-sizing:border-box;height:var(--control-min-size);display:inline-grid;place-items:center;margin:0;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--graphite);cursor:pointer;line-height:0;transform:translateY(5px)}.week-chrome-nav{flex:0 0 auto;width:28px;min-width:28px}.week-chrome-calendar,.week-chrome .week-menu-trigger{flex:0 0 var(--control-min-size);width:var(--control-min-size);min-width:var(--control-min-size)}.week-chrome-nav .ui-icon,.week-chrome-nav svg,.week-chrome-calendar .ui-icon,.week-chrome-calendar svg,.week-chrome .week-menu-trigger{display:block}.week-chrome-nav--prev{margin-inline-start:calc(-1 * var(--space-2))}@media(hover:hover)and (pointer:fine){.week-chrome-nav:hover,.week-chrome-calendar:hover,.week-chrome .week-menu-trigger:hover{background:var(--fog);color:var(--deep-green)}}.week-chrome-nav:active,.week-chrome-calendar:active,.week-chrome .week-menu-trigger:active{background:var(--fog);color:var(--deep-green)}.week-chrome-nav[data-just-pressed],.week-chrome-nav[data-just-pressed]:hover,.week-chrome-nav[data-just-pressed]:active{background:transparent;color:var(--graphite)}.week-chrome-calendar.is-active,.week-chrome .week-menu-trigger[aria-expanded=true]{background:var(--mint);color:var(--deep-green)}.week-chrome-trailing{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-1);margin-left:auto;height:var(--control-min-size)}.week-chrome-today{flex:0 0 auto;box-sizing:border-box;min-height:var(--control-min-size);height:var(--control-min-size);margin:0;padding:0 8px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--graphite);font-size:var(--button-font-size);font-weight:500;line-height:1;white-space:nowrap;transform:translateY(5px);box-shadow:none;transition:color var(--motion-fast) var(--ease-out)}.week-chrome-today:active{background:transparent;color:var(--deep-green)}@media(hover:hover)and (pointer:fine){.week-chrome-today:hover{background:transparent;color:var(--deep-green)}}@media(hover:none),(pointer:coarse){.tertiary-button.week-chrome-today:hover{background:transparent;color:var(--graphite)}}.week-chrome-today[data-just-pressed],.week-chrome-today[data-just-pressed]:hover,.week-chrome-today[data-just-pressed]:active{background:transparent;color:var(--graphite)}.week-chrome .week-menu{display:inline-flex;flex:0 0 auto;align-items:center;height:var(--control-min-size)}.week-chrome-range{flex:0 1 auto;box-sizing:border-box;display:flex;align-items:center;width:auto;min-width:0;max-width:100%;height:var(--control-min-size);margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--graphite);font-family:var(--font-display);font-size:var(--page-title-size);font-weight:var(--page-title-weight);line-height:1;letter-spacing:-.015em;text-align:left;cursor:pointer}.week-chrome-range span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;line-height:1}.week-chrome-range:hover,.week-chrome-range.is-active{color:var(--deep-green)}.meal-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"slot menu" "body menu";column-gap:var(--space-2);row-gap:2px;align-items:start;min-height:0;padding-block:var(--space-2)}.meal-time{grid-area:slot;max-width:none;font-size:var(--type-ui);font-weight:400;line-height:1.35}.meal-time span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;text-overflow:unset}.meal-content{grid-area:body;min-height:40px;padding:0;align-self:stretch}.meal-actions-menu{grid-area:menu;align-self:center}.meal-row.is-empty{grid-template-columns:minmax(0,1fr);grid-template-areas:"body";padding-block:var(--space-1)}.meal-row.is-empty .meal-content{grid-area:body;min-height:44px;padding:0}.day-strip{margin-right:0;padding-right:0;gap:0}.day-button{min-width:0;min-height:56px}.library-page .page-heading,.meal-settings-page .page-heading{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:var(--space-5)}.library-page .page-heading h1,.meal-settings-page .page-heading h1,.profile-page .page-heading h1{letter-spacing:-.015em}.library-page{--library-sticky-chrome: calc( var(--space-5) + var(--page-eyebrow-line-height) + var(--page-eyebrow-title-gap) + var(--page-title-line-height) + var(--space-5) + var(--button-min-height) + var(--page-title-content-gap) );--library-sort-width: 6.75rem}.library-page .page-heading>div,.meal-settings-page .page-heading>div{min-width:0}.library-page .page-heading>.primary-button,.meal-settings-page .page-heading>.primary-button{width:100%;margin-top:0;transform:none;padding-inline:var(--space-3);white-space:nowrap}.library-toolbar .library-sort .custom-select-trigger{padding-inline:2.25rem 1.5rem}.library-toolbar.is-filters-open .library-toolbar-primary,.library-toolbar.is-filters-open .library-toolbar-primary:has(.library-filter-field--meal){flex-wrap:wrap}.library-toolbar.is-filters-open .library-filter-field--category,.library-toolbar.is-filters-open .library-filter-field--meal,.library-toolbar.is-filters-open .library-filter-field--effort,.library-toolbar.is-filters-open .library-filter-field--time{flex:1 1 calc(50% - var(--space-2));min-width:calc(50% - var(--space-2))}.library-toolbar.is-filters-open .library-filter-panel-reset{flex:1 1 100%;justify-content:flex-end}.library-toolbar .library-filter-field .custom-select-trigger span,.library-toolbar .library-sort .custom-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-col-time,.library-col-effort,.library-table thead th:nth-child(3),.library-table thead th:nth-child(4),.library-time-cell,.library-effort-cell{display:none}.library-item-facts{display:block;margin-top:var(--library-name-facts-gap);color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.25rem}.library-item-category+.library-item-facts{margin-top:var(--library-category-facts-gap)}.library-table th,.library-table td{padding-inline:12px}.library-table th:first-child,.library-table td:first-child{padding-left:var(--library-table-edge)}.library-col-favorite,.library-table th:last-child,.library-table td:last-child{width:64px;max-width:64px;padding-left:8px;padding-right:var(--library-table-edge)}.library-phone-row{grid-template-columns:minmax(0,1fr) 64px;padding-right:var(--library-table-edge)}.library-phone-row-time,.library-phone-row-effort{display:none}.day-panel{padding:var(--space-4) var(--space-3)}}@media(max-width:679px){:root{--library-table-edge: 0px}.app-shell{background:var(--white)}.app-shell>main{background-color:var(--white);background-image:none}.week-module,.settings-module,.profile-module{display:contents}.library-module,.dish-module{display:flex;flex-direction:column;min-width:0;border:0;border-radius:0;box-shadow:none;background:transparent}.dish-module,.dish-module.dish-view-page{padding-inline:0}.dish-module.dish-view-page{padding-top:0}.library-module .page-heading{background:var(--white)}.library-module .page-heading,.settings-module .page-heading,.week-module .week-toolbar{padding-inline:0;padding-top:0}.library-module .page-heading{padding-top:var(--space-5);margin-top:calc(-1 * var(--space-5))}.library-module .library-toolbar{padding-inline:0}.library-module .library-options{margin-inline:0}.library-module .week-table-empty,.library-module .panel.week-table-empty{padding-inline:0}.settings-module .add-meal-section{margin-inline:0}.settings-module .meal-settings-list,.week-module .mobile-day-view,.profile-module{padding-inline:0}.profile-module>.profile-heading,.profile-module>.profile-card,.profile-module>.profile-appearance-card,.profile-module>.profile-achievements-card,.profile-module>.profile-actions,.profile-module>.profile-legal-block{max-width:var(--profile-column-max)}}@media(max-width:679px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){:root{--pairing-options-max-height: min(18rem, 40dvh);--pairing-selected-max-height: 9rem}.modal-backdrop{align-items:end;justify-items:stretch;padding:0}.modal-backdrop.path-modal-backdrop{align-items:end;padding:0}.path-modal-backdrop .path-modal-dialog{width:100%;max-width:none;max-height:92dvh;margin:0;align-self:end;justify-self:stretch;border:0;border-radius:var(--space-4) var(--space-4) 0 0;box-shadow:0 -10px 36px #1a1a1a1a}.path-modal-backdrop .path-modal-dialog.is-detail{height:auto;max-height:92dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-self:end;justify-self:stretch;margin:0;min-height:0;overflow:hidden;padding:var(--space-2) var(--space-4) max(var(--space-5),env(safe-area-inset-bottom,0px));border-radius:var(--space-4) var(--space-4) 0 0;background:var(--page-canvas)}.meal-editor,.confirm-dialog,.delete-account-dialog,.library-filters-sheet,.dish-ingredients-sheet,.recipe-import-action-sheet,.recipe-import-url-sheet{width:100%;max-width:none;max-height:92dvh;align-self:end;justify-self:stretch;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:var(--space-4) var(--space-4) 0 0;box-shadow:0 -10px 36px #1a1a1a1a;padding:var(--space-5) var(--space-5) 0;padding-bottom:0}.create-menu-close{top:calc(var(--space-5) + var(--editor-close-eyebrow-nudge))}.meal-editor:not(.food-editor) .editor-footer{padding-bottom:max(var(--space-5),env(safe-area-inset-bottom,0px))}.meal-editor.food-editor{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.meal-editor.food-editor .food-editor-actions{width:100%;padding-bottom:max(var(--space-5),env(safe-area-inset-bottom,0px))}.confirm-dialog.menu-day-dialog,.confirm-dialog.menu-pick-dialog,.confirm-dialog.share-sheet-dialog{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.confirm-dialog.menu-pick-dialog{height:92dvh;max-height:92dvh}.menu-day-dialog-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.menu-day-dialog-footer.confirm-actions{flex:0 0 auto;margin-top:auto}.menu-pick-dialog{width:100%;max-width:none;max-height:92dvh}.menu-pick-layout{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;margin-bottom:var(--space-4)}.menu-pick-actions{flex:0 0 auto;padding-bottom:max(var(--space-4),env(safe-area-inset-bottom,0px))}.library-filters-sheet{display:flex;flex-direction:column;overflow:hidden;padding:var(--space-5) var(--space-5) 0}.library-filters-sheet-footer{padding-bottom:max(var(--space-5),env(safe-area-inset-bottom,0px))}.dish-ingredients-sheet{display:flex;flex-direction:column;overflow:hidden;padding:var(--space-5) var(--space-5) 0}.dish-ingredients-sheet-footer{padding-bottom:max(var(--space-5),env(safe-area-inset-bottom,0px))}.confirm-dialog .confirm-actions,.confirm-dialog .duplicate-actions,.delete-account-dialog .confirm-actions{padding-bottom:max(var(--space-4),env(safe-area-inset-bottom,0px))}.meal-conflict-dialog .confirm-actions,.confirm-actions{gap:var(--space-2)}.confirm-actions>.primary-button,.confirm-actions>.danger-button,.confirm-actions>.tertiary-button{min-width:0}.meal-conflict-dialog .confirm-actions>.primary-button,.meal-conflict-dialog .confirm-actions>.danger-button{white-space:normal;text-wrap:balance;line-height:1.25;padding-inline:var(--space-3)}.food-picker-backdrop{padding:0;overflow:hidden}.food-picker-dialog{width:100%;max-width:100%;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;overflow:hidden}.food-picker-dialog-body{max-height:100dvh;height:100dvh;max-width:100%;min-width:0;border-radius:0;overflow-x:hidden}.food-picker-header{padding-top:max(var(--space-5),env(safe-area-inset-top,0px));padding-inline:var(--space-4)}.food-picker-search{padding:.85rem var(--space-4) var(--space-4)}.food-picker-dialog-body>.search-layout-suggestion{padding-inline:var(--space-4)}.food-picker-tabs{margin-inline:var(--space-4)}.food-picker-category-hint{padding-inline:var(--space-4)}.food-picker-category-chips{display:flex;flex-wrap:nowrap;align-items:stretch;gap:var(--space-2);box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:var(--space-2) var(--space-4) 0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none}.food-picker-category-chips::-webkit-scrollbar{display:none}.food-picker-category-chips .food-picker-filter-chip{width:auto;flex:0 0 auto;min-width:max-content;min-height:var(--chip-min-height);height:auto;padding:8px 12px;white-space:nowrap;justify-content:center}.food-picker-category-chips .food-picker-filter-chip--with-icon{justify-content:flex-start;padding-inline:10px 12px;gap:6px}.food-picker-category-chips .food-picker-filter-chip-icon,.food-picker-category-chips .food-picker-filter-chip-icon .food-category-icon{width:18px;height:18px}.food-picker-category-chips .food-picker-filter-chip-label{flex:0 1 auto;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal}.food-picker-category-block+.food-picker-selected{margin-top:var(--space-3)}.food-picker-selected,.food-picker-create-inline{margin-inline:var(--space-4)}.food-picker-search-hint{padding-inline:var(--space-4)}.food-picker-kind-filter{margin:.45rem var(--space-4) 0}.food-picker-sections{gap:1.2rem;padding:var(--space-5) var(--space-4) max(var(--space-4),env(safe-area-inset-bottom,0px))}.food-picker-dialog.has-create-footer .food-picker-sections{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}.food-picker-confirm-footer .primary-button{min-width:0;flex:1 1 auto}.food-picker-create-footer{padding-inline:var(--space-4);padding-bottom:max(var(--space-5),env(safe-area-inset-bottom,0px));border-radius:0}.food-picker-options{grid-template-columns:1fr}.food-picker-options button{min-height:66px}.food-picker-options strong{font-size:var(--type-ui)}.food-picker-empty{padding:var(--space-7) var(--space-4) var(--space-5)}.meal-editor:not(.food-editor) .editor-footer .editor-actions,.editor-footer .editor-actions,.editor-actions{flex-direction:column-reverse;align-items:stretch;justify-content:flex-start;gap:var(--space-3)}.editor-actions-end{display:grid;grid-template-columns:1fr 1fr;margin-left:0;width:100%}.editor-actions-end:has(>:only-child),.editor-actions-end:not(:has(.tertiary-button)){grid-template-columns:1fr}.editor-actions-end .disabled-action-wrap,.editor-actions-end .tertiary-button,.editor-actions-end .primary-button{width:100%}.menu-delete-action{max-width:none;width:100%;align-items:center}.menu-delete-action .meal-delete-text-button{margin-inline-start:0;justify-content:center;text-align:center}.food-editor .food-editor-actions .editor-actions-end{width:100%}}.nav-label-mobile{display:none}@media(max-width:900px){.nav-label-desktop{display:none}.nav-label-mobile{display:inline}.main-nav a{padding-inline:6px;min-width:0;flex:1 1 0}}.menus-module{display:flex;flex-direction:column;min-width:0}@media(min-width:901px){.menus-module{background:var(--week-panel-surface);border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);box-shadow:var(--week-panel-shadow);padding:var(--space-5);gap:var(--space-4)}}.create-menu-dialog{position:relative;width:min(100%,28rem);max-width:28rem;text-align:left}.create-menu-close{position:absolute;top:calc(var(--space-6) + var(--editor-close-eyebrow-nudge));right:var(--space-3);z-index:1}.create-menu-dialog>.eyebrow{margin:0 0 var(--page-eyebrow-title-gap);padding-inline-end:var(--space-7);text-align:left}.create-menu-dialog>h2{margin:0 0 var(--space-2);padding-inline-end:var(--space-7);text-align:left;font-weight:500}.confirm-dialog.create-menu-dialog>p.create-menu-lead{margin:0 0 var(--space-4);max-width:none;width:100%;text-align:left;color:var(--graphite);font-size:var(--type-body);font-weight:400;line-height:1.5}.create-menu-dialog .confirm-actions:has(>:only-child){display:flex;justify-content:flex-end;grid-template-columns:none}.create-menu-type-list{display:flex;flex-direction:column;gap:var(--space-2)}.create-menu-type-option{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-3);width:100%;margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--week-grid-outer);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out)}.create-menu-type-option .food-picker-radio{flex:0 0 auto;margin-top:.2em}.create-menu-type-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0}@media(hover:hover)and (pointer:fine){.create-menu-type-option:hover{border-color:var(--deep-green);background:var(--week-hover-tint)}}.create-menu-type-option.is-selected{border-color:color-mix(in srgb,var(--deep-green) 22%,transparent);background:var(--week-hover-tint)}.create-menu-type-option.is-selected .food-picker-radio{border-color:var(--deep-green);box-shadow:inset 0 0 0 5px var(--deep-green)}.create-menu-type-label{font-size:var(--type-ui);font-weight:500;line-height:1.3;color:var(--graphite)}.create-menu-type-hint{font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--muted)}.create-menu-form{display:flex;flex-direction:column;gap:var(--form-stack-gap);margin-top:var(--space-4)}@media(min-width:901px){.menus-module .page-heading{margin-bottom:0}}.menus-heading{align-items:flex-end;flex-wrap:wrap}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.app-shell:has(.menus-page){background:var(--white)}.app-shell:has(.menus-page)>main{background-color:var(--white);background-image:none}.menus-module{display:contents}.menus-module .page-heading{margin-bottom:var(--page-title-content-gap);padding-inline:0;padding-top:0}.menus-page .menus-toolbar{margin-bottom:var(--space-3)}}.menus-heading-chrome{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:0}.menus-create-anchor{position:relative;z-index:12;flex:0 0 auto}.menus-create-tip{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:12;width:min(20rem,calc(100vw - 2 * var(--main-padding-inline, 24px)));margin:0;pointer-events:auto}.menus-create-tip>.empty-mark{margin:var(--space-3) var(--space-2) var(--space-3) var(--space-3)}.menus-create-tip .hint-card-body{padding:var(--space-3)}.menus-create-tip .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.menus-create-tip .hint-close{width:32px;height:32px}.menus-filters{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1);box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none}.menus-filters::-webkit-scrollbar{display:none}.menus-filters .food-picker-filter-chip{width:auto;flex:0 0 auto;min-width:max-content;height:var(--button-min-height);min-height:var(--button-min-height);padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--button-radius);background:transparent;color:var(--graphite);font-size:var(--button-font-size);font-weight:500;line-height:1.25;white-space:nowrap;transition:color var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out)}.menus-filters .food-picker-filter-chip:hover{border-color:transparent;background:var(--fog);color:var(--graphite)}.menus-filters .food-picker-filter-chip:active{background:var(--fog)}.menus-filters .food-picker-filter-chip.is-selected{border-color:transparent;background:transparent;color:var(--deep-green);font-weight:600}.menus-filters .food-picker-filter-chip.is-selected:hover{border-color:transparent;background:var(--fog);color:var(--deep-green)}.menus-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-width:0}.menus-toolbar .menus-filters{flex:1 1 100%}.menus-search{display:block;flex:1 1 16rem;width:auto;max-width:100%;min-width:0}.menus-search .search-field{position:relative;display:block;width:100%;max-width:none;min-width:0;margin:0}.menus-search .search-field input:not([type=checkbox]):not([type=radio]){box-sizing:border-box;width:100%;height:var(--button-min-height);min-height:var(--button-min-height);padding:0 12px 0 2.5rem;border-radius:var(--button-radius);font-size:var(--field-font-size);font-weight:500;background-color:var(--color-bg-field)}.menus-filters .menus-favorite-chip{display:inline-flex;align-items:center;gap:.4rem;width:auto;min-width:max-content;padding-inline:var(--space-2);flex:0 0 auto;font-weight:500}.menus-filters .menus-favorite-chip .library-favorite-chip-icon{color:currentColor}.menus-filters .menus-favorite-chip.is-selected,.menus-filters .menus-favorite-chip.is-active{background:transparent;color:var(--graphite)}.menus-filters .menus-favorite-chip.is-selected:hover,.menus-filters .menus-favorite-chip.is-active:hover{background:var(--fog)}.menus-week-filter-label--short{display:none}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.menus-week-filter-label--full{display:none}.menus-week-filter-label--short{display:inline}.menus-filters .menus-favorite-chip{width:var(--button-min-height);min-width:var(--button-min-height);padding-inline:0;gap:0;justify-content:center}.menus-filters .menus-favorite-chip .library-favorite-chip-label{display:none}}.menus-filters .menus-favorite-chip.is-selected .library-favorite-chip-icon,.menus-filters .menus-favorite-chip.is-active .library-favorite-chip-icon{color:var(--brand-accent-strong)}.menu-favorite:disabled{cursor:wait}.menus-status{color:var(--muted);margin:0}.menus-list{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.menus-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-2);min-height:0;padding:var(--space-2) var(--space-4);border:1px solid var(--menus-card-border);border-radius:var(--menus-card-radius);background:var(--menus-card-bg);transition:border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out)}.menus-list-row--meal{padding-block:var(--space-2)}.menus-list-row:hover,.menus-list-row:has(.menus-list-row-main:focus-visible),.menus-list-row:has(.menu-card-menu-trigger[aria-expanded=true]){border-color:var(--deep-green);box-shadow:none}.menus-list-row-main{display:grid;grid-template-columns:minmax(8.5rem,.35fr) auto minmax(0,.65fr);align-items:start;column-gap:var(--space-4);row-gap:var(--space-3);min-width:0;margin:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}@media(min-width:901px){.menus-list-row--meal .menus-list-row-main{align-items:start}}.menus-list-row-main:focus{outline:none}.menus-list-row-main:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.menus-list-row-heading{display:grid;justify-items:start;gap:var(--space-2);min-width:0}.menus-list-row-heading .menus-list-row-meta{margin:0}.menus-list-row--meal .menus-list-row-heading{gap:var(--space-1)}.ui-meta-badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:1px 6px;border:0;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--menu-type-week-bg) 42%,var(--white));color:var(--menu-type-week-fg);font-family:var(--font-sans);font-size:var(--type-eyebrow);font-weight:500;line-height:1.15;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;vertical-align:middle}.ui-meta-badge--week{background:color-mix(in srgb,var(--menu-type-week-bg) 42%,var(--white));color:var(--menu-type-week-fg)}.ui-meta-badge--day{background:color-mix(in srgb,var(--menu-type-day-bg) 42%,var(--white));color:var(--menu-type-day-fg)}.ui-meta-badge--meal{background:color-mix(in srgb,var(--menu-type-meal-bg) 42%,var(--white));color:var(--menu-type-meal-fg)}.menus-list-type-badge{margin-bottom:var(--space-1)}.menus-list-row--meal .menus-list-type-badge{margin-bottom:0}.menus-list-row-heading h2{margin:0;font-family:var(--font-display);font-size:var(--type-subtitle);font-weight:600;line-height:1.3;letter-spacing:0;color:var(--graphite);overflow-wrap:anywhere}.menus-list-row--meal .menus-list-row-heading h2{font-size:var(--type-body);font-weight:600;line-height:1.3}.menus-list-row-meta{margin:0;font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--graphite)}.menus-list-row-divider{width:1px;align-self:stretch;margin-block:var(--space-2);min-height:2.5rem;background:color-mix(in srgb,var(--week-grid-hline) 70%,transparent)}.menus-list-row--meal .menus-list-row-divider{margin-block:var(--space-2)}.menus-list-row-preview{min-width:0;justify-self:start;width:100%}.menus-list-row-preview--week{display:flex;flex-direction:column;gap:var(--space-3);max-width:18rem}.menus-list-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1);box-sizing:border-box;width:100%;max-width:100%}.menus-list-week-day{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-width:0;min-height:44px;margin:0;padding:var(--space-1) 0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;cursor:default;appearance:none;-webkit-appearance:none}.menus-list-week-day-label{font-size:var(--type-micro);font-weight:500;line-height:1.2}.menus-list-week-day-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--color-border-strong)}.menus-list-week-day.is-filled{color:var(--graphite);cursor:pointer}.menus-list-week-day.is-filled:hover:not(.is-preview){color:var(--graphite);background:var(--week-hover-tint);box-shadow:none}.menus-list-week-day.is-filled .menus-list-week-day-dot{background:var(--deep-green)}.menus-list-week-day.is-preview{color:var(--deep-green);background:transparent;box-shadow:inset 0 0 0 1px var(--deep-green)}.menus-list-week-day.is-preview .menus-list-week-day-dot{background:var(--deep-green)}.menus-list-week-day:disabled{cursor:default;opacity:1}.menus-list-week-day:focus-visible{outline:2px solid var(--deep-green);outline-offset:2px}.menus-list-week-day-preview{--menus-list-week-row-h: calc(var(--type-ui) * 1.35);--menus-list-week-more-h: calc(var(--type-ui) * 1.3);display:flex;flex-direction:column;gap:var(--space-1);min-width:0;min-height:calc((2 * var(--menus-list-week-row-h) + var(--space-1)) + var(--space-1) + var(--menus-list-week-more-h))}.menus-list-week-day-preview .menus-list-meal-rows{min-height:calc(2 * var(--menus-list-week-row-h) + var(--space-1))}.menus-list-week-day-preview .menus-list-meal-row{min-height:var(--menus-list-week-row-h)}.menus-list-week-day-preview .menus-list-meal-dishes{-webkit-line-clamp:1}.menus-list-week-day-preview .menus-list-preview-more{margin:0;min-height:var(--menus-list-week-more-h)}.menus-list-week-day-preview-empty{margin:0;min-height:calc(2 * var(--menus-list-week-row-h) + var(--space-1));font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--muted)}.menus-list-meal-rows,.menus-list-dish-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.menus-list-meal-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr);column-gap:var(--space-2);align-items:baseline;min-width:0}.menus-list-meal-label{font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menus-list-meal-dishes,.menus-list-dish-lines li{margin:0;font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--graphite);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.menus-list-row-preview--meal .menus-list-dish-lines li{-webkit-line-clamp:1}.menus-list-preview-more{margin:var(--space-1) 0 0;font-size:var(--type-ui);font-weight:500;line-height:1.3;color:var(--muted)}.menus-list-row-actions{display:flex;flex-direction:row;flex-shrink:0;align-items:center;gap:0;margin-top:calc(-1 * var(--space-1));margin-inline-end:calc(-1 * var(--space-2))}.menus-list-row-actions .menu-card-menu,.menus-list-row-actions .menu-favorite{flex-shrink:0}.menus-list-row .menu-card-menu-trigger{margin:0}@media(max-width:900px){.menus-list-row{position:relative;display:block;padding:var(--space-2) var(--space-4)}.menus-list-row--meal{padding-block:var(--space-2)}.menus-list-row-actions{position:absolute;top:var(--space-1);right:var(--space-2);margin:0;z-index:2}.menus-list-row-main,.menus-list-row--meal .menus-list-row-main{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;max-width:none;min-width:0;row-gap:0;gap:var(--space-4);text-align:left}.menus-list-row-preview--week{gap:var(--space-3)}.menus-list-row-divider{display:none}.menus-list-row-preview,.menus-list-row-preview--week{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;min-width:0}.menus-list-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:none;min-width:0;gap:var(--space-2)}.menus-list-week-day{width:100%;min-width:0;min-height:44px;padding:var(--space-1)}.menus-list-week-day-label{font-size:var(--type-ui)}.menus-list-row-heading{width:100%;justify-items:start;gap:var(--space-1);padding-inline-end:calc(2 * var(--control-min-size))}.menus-list-row-preview--meal,.menus-list-row-preview--day{width:100%;max-width:none;min-width:0;text-align:left}}@media(min-width:901px){.menus-list-week-strip{max-width:15rem}.menus-list-row-preview--day,.menus-list-row-preview--meal{max-width:22rem}}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.menu-preview{padding-bottom:calc(var(--button-min-height) + var(--space-3) + var(--space-4))}.menu-preview-footer{position:fixed;z-index:9;left:0;right:0;bottom:var(--phone-tab-bar-height);box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:var(--space-3) max(var(--main-padding-inline),env(safe-area-inset-right,0px)) var(--space-3) max(var(--main-padding-inline),env(safe-area-inset-left,0px));background:var(--white);border-top:1px solid var(--library-row-rule)}.menu-preview-footer .primary-button{display:flex;width:100%;max-width:none;box-sizing:border-box}}@media(max-width:440px){.menus-heading,.menus-heading--with-action{flex-direction:column;align-items:stretch;gap:var(--space-5)}.menus-heading-chrome{margin-top:0;justify-content:flex-start;width:100%}.menus-create-anchor{width:100%}.menus-create-anchor>.primary-button{width:100%}.menus-create-tip{left:0;right:0;width:auto;max-width:none}.menu-preview-heading{flex-wrap:nowrap;align-items:flex-start;gap:var(--space-3)}.menu-preview-heading-copy{min-width:0}.menu-preview-heading-chrome{margin-top:calc(var(--page-eyebrow-line-height) + var(--page-eyebrow-title-gap))}.menu-preview-edit.tertiary-button{padding-inline:var(--space-2)}.menus-list-meal-row{grid-template-columns:minmax(0,1fr);row-gap:var(--space-1)}.menus-list-meal-label{white-space:normal}}.menu-card-menu-trigger{flex-shrink:0;width:44px;height:44px;border:0;background:transparent;box-shadow:none}.menu-meal-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.menu-meal-lines li{display:grid;gap:var(--space-1);min-width:0}.menu-meal-lines-label{font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--muted)}.menu-meal-lines-dishes{font-size:var(--type-ui);font-weight:500;line-height:1.4;color:var(--graphite);overflow-wrap:anywhere}.menu-meal-lines--preview{gap:var(--space-4)}.menu-day-dialog{width:min(100%,32rem);max-width:32rem;display:flex;flex-direction:column;gap:var(--space-4);text-align:left}.menu-day-dialog .menu-preview-meta{display:block;width:100%;margin:var(--space-2) 0 0;max-width:none;text-align:left;color:var(--muted);font-size:var(--type-ui);line-height:1.4;font-weight:400}.menu-day-dialog-body .menu-meal-lines{text-align:left}.menu-day-dialog-footer.confirm-actions{grid-template-columns:1fr}.apply-menu-target-dialog{position:relative;width:min(100%,28rem);max-width:28rem}.apply-menu-target-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1}.apply-menu-target-dialog>h2{margin-bottom:var(--space-2);padding-inline:var(--space-7);text-align:center}.apply-menu-target-dialog>.apply-menu-target-lead{margin:0 auto var(--space-4);max-width:320px;text-align:center;color:var(--graphite);font-size:var(--type-body);line-height:1.5;font-weight:400}.apply-menu-target-form{display:flex;flex-direction:column;gap:var(--form-stack-gap);text-align:left}.apply-menu-calendar-field{gap:var(--form-label-gap)}.apply-menu-calendar{box-sizing:border-box;padding:var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white)}.apply-menu-calendar .calendar-popover-header{margin-bottom:var(--space-2);gap:var(--space-2)}.apply-menu-calendar .calendar-nav{width:36px;height:36px}.apply-menu-calendar .calendar-nav .ui-icon,.apply-menu-calendar .calendar-nav svg{width:18px;height:18px}.apply-menu-calendar .calendar-weekdays{margin-bottom:var(--space-1)}.apply-menu-calendar .calendar-weekdays,.apply-menu-calendar .calendar-grid{gap:2px}.apply-menu-calendar .calendar-grid{min-height:calc((6 * var(--control-min-size)) + (5 * 2px))}.apply-menu-calendar .calendar-day{min-height:var(--control-min-size);padding:0;justify-content:center}.apply-menu-calendar .calendar-day-number{width:36px;height:36px;font-size:var(--type-ui)}.apply-menu-calendar .calendar-day.is-in-range:not(.is-selected) .calendar-day-number{background:var(--chip-selected-bg);color:var(--deep-green)}.apply-menu-calendar .calendar-day.is-in-range:hover:not(:disabled):not(.is-selected) .calendar-day-number{background:var(--chip-selected-bg-hover)}.menu-day-dialog-header{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2)}.menu-day-dialog-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.menu-day-dialog-back.page-back-link{align-self:flex-start;margin:calc(-1 * var(--space-1)) 0 0 calc(-1 * var(--space-2))}.menu-day-dialog-heading{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:stretch}.menu-day-dialog-heading h2{margin:0;font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;color:var(--graphite);overflow-wrap:anywhere}.menu-day-dialog-heading .eyebrow{margin:0 0 var(--page-eyebrow-title-gap);max-width:none;font-size:var(--page-eyebrow-size);line-height:var(--page-eyebrow-line-height);letter-spacing:.08em;font-weight:500;color:var(--color-text-placeholder);text-transform:uppercase}.menu-day-dialog-chrome{display:flex;flex-shrink:0;align-items:center;gap:var(--space-1);margin:var(--editor-close-eyebrow-nudge) calc(-1 * var(--space-1)) 0 0}.menu-day-dialog-chrome .menu-card-menu-trigger{margin:0}.menu-day-dialog-body{min-height:0;overflow:auto}.menu-day-dialog-footer{margin-top:0}.menu-day-dialog-footer .primary-button{width:100%}.menu-week-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.menu-week-tab{box-sizing:border-box;min-height:var(--chip-min-height);padding:var(--chip-padding-y) var(--chip-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--chip-radius);background:var(--white);color:var(--graphite);font:inherit;font-size:var(--chip-font-size);font-weight:var(--chip-font-weight);line-height:var(--chip-line-height);cursor:pointer;transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.menu-week-tab:hover:not(:disabled){border-color:var(--color-border-hover)}.menu-week-tab.is-active{border-color:var(--deep-green);background:var(--chip-selected-bg);color:var(--deep-green)}.menu-week-tab.is-empty,.menu-week-tab:disabled{opacity:.45;cursor:not-allowed}.menu-preview-header{display:flex;justify-content:flex-start;gap:var(--space-3);flex-wrap:wrap;align-items:center;margin:0}.menu-preview-header .menu-preview-back.page-back-link{margin-bottom:var(--space-3)}.menu-preview-heading{align-items:flex-start;gap:var(--page-title-chrome-gap);margin-top:0}.menu-preview--week>.menu-preview-heading{margin-bottom:0}.menu-preview-heading-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;min-width:0}.menu-preview-heading-copy .eyebrow{margin:0 0 var(--page-eyebrow-title-gap)}.menu-preview-heading-copy h1{margin:0}.menu-preview-heading-chrome{display:flex;flex-shrink:0;align-items:center;gap:var(--space-1);margin-top:calc(var(--page-eyebrow-line-height) + var(--page-eyebrow-title-gap))}.menu-preview-edit.tertiary-button{flex-shrink:0}.menu-preview-meta,.menu-preview-description{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.menu-week-progress{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-3);max-width:18rem}.menu-week-progress .menu-preview-meta{margin:0;font-size:var(--type-eyebrow);font-weight:500;letter-spacing:.02em;color:var(--color-text-placeholder)}.menu-week-progress-track{height:2px;border-radius:999px;background:var(--library-row-rule);overflow:hidden}.menu-week-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--deep-green)}.menu-week-layout{display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--space-5);row-gap:var(--space-4);align-items:start;margin-top:var(--space-4)}.menu-week-days{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.menu-preview--week>.menu-week-layout>.menu-preview-footer{grid-column:1;grid-row:2;margin-top:0;width:100%;min-width:0}.menu-preview--week>.menu-week-layout>.menu-preview-footer .primary-button{width:100%;max-width:none}.menu-week-panel{grid-column:2;grid-row:1 / -1}.menu-week-day-rail{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;row-gap:var(--space-1);align-items:center;width:100%;min-height:0;margin:0;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;color:var(--graphite);font:inherit;text-align:left;cursor:pointer;position:relative;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.menu-week-day-rail:hover:not(.is-active){border-color:transparent;background:var(--week-row-scan-hover)}}.menu-week-day-rail.is-active{background:var(--week-day-tint, color-mix(in srgb, var(--deep-green) 5.5%, var(--white)));color:var(--graphite);border-color:transparent}.menu-week-day-rail.is-active:hover{background:var(--week-day-tint, color-mix(in srgb, var(--deep-green) 5.5%, var(--white)));border-color:transparent}.menu-meal-lines-dishes--empty{color:var(--muted)}.menu-week-day-rail-label{grid-column:1;grid-row:1;min-width:0;font-size:var(--type-body);font-weight:500;line-height:1.3;letter-spacing:-.01em}.menu-week-day-rail-short{display:none}.menu-week-day-rail-meta{grid-column:1;grid-row:2;font-size:var(--type-eyebrow);font-weight:400;line-height:1.35;letter-spacing:.01em;color:var(--color-text-placeholder)}.menu-week-panel{position:relative;min-width:0;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--white);box-shadow:none}.menu-preview--week:not(.is-editing) .menu-week-panel:before{content:"";position:absolute;top:0;left:50%;z-index:1;width:3.75rem;height:2.75rem;transform:translate(-50%,-50%);background-color:var(--white);background-image:url(/menu-slot-ornament.png);background-repeat:no-repeat;background-position:center;background-size:contain;pointer-events:none}.menu-week-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.menu-week-panel-heading{min-width:0}.menu-week-panel-heading h2{margin:0;font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;color:var(--graphite)}.menu-week-panel-heading .menu-preview-meta{margin-top:var(--space-1)}.menu-week-day-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.menu-week-day-empty .menus-status{margin:0}.menu-week-day-empty .tertiary-button{margin-inline-start:calc(-1 * var(--button-padding-x))}.menu-meal-blocks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.menu-meal-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white)}.menu-preview--week:not(.is-editing) .menu-meal-blocks,.menu-day-dialog:not(.is-editing) .menu-meal-blocks{gap:0}.menu-preview--week:not(.is-editing) .menu-meal-block,.menu-day-dialog:not(.is-editing) .menu-meal-block{grid-template-columns:minmax(0,1fr);padding:var(--space-4) 0;border:0;border-radius:0;background:transparent;box-shadow:none;border-top:1px solid var(--library-row-rule)}.menu-preview--week:not(.is-editing) .menu-meal-block:first-child,.menu-day-dialog:not(.is-editing) .menu-meal-block:first-child{border-top:0;padding-top:0}.menu-preview--week:not(.is-editing) .menu-meal-block:last-child,.menu-day-dialog:not(.is-editing) .menu-meal-block:last-child{padding-bottom:0}.menu-preview--week:not(.is-editing) .menu-meal-block-copy,.menu-day-dialog:not(.is-editing) .menu-meal-block-copy{display:grid;grid-template-columns:minmax(5.5rem,7.5rem) minmax(0,1fr);column-gap:var(--space-5);row-gap:var(--space-1);align-items:baseline}.menu-preview--week:not(.is-editing) .menu-meal-lines-label,.menu-day-dialog:not(.is-editing) .menu-meal-lines-label{font-size:var(--type-eyebrow);font-weight:400;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.menu-preview--week:not(.is-editing) .menu-meal-lines-dishes:not(.menu-meal-lines-dishes--empty),.menu-day-dialog:not(.is-editing) .menu-meal-lines-dishes:not(.menu-meal-lines-dishes--empty){font-family:var(--font-display);font-size:var(--type-body);font-weight:500;line-height:1.4;color:var(--graphite)}@media(max-width:900px){.menu-preview--week:not(.is-editing) .menu-week-panel:before{display:none}}@media(max-width:679px){.menu-preview--week:not(.is-editing) .menu-meal-block-copy,.menu-day-dialog:not(.is-editing) .menu-meal-block-copy{grid-template-columns:minmax(0,1fr);row-gap:var(--space-1)}}.menu-meal-block--action{padding:0;overflow:hidden}.menu-meal-block-hit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;margin:0;padding:var(--space-4);border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out)}.menu-meal-block-hit:disabled{cursor:not-allowed;opacity:.55}.menu-meal-block-hit:focus-visible{outline:2px solid var(--deep-green);outline-offset:-2px}@media(hover:hover)and (pointer:fine){.menu-meal-block-hit:hover:not(:disabled){background:var(--week-hover-tint)}.menu-meal-block-hit:hover:not(:disabled) .menu-meal-replace{color:var(--deep-green)}}.menu-meal-block-copy{display:grid;gap:var(--space-1);min-width:0}.menu-meal-replace{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-min-height);padding:var(--button-padding-y) var(--button-padding-x);color:var(--graphite);font-size:var(--button-font-size);font-weight:var(--button-font-weight);line-height:1.2;white-space:nowrap;pointer-events:none}.menu-meal-replace-chevron{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;color:var(--muted);pointer-events:none}.menu-preview-body{display:flex;flex-direction:column;gap:var(--space-4)}.menu-preview--meal .menu-meal-dish-panel,.menu-preview--day .menu-meal-blocks{margin-top:var(--space-4)}.menu-preview--day .menu-meal-blocks,.menu-day-dialog.is-editing .menu-meal-blocks{width:100%}.menu-preview-footer{margin-top:var(--space-5)}.menu-preview-footer .primary-button{width:100%;max-width:20rem}@media(max-width:900px){.menu-week-layout{grid-template-columns:1fr;grid-template-rows:none;gap:var(--space-4)}.menu-week-days{grid-column:1;grid-row:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2);overflow:visible;padding-bottom:0}.menu-week-panel{grid-column:1;grid-row:auto}.menu-preview--week>.menu-week-layout>.menu-preview-footer{grid-column:1;grid-row:auto}.menu-week-day-rail{width:auto;min-width:0;min-height:44px;grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;row-gap:var(--space-1);padding:var(--space-1) 0;box-shadow:none}.menu-week-day-rail.is-active{box-shadow:none;border-color:var(--deep-green);padding-left:0}.menu-week-day-rail-label{text-align:center;font-size:var(--type-ui)}.menu-week-day-rail-short{display:inline}.menu-week-day-rail-full,.menu-week-day-rail-meta{display:none}.menu-week-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.menu-meal-replace{display:none}.menu-meal-replace-chevron{display:inline-flex}.menu-preview-footer .primary-button{max-width:none}}.menu-pick-dialog{position:relative;display:flex;flex-direction:column;width:min(100%,52rem);max-width:52rem;max-height:calc(100dvh - 2 * var(--modal-viewport-inset));text-align:left;padding:var(--space-6);overflow:hidden;--menu-pick-row-h: calc(var(--type-ui) * 1.35);--menu-pick-more-h: calc(var(--type-ui) * 1.3);--menu-pick-meals-h: calc( (3 * var(--menu-pick-row-h)) + (2 * var(--space-1)) + var(--space-1) + var(--menu-pick-more-h) );--menu-pick-strip-h: 44px;--menu-pick-preview-body-h: var(--menu-pick-meals-h)}.menu-pick-dialog--week{--menu-pick-preview-body-h: calc( var(--menu-pick-strip-h) + var(--space-2) + var(--menu-pick-meals-h) )}.menu-pick-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1}.menu-pick-dialog>h2{flex:0 0 auto;margin:0 0 var(--space-3);padding-inline-end:var(--space-7);text-align:left}.menu-pick-status{flex:0 0 auto;margin:0 0 var(--space-4);text-align:center;color:var(--graphite);font-size:var(--type-body);line-height:1.5}.menu-pick-layout{display:grid;grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);gap:var(--space-5);flex:1 1 auto;min-height:0;margin-bottom:var(--space-5)}.menu-pick-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding-inline-end:var(--space-4);border-inline-end:1px solid var(--library-row-rule)}.menu-pick-sidebar-label{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-5);font-size:var(--type-eyebrow);font-weight:500;line-height:1.25;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-placeholder)}.menu-pick-search{position:relative;display:block;flex:0 0 auto;width:100%;margin:0 0 var(--space-3)}.menu-pick-search input:not([type=checkbox]):not([type=radio]){box-sizing:border-box;width:100%;min-height:var(--button-min-height);height:var(--button-min-height);padding:0 12px 0 2.25rem;font-size:var(--field-font-size);font-weight:500;background-color:var(--color-bg-field)}.menu-pick-filters{flex:0 0 auto;margin:0 0 var(--space-3)}.confirm-dialog p.menu-pick-list-empty{margin-inline:0;max-width:none;text-align:left;color:var(--muted)}.menu-pick-list-empty{margin:var(--space-3) 0 0;padding:0 var(--space-1);font-size:var(--type-ui);font-weight:400;line-height:1.4;color:var(--muted);text-align:left}.menu-pick-empty{display:grid;place-items:center;flex:1 1 auto;min-height:12rem;padding:var(--space-5) var(--space-4);overflow:auto;overscroll-behavior:contain}.menu-pick-dialog>.menu-pick-empty{margin-bottom:var(--space-4)}.menu-pick-layout.is-empty{grid-template-columns:1fr}.menu-pick-layout.is-empty .menu-pick-sidebar{flex:0 0 auto;border-inline-end:0;border-bottom:1px solid var(--library-row-rule);padding-inline-end:0;padding-bottom:var(--space-3);max-height:none}.menu-pick-layout.is-empty .menu-pick-empty{min-height:16rem}.menu-pick-empty-state{padding:var(--space-5) var(--space-4)}.menu-pick-dialog .plan-empty-state p{margin:0;max-width:280px;color:var(--graphite);font-size:var(--type-body);line-height:1.5;font-weight:400;text-align:center}.menu-pick-list{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;margin:0}.menu-pick-item{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.menu-pick-item:hover{background:var(--week-hover-tint)}.menu-pick-item.is-selected{background:var(--week-hover-tint);border-color:color-mix(in srgb,var(--deep-green) 22%,transparent)}.menu-pick-item.is-selected:hover{background:color-mix(in srgb,var(--deep-green) 12%,transparent)}.menu-pick-item.is-selected .food-picker-radio{border-color:var(--deep-green);box-shadow:inset 0 0 0 5px var(--deep-green)}.menu-pick-item-main{display:flex;flex:1 1 auto;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-width:0}.menu-pick-item-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0;flex:1 1 auto}.menu-pick-item-main .menus-list-type-badge{flex:0 0 auto;margin-top:2px}.menu-pick-item strong{font-size:var(--type-ui);font-weight:500;line-height:1.35;color:var(--graphite);overflow-wrap:anywhere}.menu-pick-item-copy>span{font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--muted)}.menu-pick-preview{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding-top:calc(var(--type-eyebrow) * 1.25 + var(--space-5))}.menu-pick-preview-heading{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start}.menu-pick-preview-title{margin:0;font-family:var(--font-sans);font-size:var(--type-comfort);font-weight:600;line-height:1.3;color:var(--graphite)}.menu-pick-preview-meta{margin:var(--space-1) 0 0;max-width:none;font-size:var(--type-ui);font-weight:400;line-height:1.35;color:var(--muted);text-align:left}.menu-pick-preview-body{flex:0 0 auto;min-width:0;min-height:var(--menu-pick-preview-body-h)}.menu-pick-open-menus{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2);margin-top:0;margin-inline-start:calc(-1 * var(--button-padding-x));align-self:flex-start}.menu-pick-open-menus-icon{flex:0 0 auto;color:currentColor}.menu-pick-preview-body .menus-list-row-preview--week{min-height:var(--menu-pick-preview-body-h)}.menu-pick-preview-body .menus-list-week-day-preview{min-height:var(--menu-pick-meals-h)}.menu-pick-preview-body .menus-list-week-day-preview .menus-list-meal-rows,.menu-pick-preview-body .menus-list-row-preview--day .menus-list-meal-rows,.menu-pick-preview-body .menus-list-row-preview--meal .menus-list-dish-lines{min-height:calc((3 * var(--menu-pick-row-h)) + (2 * var(--space-1)))}.menu-pick-preview-body .menus-list-row-preview--day,.menu-pick-preview-body .menus-list-row-preview--meal{min-height:var(--menu-pick-meals-h)}.menu-pick-dialog .menu-pick-preview-body .menus-list-preview-more{display:block;width:100%;max-width:none;min-height:var(--menu-pick-more-h);margin:var(--space-1) 0 0;text-align:left;color:var(--muted);font-size:var(--type-ui);font-weight:500;line-height:1.35}.menu-pick-preview-body .menus-list-week-day-preview-empty{min-height:calc((3 * var(--menu-pick-row-h)) + (2 * var(--space-1)));max-width:none;margin:0;text-align:left}.menu-pick-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-3);width:100%;max-width:none;margin-top:auto;margin-inline:0;grid-template-columns:none}.menu-pick-actions>.primary-button,.menu-pick-actions>.tertiary-button{width:auto;max-width:none}@media(min-width:680px)and (max-width:900px){.menu-pick-dialog{width:min(100%,28rem);max-width:28rem;padding:var(--space-5);overflow-y:auto}.menu-pick-dialog>h2{margin-bottom:var(--space-2)}.menu-pick-layout{grid-template-columns:1fr;gap:var(--space-2);margin-bottom:var(--space-3)}.menu-pick-sidebar{padding-inline-end:0;border-inline-end:0;border-bottom:1px solid var(--library-row-rule);padding-bottom:var(--space-2);max-height:min(24rem,54dvh)}.menu-pick-sidebar-label{margin-bottom:var(--space-3)}.menu-pick-preview{flex:0 0 auto;padding-top:0;gap:var(--space-2);min-height:calc(var(--menu-pick-preview-body-h) + var(--space-2) + var(--button-min-height));max-height:none;overflow:visible}.menu-pick-preview-heading{display:none}.menu-pick-preview-body .menus-list-row-preview--week{gap:var(--space-2)}.menu-pick-preview-body .menus-list-meal-row{grid-template-columns:4.5rem minmax(0,1fr)}.menu-pick-open-menus{margin-top:0}}@media(max-width:679px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.confirm-dialog.menu-pick-dialog{width:100%;max-width:none;height:92dvh;max-height:92dvh;padding:var(--space-5) var(--space-5) 0;overflow:hidden;border-radius:var(--space-4) var(--space-4) 0 0}.menu-pick-dialog>h2{margin-bottom:var(--space-2)}.menu-pick-layout{grid-template-columns:1fr;gap:var(--space-2);margin-bottom:var(--space-3);flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.menu-pick-sidebar{padding-inline-end:0;border-inline-end:0;border-bottom:1px solid var(--library-row-rule);padding-bottom:var(--space-2);max-height:none}.menu-pick-sidebar-label{margin-bottom:var(--space-3)}.menu-pick-preview{flex:0 0 auto;padding-top:0;gap:var(--space-2);min-height:calc(var(--menu-pick-preview-body-h) + var(--space-2) + var(--button-min-height));max-height:none;overflow:visible}.menu-pick-preview-heading{display:none}.menu-pick-preview-body .menus-list-row-preview--week{gap:var(--space-2)}.menu-pick-preview-body .menus-list-meal-row{grid-template-columns:4.5rem minmax(0,1fr)}.menu-pick-open-menus{margin-top:0}.menu-pick-actions{flex:0 0 auto;padding-bottom:max(var(--space-4),env(safe-area-inset-bottom,0px))}}.field-hint{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--type-ui)}.form-stack{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4))}.recipe-create-modes{margin:0 var(--space-6) var(--space-4)}.recipe-create-modes .recipe-mode-switch{margin:0}.recipe-editor,.recipe-editor-empty{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-editor--embedded{gap:0}.recipe-editor-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);text-align:left;cursor:pointer}.recipe-editor-summary-copy{display:flex;flex-direction:column;gap:var(--space-1)}.recipe-editor-summary-title{font-weight:500;color:var(--graphite)}.recipe-editor-summary-sub{color:var(--muted);font-size:var(--type-ui)}.recipe-editor-chevron{color:var(--muted);transition:transform var(--motion-ui) var(--ease-out)}.recipe-editor.is-open .recipe-editor-chevron{transform:rotate(180deg)}.recipe-editor-body{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-2)}.recipe-editor-body--compose{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);column-gap:var(--space-6);align-items:start;padding-top:0;min-width:0;max-width:100%}.recipe-compose-side,.recipe-compose-main{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.recipe-compose-side{padding-inline-end:var(--space-6);border-inline-end:1px solid var(--color-border-default)}.recipe-compose-facts{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.recipe-compose-main .recipe-servings-field .recipe-servings-stepper{width:max-content;max-width:100%}.recipe-compose-main .recipe-steps-block,.recipe-compose-side .recipe-compose-facts{padding-top:var(--space-5);border-top:1px solid color-mix(in srgb,var(--color-border-default) 70%,transparent)}.recipe-servings-inline{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-3);min-height:var(--button-min-height, 44px);max-width:100%}.recipe-servings-inline .field-label{margin:0;flex:0 0 auto}.recipe-servings-inline .recipe-servings-stepper{flex:0 0 auto;gap:var(--space-2)}.recipe-editor-empty-text{margin:0;color:var(--muted)}.recipe-editor-empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-photo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:12rem;width:100%;margin:0;aspect-ratio:1 / 1;max-height:18rem;padding:var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-nest, var(--fog));color:var(--graphite);font:inherit;cursor:pointer;text-align:center;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.recipe-photo-dropzone:disabled{cursor:not-allowed;opacity:.7}.recipe-photo-dropzone:hover{border-color:var(--deep-green);background:var(--mint);color:var(--deep-green)}.recipe-photo-dropzone-icon{display:inline-flex;color:var(--deep-green)}.recipe-photo-dropzone strong{max-width:16rem;font-size:var(--type-ui);font-weight:500;line-height:1.35}.recipe-photo-dropzone span{color:var(--muted);font-size:var(--type-ui);font-weight:400}.recipe-photo-dropzone:hover span{color:var(--deep-green)}.recipe-photo-preview{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-photo-preview img,.recipe-view-photo img{display:block;width:100%;max-height:280px;object-fit:cover;border-radius:var(--radius-md);background:var(--fog)}.recipe-view-illustration{display:grid;place-items:center;margin:0 0 var(--space-4);background:transparent}.recipe-view-illustration img{display:block;width:min(100%,18rem);height:auto;object-fit:contain;background:transparent}.recipe-photo-actions,.recipe-photo-mobile-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-editor-block{display:flex;flex-direction:column;gap:var(--form-label-gap, var(--space-1));min-width:0}.recipe-section-heading{display:flex;flex-direction:column;gap:var(--form-label-gap, var(--space-1))}.recipe-section-heading .field-label{font-size:1rem;font-weight:500;color:var(--graphite)}.recipe-section-heading .recipe-structure-add-anchor{margin-top:0}.recipe-section-heading .recipe-structure-add.tertiary-button{min-height:var(--control-min-size)}.recipe-section-heading .field-hint{margin:0}.recipe-section-heading .recipe-rename-field{margin-top:var(--space-1)}.recipe-meta-row.two-columns{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.recipe-servings-field{max-width:none}.recipe-servings-input{width:6.5rem;max-width:100%;text-align:center;font-variant-numeric:tabular-nums}.recipe-servings-field .field-hint{max-width:22rem}.recipe-equipment-field .custom-select{width:100%}.recipe-ingredients-block,.recipe-steps-block{gap:var(--space-3)}.recipe-photo-field{gap:var(--form-label-gap, var(--space-1))}.recipe-ingredient-rows{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;border:0;background:transparent}.recipe-list-add.secondary-button{align-self:flex-start;width:auto;justify-content:center;margin-top:var(--space-1)}.recipe-ingredient-row{display:grid;grid-template-columns:44px minmax(0,1fr) 5.5rem 6.5rem auto;gap:var(--space-2);align-items:center}.recipe-ingredient-row>.recipe-row-remove{justify-self:start}.recipe-ingredient-unit{min-width:0;width:100%}.recipe-ingredient-unit .custom-select-trigger{width:100%;padding-inline:var(--space-2) var(--space-2);font-variant-numeric:tabular-nums}.recipe-ingredient-row--head{padding:0 var(--space-3);color:var(--muted);font-size:var(--type-ui);font-weight:500}.recipe-ingredient-row--head span:last-child{width:44px}.recipe-ingredient-card{padding:0;border:0;border-radius:0;background:transparent}.recipe-ingredient-card input{background:var(--white)}.recipe-ingredient-name-field{min-width:0}.recipe-ingredient-name-field .recipe-ingredient-name{width:100%}@media(max-width:440px){.recipe-ingredient-card{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"remove namelabel actions" "remove name name" ". qtylabel unitlabel" ". qty unit"}.recipe-ingredient-card>.recipe-row-remove{grid-area:remove;align-self:start}.recipe-ingredient-card>.recipe-mobile-field-label:not(.recipe-mobile-field-label--qty):not(.recipe-mobile-field-label--unit){grid-area:namelabel}.recipe-ingredient-card>input.recipe-ingredient-name,.recipe-ingredient-card>.recipe-ingredient-name-field{grid-area:name}.recipe-ingredient-card>.recipe-mobile-field-label--qty{grid-area:qtylabel}.recipe-ingredient-card>input.recipe-ingredient-qty{grid-area:qty}.recipe-ingredient-card>.recipe-mobile-field-label--unit{grid-area:unitlabel}.recipe-ingredient-card>.recipe-ingredient-unit{grid-area:unit}.recipe-ingredient-card>.recipe-row-actions{grid-area:actions}.recipe-ingredient-row--head{display:none}.recipe-mobile-field-label{display:block;margin:0}}.recipe-row-actions{display:flex;align-items:center;justify-content:flex-end}.recipe-row-remove.icon-button{border:0;background:transparent;box-shadow:none;color:var(--muted);transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.recipe-row-remove.icon-button:hover,.recipe-row-remove.icon-button:active{border:0;background:var(--fog);color:var(--graphite)}.recipe-row-remove.icon-button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.recipe-step-rows,.recipe-step-timeline{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none;border:0;background:transparent}.recipe-step-timeline{position:relative;padding-left:0}.recipe-step-row{display:grid;grid-template-columns:44px 2rem minmax(0,1fr) 44px;gap:var(--space-3);align-items:start;position:relative}.recipe-step-toolbar{display:contents}.recipe-step-heading{display:none}.recipe-step-toolbar>.recipe-row-remove{grid-column:1;grid-row:1;margin-top:var(--space-1)}.recipe-step-toolbar>.recipe-row-actions{flex-direction:column;align-items:center;gap:var(--space-1);grid-column:4;grid-row:1}.recipe-step-main{display:flex;flex-direction:column;gap:var(--space-2);grid-column:3;grid-row:1;min-width:0}.recipe-step-body-row{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.recipe-step-timeline .recipe-step-row:not(:last-child):before{content:"";position:absolute;left:calc(44px + var(--space-3) + .9375rem);top:2rem;bottom:calc(var(--space-3) * -1);width:1px;background:var(--color-border-default)}.recipe-step-index{position:relative;z-index:1;grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-top:var(--space-3);border-radius:999px;border:1px solid color-mix(in srgb,var(--deep-green) 22%,var(--white));background:var(--mint);color:var(--deep-green);font-size:var(--type-ui);font-weight:600;line-height:1;box-shadow:0 0 0 3px var(--white)}.recipe-step-input{min-height:5.5rem;resize:vertical;margin:0}.recipe-ingredient-card .field-error,.recipe-step-main .field-error{grid-column:1 / -1;margin-top:var(--space-1)}.content-filter-toast{z-index:60}.recipe-step-tip-add.tertiary-button{align-self:flex-start;min-height:var(--control-min-size);padding-inline:0;margin-inline-start:0;font-weight:600}.recipe-step-tip{display:flex;flex-direction:column;gap:var(--form-label-gap, var(--space-1))}.recipe-step-tip .field-label{margin:0}.recipe-step-tip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.recipe-step-tip-input{min-height:4rem;resize:vertical;margin:0;font-size:var(--field-font-size);font-weight:400}.recipe-step-tip-row>.recipe-row-remove{margin-top:var(--space-1)}.recipe-step-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:start;padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);transition:border-color var(--motion-fast) var(--ease-out)}.recipe-step-card:focus-within{border-color:var(--deep-green)}.recipe-step-card textarea{min-height:4.5rem;resize:vertical;border:0;background:transparent;padding:var(--space-1) 0}.recipe-step-card textarea:focus{outline:none;box-shadow:none}@media(max-width:679px){.recipe-create-modes{margin-inline:var(--space-4)}.recipe-ingredient-rows,.recipe-step-rows{gap:var(--space-3)}.recipe-list-add.secondary-button{align-self:stretch;width:100%;justify-content:center}}@media(max-width:900px){.recipe-step-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:100%;max-width:100%;padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);transition:border-color var(--motion-fast) var(--ease-out)}.recipe-step-row:focus-within{border-color:var(--deep-green)}.recipe-step-toolbar{display:flex;align-items:center;min-height:44px;width:100%;gap:0}.recipe-step-toolbar>.recipe-row-actions{display:contents;flex-direction:row;grid-column:auto}.recipe-step-toolbar>.recipe-row-remove{margin-top:0;order:0}.recipe-step-heading{display:block;flex:1 1 auto;min-width:0;order:1;font-size:var(--type-ui);font-weight:500;line-height:1.4;color:var(--graphite)}.recipe-step-toolbar .recipe-block-menu{order:2;flex:0 0 auto}.recipe-step-toolbar .recipe-drag-handle{order:3;flex:0 0 auto}.recipe-step-index{display:none}.recipe-step-main{width:100%}.recipe-step-input{width:100%;min-height:6.5rem}.recipe-step-timeline .recipe-step-row:not(:last-child):before{content:none}}.recipe-import-panel{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4))}.recipe-import-action-sheet,.recipe-import-url-sheet{display:flex;flex-direction:column;gap:var(--space-4);width:min(430px,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-5);border:1px solid var(--week-grid-outer);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--modal-panel-shadow);text-align:left}.recipe-import-action-sheet-title{margin:0;font-size:1.125rem;font-weight:600;line-height:1.3;color:var(--graphite);text-align:center}.recipe-import-action-sheet-lead{margin:calc(var(--space-1) * -1) 0 0;color:var(--muted);font-size:var(--type-ui);line-height:1.4;text-align:center}.recipe-import-action-sheet-options{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-import-action-sheet-option{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--button-min-height, 44px);padding:var(--button-padding-block, 8px) var(--space-4);border:0;border-radius:var(--radius-md);background:var(--fog);color:var(--deep-green);font-size:var(--type-ui);font-weight:500;cursor:pointer;text-align:center;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}label.dish-recipe-way{cursor:pointer}.recipe-import-action-sheet-option:hover,.recipe-import-action-sheet-option:focus-visible{background:var(--mint);color:var(--deep-green);outline:none}.recipe-import-action-sheet-cancel{width:100%;justify-content:center;margin-top:var(--space-1)}.recipe-import-url-sheet{padding:var(--space-5)}.recipe-import-url-sheet .recipe-import-panel{gap:var(--form-stack-gap, var(--space-4))}.recipe-import-url-sheet .recipe-import-card--url{gap:var(--space-4);padding:0;border:0;border-radius:0;background:transparent}.recipe-import-footer{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-default)}.recipe-import-lead{margin:0;color:var(--graphite)}.recipe-import-lead-row{display:flex;align-items:center;gap:var(--space-3)}.recipe-import-lead-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--mint);color:var(--deep-green)}.recipe-import-lead-mark .ui-icon{display:block}.recipe-import-fail{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.recipe-import-fail .form-group-error{margin:0;max-width:none}.recipe-import-fail-exits{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}.recipe-import-fail-exits .tertiary-button{padding-inline:0;justify-content:flex-start}.recipe-import-caption{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;min-width:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.recipe-import-caption .ui-icon{flex:0 0 auto;color:var(--muted)}.recipe-import-clear{align-self:flex-end;margin-top:calc(var(--space-2) - var(--space-5))}.recipe-import-card .field-error+.recipe-import-clear{margin-top:calc(var(--space-1) - var(--space-5))}.recipe-import-clear+.recipe-import-footer{margin-top:calc(var(--space-2) - var(--space-5))}.recipe-import-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-2);margin-inline-start:auto}.recipe-import-files{margin:0;padding-left:1.25rem;color:var(--muted)}.recipe-import-thumbs{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0;padding:0;list-style:none}.recipe-import-thumb{position:relative;display:grid;gap:var(--space-1);width:5.5rem;min-width:0}.recipe-import-thumb-image{display:block;width:5.5rem;height:5.5rem;object-fit:cover;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--fog)}.recipe-import-thumb-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--graphite);font-size:var(--type-micro);font-weight:500;line-height:1.35}.recipe-import-thumb-remove{position:absolute;top:calc(-1 * var(--space-1));right:calc(-1 * var(--space-1));display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;margin:0;padding:0;border:1px solid var(--color-border-default);border-radius:999px;background:var(--white);color:var(--graphite);box-shadow:var(--shadow-float);cursor:pointer}.recipe-import-thumb-remove:hover:not(:disabled){color:var(--deep-green);border-color:var(--deep-green)}.recipe-import-thumb-remove:disabled{cursor:not-allowed;opacity:.55}.recipe-import-thumb-remove .close-icon{width:14px;height:14px}.library-recipe-mark{flex:0 0 auto;display:inline-flex;align-items:center;align-self:center;color:color-mix(in srgb,var(--deep-green) 38%,var(--muted));line-height:0;pointer-events:none}.library-recipe-mark .ui-icon{display:block}.recipe-view-body{display:flex;flex-direction:column;gap:var(--space-4)}.recipe-view-name{margin:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:1.5rem;font-weight:600;line-height:1.25;color:var(--graphite)}.recipe-view-tags,.recipe-view-meta,.recipe-view-status{margin:0;color:var(--muted)}.recipe-view-equipment{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-view-equipment-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--mint);color:var(--deep-green);font-size:var(--type-ui);font-weight:500}.recipe-servings-control{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-servings-stepper{display:flex;align-items:center;gap:var(--space-3)}.recipe-servings-value,.recipe-servings-input{min-width:7rem;text-align:center;font-weight:500}.recipe-view-section h4{margin:0 0 var(--space-3);font-size:1rem;font-weight:500;color:var(--graphite)}.recipe-view-ingredients,.recipe-view-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-view-ingredients li{display:grid;grid-template-columns:minmax(6.875rem,8.125rem) minmax(0,1fr);column-gap:var(--space-5);align-items:center;font-size:var(--type-body)}.recipe-view-amount{font-family:var(--font-display);font-size:inherit;font-weight:400;letter-spacing:0;line-height:1.35;text-align:left}.recipe-view-steps{list-style:decimal;padding-left:1.25rem;gap:var(--space-3)}.recipe-view-source-url{display:inline-block;margin:0;color:var(--deep-green);word-break:break-word;text-decoration:underline;text-underline-offset:2px}.recipe-view-source-url:hover{color:var(--deep-green)}.dish-view-page,.dish-edit-page{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;max-width:100%}.dish-module.dish-view-page{gap:0;padding:var(--space-5);padding-bottom:var(--space-6);min-width:0;max-width:100%;overflow-x:clip;overflow-y:visible;--dish-photo-mat-bg: color-mix(in srgb, var(--page-canvas) 60%, var(--white))}.dish-module.dish-view-page.is-no-recipe .dish-view-top{overflow:visible}.dish-view-toolbar,.dish-edit-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.dish-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0}.dish-view-toolbar .page-back-link{margin-inline-start:0;margin-bottom:var(--space-3)}.dish-view-toolbar .dish-view-header-actions{flex:0 0 auto;margin:0 0 var(--space-3);align-self:center}.dish-view-top{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-5);row-gap:var(--space-5);align-items:start;min-width:0;max-width:100%}.dish-view-top--with-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-6);grid-template-areas:"header actions" "meta meta" "desc media"}.dish-view-top--with-media .dish-view-header{grid-area:header;min-width:0}.dish-view-top--with-media>.dish-view-meta-row{grid-area:meta;min-width:0;margin-top:calc(var(--space-2) - var(--space-5))}.dish-view-top--with-media .dish-view-header-actions{grid-area:actions}.dish-view-top--with-media .dish-view-description,.dish-view-top--with-media .dish-view-description-block,.dish-view-top--with-media .dish-view-desc-empty{grid-area:desc}.dish-view-top--with-media .dish-view-media{grid-area:media}.dish-view-top--with-media .dish-view-status,.dish-view-top--with-media .dish-view-status-error{grid-column:1 / -1}.dish-view-top--with-media.dish-view-top--no-recipe,.dish-view-top--with-media.dish-view-top--no-recipe:not(.dish-view-top--with-desc),.dish-view-top--with-media.dish-view-top--no-recipe.dish-view-top--with-desc{grid-template-columns:minmax(0,min(28rem,46%)) minmax(0,1fr);column-gap:var(--space-5);row-gap:var(--space-4);grid-template-areas:"header media";margin-bottom:var(--space-5)}.dish-view-top--no-recipe .dish-view-header .dish-view-meta-row{width:100%;margin:0;align-self:flex-start}.dish-view-top--no-recipe .dish-view-header{grid-area:header;max-width:28rem}.dish-view-top--no-recipe .dish-view-media{grid-area:media;justify-self:start;align-self:start;margin-top:calc(var(--page-eyebrow-line-height) + var(--page-eyebrow-title-gap));margin-inline-start:8%;width:auto;max-width:min(92%,36rem);overflow:visible}.dish-view-top--no-recipe .dish-view-description{margin-top:var(--space-5)}.dish-view-top--no-recipe .dish-view-status,.dish-view-top--no-recipe .dish-view-status-error{grid-column:1 / -1}.dish-view-header.page-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;margin:0;max-width:32rem}.dish-view-header .eyebrow{margin:0 0 var(--page-eyebrow-title-gap)}.dish-view-header.page-heading .dish-view-title{margin:0 0 var(--space-2);min-width:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--page-title-size, 2.25rem);font-weight:var(--page-title-weight, 500);line-height:var(--page-title-line-height, 42px);color:var(--graphite)}.dish-view-header.page-heading .dish-view-meta-line{margin-top:0;margin-bottom:0}.dish-view-meta-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%;max-width:100%;align-self:stretch;margin:0 0 var(--space-3);min-width:0}@media(min-width:680px)and (max-width:900px){.dish-view-top--with-media:not(.dish-view-top--no-recipe)>.dish-view-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:var(--space-3);width:100%;margin:calc(var(--space-2) - var(--space-5) - var(--space-1)) 0 var(--space-3)}.dish-view-top--with-media:not(.dish-view-top--no-recipe)>.dish-view-meta-row .dish-view-meta-line{grid-column:1;width:auto;max-width:none;min-width:0;margin:0;align-self:end}.dish-view-top--with-media:not(.dish-view-top--no-recipe)>.dish-view-meta-row .dish-view-category-chips{grid-column:2;justify-self:end;align-self:end;margin:0}}.dish-view-header.page-heading>:last-child{margin-bottom:0}.dish-view-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;justify-self:end;align-self:start;gap:var(--space-2);flex:0 0 auto;margin:0}.dish-view-favorite{width:48px;height:48px;color:var(--graphite)}.dish-view-favorite .ui-icon{width:28px;height:28px}.dish-view-favorite:hover,.dish-view-favorite:active{background:transparent;color:var(--deep-green)}.dish-view-favorite.is-active,.dish-view-favorite.is-active:hover,.dish-view-favorite.is-active:active{background:transparent;color:var(--brand-accent-strong)}.dish-view-more{position:relative}.dish-view-more .meal-menu-trigger{width:48px;height:48px;border:0;border-radius:var(--button-radius);background:transparent;color:var(--graphite);box-shadow:none}.dish-view-more .meal-menu-trigger .ui-icon{width:22px;height:22px}@media(hover:hover)and (pointer:fine){.dish-view-more .meal-menu-trigger:hover{background:var(--fog);color:var(--deep-green)}}.dish-view-more .meal-menu-trigger:active,.dish-view-more .meal-menu-trigger[aria-expanded=true]{background:var(--mint);color:var(--deep-green)}.dish-view-more .meal-menu-popover,.meal-menu-popover.dish-view-menu-popover{width:max-content;min-width:12rem;max-width:16rem}.dish-description-field{min-height:5.5rem;max-height:5.5rem;height:5.5rem;resize:none;overflow-y:auto;font-weight:500;line-height:1.4}.dish-view-meta-line{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-2);width:100%;max-width:100%;margin:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.dish-view-meta-line>span{min-width:0}.dish-view-nutrition{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:var(--space-2);align-items:center;width:100%;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.4}.dish-view-nutrition-line{grid-column:2;min-width:0}.dish-view-header .dish-view-nutrition{margin:0 0 var(--space-3)}.dish-view-nutrition-mark{grid-column:1;align-self:center;display:block;width:14px;height:14px;margin:0;padding:0;border:0;border-radius:0;background:transparent;object-fit:contain}.dish-view-effort-bars{display:inline-flex;flex:0 0 auto;align-items:flex-end;gap:2px;height:14px}.dish-view-effort-bars i{display:block;width:4px;border-radius:1px;background:var(--color-border-strong)}.dish-view-effort-bars i:nth-child(1){height:6px}.dish-view-effort-bars i:nth-child(2){height:10px}.dish-view-effort-bars i:nth-child(3){height:14px}.dish-view-effort-bars i.is-on{background:var(--deep-green)}.dish-view-category-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.dish-view-category-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border-radius:999px;cursor:default;background:transparent}.dish-view-category-chip .ui-check{display:none}.dish-view-source-link{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;margin-top:var(--space-3);color:var(--deep-green);font-size:var(--type-ui);font-weight:500;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.dish-view-source-link:hover{color:var(--deep-green)}.dish-view-status{margin:0;color:var(--muted)}.dish-view-description-block{display:flex;flex-direction:column;align-items:stretch;justify-content:center;align-self:stretch;gap:0;min-width:0;min-height:0;width:100%;max-width:28rem;text-align:center}.dish-view-desc-rule{display:flex;align-items:center;align-self:center;gap:var(--space-2);width:min(100%,10rem);margin:0 auto var(--space-4)}.dish-view-desc-rule:before,.dish-view-desc-rule:after{content:"";flex:1 1 auto;height:1px;background:var(--color-border-default)}.dish-view-desc-rule-mark{flex:0 0 auto;display:block;width:5px;height:5px;margin:0;border:0;border-radius:50%;background:var(--week-meal-marker, #d2d6d2)}.dish-view-description{margin:0 auto;max-width:28rem;min-width:0;width:100%;color:var(--graphite);font-size:var(--type-body, 1rem);font-weight:400;line-height:1.55;text-align:center;text-wrap:pretty;overflow-wrap:break-word;word-break:normal}.dish-view-description-copy{display:flex;flex-direction:column;gap:var(--space-3);width:100%;min-width:0}.dish-view-description-block .dish-view-description,.dish-view-description-block .dish-view-description-copy{max-width:none}.dish-view-desc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;width:100%;min-width:0;min-height:12rem;margin:0;padding:var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)));text-align:center}.dish-view-desc-empty .dish-view-desc-rule{flex:0 0 auto;margin:0 0 var(--space-4)}.dish-view-desc-empty-title{margin:0 0 var(--space-3);max-width:17.5rem;color:var(--graphite);font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--type-title, 1.5rem);font-weight:500;line-height:1.25;letter-spacing:0}.dish-view-desc-empty-text{margin:0 0 var(--space-5);max-width:17.5rem;color:var(--graphite);font-size:var(--type-body, 1rem);font-weight:400;line-height:1.5}.dish-view-desc-empty .tertiary-button{flex:0 0 auto;width:auto}.dish-view-hero{display:contents}.dish-view-hero-panel--mobile{display:none}.dish-view-hero-missing-row{display:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-1);width:100%;min-width:0;min-height:3.5rem;max-height:4.5rem;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-md);background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)));text-align:center}.dish-view-hero-missing-row-label{color:var(--graphite);font-size:var(--type-ui);font-weight:400;line-height:1.4}.dish-view-hero-missing-row-sep{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1}.dish-view-hero-missing-row-action{margin:0;padding:0;min-height:var(--button-height);font-size:var(--type-ui);font-weight:600}label.dish-view-hero-missing-row-action{cursor:pointer}label.dish-view-hero-missing-row-action.is-disabled{pointer-events:none;opacity:.55;cursor:not-allowed}.dish-view-hero-complete{display:none;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;min-width:0;padding:var(--space-5) var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)));text-align:center}.dish-view-hero-complete-copy{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;max-width:17.5rem;min-width:0}.dish-view-hero-complete-title{margin:0;color:var(--graphite);font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--type-subtitle);font-weight:500;line-height:1.25}.dish-view-hero-complete-text{margin:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.45}.dish-view-hero-complete-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);width:100%}.dish-view-hero-complete-action{width:auto;min-width:0;margin:0;padding:0;min-height:var(--button-min-height);font-size:var(--type-ui);font-weight:600;line-height:1.25}.dish-view-hero-complete-action-sep{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1}label.dish-view-hero-complete-action{cursor:pointer}label.dish-view-hero-complete-action.is-disabled{pointer-events:none;opacity:.55;cursor:not-allowed}.dish-view-media{display:grid;place-items:center;width:100%;min-width:0;min-height:0;background:transparent;align-self:start}.dish-view-media.is-illustration{--dish-illust-height: 18rem;width:auto;height:var(--dish-illust-height);max-width:min(100%,36rem);padding-top:0}.dish-view-media.is-illustration img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center;background:transparent;margin:0}.dish-view-media.is-photo{display:block;align-self:start;width:100%;max-height:none;border-radius:0;overflow:visible;background:transparent;box-shadow:none;flex:0 0 auto}.dish-view-photo-mat{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;min-width:0;max-width:100%;padding:var(--space-5);padding-bottom:var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--dish-photo-mat-bg);box-shadow:none}.dish-view-photo-mat img{display:block;width:100%;height:auto;max-height:20rem;border-radius:var(--radius-md);object-fit:contain;object-position:center;background:transparent}.dish-view-photo-mat-ornament{width:min(100%,10rem);margin:0;color:inherit}.dish-view-photo-mat-ornament:before,.dish-view-photo-mat-ornament:after{background:var(--color-border-default)}.dish-view-media.is-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;width:100%;min-width:0;min-height:12rem;margin:0;padding:var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)));text-align:center;overflow:hidden}.dish-view-media.is-empty img{display:block;width:auto;height:auto;max-width:min(100%,18rem);max-height:14rem;margin:0 0 var(--space-5);object-fit:contain;object-position:center}.dish-view-media-empty-fallback{display:grid;place-items:center;margin:0 0 var(--space-5);color:var(--deep-green)}.dish-view-media.is-empty .tertiary-button{flex:0 0 auto;width:auto;cursor:pointer}.dish-view-media.is-empty label.tertiary-button.is-disabled{pointer-events:none;opacity:.55;cursor:not-allowed}.dish-view-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-6);row-gap:var(--space-5);align-items:start;margin-top:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border-default);min-width:0;max-width:100%}.dish-view-ingredients-panel,.dish-view-steps-panel{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.dish-view-ingredients-panel{gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;align-self:stretch;min-height:0}.dish-view-ingredients-sticky{display:flex;flex-direction:column;gap:0;min-width:0;padding:var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)));box-shadow:none;container-type:inline-size;container-name:dish-ingredients}@container dish-ingredients (max-width: 28rem){.dish-view-panel-heading{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.dish-view-panel-heading .dish-view-servings-band{margin-inline-start:0}}@media(min-width:680px){.dish-view-ingredients-sticky{position:sticky;top:var(--space-5);max-height:calc(100dvh - 2 * var(--space-5));overflow-x:visible;overflow-y:hidden;overscroll-behavior:contain}.dish-view-ingredients-sticky>.dish-view-ingredient-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}}.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-panel-heading{padding:0;border-bottom:0;background:transparent;min-height:0;flex:0 0 auto;display:block}.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-panel-heading .dish-view-servings-band{width:100%;margin:var(--space-4) 0 0;margin-inline-start:0;padding:0;border:0}@media(min-width:681px){.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-panel-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-panel-heading .dish-view-servings-band{flex:0 0 auto;width:auto;margin:0;margin-inline-start:auto;padding:0;border:0;align-self:flex-start}}@media(max-width:1399px){.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-panel-heading{flex-direction:column;align-items:flex-start;justify-content:flex-start}.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-panel-heading .dish-view-servings-band{margin-inline-start:0;margin-top:var(--space-4);align-self:flex-start}}.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-servings-hint{margin:var(--space-3) 0 0}.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-ingredient-list{padding:0;margin-top:var(--space-4)}@media(max-width:679px){.dish-view-ingredients-panel>.dish-view-ingredients-sticky>.dish-view-ingredient-list{margin-top:var(--space-5)}.dish-view-ingredient-list>li:first-child .dish-view-structure-title,.dish-view-structure-group:first-child .dish-view-structure-title{margin-top:var(--space-2)}}.dish-view-panel-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--button-min-height, 44px);min-width:0}.dish-view-panel-heading-copy{display:flex;flex-direction:column;flex:1 1 auto;gap:var(--space-2);min-width:0}.dish-view-panel-heading-copy .dish-view-nutrition{margin:0}.dish-ingredients-sheet .editor-header>div .dish-view-nutrition{margin-top:var(--space-2)}.dish-view-ingredients-panel h2,.dish-view-steps-panel h2{margin:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--type-title, 1.5rem);font-weight:500;line-height:1.25;color:var(--graphite)}.dish-view-servings-band{box-sizing:border-box;width:auto;margin:0;padding:0;border:0}.dish-view-servings{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:var(--space-4);width:100%;max-width:100%;margin:0;min-height:var(--button-min-height, 44px)}.dish-view-servings-label{flex:0 0 auto;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--type-body, 1rem);font-weight:500;line-height:1.25;color:var(--graphite);white-space:nowrap}.dish-view-servings-stepper{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-2);width:auto;min-width:0;border:0;border-radius:0;background:transparent;overflow:visible}.dish-view-servings-step,.dish-view-servings-stepper .dish-view-servings-value,.dish-view-servings-stepper .dish-view-servings-input{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:var(--button-min-height, 44px);margin:0;padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;font-variant-numeric:tabular-nums;line-height:1;box-shadow:none;cursor:pointer;-webkit-appearance:none;appearance:none}.dish-view-servings-step{width:var(--button-min-height, 44px);min-width:var(--button-min-height, 44px)}.dish-view-servings-stepper .dish-view-servings-value,.dish-view-servings-stepper .dish-view-servings-input{width:3.25rem;min-width:3.25rem;max-width:3.25rem;cursor:text;font-weight:500}@media(hover:hover)and (pointer:fine){.dish-view-servings-step:hover,.dish-view-servings-stepper .dish-view-servings-value:hover{border-color:var(--deep-green);background:var(--mint);color:var(--deep-green)}}.dish-view-servings-step:active,.dish-view-servings-stepper .dish-view-servings-value:active{border-color:var(--deep-green);background:var(--mint);color:var(--deep-green)}.dish-view-servings-step:focus-visible,.dish-view-servings-stepper .dish-view-servings-value:focus-visible{outline:none;border-color:var(--deep-green);box-shadow:none}.dish-view-servings-stepper .dish-view-servings-input:focus{outline:none;border-color:var(--deep-green);box-shadow:none}.dish-view-servings-hint{max-width:28rem}.dish-view-ingredients-fab{display:none}@media(max-width:679px){.dish-view-ingredients-fab{display:inline-flex;position:fixed;z-index:40;left:50%;transform:translate(-50%);bottom:max(var(--space-5),calc(var(--phone-tab-bar-offset) + var(--space-3)));width:auto;margin:0}.dish-view-ingredients-fab.is-open{visibility:hidden;pointer-events:none}}.modal-backdrop.dish-ingredients-backdrop{z-index:50}.dish-ingredients-sheet{display:flex;flex-direction:column;width:min(430px,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow:hidden;padding:var(--space-5);text-align:left}.dish-ingredients-sheet .editor-header{flex:0 0 auto}.dish-ingredients-sheet .editor-header h2{margin:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--type-title, 1.5rem);font-weight:500;line-height:1.25;color:var(--graphite)}.dish-ingredients-sheet-body{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-4) 0;overscroll-behavior:contain}.dish-ingredients-sheet-body>.dish-view-servings-band{flex:0 0 auto;width:100%;margin-top:var(--space-2);padding-block:var(--space-4);border-top:1px solid var(--week-grid-hline);border-bottom:1px solid var(--week-grid-hline)}.dish-ingredients-sheet-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);flex:0 0 auto;margin-top:0;padding-top:var(--space-4);border-top:1px solid var(--library-row-rule);background:var(--white)}.dish-ingredients-sheet-footer .primary-button{width:auto}.dish-view-ingredient-list,.dish-view-step-list,.dish-view-ingredient-sublist,.dish-view-step-sublist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;width:100%}.dish-view-structure-group{display:flex;flex-direction:column;gap:var(--space-3)}.dish-view-structure-title{margin:var(--space-4) 0 0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--type-subtitle);font-weight:500;line-height:1.3;color:var(--graphite)}.dish-view-ingredient-list>li:first-child .dish-view-structure-title,.dish-view-structure-group:first-child .dish-view-structure-title{margin-top:0}.dish-view-ingredient-sublist li{display:grid;grid-template-columns:minmax(3.75rem,4.75rem) minmax(0,1fr);column-gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--week-grid-hline);font-family:var(--font-sans);font-size:var(--type-body);font-weight:400;line-height:1.45;color:var(--graphite)}.dish-view-ingredient-sublist li:last-child{border-bottom:0}.dish-view-ingredient-amount{font-family:var(--font-display);font-size:inherit;font-weight:400;letter-spacing:0;color:inherit;font-variant-numeric:tabular-nums;line-height:inherit;text-align:left}.dish-view-ingredient-name{font-family:var(--font-sans);font-size:inherit;font-weight:400;line-height:inherit;color:inherit}.dish-view-step-list{gap:0}.dish-view-step-list>li+li{margin-top:var(--space-5)}.dish-view-step-list>li+.dish-view-stage-group{padding-top:var(--space-5);border-top:1px solid var(--week-grid-hline)}.dish-view-stage-heading{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3)}.dish-view-stage-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;margin:0 0 var(--space-3);padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;min-height:var(--control-min-size, 44px)}.dish-view-stage-group.is-collapsed .dish-view-stage-toggle{margin-bottom:0}.dish-view-stage-heading-main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.dish-view-stage-toggle-meta{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;margin-inline-start:auto}.dish-view-stage-count{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.3;white-space:nowrap}.dish-view-stage-chevron{flex:0 0 auto;color:var(--muted)}.dish-view-stage-toggle:hover .dish-view-stage-chevron,.dish-view-stage-toggle:focus-visible .dish-view-stage-chevron{color:var(--deep-green)}.dish-view-stage-toggle:focus-visible{outline:none}.dish-view-stage-toggle:focus-visible .dish-view-stage-chevron{outline:2px solid var(--deep-green);outline-offset:2px;border-radius:var(--radius-sm)}.dish-view-stage-badge{display:inline-flex;align-items:center;flex:0 0 auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--mint);color:var(--deep-green);font-size:var(--type-micro);font-weight:600;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.dish-view-stage-title{margin:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--type-subtitle);font-weight:500;line-height:1.3;color:var(--graphite)}.dish-view-step-sublist{gap:0}.dish-view-step-sublist li{display:grid;grid-template-columns:2rem minmax(0,1fr);column-gap:var(--space-3);align-items:start}.dish-view-step-sublist li:not(:last-child) .dish-view-step-body{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--week-grid-hline)}.dish-view-step-index{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)));color:var(--graphite);font-size:var(--type-ui);font-weight:500}.dish-view-step-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.dish-view-step-list .dish-view-step-body>p{margin:0;color:var(--graphite);font-size:var(--type-body);font-weight:400;line-height:1.45}.dish-view-step-tip{display:block;margin:0;min-width:0;padding:0;border:0;background:transparent;box-shadow:none}.dish-view-step-tip-text{margin:0;min-width:0;color:var(--muted);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;font-style:italic;font-synthesis:style;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}@media(max-width:900px){.dish-view-top,.dish-view-top--with-media,.dish-view-body{grid-template-columns:1fr;gap:var(--space-5)}.dish-view-top--with-media{grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-3);row-gap:var(--space-4);grid-template-areas:"header actions" "meta meta" "desc desc" "media media"}.dish-view-top--with-media>.dish-view-meta-row{margin-top:calc(var(--space-2) - var(--space-4))}.dish-view-top--with-media .dish-view-header{max-width:none}.dish-view-header-actions{justify-self:end;align-self:start}.dish-view-media.is-illustration{--dish-illust-height: 16rem}.dish-view-media.is-empty{padding:var(--space-4);min-height:10rem}.dish-view-media.is-empty img{max-height:10rem;margin-bottom:var(--space-4)}.dish-view-body{margin-top:var(--space-5);padding-top:var(--space-5)}.dish-view-ingredients-panel .dish-view-panel-heading{flex-direction:column;align-items:flex-start;justify-content:flex-start}}@media(min-width:680px)and (max-width:900px){.dish-view-ingredients-sticky{max-height:calc(100dvh - var(--space-5) - var(--phone-tab-bar-offset) - var(--space-3))}.dish-view-top--with-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-5);row-gap:var(--space-4);grid-template-areas:"header actions" "meta meta" "desc media"}.dish-view-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-5)}}@media(max-width:900px){.dish-view-top--with-media.dish-view-top--missing-compact{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"header actions" "meta meta" "hero hero"}.dish-view-hero--missing{display:grid;grid-area:hero;grid-template-columns:minmax(0,1fr);gap:var(--space-4);width:100%;min-width:0}.dish-view-top--missing-compact .dish-view-hero--missing>.dish-view-description-block,.dish-view-top--missing-compact .dish-view-hero--missing>.dish-view-desc-empty,.dish-view-top--missing-compact .dish-view-hero--missing>.dish-view-media,.dish-view-top--missing-compact .dish-view-hero--missing>.dish-view-hero-missing-row,.dish-view-top--missing-compact .dish-view-hero--missing>.dish-view-hero-complete{grid-area:auto;grid-column:1 / -1;width:100%;min-width:0}.dish-view-top--missing-compact .dish-view-hero-panel--desktop{display:none}.dish-view-top--missing-compact .dish-view-hero-panel--mobile{display:flex}.dish-view-hero--both-missing{gap:var(--space-3)}.dish-view-hero--desc-only-missing .dish-view-media.is-photo,.dish-view-hero--desc-only-missing .dish-view-photo-mat,.dish-view-hero--desc-only-missing .dish-view-photo-mat img{width:100%;max-width:100%}}@media(max-width:679px){.dish-module.dish-view-page{padding-inline:0;padding-top:0}.dish-view-toolbar,.dish-view-header.page-heading{max-width:100%;min-width:0}.dish-view-media.is-illustration{width:100%;max-width:100%}}@media(max-width:440px){.dish-view-ingredients-sticky{padding:var(--space-4)}.dish-view-ingredient-sublist li{grid-template-columns:minmax(3.25rem,4rem) minmax(0,1fr);column-gap:var(--space-2);padding:var(--space-2) 0}}.dish-recipe-empty{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);padding:var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)));min-width:0;max-width:100%;overflow-x:clip}.dish-recipe-empty-intro{display:flex;align-items:flex-start;gap:var(--space-4);min-width:0}.dish-recipe-empty-intro .empty-mark{flex:0 0 auto}.dish-recipe-empty-copy{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.dish-recipe-empty-copy h2{margin:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:1.5rem;font-weight:600;line-height:1.25;color:var(--graphite)}.dish-recipe-empty-copy p{margin:0;max-width:36rem;color:var(--graphite);font-size:1rem;line-height:1.5}.dish-recipe-empty-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);width:100%;margin:0;text-align:left}@media(max-width:900px){.dish-view-top--with-media.dish-view-top--no-recipe,.dish-view-top--with-media.dish-view-top--no-recipe:not(.dish-view-top--with-desc),.dish-view-top--with-media.dish-view-top--no-recipe.dish-view-top--with-desc{grid-template-columns:1fr;row-gap:var(--space-5);grid-template-areas:"header" "media";margin-bottom:var(--space-5)}.dish-view-top--no-recipe .dish-view-media{justify-self:stretch;align-self:start;margin-top:0;margin-inline-start:0;width:100%;max-width:100%}.dish-view-top--no-recipe .dish-view-media.is-illustration{--dish-illust-height: 18rem;height:auto;min-height:var(--dish-illust-height);padding-block:var(--space-2);overflow:hidden;max-width:100%}.dish-view-top--no-recipe .dish-view-media.is-illustration img{width:min(100%,22rem);height:auto;max-height:var(--dish-illust-height);margin-inline:auto}.dish-view-page .dish-view-meta-line{flex-wrap:wrap}.dish-module.dish-view-page.is-no-recipe{overflow-x:clip;max-width:100%}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty{min-width:0}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty-ways{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);min-width:0}.dish-module.dish-view-page.is-no-recipe .dish-recipe-way{width:100%;max-width:100%;min-height:0;gap:var(--space-2);padding:var(--space-3);padding-right:calc(var(--space-3) + 2rem);padding-bottom:var(--space-3)}.dish-module.dish-view-page.is-no-recipe .dish-recipe-way-icon{width:32px;height:32px}.dish-module.dish-view-page.is-no-recipe .dish-recipe-way-copy{gap:0;min-width:0;padding-right:0;overflow-wrap:anywhere}.dish-module.dish-view-page.is-no-recipe .dish-recipe-way-title{font-size:var(--type-ui);font-weight:500;line-height:1.3}.dish-module.dish-view-page.is-no-recipe .dish-recipe-way-text{display:none}.dish-module.dish-view-page.is-no-recipe .dish-recipe-way-go{width:28px;height:28px;right:var(--space-3);bottom:auto;top:50%;transform:translateY(-50%)}}@media(max-width:679px){.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty-ways{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.dish-module.dish-view-page.is-no-recipe .dish-view-top--with-media.dish-view-top--no-recipe,.dish-module.dish-view-page.is-no-recipe .dish-view-top--with-media.dish-view-top--no-recipe:not(.dish-view-top--with-desc),.dish-module.dish-view-page.is-no-recipe .dish-view-top--with-media.dish-view-top--no-recipe.dish-view-top--with-desc{grid-template-columns:1fr;row-gap:var(--space-3);margin-bottom:var(--space-4);grid-template-areas:"header" "media";align-items:start}.dish-module.dish-view-page.is-no-recipe .dish-view-media.is-illustration{--dish-illust-height: 11rem;width:auto;min-height:0;padding-block:0;margin-top:0;margin-inline-start:0;justify-self:stretch;max-width:100%}.dish-module.dish-view-page.is-no-recipe .dish-view-media.is-illustration img{width:min(100%,16rem);height:auto;max-height:var(--dish-illust-height);margin-inline:auto}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md)}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty-intro{gap:var(--space-2);align-items:center}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty-intro .empty-mark--compact{width:48px;height:48px}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty-copy{gap:var(--space-1)}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty-copy h2{font-size:var(--type-subtitle, 1.25rem);line-height:1.2}.dish-module.dish-view-page.is-no-recipe .dish-recipe-empty-copy p{font-size:var(--type-ui);line-height:1.35}}.dish-recipe-way{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);min-width:0;min-height:10.5rem;padding:var(--space-4);padding-bottom:calc(var(--space-4) + 2.5rem);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);cursor:pointer;text-align:left;box-shadow:none;transition:border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.dish-recipe-way:hover{border-color:var(--deep-green);color:var(--graphite);background:var(--white)}.dish-recipe-way-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--mint);color:var(--deep-green)}.dish-recipe-way-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding-right:var(--space-2);overflow-wrap:anywhere}.dish-recipe-way-title{font-size:1rem;font-weight:600;color:var(--graphite)}.dish-recipe-way-text{color:var(--muted);font-size:var(--type-ui);line-height:1.4}.dish-recipe-way:hover .dish-recipe-way-text{color:var(--muted)}.dish-recipe-way-go{position:absolute;right:var(--space-4);bottom:var(--space-4);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--white);color:var(--deep-green);transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.dish-recipe-way:hover .dish-recipe-way-go{border-color:var(--deep-green);background:var(--mint)}.dish-recipe-filled{display:flex;flex-direction:column;gap:var(--space-5)}.dish-recipe-photo img{width:100%;max-height:360px;object-fit:cover;border-radius:var(--radius-md)}.dish-recipe-servings-badge{margin-left:var(--space-2);padding:0 var(--space-2);border-radius:999px;background:var(--mint);color:var(--deep-green);font-size:var(--type-ui);font-weight:500;vertical-align:middle}.dish-view-filled-actions{display:flex;gap:var(--space-3)}.dish-module.dish-edit-page{position:relative;gap:0;padding:var(--space-5);padding-bottom:var(--space-6);min-width:0;max-width:100%;overflow-x:clip;overflow-y:visible;--dish-photo-mat-bg: color-mix(in srgb, var(--page-canvas) 60%, var(--white))}.dish-module.dish-edit-page.is-create{--dish-create-marginalia-size: min(22rem, 42vw)}.dish-module.dish-edit-page.is-create:after{content:"";position:absolute;top:0;right:0;z-index:0;width:var(--dish-create-marginalia-size);max-width:360px;aspect-ratio:821 / 557;background:url(/dish-create-marginalia.png) no-repeat top right / contain;pointer-events:none;opacity:.9}.dish-module.dish-edit-page.is-create>*{position:relative;z-index:1}@media(max-width:900px){.dish-module.dish-edit-page.is-create{--dish-create-marginalia-size: min(14rem, 48vw)}.dish-module.dish-edit-page.is-create:after{opacity:.72}}@media(max-width:440px){.dish-module.dish-edit-page.is-create{--dish-create-marginalia-size: min(11rem, 54vw)}.dish-module.dish-edit-page.is-create:after{opacity:.6}}@media(prefers-reduced-motion:reduce){.dish-module.dish-edit-page.is-create:after{opacity:.55}}.dish-module.dish-edit-page>.dish-view-toolbar .page-back-link{margin-inline-start:0;margin-bottom:var(--space-3)}.dish-edit-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--page-eyebrow-title-gap, var(--space-2));margin:0}.dish-edit-header.page-heading{margin-bottom:var(--space-5)}.dish-edit-header h1{margin:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:var(--page-title-size, 2.25rem);font-weight:var(--page-title-weight, 500);color:var(--graphite)}.dish-edit-lead{margin:var(--space-2) 0 0;max-width:36rem;color:var(--muted);font-size:var(--type-body, 1rem);line-height:1.5}.dish-edit-form{display:flex;flex-direction:column;gap:var(--space-4);margin-top:0;min-width:0;max-width:100%}.dish-edit-stack{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.dish-module.dish-edit-page .dish-edit-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.dish-module.dish-edit-page .dish-edit-card+.dish-edit-card{padding-top:var(--space-5);border-top:1px solid var(--color-border-default)}.dish-edit-card{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4));padding:var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--week-panel-shadow, none)}.dish-edit-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.dish-edit-recipe-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.dish-edit-recipe-header .dish-edit-card-title{flex:0 0 auto;margin:0}.dish-edit-card-header .dish-edit-card-title{flex:1 1 16rem;min-width:0}.dish-edit-card h2,.dish-edit-card-title{display:flex;align-items:flex-start;gap:var(--space-3);margin:0;font-size:1.125rem;font-weight:600;color:var(--graphite)}.dish-edit-card-title .food-picker-step{margin-top:2px;flex:0 0 auto}.dish-edit-card-title:not(:has(small)){align-items:center}.dish-edit-card-title:not(:has(small)) .food-picker-step{margin-top:0}.dish-edit-card-title-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.dish-edit-card-title-text small{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.35}.dish-edit-about-grid{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.dish-edit-about-name,.dish-edit-about-main,.dish-edit-about-side{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4));min-width:0}.dish-edit-about-side.food-tag-groups{margin:0;gap:0}.dish-edit-about-side .food-tag-groups-stack{padding:0;border:0;background:transparent}.dish-edit-category-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.dish-edit-category-cols .food-tag-group{align-content:start}.dish-edit-category-cols .food-tag-options{align-items:flex-start}.dish-edit-category-cols .food-tag-chip{height:auto;width:auto;flex:0 0 auto}.dish-edit-facts{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4));margin:0;padding-top:var(--space-5);border-top:1px solid var(--color-border-default)}.dish-edit-rail-meta{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4));min-width:0}.dish-edit-facts .dish-edit-rail-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dish-edit-meta-row{margin:0}.dish-edit-meta-row+.dish-edit-nutrition{margin-top:var(--space-2)}@media(max-width:440px){.dish-edit-meta-row,.dish-edit-facts .dish-edit-rail-meta{display:contents}}.dish-edit-nutrition{display:flex;flex-direction:column;gap:var(--space-2)}.dish-edit-nutrition>.field-label{margin:0}.dish-edit-nutrition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--form-stack-gap, var(--space-4)) var(--space-3)}.recipe-compose-side .dish-edit-nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){.dish-edit-nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dish-edit-pairing{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--dish-photo-mat-bg, color-mix(in srgb, var(--page-canvas) 60%, var(--white)))}.dish-description-wrap{position:relative;display:block;min-width:0}.dish-description-wrap .dish-description-field{width:100%;padding-bottom:var(--space-5);box-sizing:border-box}.dish-description-wrap .field-counter{position:absolute;right:var(--space-3);bottom:var(--space-2);margin:0;text-align:right;color:var(--muted);font-size:var(--type-ui);font-variant-numeric:tabular-nums;pointer-events:none}.dish-description-field+.field-counter{display:block;margin:0;text-align:right;color:var(--muted);font-size:var(--type-ui);font-variant-numeric:tabular-nums}.dish-edit-servings-stepper{gap:var(--space-2)}.dish-edit-servings-stepper .secondary-button{width:44px;min-width:44px;height:44px;padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--white);color:var(--graphite);box-shadow:none}.dish-edit-servings-stepper .secondary-button:hover,.dish-edit-servings-stepper .secondary-button:active{border-color:var(--deep-green);background:var(--mint);color:var(--deep-green)}.dish-edit-servings-stepper .recipe-servings-input,.dish-edit-servings-stepper .recipe-servings-value{box-sizing:border-box;width:3.25rem;min-width:3.25rem;max-width:3.25rem;height:44px;margin:0;padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--white);box-shadow:none;color:var(--graphite);font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.dish-edit-servings-stepper .recipe-servings-input:focus{outline:none;border-color:var(--deep-green);box-shadow:none}@media(max-width:900px){.dish-edit-card--about{scroll-margin-top:var(--space-5)}.dish-edit-category-cols{grid-template-columns:1fr}.dish-edit-card-header{flex-direction:column;align-items:stretch;justify-content:flex-start}.dish-edit-card-header .dish-edit-card-title{flex:0 0 auto}.recipe-mode-switch:not(.recipe-mode-switch-stack){width:100%}.recipe-editor-body--compose{grid-template-columns:1fr;row-gap:var(--space-5)}.recipe-compose-side{padding-inline-end:0;border-inline-end:0;padding-bottom:var(--space-5);border-bottom:1px solid color-mix(in srgb,var(--color-border-default) 70%,transparent)}.recipe-compose-side .recipe-compose-facts,.recipe-compose-side .recipe-photo-field,.recipe-compose-main .recipe-steps-block{padding-top:0;border-top:0}.recipe-photo-dropzone{aspect-ratio:auto;max-height:none;min-height:10rem}}@media(min-width:441px)and (max-width:900px){.dish-module.dish-edit-page .recipe-compose-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,1fr);grid-template-rows:auto;column-gap:var(--space-5);row-gap:var(--space-4);align-items:start}.dish-module.dish-edit-page .recipe-compose-side .recipe-compose-facts{grid-column:1;grid-row:1;gap:var(--space-2)}.dish-module.dish-edit-page .recipe-compose-side .dish-edit-rail-meta{gap:var(--space-2)}.dish-module.dish-edit-page .recipe-compose-side .dish-edit-nutrition{gap:var(--space-1)}.dish-module.dish-edit-page .recipe-compose-side .dish-edit-nutrition-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.dish-module.dish-edit-page .recipe-compose-side .recipe-photo-field{grid-column:2;grid-row:1;padding-top:0;border-top:0;align-self:stretch;min-height:0}.dish-module.dish-edit-page .recipe-compose-side .recipe-photo-dropzone,.dish-module.dish-edit-page .recipe-compose-side .recipe-photo-preview{flex:1 1 auto;aspect-ratio:1 / 1;width:100%;max-height:none;min-height:0}.dish-module.dish-edit-page .recipe-compose-side .recipe-photo-preview img{aspect-ratio:1 / 1;width:100%;height:100%;object-fit:cover;max-height:none;min-height:0}}@media(max-width:440px){.dish-edit-recipe-header{margin-bottom:var(--space-4)}.recipe-mode-switch-stack{width:100%}}@media(max-width:900px){.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .dish-recipe-mode-panel,.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-editor--embedded,.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-editor-body--compose,.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-compose-side,.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-compose-facts,.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .dish-edit-rail-meta,.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-compose-main,.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .dish-edit-facts{display:contents}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-photo-field{order:1}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-equipment-field{order:2}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .dish-edit-effort-field{order:3}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .dish-edit-time-field{order:4}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-servings-field{order:5}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-ingredients-block{order:6}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .recipe-steps-block{order:7}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .dish-edit-description{order:8}.dish-module.dish-edit-page .dish-edit-card:has(.recipe-editor-body--compose) .dish-edit-nutrition{order:9}}.dish-edit-step{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--mint);color:var(--deep-green);font-size:var(--type-ui);font-weight:600}.dish-edit-card-hint{margin:calc(var(--space-2) * -1) 0 0;color:var(--muted);font-size:var(--type-ui)}.recipe-mode-switch-stack{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.recipe-mode-switch.segmented{display:inline-grid;grid-template-columns:repeat(4,auto);width:auto;max-width:100%;flex:0 0 auto}.recipe-mode-switch--pair.segmented{grid-template-columns:1fr 1fr;width:100%;padding:0;gap:0;border-radius:var(--radius-md);overflow:hidden;background:var(--fog)}.recipe-mode-switch--pair.segmented button{border-radius:0;min-height:var(--button-min-height, 44px)}.recipe-mode-switch--pair.segmented button.is-active{background:var(--deep-green);color:var(--white);box-shadow:none}.recipe-mode-switch--import.segmented{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.recipe-mode-switch.segmented button{min-height:var(--button-min-height, 44px);padding:var(--button-padding-block, 8px) var(--space-3);white-space:nowrap;font-size:var(--type-ui);font-weight:500}.dish-recipe-mode-panel{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4))}.dish-edit-card-header+.dish-recipe-mode-panel{margin-top:0}.dish-edit-recipe-header+.dish-recipe-mode-panel,.dish-edit-recipe-header+.recipe-import-accuracy-note--after,.dish-edit-recipe-header+.recipe-import-panel{margin-top:0}.recipe-import-card{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4));padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--mint)}.recipe-import-card .recipe-import-lead{color:var(--graphite)}.recipe-import-card--url,.recipe-import-card--file,.recipe-import-card--photo{gap:var(--space-5);padding:var(--space-5);background:var(--white)}.recipe-import-card--url .recipe-import-lead,.recipe-import-card--file .recipe-import-lead,.recipe-import-card--photo .recipe-import-lead{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.45;max-width:42rem}.recipe-import-accuracy-note{margin:0;max-width:42rem;color:var(--color-text-placeholder);font-size:var(--type-ui);font-weight:400;line-height:1.4}.recipe-import-card--photo .recipe-import-lead+.recipe-import-accuracy-note{margin-top:calc(-1 * var(--space-2))}.recipe-import-accuracy-note--after{margin:0}.recipe-import-card--url .field-block,.recipe-import-card--file .field-block{max-width:none}.recipe-import-file-shell{position:relative;display:block;box-sizing:border-box;width:100%;min-height:var(--button-min-height, 44px);height:var(--button-min-height, 44px);margin:0;padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-field, var(--white));font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-ui) var(--ease-out)}.recipe-import-file-shell:hover{border-color:var(--color-border-hover)}.recipe-import-file-shell:focus-visible{outline:none;border-color:var(--deep-green)}.recipe-import-file-shell:focus-within{border-color:var(--deep-green)}.recipe-import-file-shell:disabled{cursor:not-allowed;opacity:.7}.recipe-import-file-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:0}.recipe-import-file-input:disabled{cursor:not-allowed}.recipe-import-file-value{display:flex;align-items:center;box-sizing:border-box;width:100%;height:100%;min-width:0;padding:10px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--graphite);font-size:var(--type-ui);font-weight:500;line-height:1.25;pointer-events:none}.recipe-import-file-value.is-placeholder{color:var(--color-text-placeholder);font-weight:400}.recipe-photo-dropzone--import{aspect-ratio:auto;max-height:none;min-height:14rem;padding:var(--space-6) var(--space-5);gap:var(--space-3);background:var(--white);border-color:var(--color-border-strong)}.recipe-photo-dropzone--import:hover{background:var(--color-bg-nest, var(--fog))}.recipe-photo-dropzone--import strong{max-width:22rem;color:var(--graphite);font-weight:500}.recipe-photo-dropzone--import:hover strong{color:var(--graphite)}.recipe-photo-dropzone--import span:not(.recipe-photo-dropzone-link){color:var(--muted)}.recipe-photo-dropzone--import:hover span:not(.recipe-photo-dropzone-link){color:var(--muted)}.recipe-photo-dropzone-link{color:var(--deep-green);font-weight:600;text-decoration:underline;text-underline-offset:.12em}.recipe-photo-import-mark{position:relative;display:inline-flex;color:var(--muted);margin-bottom:var(--space-1)}.recipe-photo-import-mark-badge{position:absolute;right:-10%;bottom:-6%;display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;border-radius:999px;background:var(--mint);color:var(--deep-green);box-shadow:0 0 0 2px var(--white)}.recipe-import-photo-stage{display:flex;flex-direction:column;gap:var(--space-5)}.recipe-import-card--photo .recipe-import-thumbs{margin-top:0}.recipe-import-card--photo:has(.recipe-import-thumbs) .recipe-photo-dropzone--import{min-height:0;padding:var(--space-4);gap:var(--space-2)}.recipe-import-helper{margin:0;color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.5}.recipe-import-card--photo .recipe-import-lead+.recipe-import-helper{margin-top:var(--space-1)}.recipe-import-card--file .recipe-import-helper{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-4)}.recipe-import-error-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white)}.recipe-import-error-title{margin:0;color:var(--graphite);font-family:var(--font-serif);font-size:var(--type-subtitle);font-weight:600;line-height:1.25}.recipe-import-error-body{margin:0;color:var(--graphite);font-size:var(--type-body);line-height:1.5;max-width:28rem}.recipe-import-error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-1)}.recipe-import-url-picker{display:flex;flex-direction:column;gap:var(--space-4)}.recipe-import-url-picker-title{margin:0;color:var(--graphite);font-family:var(--font-serif);font-size:var(--type-subtitle);font-weight:600;line-height:1.25}.recipe-import-url-picker-list{display:flex;flex-direction:column;gap:var(--space-2)}.recipe-import-url-picker-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--white);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.recipe-import-url-picker-option:hover{border-color:var(--deep-green);background:color-mix(in srgb,var(--week-hover-tint) 100%,transparent)}.recipe-import-url-picker-option.is-selected{border-color:var(--deep-green);background:var(--mint)}.recipe-import-url-picker-option input{margin-top:.2rem;flex:0 0 auto}.recipe-import-url-picker-thumb{width:3rem;height:3rem;object-fit:cover;border-radius:var(--radius-sm);flex:0 0 auto}.recipe-import-url-picker-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.recipe-import-url-picker-name{color:var(--graphite);font-size:var(--type-ui);font-weight:500;line-height:1.4}.recipe-import-url-picker-summary{color:var(--muted);font-size:var(--type-ui);font-weight:400;line-height:1.4}.recipe-import-url-picker-hint{margin:0;color:var(--muted);font-size:var(--type-ui);line-height:1.5}@media(max-width:679px){.recipe-import-footer{flex-direction:column;align-items:stretch}.recipe-import-actions{margin-inline-start:0;width:100%}.recipe-import-actions .primary-button{flex:1 1 auto}.recipe-photo-dropzone--import{min-height:12rem;padding:var(--space-5)}}@media(max-width:900px){.recipe-import-card--photo:has(.recipe-import-thumbs) .recipe-import-photo-stage{display:flex;flex-direction:column}.recipe-import-card--photo:has(.recipe-import-thumbs) .recipe-import-thumbs{order:1}.recipe-import-card--photo:has(.recipe-import-thumbs) .field-error{order:2}.recipe-import-card--photo:has(.recipe-import-thumbs) .recipe-import-footer{order:3}.recipe-import-card--photo:has(.recipe-import-thumbs) .recipe-photo-dropzone--import{order:4;min-height:var(--button-min-height, 44px);padding:var(--space-3) var(--space-4);flex-direction:row;flex-wrap:wrap;justify-content:center}.recipe-import-card--photo:has(.recipe-import-thumbs) .recipe-photo-import-mark{display:none}.recipe-import-card--photo:has(.recipe-import-thumbs) .recipe-import-clear{order:5}}.dish-edit-pairing-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--graphite)}.dish-edit-pairing-sub{display:block;margin-top:var(--space-1);color:var(--muted);font-size:var(--type-ui);font-weight:400}.dish-edit-pairing-body{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3)}.dish-edit-actions,.dish-edit-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;position:sticky;bottom:0;z-index:2;margin-top:var(--space-4);padding:var(--space-4) 0;border-top:1px solid color-mix(in srgb,var(--color-border-default) 70%,transparent);background:linear-gradient(to top,var(--week-panel-surface, var(--white)) 70%,transparent)}.dish-module.dish-edit-page .dish-edit-actions,.dish-module.dish-edit-page .dish-edit-footer{margin-inline:calc(-1 * var(--space-5));padding-inline:var(--space-5)}.dish-edit-delete-action{flex:0 0 auto}.dish-edit-footer-bar{flex:1 1 auto;display:flex;justify-content:flex-end;min-width:0}.dish-edit-footer-end{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;min-width:0}.dish-edit-footer-end .disabled-action-wrap{display:inline-flex;min-width:0}.dish-edit-confirm-layer{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--space-4);background:#1a1a1a59}.dish-edit-confirm-layer .confirm-dialog{position:relative}@media(max-width:900px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.dish-module.dish-edit-page{padding-bottom:calc(var(--button-min-height) + var(--space-3) + var(--space-4))}.dish-edit-actions,.dish-edit-footer,.dish-module.dish-edit-page .dish-edit-actions,.dish-module.dish-edit-page .dish-edit-footer{position:static;flex-direction:column;align-items:stretch;gap:var(--space-4);margin-inline:0;margin-top:0;padding:var(--space-4) 0 0;border-top:0;background:transparent}.dish-edit-footer-bar{position:fixed;z-index:9;left:0;right:0;bottom:var(--phone-tab-bar-height);box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:var(--space-3) max(var(--main-padding-inline),env(safe-area-inset-right,0px)) var(--space-3) max(var(--main-padding-inline),env(safe-area-inset-left,0px));border-top:1px solid var(--library-row-rule);background:var(--white)}.dish-edit-footer-end{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-left:0;gap:var(--space-3)}.dish-edit-footer-end .tertiary-button,.dish-edit-footer-end .primary-button,.dish-edit-footer-end .disabled-action-wrap{width:100%}}@media(max-width:679px){.dish-module.dish-edit-page{padding-inline:0;padding-top:0;padding-bottom:calc(var(--button-min-height) + var(--space-3) + var(--space-4))}.dish-edit-actions,.dish-edit-footer,.dish-module.dish-edit-page .dish-edit-actions,.dish-module.dish-edit-page .dish-edit-footer{position:static;flex-direction:column;align-items:stretch;gap:var(--space-4);margin-inline:0;padding:var(--space-4) var(--space-4) 0;border-top:0;background:transparent}.dish-edit-delete-action{align-self:center;margin-inline-start:0;justify-content:center;text-align:center}}.recipe-mobile-field-label{display:none;font-size:var(--type-ui);font-weight:500;color:var(--graphite)}.recipe-drag-handle.icon-button,.recipe-block-menu-trigger.icon-button,.recipe-structure-rename.icon-button{width:44px;height:44px;min-width:44px;border:0;background:transparent;color:var(--muted);cursor:grab;touch-action:none}.recipe-drag-handle.icon-button:hover,.recipe-block-menu-trigger.icon-button:hover,.recipe-structure-rename.icon-button:hover{color:var(--graphite);background:transparent}.recipe-drag-handle.icon-button.is-dragging{cursor:grabbing;color:var(--deep-green)}.recipe-structure-block{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.recipe-structure-heading{display:flex;align-items:center;gap:var(--space-1);min-height:44px}.recipe-structure-heading h3{margin:0;flex:1;font-family:var(--font-sans);font-size:var(--type-ui);font-weight:500;line-height:1.4;color:var(--graphite)}.recipe-stage-title-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;min-height:44px;cursor:pointer}.recipe-structure-empty{margin:0;color:var(--muted);font-size:var(--type-ui)}.recipe-structure-add-anchor{position:relative;align-self:flex-start;width:max-content;max-width:100%;margin-top:var(--space-2)}.recipe-structure-add.tertiary-button{align-self:flex-start;width:auto;max-width:100%;justify-content:flex-start;padding-inline:0;margin-top:0;margin-inline:0;text-align:left}.recipe-structure-add-tip{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:12;width:min(20rem,calc(100vw - 2 * var(--main-padding-inline, 24px)));margin:0}.recipe-structure-add-tip>.empty-mark{margin:var(--space-3) var(--space-2) var(--space-3) var(--space-3)}.recipe-structure-add-tip .hint-card-body{padding:var(--space-3)}.recipe-structure-add-tip .hint-card-body:before{top:var(--space-3);bottom:var(--space-3)}.recipe-structure-add-tip .hint-close{width:32px;height:32px}.recipe-rename-field{display:flex;flex-direction:column;gap:var(--form-stack-gap, var(--space-4))}.recipe-rename-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.recipe-row-actions .recipe-block-menu-trigger.icon-button{cursor:pointer}.recipe-structure-delete-actions{flex-direction:column;align-items:stretch}.recipe-mode-switch--compact{width:100%;min-width:12rem}:root{--share-paper: #f4f0e8;--share-ink: #1a1a1a;--share-wine: #a63d5a;--share-rule: color-mix(in srgb, #1a1a1a 12%, #f4f0e8)}.confirm-dialog.share-sheet-dialog{display:flex;flex-direction:column;width:min(28rem,100%);max-height:calc(100dvh - 2 * var(--modal-viewport-inset));overflow:hidden;text-align:left;padding-bottom:var(--space-5)}.confirm-dialog.share-sheet-dialog p:not(.eyebrow):not(.share-card-lead):not(.share-card-kicker):not(.share-card-subtitle):not(.share-card-nutrition):not(.share-card-count):not(.share-card-week-name):not(.share-card-meal-label){margin:0;max-width:none;color:inherit;font-size:inherit;line-height:inherit;font-weight:inherit}.share-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex:0 0 auto;margin-bottom:var(--space-4)}.share-sheet-header:has(.eyebrow)>.close-button{margin-top:var(--editor-close-eyebrow-nudge)}.share-sheet-header .eyebrow{margin:0 0 var(--space-1)}.share-sheet-header h2{margin:0;font-family:var(--font-display);font-size:var(--type-title);font-weight:600;line-height:1.25;color:var(--graphite)}.share-sheet-preview{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--share-paper);border-radius:var(--radius-md)}.share-sheet-actions{display:flex;flex-direction:column;gap:var(--space-2);flex:0 0 auto;margin-top:var(--space-5)}.share-sheet-actions .primary-button,.share-sheet-actions .secondary-button,.share-sheet-actions .tertiary-button{width:100%}.share-card{position:relative;box-sizing:border-box;padding:var(--space-6) var(--space-5) var(--space-5);background:var(--share-paper);color:var(--share-ink);color-scheme:light;font-family:var(--font-sans);print-color-adjust:exact;-webkit-print-color-adjust:exact}.share-card-header{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-6)}.share-card--week .share-card-header,.share-card--day .share-card-header,.share-card--meal .share-card-header{padding-bottom:var(--space-5);border-bottom:1px solid var(--share-rule)}.share-card--day .share-card-header,.share-card--meal .share-card-header{margin-bottom:var(--space-5)}.share-card-logo-wrap{padding:12px 16px;margin-bottom:var(--space-4)}.share-card-logo{display:block;width:min(11.5rem,62%);height:auto;margin-inline:auto}.share-sprig--corner{position:absolute;top:-8px;right:-12px;width:min(7.5rem,38%);height:auto;pointer-events:none}.share-sprig--foot{display:block;width:2.75rem;height:auto;margin:var(--space-3) auto 0}.share-card-kicker{margin:0 0 var(--space-2);color:var(--share-wine);font-size:var(--type-eyebrow);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.share-card-hero{margin:0;font-family:var(--font-display);font-size:2.25rem;font-weight:500;line-height:1.1;color:var(--share-ink)}.share-card--week .share-card-hero,.share-card--day .share-card-hero,.share-card--meal .share-card-hero{font-size:var(--type-title);line-height:1.25;max-width:14em}.share-card--week .share-card-kicker,.share-card--day .share-card-kicker,.share-card--meal .share-card-kicker{margin-bottom:var(--space-3)}.share-card-subtitle,.share-card-nutrition{margin:var(--space-5) 0 0;max-width:22rem;font-size:var(--type-ui);font-weight:400;line-height:1.4;color:var(--share-ink)}.share-card-nutrition{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.share-card-nutrition-mark{display:block;width:14px;height:14px;flex:0 0 auto}.share-card-nutrition+.share-card-subtitle{margin-top:var(--space-2)}.share-card-meals{display:grid;grid-template-columns:repeat(var(--share-meal-cols, 1),minmax(0,1fr));gap:var(--space-5) 0}.share-card--day:not(.is-stack) .share-card-meals{column-gap:var(--space-5);row-gap:0}.share-card--day:not(.is-stack) .share-card-meal+.share-card-meal{border-left:1px solid var(--share-rule);padding-left:var(--space-5)}.share-card.is-stack .share-card-meals,.share-card--meal .share-card-meals{grid-template-columns:1fr;gap:0}.share-card.is-stack .share-card-meal+.share-card-meal,.share-card--meal .share-card-meal+.share-card-meal{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--share-rule)}.share-card-meal-label{margin:0 0 var(--space-2);color:var(--share-wine);font-family:var(--font-sans);font-size:var(--type-eyebrow);font-weight:500;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.share-card-meal-dishes{margin:0;padding:0;list-style:none}.share-card-meal-dishes li{margin:0 0 var(--space-2);color:var(--share-ink);font-family:var(--font-sans);font-size:var(--type-ui);font-weight:400;line-height:1.4;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.share-card.is-single .share-card-meals{justify-items:center;text-align:center}.share-card--day .share-card-footer,.share-card--meal .share-card-footer{margin-top:var(--space-5)}.share-card-meal-dishes li:last-child{margin-bottom:0}.share-card-week{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none}.share-card-week:before{content:"";position:absolute;top:var(--space-2);bottom:var(--space-2);left:calc(2.25rem + 14.5px);width:1px;background:var(--share-rule)}.share-card-week-row{display:grid;grid-template-columns:2.25rem 5px minmax(0,1fr);align-items:start;column-gap:var(--space-3);padding-block:var(--space-4)}.share-card-week-row.is-break{margin-bottom:var(--space-2);padding-bottom:var(--space-5);border-bottom:1px solid var(--share-rule)}.share-card-week-abbr{color:var(--share-wine);font-size:var(--type-eyebrow);font-weight:500;letter-spacing:.04em}.share-card-week-axis{width:5px;height:5px;margin-top:.45em;border-radius:50%;background:var(--share-wine);z-index:1}.share-card-week-name{margin:0;color:var(--share-ink);font-size:var(--type-ui);font-weight:500;line-height:1.4}.share-card-week-row:not(.is-empty) .share-card-week-name{margin-bottom:var(--space-3)}.share-card-week-meal+.share-card-week-meal{margin-top:var(--space-3)}.share-card-week-meal-label{margin:0 0 var(--space-1);color:var(--share-wine);font-family:var(--font-sans);font-size:var(--type-eyebrow);font-weight:500;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.share-card-week-meal-dishes{margin:0;padding:0;list-style:none}.share-card-week-meal-dishes li{margin:0;color:var(--share-ink);font-size:var(--type-ui);font-weight:400;line-height:1.4;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.share-card-week-meal-dishes li+li{margin-top:var(--space-1)}.share-card-photo{margin:0 0 var(--space-5)}.share-card-photo img{display:block;width:100%;max-height:16rem;object-fit:cover}.share-card-lead{margin:0 0 var(--space-5);font-size:var(--type-ui);line-height:1.5}.share-card-section{margin:0 0 var(--space-5);text-align:left}.share-card-lead+.share-card-section,.share-card-photo+.share-card-section{margin-top:var(--space-5)}.share-card-section h2{margin:0 0 var(--space-2);color:var(--share-wine);font-family:var(--font-sans);font-size:var(--type-eyebrow);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.share-card-section h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--type-ui);font-weight:600}.share-card-section h2+div h3{margin-top:0}.share-card-section>div+div h3{margin-top:var(--space-5)}.share-card-section ul,.share-card-section ol{margin:0;padding-left:1.15rem}.share-card-section li{margin:0 0 var(--space-2);font-size:var(--type-ui);line-height:1.45;overflow-wrap:anywhere}.share-card-footer{margin-top:var(--space-6);text-align:center}.share-card-count{margin:0;color:var(--share-wine);font-size:var(--type-eyebrow);font-weight:500;letter-spacing:.04em}.share-card-capture{position:fixed;left:-12000px;top:0;width:1080px;z-index:0;pointer-events:none}.share-card-capture .share-card{width:1080px;padding:72px 64px 56px}.share-card-capture .share-card-logo{width:280px}.share-card-capture .share-card-logo-wrap{margin-bottom:24px}.share-card-capture .share-card-header{margin-bottom:40px}.share-card-capture .share-card--week .share-card-header,.share-card-capture .share-card--day .share-card-header,.share-card-capture .share-card--meal .share-card-header{padding-bottom:32px}.share-card-capture .share-card--day .share-card-header,.share-card-capture .share-card--meal .share-card-header{margin-bottom:32px}.share-card-capture .share-card-kicker{margin-bottom:12px}.share-card-capture .share-card-hero{font-size:72px;line-height:1.05}.share-card-capture .share-card--week .share-card-hero,.share-card-capture .share-card--day .share-card-hero,.share-card-capture .share-card--meal .share-card-hero{font-size:48px;line-height:1.15}.share-card-capture .share-card-subtitle,.share-card-capture .share-card-nutrition{margin-top:32px;max-width:22em}.share-card-capture .share-card-nutrition-mark{width:22px;height:22px}.share-card-capture .share-card-nutrition+.share-card-subtitle{margin-top:8px}.share-card-capture .share-card-kicker,.share-card-capture .share-card-meal-label,.share-card-capture .share-card-week-meal-label,.share-card-capture .share-card-section h2,.share-card-capture .share-card-week-abbr,.share-card-capture .share-card-count{font-size:18px}.share-card-capture .share-card-subtitle,.share-card-capture .share-card-nutrition,.share-card-capture .share-card-week-name,.share-card-capture .share-card-week-meal-dishes li,.share-card-capture .share-card-meal-dishes li,.share-card-capture .share-card-lead,.share-card-capture .share-card-section li,.share-card-capture .share-card-section h3{font-size:22px;line-height:1.4}.share-card-capture .share-card-lead{margin-bottom:32px}.share-card-capture .share-card-lead+.share-card-section,.share-card-capture .share-card-photo+.share-card-section{margin-top:32px}.share-card-capture .share-card-section h2{margin-bottom:8px}.share-card-capture .share-card-section h2+div h3{margin-top:0}.share-card-capture .share-card-section>div+div h3{margin-top:32px}.share-card-capture .share-sprig--corner{top:-16px;right:-24px;width:280px}.share-card-capture .share-sprig--foot{width:72px}.share-card-capture .share-card-photo img{max-height:420px}.share-card-capture .share-card-week:before{left:calc(2.75rem + 18.5px)}.share-card-capture .share-card-week-row{grid-template-columns:2.75rem 5px minmax(0,1fr);column-gap:16px;padding-block:24px}.share-card-capture .share-card-week-row:not(.is-empty) .share-card-week-name{margin-bottom:16px}.share-card-capture .share-card-week-meal+.share-card-week-meal{margin-top:16px}.share-card-capture .share-card-week-meal-dishes li+li{margin-top:8px}@media(max-width:679px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){.confirm-dialog.share-sheet-dialog{padding-bottom:0}.share-sheet-actions{padding-bottom:max(var(--space-4),env(safe-area-inset-bottom,0px))}}@media(max-width:900px),(pointer:coarse){:root{--field-font-size: var(--type-body)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not([type=file]),textarea,select{font-size:var(--field-font-size)}}@media print{html.is-share-printing,html.is-share-printing body{margin:0!important;padding:0!important;background:var(--share-paper, #f4f0e8)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}html.is-share-printing body>*:not(.share-print-root){display:none!important}html.is-share-printing .share-print-root{display:block!important;visibility:visible!important;position:static!important;left:auto!important;top:auto!important;width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important;z-index:1!important;pointer-events:none;color:#1a1a1a!important;background:var(--share-paper, #f4f0e8)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}html.is-share-printing .share-print-root .share-card{width:100%!important;max-width:none!important;min-height:0;padding:0!important;background:var(--share-paper, #f4f0e8)!important;box-shadow:none!important}html.is-share-printing .share-print-root .share-card-logo-wrap{margin-bottom:8mm!important}html.is-share-printing .share-print-root .share-card-logo{width:42mm!important}html.is-share-printing .share-print-root .share-card-header{margin-bottom:8mm!important;break-inside:avoid;break-after:avoid}html.is-share-printing .share-print-root .share-card-hero{font-size:22pt!important;line-height:1.15!important}html.is-share-printing .share-print-root .share-card--week .share-card-hero,html.is-share-printing .share-print-root .share-card--day .share-card-hero,html.is-share-printing .share-print-root .share-card--meal .share-card-hero{font-size:16pt!important;line-height:1.2!important}html.is-share-printing .share-print-root .share-card-kicker,html.is-share-printing .share-print-root .share-card-meal-label,html.is-share-printing .share-print-root .share-card-week-meal-label,html.is-share-printing .share-print-root .share-card-section h2,html.is-share-printing .share-print-root .share-card-week-abbr,html.is-share-printing .share-print-root .share-card-count{font-size:9pt!important}html.is-share-printing .share-print-root .share-card-nutrition-mark{width:11pt!important;height:11pt!important}html.is-share-printing .share-print-root .share-card-subtitle,html.is-share-printing .share-print-root .share-card-nutrition,html.is-share-printing .share-print-root .share-card-week-name,html.is-share-printing .share-print-root .share-card-week-meal-dishes li,html.is-share-printing .share-print-root .share-card-meal-dishes li,html.is-share-printing .share-print-root .share-card-lead,html.is-share-printing .share-print-root .share-card-section li,html.is-share-printing .share-print-root .share-card-section h3{font-size:11pt!important;line-height:1.4!important}html.is-share-printing .share-print-root .share-card-section h2{margin-bottom:2mm!important}html.is-share-printing .share-print-root .share-card-section h3{font-weight:600}html.is-share-printing .share-print-root .share-card-section h2+div h3{margin-top:0!important}html.is-share-printing .share-print-root .share-card-section>div+div h3{margin-top:8mm!important}html.is-share-printing .share-print-root .share-card-photo{break-inside:avoid;break-before:avoid;margin-bottom:6mm!important}html.is-share-printing .share-print-root .share-card-photo img{width:100%!important;max-height:100mm!important;object-fit:cover}html.is-share-printing .share-print-root .share-card-lead{break-before:auto}html.is-share-printing .share-print-root .share-sprig--corner{width:28mm!important;top:0!important;right:0!important}html.is-share-printing .share-print-root .share-sprig--foot{width:14mm!important}html.is-share-printing .share-print-root .share-card-week:before{left:calc(12mm + 2.5px)!important}html.is-share-printing .share-print-root .share-card-week-row{grid-template-columns:12mm 5px minmax(0,1fr)!important;break-inside:avoid}html.is-share-printing .share-print-root .share-card-week-meal{break-inside:avoid}}
