*,:before,:after{box-sizing:border-box}@font-face{font-family:Asar;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/asar-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Asar;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/asar-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Geist", system-ui, "Segoe UI", Roboto, sans-serif;font-family:var(--font-sans);--font-serif:"Asar", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-size-body:13.5px;--font-size-card-title:20px;--font-size-screen-title:26px;--recipe-grid-row-gap:25px;--recipe-grid-col-gap:15px;--recipe-grid-min-col:250px;--recipe-card-height:200px;--recipe-grid-gap-mobile:12px;--recipe-grid-row-gap-mobile:18px;--recipe-card-height-mobile:136px;--color-green:#1d5b45;--color-green-hover:#164736;--color-green-soft:#eef4f1;--color-bottom-bar-selected:#d7e4de;--color-nav-selected-ink:var(--color-green);--color-sage:#829d94;--color-green-muted:#446b5d;--color-saved-ribbon:#1c5b45;--color-saved-ribbon-outline:#edf9f5;--color-priority:#2f6bed;--color-priority-hover:#245bd0;--color-primary:#e8703a;--color-primary-hover:#d65f2c;--color-primary-light:#f2b79d;--color-primary-soft:#fff3ee;--color-primary-soft-2:#fff5f0;--color-primary-soft-3:#fff5ef;--color-primary-soft-4:#fff9f6;--color-primary-tint:#fbece5;--color-primary-border:#fbcfb4;--color-copper:#a94f38;--color-copper-hover:#933f2a;--color-copper-soft:#f7e8e3;--color-copper-text:#a94f38;--color-primary-08:#e8703a14;--color-primary-12:#e8703a1f;--color-primary-18:#e8703a2e;--color-recipe-fallback:linear-gradient(145deg, #c85c38, #843315);--color-star:#ffd86a;--color-star-on-surface:#f4b400;--color-star-empty:#ffffff73;--color-gray-900:#111827;--color-gray-800:#1f2937;--color-gray-700:#374151;--color-gray-600:#4b5563;--color-gray-500:#6b7280;--color-gray-400:#9ca3af;--color-gray-300:#d1d5db;--color-gray-200:#e5e7eb;--color-gray-100:#f3f4f6;--color-gray-50:#f9fafb;--color-gray-900-08:#11182714;--color-gray-900-12:#1118271f;--color-gray-900-14:#11182724;--color-gray-900-18:#1118272e;--color-gray-900-28:#11182747;--color-scrim-tile:#1118278c;--color-scrim-control:#11182799;--color-scrim-status-bar:var(--color-black);--color-scrim-modal:var(--color-gray-900-28);--color-cooking-card:#17120f;--color-frost-light:#ffffffb3;--color-frost-light-hover:#ffffffdb;--color-frost-light-ink:#111827;--color-frost-dark:#1b1f24b8;--color-frost-dark-hover:#1b1f24db;--color-frost-dark-ink:#f3f4f6;--color-frost:var(--color-frost-light);--color-frost-hover:var(--color-frost-light-hover);--color-frost-ink:var(--color-frost-light-ink);--backdrop-frost:blur(16px) saturate(1.4);--color-frost-divider:#1f293714;--color-white:#fff;--color-black:#000;--color-surface:#fff;--color-surface-subtle:#f9fafb;--color-border:#e5e7eb;--color-divider:#eceef1;--color-card-placeholder-border:#f1f2f4;--color-surface-hover:#f1f2f4;--color-control:#f1f2f4;--color-control-hover:#e7e9ec;--color-control-active:#dee1e5;--color-illustration-wash:#f1ebe2;--color-notice-surface:#f1f2f4;--color-danger:#b4233a;--color-danger-strong:#911b30;--color-danger-soft:#fcebed;--color-warning:#a45c14;--color-link:#2563eb;--color-menu-violet:#8b5cc6;--color-menu-violet-soft:#f3eefa;--color-menu-amber:#e5962a;--color-menu-amber-soft:#fdf4e4;--color-menu-green:#2f8a66;--color-menu-green-soft:#e9f4ee;--color-menu-coral:#e2683f;--color-menu-coral-soft:#fdede7;--color-menu-blue:#3b7dd8;--color-menu-blue-soft:#e9f1fc;--color-menu-rose:#dc4c5c;--color-menu-rose-soft:#fdebed;--color-menu-card-ink:#211a16;--shadow-mobile-hero:1px 1px 1px #000;--shadow-hero-title:1px 1.5px 1px #000;--filter-star-shadow:url(#simmer-star-shadow);--shadow-panel:0 0px 6px #0000002e;--shadow-floating-toolbar:0 4px 14px #00000024, 0 1px 3px #00000014;--shadow-floating-button:0 2px 8px #0000001f, 0 1px 2px #00000014;--shadow-floating-button-hover:0 4px 12px #00000029, 0 1px 3px #0000001a;--shadow-focus-ring:0 0 0 3px var(--color-primary-12);--shadow-focus-ring-strong:0 0 0 3px var(--color-primary-18);--radius-3xs:3px;--radius-2xs:4px;--radius-xs:6px;--radius-sm:7px;--radius-md:8px;--radius-lg:9px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:14px;--radius-4xl:16px;--radius-5xl:20px;--radius-6xl:24px;--radius-pill:999px;--z-sticky:10;--z-sticky-dropdown:11;--z-chrome:20;--z-chrome-raised:30;--z-fab:31;--z-scrim:40;--z-panel:50;--z-modal:60;--z-modal-raised:70;--z-sheet:80;--z-sheet-raised:90;--z-overlay:100;--duration-fast:.12s;--duration-medium:.2s;--duration-slow:.5s;--duration-flip:.32s;--duration-disclosure:.26s;--ease-disclosure:cubic-bezier(.22, 1, .36, 1);color:var(--color-gray-700);background:var(--color-white);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--color-surface);--color-green:#2f8d68;--color-green-hover:#3a9f78;--color-green-soft:#18271f;--color-bottom-bar-selected:#22382c;--color-nav-selected-ink:#5eba96;--color-green-muted:#79b39c;--color-saved-ribbon:#2f8d68;--color-saved-ribbon-outline:#0f1a14;--color-priority:#5b8bf5;--color-priority-hover:#6f9bff;--color-primary:#ef7c46;--color-primary-hover:#f28a58;--color-primary-light:#6b3a26;--color-primary-soft:#271912;--color-primary-soft-2:#281a13;--color-primary-soft-3:#281a12;--color-primary-soft-4:#20150f;--color-primary-tint:#2e1d13;--color-primary-border:#5a3a28;--color-copper:#c2603f;--color-copper-hover:#cf7052;--color-copper-soft:#2d1c17;--color-copper-text:#f0a884;--color-primary-08:#ef7c461a;--color-primary-12:#ef7c4629;--color-primary-18:#ef7c463d;--color-star:#ffd86a;--color-star-empty:#ffffff73;--color-frost:var(--color-frost-dark);--color-frost-hover:var(--color-frost-dark-hover);--color-frost-ink:var(--color-frost-dark-ink);--color-frost-divider:#ffffff1a;--color-gray-900:#f3f4f6;--color-gray-800:#e5e7eb;--color-gray-700:#d1d5db;--color-gray-600:#adb2ba;--color-gray-500:#8a9099;--color-gray-400:#6a7079;--color-gray-300:#474c54;--color-gray-200:#383c43;--color-gray-100:#2a2e34;--color-gray-50:#1f2329;--color-gray-900-08:#00000047;--color-gray-900-12:#00000061;--color-gray-900-14:#00000070;--color-gray-900-18:#00000085;--color-surface:#1f2329;--color-surface-subtle:#1b1f24;--color-border:#383c43;--color-divider:#2c3036;--color-card-placeholder-border:#2c3036;--color-surface-hover:#2a2e34;--color-control:#2a2e34;--color-control-hover:#343941;--color-control-active:#3c4149;--color-illustration-wash:#2c2824;--color-notice-surface:#2a2e34;--color-danger:#e5566b;--color-danger-strong:#ec6f82;--color-danger-soft:#2c171c;--color-warning:#e3a25a;--color-link:#6ea0ff;--color-menu-violet:#b794e6;--color-menu-violet-soft:#2a2236;--color-menu-amber:#f2b45a;--color-menu-amber-soft:#2e2414;--color-menu-green:#6cc29d;--color-menu-green-soft:#18291f;--color-menu-coral:#f0916c;--color-menu-coral-soft:#2f1d16;--color-menu-blue:#7aaaf0;--color-menu-blue-soft:#18233a;--color-menu-rose:#ef8290;--color-menu-rose-soft:#301a1d}html,body{overscroll-behavior-x:none}body,h1,h2,h3,h4,h5,h6,p{margin:0}button{font-family:inherit}#root{width:100%}#root:has(.app-layout){height:var(--app-height,100svh);overscroll-behavior-x:contain;overflow:hidden}.btn{box-sizing:border-box;border-radius:var(--radius-xl);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.btn--has-icon{padding:10px 14px 10px 12px}.btn:disabled{opacity:.55;cursor:default}.btn-icon{flex-shrink:0;display:inline-flex}.btn--primary{border-color:var(--color-green);background:var(--color-green);color:var(--color-white)}.btn--primary:hover:not(:disabled){background:var(--color-green-hover);border-color:var(--color-green-hover)}.btn--secondary{background:var(--color-control);color:var(--color-gray-900)}.btn--secondary:hover:not(:disabled){background:var(--color-control-hover)}.btn--secondary:active:not(:disabled){background:var(--color-control-active)}.btn--secondary.is-active{background:var(--color-green-soft);color:var(--color-green)}.btn--danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-white)}.btn--danger:hover:not(:disabled){background:var(--color-danger-strong);border-color:var(--color-danger-strong)}.spinner{vertical-align:middle;flex:none;animation:.75s linear infinite spinner-turn}.busy-label{align-items:center;gap:.45em;display:inline-flex}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.5s}}.trash-view{padding:24px 24px calc(var(--mobile-bottom-clearance,0px) + 24px);width:100%;max-width:880px;margin:0 auto}.trash-view-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.trash-view-title{color:var(--color-gray-800);margin:0;font-size:24px;font-weight:700}.trash-view-subtitle{color:var(--color-gray-500);margin:4px 0 0;font-size:13px}.trash-view-error{color:var(--color-danger);margin:0 0 16px;font-size:13px}.trash-section{margin-bottom:28px}.trash-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.trash-row{background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.trash-row-main{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.trash-row-thumb{background:var(--color-gray-100);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.trash-row-thumb img{object-fit:cover;width:100%;height:100%}.trash-row-thumb-fallback{font-size:var(--font-size-card-title)}.trash-row-text{flex-direction:column;min-width:0;display:flex}.trash-row-name{color:var(--color-gray-800);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.trash-row-meta{color:var(--color-gray-500);font-size:12px}.trash-row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.trash-row-error{color:var(--color-danger);flex-basis:100%;margin:0;font-size:12px}.recipe-page{background:var(--color-surface);flex-direction:column;min-height:100%;display:flex}.rp-back-btn{border:1.5px solid var(--color-gray-300);cursor:pointer;width:36px;height:36px;color:var(--color-gray-900);transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:12px;padding:0;display:flex;position:absolute;top:4px;right:100%}.rp-back-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}@container rp-content (width<=1060px){.rp-back-btn{margin-top:2px;margin-right:10px;position:static;top:0}}.rp-trash-pill{vertical-align:middle;color:var(--color-white);text-transform:uppercase;letter-spacing:.6px;border-radius:var(--radius-pill);background:#1f2937c7;margin-left:12px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-block}.rp-edit-action{border-radius:var(--radius-xs);cursor:pointer;transition:background var(--duration-fast), opacity var(--duration-fast);padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600}.rp-edit-action:disabled{opacity:.4;cursor:default}.rp-edit-save{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-white)}.rp-edit-save:not(:disabled):hover{background:var(--color-primary-hover)}.rp-edit-cancel{background:var(--color-control);color:var(--color-gray-900);border:1px solid #0000;align-items:center;gap:6px;display:inline-flex}.rp-edit-cancel:not(:disabled):hover{background:var(--color-control-hover)}.rp-edit-cancel:not(:disabled):active{background:var(--color-control-active)}.rp-history-buttons{align-items:center;gap:4px;display:inline-flex}.rp-history-buttons--banner{margin-right:6px}.edit-history-root{display:contents}.rp-history-buttons--banner .rp-history-btn,.rp-history-buttons--inline .rp-history-btn{border-radius:var(--radius-xs);background:var(--color-control);width:36px;height:36px;color:var(--color-gray-700);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), opacity var(--duration-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-history-buttons--banner .rp-history-btn:not(:disabled):hover,.rp-history-buttons--inline .rp-history-btn:not(:disabled):hover{background:var(--color-control-hover);color:var(--color-gray-900)}.rp-history-btn:disabled{opacity:.4;cursor:default}.rp-save-inline-error{color:var(--color-danger);font-size:12px;font-weight:600}.rp-sync-conflict{background:var(--color-notice-surface);border-radius:var(--radius-md);align-items:center;gap:10px;max-width:520px;padding:6px 10px;display:inline-flex}.rp-sync-conflict-text{color:var(--color-gray-700);font-size:12px;font-weight:500;line-height:1.3}.rp-sync-conflict-text strong{color:var(--color-warning);font-weight:600}.rp-sync-conflict-reload{background:var(--color-surface);color:var(--color-gray-900);border:none;flex:none}.rp-sync-conflict-reload:not(:disabled):hover{background:var(--color-surface-subtle)}.rp-save-split{display:inline-flex;position:relative}.rp-save-split-main{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:14px}.rp-save-split-toggle{border-left:1px solid #ffffff59;border-top-left-radius:0;border-bottom-left-radius:0;justify-content:center;align-items:center;padding:10px;display:inline-flex}.rp-save-split-popover{background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);min-width:160px;z-index:var(--z-chrome-raised);flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0;box-shadow:0 -6px 20px #00000014}.rp-save-split-popover--down{top:calc(100% + 4px);bottom:auto;box-shadow:0 6px 20px #00000014}.rp-save-split-item{text-align:left;cursor:pointer;color:var(--color-gray-800);border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.rp-save-split-item-icon{color:var(--color-gray-500);flex:none}.rp-save-split-item--danger .rp-save-split-item-icon{color:currentColor}.rp-save-split-item:hover{background:var(--color-gray-100)}.rp-save-split-item:disabled{opacity:.5;cursor:default}.rp-save-split-item--danger{color:var(--color-danger)}.rp-save-split-item--danger:hover{background:var(--color-danger-soft)}.rp-save-split-popover--up{top:auto;bottom:calc(100% + 4px);box-shadow:0 -6px 20px #00000014}.rp-phone-save-bar{z-index:var(--z-scrim);padding:8px 16px max(8px, env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 16px var(--color-gray-900-08);animation:rp-phone-save-bar-up var(--duration-medium) cubic-bezier(.32, .72, 0, 1);flex-direction:column;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.rp-phone-save-bar-actions{align-items:center;gap:12px;display:flex}.rp-phone-save-status{min-width:0;font-size:var(--font-size-body);color:var(--color-gray-600);flex:auto;align-items:center;gap:8px;margin:0;display:flex}.rp-phone-save-status>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rp-phone-save-status-check{color:var(--color-green);flex:none}.rp-phone-save-status-dot{background:var(--color-primary);border-radius:50%;flex:none;width:9px;height:9px;margin:0 4px}.rp-phone-save-status--dirty{color:var(--color-gray-800);font-weight:600}.rp-phone-save-primary{flex:none;display:flex}.rp-phone-save-primary.rp-edit-save,.rp-phone-save-primary .rp-save-split-main{justify-content:center}.rp-phone-save-bar .rp-edit-action{justify-content:center;align-items:center;min-height:42px;padding:0 20px;font-size:15px;display:inline-flex}.rp-phone-save-primary.rp-edit-save{border-radius:var(--radius-2xl)}.rp-phone-save-primary .rp-save-split-main{border-top-left-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.rp-phone-save-bar .rp-phone-save-primary .rp-save-split-toggle{border-top-right-radius:var(--radius-2xl);border-bottom-right-radius:var(--radius-2xl);flex:none;padding:0 14px}.rp-phone-save-bar .rp-save-split-popover{border-radius:var(--radius-2xl);min-width:210px;padding:6px}.rp-phone-save-bar .rp-save-split-item{padding:12px;font-size:15px}.rp-phone-save-error{margin:0}@keyframes rp-phone-save-bar-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.rp-phone-save-bar{animation:none}}.rp-content{flex:1;padding:28px 36px 40px;container:rp-content/inline-size}.rp-content-inner{max-width:950px;margin:0 auto}@media (width>=768px){.rp-content-inner{max-width:none}.rp-content{--rp-content-pad-skew:11px;padding-left:58px}}.rp-unsaved-message{color:var(--color-gray-500);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.rp-unsaved-dot{background:var(--color-primary);width:9px;height:9px;box-shadow:0 0 0 4px var(--color-primary-12);border-radius:50%}.rp-saved-message{color:var(--color-gray-500);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.rp-saved-message svg{color:var(--color-gray-500);flex-shrink:0}.rp-saved-message-sep{color:var(--color-gray-400)}.rp-version-count-link{appearance:none;font:inherit;color:var(--color-primary);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.rp-version-count-link:hover{color:#b34d1f}.rp-unsaved-message-sep{color:var(--color-gray-400)}.rp-unsaved-version{color:var(--color-gray-500)}.rp-drag-context-menu{z-index:var(--z-modal-raised);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:0 12px 28px var(--color-gray-900-14), 0 2px 8px var(--color-gray-900-08);padding:4px;position:fixed}.rp-drag-context-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--color-gray-700);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;display:flex}.rp-drag-context-menu-item svg{color:var(--color-gray-500);flex-shrink:0}.rp-drag-context-menu-item:hover,.rp-drag-context-menu-item:focus-visible{color:var(--color-gray-900);background:var(--color-primary-soft);outline:none}.rp-drag-context-menu-item:hover svg,.rp-drag-context-menu-item:focus-visible svg{color:var(--color-gray-500)}.rp-drag-context-menu-item--danger,.rp-drag-context-menu-item--danger svg{color:var(--color-danger)}.rp-drag-context-menu-item--danger:hover,.rp-drag-context-menu-item--danger:focus-visible{color:var(--color-danger-strong);background:var(--color-danger-soft)}.rp-drag-context-menu-separator{background:var(--color-divider);height:1px;margin:5px 4px}.rp-ingredient-group-actionbar{z-index:5;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 8px 22px var(--color-gray-900-12), 0 2px 6px #1118270f;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:8px 8px 8px 14px;display:flex;position:sticky;bottom:12px}.rp-ingredient-group-actionbar-status{color:var(--color-gray-500);font-size:13px;font-weight:600}.rp-ingredient-group-actionbar-actions{align-items:center;gap:8px;display:flex}.rp-ingredient-group-actionbar-cancel{color:var(--color-gray-500);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600}.rp-ingredient-group-actionbar-cancel:hover,.rp-ingredient-group-actionbar-cancel:focus-visible{color:var(--color-gray-900);background:var(--color-gray-100);outline:none}@media (width<=640px){.rp-ingredient-group-actionbar{bottom:8px}}.rp-drag-context-menu-item--danger:hover svg,.rp-drag-context-menu-item--danger:focus-visible svg{color:var(--color-danger-strong)}.rp-hero{margin-bottom:24px;display:block}.rp-hero-photo{aspect-ratio:21/9;border-radius:var(--radius-2xl);touch-action:pan-y;position:relative;overflow:hidden}.rp-hero-carousel-track,.card-carousel-track{will-change:transform;width:100%;height:100%;display:flex}.rp-hero-carousel-track.is-animating,.card-carousel-track.is-animating{transition:transform .32s cubic-bezier(.22,1,.36,1)}.rp-hero-carousel-slide,.card-carousel-slide{flex:0 0 100%;min-width:0;height:100%;position:relative}@media (prefers-reduced-motion:reduce){.rp-hero-carousel-track.is-animating,.card-carousel-track.is-animating{transition:none}}.rp-hero-photo:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(200% 150% at 140% 20%,#0000 0%,#0000001a 50%,#0000004d 60%,#00000080 70%,#000c 100%);position:absolute;inset:0}.rp-hero-overlay{z-index:2;pointer-events:none;padding:22px 24px 20px;position:absolute;bottom:0;left:0;right:0}.rp-hero-overlay>*{pointer-events:auto;width:fit-content;max-width:100%}.rp-hero-overlay .rp-title{color:var(--color-white);font-family:var(--font-serif);letter-spacing:.5px;-webkit-text-stroke-width:.4px;font-size:30px;font-weight:600;line-height:1.3;text-shadow:0 3px 3px var(--color-black)!important}.rp-hero-rating-row{align-items:center;gap:14px;margin-top:12px;display:flex}.rp-hero-overlay .rp-stars{font-size:21px}.rp-hero-overlay .rp-star-glyph,.rp-hero-overlay .rp-star-rating-button--readonly{filter:var(--filter-star-shadow)}.rp-hero-overlay .rp-star-glyph--glow{filter:none}.rp-hero-overlay .rp-star-rating-button{color:var(--color-star-empty)}.rp-hero-overlay .rp-star-rating-button--filled,.rp-hero-overlay .rp-star-rating-button:hover,.rp-hero-overlay .rp-star-rating-button:focus-visible{color:var(--color-star)}.rp-hero-photo .rp-back-btn{z-index:3;width:38px;height:38px;color:var(--color-gray-900);background:#ffffffeb;border:none;margin:0;position:absolute;top:14px;left:14px;right:auto;box-shadow:0 2px 8px #00000040}.rp-hero-photo .rp-back-btn:hover{background:var(--color-surface);border:none}.rp-hero-topright{z-index:3;align-items:center;gap:8px;display:flex;position:absolute;top:14px;right:14px}.rp-hero-saved-chip{border-radius:var(--radius-pill);height:34px;color:var(--color-saved-ribbon-outline);text-shadow:0 1px 2px #00000073;cursor:pointer;background:#00000047;border:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1.5px}.rp-hero-saved-chip:hover:not(:disabled):not([data-no-hover]){background:#0000006b}.rp-hero-saved-chip--saved{box-shadow:none;background:var(--color-green);color:var(--color-white);text-shadow:none}.rp-hero-saved-chip--saved:hover:not(:disabled):not([data-no-hover]){background:var(--color-green-hover)}.rp-hero-saved-chip--priority{box-shadow:none;background:var(--color-priority);color:var(--color-white);text-shadow:none}.rp-hero-saved-chip--priority:hover:not(:disabled):not([data-no-hover]){background:var(--color-priority-hover)}.rp-hero-saved-chip:disabled{cursor:default;opacity:.6}.rp-hero-actions-btn{width:38px;height:38px;color:var(--color-gray-900);background:#ffffffeb;border:none;border-radius:50%;box-shadow:0 2px 8px #00000040}.rp-hero-actions-btn:hover,.rp-hero-actions-btn[aria-expanded=true]{background:var(--color-surface);color:var(--color-gray-900);border:none}.rp-meta-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;padding-bottom:18px;display:flex}.rp-meta-left{flex-direction:column;flex:320px;gap:14px;min-width:0;display:flex}.rp-meta-right{flex:none;align-items:center;display:flex}.rp-meta-right .rp-save-bar{border-top:none;margin-top:0;padding-top:0}.rp-meta-left>*{margin-top:0;margin-bottom:0}.rp-meta-left .rp-top-source-urls{margin-top:0}.rp-detail-topbar{align-items:center;max-width:1024px;height:34px;margin-bottom:16px;display:flex}.rp-detail-back-btn{min-width:0;font:inherit;color:var(--color-gray-700);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;align-items:center;gap:7px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.rp-detail-back-btn:hover{color:var(--color-primary)}.rp-detail-back-btn svg{flex:none}.rp-hero-change-cover{z-index:3;background:var(--color-frost);height:34px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-ink);cursor:pointer;transition:background var(--duration-fast);border:none;border-radius:17px;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex;position:absolute;bottom:14px;right:14px}.rp-hero-change-cover:hover,.rp-hero-change-cover:active{background:var(--color-frost-hover)}.rp-detail-hero{flex-direction:column;gap:24px;max-width:1024px;margin-bottom:24px;display:flex}.rp-detail-hero-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;display:grid}.rp-detail-hero-rail{display:none}.rp-detail-hero-col{flex-direction:column;gap:18px;min-width:0;display:flex}.rp-detail-hero-rail{flex-direction:column;gap:24px;min-width:0;display:flex}.rp-detail-hero-col .rp-body{grid-template-columns:fit-content(350px) minmax(0,1fr);margin-bottom:0}.rp-detail-hero-col .rp-body+.rp-nutrition-card{margin-top:20px}.rp-detail-hero .rp-detail-hero-photo{height:270px;box-shadow:none;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;margin:0}.rp-detail-hero .rp-hero-overlay{padding-bottom:34px}.rp-detail-hero .rp-hero-overlay .rp-title{-webkit-text-stroke-width:0;font-size:42px;text-shadow:var(--shadow-hero-title)!important}.rp-detail-hero .rp-hero-rating-row{margin-top:14px}.rp-hero-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.rp-hero-tag{border-radius:var(--radius-pill);height:28px;color:var(--color-white);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-shadow:0 1px 2px #0000008c;background:#000f0a52;align-items:center;padding:0 14px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.rp-detail-hero .rp-hero-saved-chip{display:inline-flex}.rp-hero-bottomright{z-index:3;align-items:center;gap:8px;display:flex;position:absolute;bottom:34px;right:14px}.rp-detail-hero .rp-hero-topright{animation:rp-meta-strip-in var(--duration-medium) ease calc(var(--duration-flip) / 2) both;flex-direction:row;align-items:center;gap:10px}@media (prefers-reduced-motion:reduce){.rp-detail-hero .rp-hero-topright{animation:none}}.rp-detail-hero .rp-hero-topright .rp-share-btn{border-radius:var(--radius-pill);background:var(--color-frost);height:34px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-ink);box-shadow:none;cursor:pointer;transition:background var(--duration-fast) ease;border:none;align-items:center;gap:6px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.rp-topbar-edit-btn{border-radius:var(--radius-pill);background:var(--color-primary);height:34px;color:var(--color-white);cursor:pointer;transition:background var(--duration-fast) ease;border:none;align-items:center;gap:6px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.rp-topbar-edit-btn:hover{background:var(--color-primary-hover)}.rp-topbar-pin-btn{height:34px;color:var(--color-gray-700);font:inherit;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;align-items:center;gap:7px;margin-right:8px;padding:0;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.rp-topbar-pin-btn:hover,.rp-topbar-pin-btn.is-pinned{color:var(--color-primary)}.rp-detail-hero .rp-hero-topright .rp-share-btn:hover{background:var(--color-frost-hover);color:var(--color-frost-ink);border:none}.rp-detail-hero .rp-hero-topright .rp-recipe-actions-btn{background:var(--color-frost);width:38px;height:38px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);box-shadow:none;color:var(--color-frost-ink);transition:background var(--duration-fast), color var(--duration-fast);border:none;border-radius:50%}.rp-detail-hero .rp-hero-topright .rp-recipe-actions-btn:hover,.rp-detail-hero .rp-hero-topright .rp-recipe-actions-btn[aria-expanded=true]{background:var(--color-frost-hover);color:var(--color-frost-ink);border:none}.rp-recipe-actions-popover--pop{transform-origin:100% 0;animation:rp-hero-actions-pop var(--duration-medium) cubic-bezier(.22, 1, .36, 1) both}@keyframes rp-hero-actions-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.rp-recipe-actions-popover--pop{animation:none}}.rp-view{--rp-view-max-width:1124px;max-width:var(--rp-view-max-width);margin-left:max(0px, calc((100% - var(--rp-view-max-width)) / 2 - var(--rp-content-pad-skew,0px)))}.rp-view-body{grid-template-columns:430px minmax(0,1fr);grid-template-areas:"head head""side main";align-items:start;gap:30px 98px;display:grid}.rp-view-side{--rp-view-side-stick:28px;top:calc(var(--rp-view-side-stick) - var(--rp-view-side-overflow,0px));flex-direction:column;grid-area:side;gap:20px;min-width:0;display:flex;position:sticky}.rp-view-main{flex-direction:column;grid-area:main;gap:40px;min-width:0;display:flex}.rp-view-hero{flex-direction:column;gap:14px;min-width:0;display:flex}.rp-view-hero-card{flex-direction:column;min-width:0;display:flex}.rp-view-hero .rp-view-hero-photo{aspect-ratio:3/2;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;height:auto;min-height:0;max-height:none;box-shadow:none;-webkit-box-reflect:below -1px;margin:0}.rp-view-hero .rp-view-hero-photo:after{content:none}.rp-view-hero-gallery-badge{z-index:3;border-radius:var(--radius-pill);background:var(--color-frost);width:34px;height:34px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-ink);pointer-events:none;animation:rp-meta-strip-in var(--duration-medium) ease calc(var(--duration-flip) / 2) both;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}@media (prefers-reduced-motion:reduce){.rp-view-hero-gallery-badge{animation:none}}.rp-view-hero-info{flex-direction:column;gap:14px;min-width:0;display:flex}.rp-view-hero-media+.rp-view-hero-info{margin-top:14px}.rp-view-hero-media{min-width:0;clip-path:inset(0 round var(--radius-2xl));display:flow-root;position:relative}.rp-view-hero-meta{--rp-view-facts-gap:20px;border-radius:var(--radius-2xl);background:var(--color-surface-subtle);min-width:0;padding:10px 18px}.rp-view-hero-meta--on-photo{--rp-view-frost-overhang:24px;isolation:isolate;margin-top:-1px;margin-bottom:calc(-1 * var(--rp-view-frost-overhang));padding-bottom:calc(10px + var(--rp-view-frost-overhang));background:0 0;border-radius:0;position:relative;overflow:hidden}.rp-view-hero-meta--on-photo:before{content:"";z-index:-1;background:var(--color-frost);-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);pointer-events:none;position:absolute;inset:-24px 0}@supports not (-webkit-box-reflect:below){.rp-view-hero-meta--on-photo:before{background:var(--color-surface-subtle);-webkit-backdrop-filter:none;backdrop-filter:none}}.rp-view-hero-meta--on-photo:after{content:"";background:var(--color-surface-subtle);pointer-events:none;animation:rp-view-hero-veil-out var(--duration-medium) ease calc(var(--duration-flip) / 2) both;position:absolute;inset:0}@keyframes rp-view-hero-veil-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.rp-view-hero-meta--on-photo:after{display:none}}.rp-view-head{--rp-view-title-size:34px;--rp-view-title-line:calc(var(--rp-view-title-size) * 1.15);flex-direction:column;grid-area:head;gap:10px;min-width:0;display:flex}.rp-view-title-row{align-items:flex-start;gap:24px;display:flex;position:relative}.rp-view-back{top:calc((var(--rp-view-title-line) - 36px) / 2);border-radius:var(--radius-pill);width:36px;height:36px;color:var(--color-gray-700);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:calc(100% + 11px)}button.rp-view-back:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.rp-view-title{min-width:0;font-family:var(--font-serif);font-size:var(--rp-view-title-size);letter-spacing:-.2px;color:var(--color-gray-900);overflow-wrap:break-word;-webkit-text-stroke-width:.4px;flex:auto;margin:0;font-weight:600;line-height:1.15}.rp-view-actions{height:var(--rp-view-title-line);flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.rp-view-actions .rp-topbar-pin-btn,.rp-view-actions .rp-recipe-actions-btn{border-radius:var(--radius-xl);background:var(--color-control);width:36px;height:36px;box-shadow:none;color:var(--color-gray-800);transition:background var(--duration-fast), color var(--duration-fast);border:1px solid #0000;justify-content:center;margin:0;padding:0}.rp-view-actions .rp-topbar-pin-btn:hover,.rp-view-actions .rp-recipe-actions-btn:hover,.rp-view-actions .rp-recipe-actions-btn[aria-expanded=true]{background:var(--color-control-hover);color:var(--color-gray-900);border-color:#0000}.rp-view-actions .rp-topbar-pin-btn.is-pinned{background:var(--color-green);color:var(--color-white)}.rp-view-actions .rp-topbar-pin-btn.is-pinned:hover{background:var(--color-green-hover);color:var(--color-white)}.rp-view-actions .rp-topbar-pin-btn>span{display:none}.rp-view-actions .rp-recipe-actions-menu{margin-top:0}.rp-view-rating{align-self:stretch}.rp-view-rating-row{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.rp-view-rating .rp-stars{gap:.03em;font-size:22px}.rp-view-rating .rp-star-rating-button{color:var(--color-gray-400);display:inline-flex}.rp-view-rating .rp-star-rating-button--filled{color:var(--color-star-on-surface)}.rp-view-rating .rp-star-glyph{display:block}.rp-view-rating .rp-star-icon{stroke-width:1.6px;display:block}.rp-view-rating .rp-star-particle{background:var(--color-star-on-surface);box-shadow:none}@media (prefers-reduced-motion:no-preference){.rp-view-rating .rp-star-glyph--flash,.rp-view-rating .rp-star-glyph--glow{animation:rp-view-star-pop var(--duration-slow) ease-out both}}@keyframes rp-view-star-pop{0%{transform:scale(1)}35%{transform:scale(1.25)}to{transform:scale(1)}}.rp-view-rate-prompt{color:var(--color-gray-500);font-size:15px;position:relative;top:1px}.rp-view-facts{align-items:center;column-gap:var(--rp-view-facts-gap);min-width:0;min-height:28px;display:flex;position:relative}.rp-view-facts--spread{justify-content:space-between}.rp-view-facts--spread .rp-view-hero-nutrition{margin-left:0}.rp-view-hero-source-row{align-items:center;gap:12px;min-width:0;min-height:28px;display:flex}.rp-view-hero-nutrition{flex:none;margin-left:auto;display:inline-flex}.rp-view-hero-meta>*+.rp-view-hero-source-row{border-top:1px solid var(--color-frost-divider);margin-top:8px;padding-top:8px}.rp-view-facts-ruler{visibility:hidden;pointer-events:none;width:max-content;display:flex;position:absolute;top:0;left:0}.rp-view-head .rp-hero-saved-chip{display:inline-flex}.rp-view-head .rp-hero-saved-chip--none{box-shadow:inset 0 0 0 1.5px var(--color-green);color:var(--color-green);text-shadow:none;background:0 0}.rp-view-head .rp-hero-saved-chip--none:hover:not(:disabled):not([data-no-hover]){background:var(--color-control)}.rp-view-fact-cell{flex:0 auto;align-items:center;min-width:0;max-width:100%;display:inline-flex;position:relative}.rp-view-fact{white-space:nowrap;min-width:0;color:var(--color-gray-700);align-items:center;gap:8px;font-size:14px;display:inline-flex}.rp-view-fact>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.rp-view-fact--link{text-decoration:none}.rp-view-fact--link:hover{text-underline-offset:2px;text-decoration:underline}.rp-view-facts-toggle{border-radius:var(--radius-sm);color:var(--color-gray-800);font:inherit;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;flex:none;align-items:center;gap:6px;margin-left:auto;padding:4px 0;font-size:14px;font-weight:500;display:inline-flex;position:relative}.rp-view-facts-toggle:hover{color:var(--color-gray-900)}.rp-view-facts-toggle:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-view-facts-toggle svg{transition:transform var(--duration-disclosure) var(--ease-disclosure)}.rp-view-facts-toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.rp-view-facts-toggle svg{transition:none}}.rp-view-facts-more{align-items:center;gap:8px var(--rp-view-facts-gap);flex-wrap:wrap;padding-top:8px;display:flex}.rp-view-fact-icon{width:18px;height:18px;color:var(--color-gray-800);flex:none;display:inline-flex}.rp-view-fact-icon svg{width:100%;height:100%}.rp-view-cook-row{gap:10px;display:flex}.rp-view-cook-btn{border-radius:var(--radius-xl);background:var(--color-green);min-width:0;height:48px;color:var(--color-white);font:inherit;cursor:pointer;transition:background var(--duration-fast);border:none;flex:auto;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:600;display:inline-flex}.rp-view-cook-btn:hover:not(:disabled){background:var(--color-green-hover)}.rp-view-cook-label{align-items:center;gap:10px;display:inline-flex}.rp-view-cook-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-view-cook-btn:disabled{cursor:default}.rp-view-cook-row .rp-topbar-edit-btn{border-radius:var(--radius-xl);background:var(--color-control);height:48px;color:var(--color-gray-900);transition:background var(--duration-fast), color var(--duration-fast);border:1.5px solid #0000;flex:none;gap:8px;padding:0 22px;font-size:15px}.rp-view-cook-row .rp-topbar-edit-btn:hover{background:var(--color-control-hover);color:var(--color-gray-900)}.rp-view-cook-row .rp-topbar-edit-btn:active{background:var(--color-control-active)}.rp-view-cook-row .rp-topbar-edit-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-view-nutrition-btn{border-radius:var(--radius-sm);color:var(--color-green);font:inherit;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;flex:none;align-items:center;gap:6px;margin-left:auto;padding:2px 0;font-size:14px;font-weight:600;display:inline-flex}.rp-view-nutrition-btn:hover{color:var(--color-green-hover)}.rp-view-nutrition-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-view-nutrition-btn-icon,.rp-view-nutrition-btn-chevron{flex:none}.rp-view-nutrition-btn-icon{color:var(--color-gray-800)}.modal-backdrop.rp-nutrition-sidebar-backdrop{background:var(--color-gray-900-18);justify-content:flex-end;align-items:stretch;padding:0}.rp-nutrition-sidebar{overscroll-behavior:contain;width:min(400px,100%);height:100%;padding:calc(24px + env(safe-area-inset-top,0px)) 28px calc(32px + env(safe-area-inset-bottom,0px));background:var(--color-surface);box-shadow:var(--shadow-panel);flex-direction:column;display:flex;overflow-y:auto}@media (prefers-reduced-motion:no-preference){.modal-backdrop.rp-nutrition-sidebar-backdrop{animation:rp-nutrition-scrim-in var(--duration-medium) ease both}.modal-backdrop.rp-nutrition-sidebar-backdrop>[role=dialog].rp-nutrition-sidebar{animation:.28s cubic-bezier(.32,.72,0,1) both rp-nutrition-sidebar-in}.modal-backdrop.rp-nutrition-sidebar-backdrop--closing{animation:.24s forwards rp-nutrition-scrim-out}.modal-backdrop.rp-nutrition-sidebar-backdrop--closing>[role=dialog].rp-nutrition-sidebar{animation:.24s cubic-bezier(.32,.72,0,1) forwards rp-nutrition-sidebar-out}}@keyframes rp-nutrition-scrim-in{0%{background-color:#0000}}@keyframes rp-nutrition-scrim-out{to{background-color:#0000}}@keyframes rp-nutrition-sidebar-in{0%{transform:translate(100%)}to{transform:none}}@keyframes rp-nutrition-sidebar-out{0%{transform:none}to{transform:translate(100%)}}.rp-nutrition-sidebar-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.rp-nutrition-sidebar-title{font-family:var(--font-serif);font-size:var(--font-size-screen-title);color:var(--color-gray-900);-webkit-text-stroke-width:.2px;margin:0;font-weight:600;line-height:1.15}.rp-nutrition-scope{border-radius:var(--radius-xl);background:var(--color-gray-100);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.rp-nutrition-scope button{border-radius:var(--radius-md);color:var(--color-gray-500);font:inherit;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;padding:8px 12px;font-size:15px;font-weight:600}.rp-nutrition-scope button:hover:not(.is-active){color:var(--color-gray-900)}.rp-nutrition-scope button.is-active{background:var(--color-surface);color:var(--color-gray-900)}.rp-nutrition-scope button:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-nutrition-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0;display:grid}.rp-nutrition-tile{border-radius:var(--radius-2xl);background:var(--color-gray-100);flex-direction:column-reverse;align-items:center;gap:2px;padding:14px 6px;display:flex}.rp-nutrition-tile dt{color:var(--color-gray-500);font-size:14px}.rp-nutrition-tile dd{font-size:var(--font-size-card-title);color:var(--color-gray-900);margin:0;font-weight:600}.rp-nutrition-tag-list{flex-direction:column;gap:18px;margin-top:28px;display:flex}.rp-nutrition-tags h3{letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-500);margin:0 0 10px;font-size:13px;font-weight:700}.rp-nutrition-pills{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rp-nutrition-pills .rp-tag-pill{background:var(--color-menu-green-soft);color:var(--color-green-muted);padding:6px 14px;font-size:14px}.rp-nutrition-none,.rp-nutrition-empty{color:var(--color-gray-500);margin:0;font-size:15px;line-height:1.5}.rp-nutrition-error{margin-top:20px}.rp-nutrition-stale{border-radius:var(--radius-xl);background:var(--color-notice-surface);color:var(--color-gray-700);align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.rp-nutrition-stale strong{color:var(--color-warning);font-weight:600}.rp-nutrition-stale-icon{color:var(--color-warning);flex:none;margin-top:1px}.rp-nutrition-sidebar-body>.rp-nutrition-stale{margin-bottom:14px}.rp-nutrition-sidebar-body--stale .rp-nutrition-tile dd,.rp-nutrition-card--stale .rp-macro-input-wrap{color:var(--color-gray-400)}.rp-nutrition-sidebar-body--stale .rp-tag-pill,.rp-nutrition-card--stale .rp-tag-pill{opacity:.6}.rp-nutrition-stale-flag{letter-spacing:normal;text-transform:none;color:var(--color-warning);margin-left:8px;font-weight:600}.rp-nutrition-analyze{border-radius:var(--radius-xl);background:var(--color-gray-100);width:100%;height:48px;color:var(--color-gray-900);font:inherit;cursor:pointer;transition:background var(--duration-fast);border:none;justify-content:center;align-items:center;gap:10px;margin-top:28px;font-size:15px;font-weight:600;display:flex}.rp-nutrition-analyze svg{color:var(--color-green);flex:none}.rp-nutrition-analyze:hover:not(:disabled){background:var(--color-gray-200)}.rp-nutrition-analyze:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-nutrition-analyze:disabled{cursor:default;opacity:.6}.rp-view-side>.rp-meta-row{border-bottom:none;margin:0;padding:0}.rp-view-side>.rp-view-hero+.rp-view-footer{margin-top:-10px}.rp-view-footer .rp-save-bar{border-top:none;min-height:0;margin-top:0;padding-top:0}.rp-view-footer .rp-share-btn{display:none}.rp-overview--wide{flex-direction:column;gap:54px;display:flex}.rp-overview--wide .rp-overview-heading-row{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.rp-overview--wide .rp-overview-count{color:var(--color-gray-500);white-space:nowrap;font-size:15px}.rp-overview--wide .rp-overview-section--ingredients>.rp-overview-heading-row{align-items:center}.rp-overview--wide .rp-overview-section--directions>.rp-overview-heading-row{margin-bottom:26px}.rp-overview--wide .rp-overview-tools{margin-block:-6px}.rp-overview-tools{flex:none;align-items:center;gap:4px;display:flex;position:relative}.rp-overview-tool{border-radius:var(--radius-xl);background:var(--color-surface);width:40px;height:40px;color:var(--color-green);cursor:pointer;transition:background-color var(--duration-fast) ease;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-overview-tool.is-active{background:var(--color-green-soft)}.rp-scale-trigger{width:auto;min-width:40px;padding:0 7px}.rp-scale-trigger-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:700;line-height:1}.rp-scale-trigger-value--servings{align-items:center;gap:2px;display:inline-flex}.rp-scale-trigger-value--servings>svg{flex:none}.rp-scale-trigger-x{font-size:19px;position:relative;top:.056em}@media (hover:hover){.rp-overview-tool:hover{background:var(--color-green-soft)}}.rp-overview-tool.is-pressed,.rp-overview-tool.is-scaled{background:var(--color-green);color:var(--color-white)}@media (hover:hover){.rp-overview-tool.is-pressed:hover,.rp-overview-tool.is-scaled:hover{background:var(--color-green-hover)}}.rp-scale-pill{border-radius:var(--radius-pill);background:var(--color-green-soft);color:var(--color-green);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none;padding:5px 12px;font-size:14px;font-weight:600;line-height:1.3}.rp-overview-tool:focus-visible,.rp-scale-step:focus-visible,.rp-scale-reset:focus-visible,.rp-scale-done:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-scale-popover{z-index:var(--z-chrome);box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-3xl);background:var(--color-surface);width:316px;box-shadow:0 12px 32px var(--color-gray-900-18);transform-origin:100% 0;animation:rp-anchored-menu-in var(--duration-fast) ease-out;padding:18px 20px 16px;position:absolute;top:calc(100% + 8px);right:0}.rp-scale-title{color:var(--color-gray-900);margin:0;font-size:17px;font-weight:600;line-height:1.3}.rp-scale-panel{flex-direction:column;display:flex}.rp-scale-yield{color:var(--color-gray-500);margin:4px 0 0;font-size:14px}.rp-scale-row{align-items:center;gap:12px;margin:16px 0;display:flex}.rp-scale-label{min-width:0;color:var(--color-gray-700);flex:auto;font-size:15px}.rp-scale-stepper{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);align-items:stretch;height:40px;display:inline-flex;position:relative}.rp-scale-step{width:40px;color:var(--color-gray-800);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-scale-step:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.rp-scale-step:last-child{border-radius:0 var(--radius-pill) var(--radius-pill) 0}.rp-scale-step:disabled{color:var(--color-gray-300);cursor:default}@media (hover:hover){.rp-scale-step:not(:disabled):hover{background:var(--color-surface-hover)}}.rp-scale-value{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:56px;color:var(--color-gray-900);font:inherit;font-variant-numeric:tabular-nums;text-align:center;cursor:text;border-inline:none;border-radius:0;justify-content:center;align-items:center;margin:-1px 0;padding:0;font-size:16px;font-weight:600;display:flex}.rp-scale-value:focus{outline:none}.rp-scale-value.is-scaled{color:var(--color-green)}.rp-scale-value--static{cursor:default;background:0 0;border:none;margin:0}.rp-scale-footer{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.rp-scale-reset{border-radius:var(--radius-2xs);color:var(--color-green);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:15px;font-weight:600}.rp-scale-reset:disabled{color:var(--color-gray-400);cursor:default}@media (hover:hover){.rp-scale-reset:not(:disabled):hover{color:var(--color-green-hover)}}.rp-scale-done{border-radius:var(--radius-xl);background:var(--color-green);min-height:40px;color:var(--color-white);font:inherit;cursor:pointer;border:none;padding:0 22px;font-size:15px;font-weight:600}@media (hover:hover){.rp-scale-done:hover{background:var(--color-green-hover)}}.rp-scale-sheet{background:var(--color-surface);color:var(--color-gray-900)}.rp-scale-sheet .rp-scale-yield{margin-top:0;font-size:15px}.rp-scale-sheet .rp-scale-label{font-size:16px}.rp-scale-sheet .rp-scale-stepper{height:48px}.rp-scale-sheet .rp-scale-step{width:52px}.rp-scale-sheet .rp-scale-value{width:64px}.rp-scale-sheet .rp-scale-reset{min-height:48px;font-size:16px}.rp-scale-sheet .rp-scale-done{border-radius:var(--radius-2xl);min-width:132px;min-height:48px;font-size:16px}.rp-pick-cancel:focus-visible,.rp-pick-add:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-pick-summary{color:var(--color-gray-600);align-items:center;gap:12px;font-size:15px;display:flex}.rp-pick-mode{align-items:center;gap:10px;min-width:0;display:flex}.rp-pick-mode>svg{flex:none}.rp-pick-summary .rp-pick-toggle{margin-left:auto;margin-right:10px}.rp-overview-pick-summary-panel .rp-pick-summary{margin-bottom:12px}.rp-overview--wide .rp-overview-section--ingredients.is-picking .rp-overview-ingredient-grid{grid-template-columns:22px var(--rp-ing-amounts-open,max-content) minmax(0, 1fr)}.rp-overview--wide .rp-overview-section--ingredients.is-picking .rp-overview-ingredient--grouped{padding-left:0}.rp-overview--wide .rp-overview-section--ingredients.is-picking .rp-overview-group-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.rp-pick-toggle{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--color-gray-400);cursor:pointer;transition:color var(--duration-fast) ease;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-7px -8px -7px 0;padding:0;display:inline-flex}.rp-pick-toggle.is-all{color:var(--color-green)}@media (hover:hover){.rp-pick-toggle:not(:disabled):hover{color:var(--color-gray-600)}.rp-pick-toggle.is-all:not(:disabled):hover{color:var(--color-green-hover)}}.rp-pick-toggle:disabled{cursor:default}.rp-pick-toggle:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-overview-ingredient>.rp-ing-line-check{animation:rp-pick-check-in var(--duration-medium) ease-out both}@keyframes rp-pick-check-in{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.rp-overview-ingredient>.rp-ing-line-check{animation:none}}.rp-overview-pick-footer{position:sticky;bottom:0}.rp-overview-pick-footer-inner{background:linear-gradient(to bottom, transparent, var(--color-surface) 18px);padding:18px 0 16px}.rp-pick-actions{gap:10px;display:flex}.rp-pick-add,.rp-pick-cancel{border-radius:var(--radius-2xl);min-height:50px;font:inherit;cursor:pointer;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.rp-pick-cancel{background:var(--color-control);color:var(--color-gray-900);transition:background-color var(--duration-fast) ease;border:1px solid #0000;flex:none;padding:0 28px}@media (hover:hover){.rp-pick-cancel:not(:disabled):hover{background:var(--color-control-hover)}}.rp-pick-cancel:disabled{color:var(--color-gray-400);cursor:default}.rp-pick-add{background:var(--color-green);min-width:0;color:var(--color-white);transition:background-color var(--duration-fast) ease, opacity var(--duration-fast) ease;border:none;flex:auto;gap:10px;padding:0 18px}@media (hover:hover){.rp-pick-add:not(:disabled):hover{background:var(--color-green-hover)}}.rp-pick-add:disabled{cursor:default}.rp-pick-add:disabled:not([aria-busy=true]){opacity:.45}.rp-pick-error{border-radius:var(--radius-md);background:var(--color-notice-surface);color:var(--color-danger);margin:0 0 10px;padding:9px 12px;font-size:14px;line-height:1.4}.modal-backdrop--sheet>[role=dialog].modal-sheet.rp-pick-sheet{background:var(--color-surface);color:var(--color-gray-900);flex-direction:column;display:flex;overflow:hidden}.rp-pick-sheet .rp-pick-sheet-header{flex:none;margin-bottom:12px}.rp-pick-sheet .rp-pick-summary{flex:none;margin-bottom:4px}.rp-pick-sheet .rp-pick-summary .rp-pick-toggle{margin-right:0}.rp-pick-sheet .rp-pick-group .rp-pick-toggle{margin-right:-2px}.rp-pick-sheet-body{overscroll-behavior:contain;flex:auto;min-height:0;margin-inline:-18px;padding:0 18px;overflow-y:auto}.rp-pick-sheet-footer{flex:none;padding-top:14px}.rp-pick-list{grid-template-columns:22px max-content minmax(0,1fr);column-gap:16px;margin:0;padding:0;list-style:none;display:grid}.rp-pick-row,.rp-pick-label{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.rp-pick-row{border-bottom:1px solid var(--color-divider)}.rp-pick-row:last-child{border-bottom:none}.rp-pick-label{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;min-height:48px;padding:8px 2px}.rp-pick-amount{color:var(--color-gray-900);white-space:nowrap;font-size:16px;font-weight:700}.rp-pick-name{color:var(--color-gray-700);overflow-wrap:anywhere;font-size:16px;line-height:1.4}.rp-pick-group{letter-spacing:.14em;text-transform:uppercase;color:var(--color-green-muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 2px;padding:0 2px;font-size:12px;font-weight:700;line-height:1.2;display:flex}.rp-pick-group:first-child{margin-top:10px}.rp-overview--wide .rp-overview-heading{font-family:var(--font-serif);letter-spacing:-.1px;color:var(--color-gray-900);-webkit-text-stroke-width:.2px;margin:0;font-size:24px;font-weight:600;line-height:1.15}.rp-overview--wide .rp-overview-empty{font-size:var(--font-size-body);color:var(--color-gray-500);margin:0}.rp-ing-line{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--color-divider);align-items:baseline;display:grid}.rp-ing-line.is-tickable{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media (hover:hover){.rp-ing-line.is-tickable:hover>.grocery-check:not(:checked){border-color:var(--color-green)}}.rp-ing-line-check{align-self:start;margin:0}.rp-ing-line-amount{color:var(--color-gray-900);white-space:nowrap;justify-self:start;font-weight:600}.rp-ing-line-name{color:var(--color-gray-700);overflow-wrap:anywhere;line-height:1.45}.rp-ing-line-link{appearance:none;text-align:left;font:inherit;color:var(--color-green);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.rp-overview--wide .rp-overview-ingredients,.rp-overview--wide .rp-overview-directions{margin:0;padding:0;list-style:none}.rp-overview--wide .rp-overview-ingredient-grid{--rp-ing-group-indent:18px;grid-template-columns:var(--rp-ing-amounts-open,max-content) minmax(0, 1fr);column-gap:20px;font-size:15px;display:grid}.rp-overview--wide .rp-overview-ingredient-grid[data-measured]{transition:grid-template-columns var(--duration-disclosure) var(--ease-disclosure)}.rp-overview--wide .rp-overview-ingredient-grid.is-collapsed{grid-template-columns:var(--rp-ing-amounts-collapsed,max-content) minmax(0, 1fr)}.rp-overview--wide .rp-overview-ingredients,.rp-overview--wide .rp-overview-ingredient-grid>.rp-overview-rest,.rp-overview--wide .rp-overview-ingredient-grid>.rp-overview-rest>.disclosure-panel-inner{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.rp-overview--wide .rp-overview-ingredient-grid>.rp-overview-rest>.disclosure-panel-inner{overflow:clip}.rp-overview--wide .rp-overview-ingredient{padding:7px 0}.rp-overview--wide .rp-overview-ingredient--grouped{padding-left:var(--rp-ing-group-indent);transition:padding-left var(--duration-disclosure) var(--ease-disclosure), border-top-color var(--duration-disclosure) var(--ease-disclosure)}.rp-overview--wide .rp-overview-ingredient-grid.is-collapsed>.rp-overview-ingredients>.rp-overview-ingredient--grouped{padding-left:0}@media (prefers-reduced-motion:reduce){.rp-overview--wide .rp-overview-ingredient-grid[data-measured],.rp-overview--wide .rp-overview-ingredient--grouped{transition:none}}.rp-overview--wide .rp-overview-group-heading-slot{grid-column:1/-1}.rp-overview--wide .rp-overview-group-heading-slot:not(:first-child) .rp-overview-group-heading{margin-top:18px}.rp-overview--wide .rp-overview-ingredient:first-child,.rp-overview--wide .rp-overview-group-heading+.rp-overview-ingredient,.rp-overview--wide .rp-overview-group-heading-slot:first-child+.rp-overview-ingredient{border-top:none}.rp-overview--wide .rp-overview-group-heading-slot:not(:first-child)+.rp-overview-ingredient{border-top-color:#0000}.rp-overview--wide .rp-overview-ingredient-grid.is-collapsed>.rp-overview-ingredients>.rp-overview-group-heading-slot:not(:first-child)+.rp-overview-ingredient{border-top-color:var(--color-divider)}.rp-overview--wide .rp-overview-group-heading{border-radius:var(--radius-xs);background:var(--color-green-soft);letter-spacing:.14em;text-transform:uppercase;color:var(--color-green);grid-column:1/-1;margin:18px 0 4px;padding:9px 18px;font-size:12px;font-weight:700;line-height:1.2}.rp-overview--wide .rp-overview-group-heading:first-child{margin-top:0}.rp-overview--wide .rp-overview-ingredients--rest>.rp-overview-ingredient:first-child{border-top:1px solid var(--color-divider)}.rp-overview--wide .rp-overview-ingredients--rest>.rp-overview-group-heading:first-child{margin-top:18px}.rp-overview--wide .rp-overview-directions{flex-direction:column;gap:24px;display:flex}.rp-overview--wide .rp-overview-direction{align-items:baseline;gap:22px;display:flex}.rp-overview-direction:has(>.rp-overview-step-body>.rp-overview-step-title)>.rp-overview-step-num{position:relative;top:-1px}.rp-overview--wide .rp-overview-direction:has(>.rp-overview-step-body>.rp-overview-step-title)>.rp-overview-step-num{top:-.68px}.rp-overview--wide .rp-overview-step-num{text-align:center;text-box:trim-both cap alphabetic;border:1.5px solid var(--color-gray-300);width:32px;height:32px;color:var(--color-gray-900);border-radius:50%;flex:none;align-content:center;font-size:13px;font-weight:600;display:block}.rp-overview--wide .rp-overview-step-body{flex:auto;min-width:0}.rp-overview--wide .rp-overview-step-title{color:var(--color-gray-900);margin-bottom:8px;font-size:17px;font-weight:600;line-height:1.3}.rp-overview--wide .rp-overview-step-text{color:var(--color-gray-700);margin:0;font-size:15px;line-height:1.65}.rp-overview--wide .rp-overview-step-note{color:var(--color-gray-500);margin:6px 0 0;font-size:13px;font-weight:500}.rp-overview--wide .rp-overview-section-heading{margin:4px 0 -8px}.rp-overview--wide .rp-overview-section-heading:first-child{margin-top:0}.rp-overview--wide .rp-overview-directions--rest{padding-top:24px}.rp-overview--wide .rp-overview-directions--rest>.rp-overview-section-heading:first-child{margin-top:4px}.rp-overview--wide .rp-overview-more-row{grid-column:1/-1;align-items:center;gap:20px;margin-top:10px;display:flex}.rp-overview--wide .rp-overview-section--directions>.rp-overview-more-row{margin-top:15.5px}.rp-overview--wide .rp-overview-more-row:before,.rp-overview--wide .rp-overview-more-row:after{content:"";background:var(--color-divider);flex:1 1 0;height:1px}.rp-overview--wide .rp-overview-more{border-radius:var(--radius-sm);color:var(--color-green);font:inherit;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;flex:none;align-items:center;gap:6px;padding:6px 4px;font-size:14px;font-weight:500;display:inline-flex}.rp-overview--wide .rp-overview-more:hover{color:var(--color-green-hover)}.rp-overview--wide .rp-overview-more:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-overview--wide .rp-overview-more-chevron{transition:transform var(--duration-disclosure) var(--ease-disclosure);flex:none;position:relative;top:1px}.rp-overview--wide .rp-overview-more[aria-expanded=true] .rp-overview-more-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.rp-overview--wide .rp-overview-more-chevron{transition:none}}@container rp-content (width<=900px){.rp-view-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""side""main";row-gap:32px}.rp-view-side{position:static}.rp-view-hero .rp-view-hero-photo{aspect-ratio:auto;height:clamp(220px,46cqw,340px)}}.rp-view--cook{--rp-view-max-width:1240px}.rp-view--cook .rp-view-body{grid-template-columns:340px minmax(0,1fr);column-gap:56px}.rp-view--cook .rp-view-side{gap:40px}.rp-view--cook .rp-view-main{gap:48px}.rp-cook-actions{gap:16px}.rp-cook-link{border-radius:var(--radius-sm);color:var(--color-green);font:inherit;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;align-items:center;gap:7px;padding:6px 4px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.rp-cook-link:hover,.rp-cook-link[aria-expanded=true]{color:var(--color-green-hover)}.rp-cook-link:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-link>svg{flex:none}.rp-cook-link-count{border-radius:var(--radius-pill);background:var(--color-green-soft);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.rp-cook-actions .rp-version-select-trigger{border-radius:var(--radius-sm);height:auto;box-shadow:none;color:var(--color-green);transition:color var(--duration-fast);background:0 0;gap:7px;padding:6px 4px;font-size:15px;font-weight:500}.rp-cook-actions .rp-version-select-trigger:hover,.rp-cook-actions .rp-version-select-trigger[aria-expanded=true]{color:var(--color-green-hover);background:0 0}.rp-cook-actions .rp-version-select-trigger:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-actions .rp-topbar-edit-btn{border-radius:var(--radius-xl);background:var(--color-control);height:36px;color:var(--color-gray-900);transition:background var(--duration-fast), color var(--duration-fast);border:1px solid #0000;gap:7px;padding:0 14px;font-size:14px}.rp-cook-actions .rp-topbar-edit-btn:hover{background:var(--color-control-hover);color:var(--color-gray-900)}.rp-cook-actions .rp-topbar-edit-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-sources{position:relative}.rp-cook-sources-menu{width:320px}.rp-cook-source-text{flex-direction:column;gap:1px;min-width:0;display:flex}.rp-cook-source-site{color:var(--color-gray-900)}.rp-cook-source-title{color:var(--color-gray-500);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.rp-cook-heading-row{align-items:center;gap:16px;margin-bottom:14px;display:flex}.rp-cook-heading{min-width:0;font-family:var(--font-serif);letter-spacing:-.1px;color:var(--color-gray-900);-webkit-text-stroke-width:.2px;flex:auto;margin:0;font-size:24px;font-weight:600;line-height:1.15}.rp-cook-count{color:var(--color-gray-500);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:15px}.rp-cook-heading-row .rp-overview-tools{margin-block:-6px}.rp-cook-empty{font-size:var(--font-size-body);color:var(--color-gray-500);margin:0}.rp-cook-band{border-radius:var(--radius-xs);background:var(--color-green-soft);color:var(--color-green);font:inherit;letter-spacing:.14em;text-align:left;text-transform:uppercase;border:none;align-items:center;gap:12px;margin:0;padding:9px 14px;font-size:12px;font-weight:700;line-height:1.2;display:flex}.rp-cook-progress{border-radius:var(--radius-pill);background:var(--color-gray-100);height:8px;margin-bottom:24px;overflow:hidden}.rp-cook-progress-fill{border-radius:inherit;background:var(--color-copper);height:100%;transition:width var(--duration-disclosure) var(--ease-disclosure);display:block}.rp-cook-mep-grid{grid-template-columns:max-content max-content minmax(0,1fr);column-gap:16px;padding-inline:14px;font-size:15px;display:grid}.rp-cook-mep-group,.rp-cook-mep-panel,.rp-cook-mep-panel>.disclosure-panel-inner,.rp-cook-mep-list{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.rp-cook-mep-panel>.disclosure-panel-inner{overflow:clip}.rp-cook-mep-list{margin:0;padding:0;list-style:none}.rp-cook-band--toggle{cursor:pointer;transition:color var(--duration-fast);grid-column:1/-1;margin:18px -14px 4px}.rp-cook-mep-group:first-child>.rp-cook-band--toggle{margin-top:0}.rp-cook-band--toggle:hover{color:var(--color-green-hover)}.rp-cook-band--toggle:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-band-title{flex:auto;min-width:0}.rp-cook-band-count{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:600}.rp-cook-band-chevron{transition:transform var(--duration-disclosure) var(--ease-disclosure);flex:none}.rp-cook-mep-group.is-collapsed .rp-cook-band-chevron{transform:rotate(180deg)}.rp-cook-ing{padding:9px 0}.rp-cook-ing:first-child{border-top:none}.rp-cook-ing.is-checked .rp-ing-line-amount,.rp-cook-ing.is-checked .rp-ing-line-name{color:var(--color-gray-400);text-decoration:line-through}.rp-cook-more-row{align-items:center;gap:20px;margin-top:14px;display:flex}.rp-cook-more-row:before,.rp-cook-more-row:after{content:"";background:var(--color-divider);flex:1 1 0;height:1px}.rp-cook-more{border-radius:var(--radius-sm);color:var(--color-green);font:inherit;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;flex:none;padding:6px 4px;font-size:14px;font-weight:500}.rp-cook-more:hover{color:var(--color-green-hover)}.rp-cook-more:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}@media (prefers-reduced-motion:reduce){.rp-cook-progress-fill,.rp-cook-band-chevron{transition:none}}.rp-cook-directions{container:rp-cook-directions/inline-size}.rp-cook-step-nav{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);flex:none;align-items:stretch;height:40px;margin-block:-6px;display:inline-flex}.rp-cook-step-nav-btn{width:44px;color:var(--color-gray-800);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-cook-step-nav-btn:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.rp-cook-step-nav-btn:last-child{border-left:1px solid var(--color-border);border-radius:0 var(--radius-pill) var(--radius-pill) 0}.rp-cook-step-nav-btn:disabled{color:var(--color-gray-300);cursor:default}@media (hover:hover){.rp-cook-step-nav-btn:not(:disabled):hover{background:var(--color-surface-hover)}}.rp-cook-step-nav-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-steps{margin:0;padding:0;list-style:none}.rp-cook-steps-section{padding:18px 0 4px}.rp-cook-steps-section:first-child{padding-top:0}.rp-cook-step{border-top:1px solid var(--color-divider);cursor:pointer;align-items:baseline;gap:22px;padding:22px 0;display:flex}.rp-cook-step:first-child,.rp-cook-steps-section+.rp-cook-step{border-top:none}.rp-cook-steps-section+.rp-cook-step{padding-top:18px}.rp-cook-step-marker{text-align:center;text-box:trim-both cap alphabetic;border:1.5px solid var(--color-gray-300);background:var(--color-surface);width:32px;height:32px;color:var(--color-gray-900);font:inherit;cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast);border-radius:50%;flex:none;align-content:center;padding:0;font-size:13px;font-weight:600;display:block;position:relative}.rp-cook-step.has-title>.rp-cook-step-marker{top:-.68px}.rp-cook-step-marker:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-step.is-done>.rp-cook-step-marker{border-color:var(--color-green);background:var(--color-green);color:var(--color-white)}.rp-cook-step.is-current>.rp-cook-step-marker{border-color:var(--color-copper);background:var(--color-copper);color:var(--color-white);box-shadow:0 0 0 4px var(--color-copper-soft)}.rp-cook-step.is-done .rp-cook-step-num{visibility:hidden}.rp-cook-step-marker>svg{margin:auto;position:absolute;inset:0}.rp-cook-step-main{flex:auto;align-items:flex-start;gap:24px;min-width:0;display:flex}.rp-cook-step-body{flex:auto;min-width:0}.rp-cook-step-title{color:var(--color-gray-900);margin-bottom:8px;font-size:17px;font-weight:600;line-height:1.3}.rp-cook-step-text{color:var(--color-gray-700);margin:0;font-size:15px;line-height:1.65}.rp-cook-step-note{color:var(--color-gray-500);margin:6px 0 0;font-size:13px;font-weight:500}.rp-cook-step.is-done .rp-cook-step-title{color:var(--color-gray-600)}.rp-cook-step.is-done .rp-cook-step-text{color:var(--color-gray-500)}.rp-cook-step-image{aspect-ratio:3/2;border-radius:var(--radius-xl);background:var(--color-recipe-fallback);cursor:zoom-in;border:none;flex:none;width:clamp(160px,32cqw,280px);padding:0;overflow:hidden}.rp-cook-step-image>img{object-fit:cover;width:100%;height:100%;display:block}.rp-cook-step-image:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}@container rp-cook-directions (width<=560px){.rp-cook-step-main{flex-direction:column;gap:14px}.rp-cook-step-image{width:min(100%,320px)}}.rp-cook-step-timer{border-radius:var(--radius-pill);background:var(--color-copper-soft);color:var(--color-copper-text);font:inherit;vertical-align:baseline;white-space:nowrap;cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);border:none;padding:1px 9px 1px 7px;font-weight:600;line-height:1.45;display:inline-block}.rp-cook-step-timer>svg{vertical-align:-2px;margin-right:4px}@media (hover:hover){.rp-cook-step-timer:hover{background:color-mix(in srgb, var(--color-copper) 16%, var(--color-surface))}}.rp-cook-step-timer:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-step-timer-left{font-variant-numeric:tabular-nums}.rp-cook-step-timer-left:before{content:"·";opacity:.7;margin:0 6px}.rp-cook-step-timer.is-running,.rp-cook-step-timer.is-running:hover{background:var(--color-copper);color:var(--color-white)}.rp-cook-step-timer.is-paused,.rp-cook-step-timer.is-paused:hover{background:var(--color-control);color:var(--color-gray-800)}.rp-cook-step-timer.is-done,.rp-cook-step-timer.is-done:hover{background:var(--color-warning);color:var(--color-surface)}.rp-cook-step-menu{flex:none;align-self:flex-start;margin-left:-12px;position:relative}.rp-cook-step-menu-btn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-gray-500);cursor:pointer;opacity:0;transition:opacity var(--duration-fast), background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.rp-cook-step:hover .rp-cook-step-menu-btn,.rp-cook-step-menu-btn:focus-visible,.rp-cook-step-menu-btn[aria-expanded=true]{opacity:1}.rp-cook-step-menu-btn:hover,.rp-cook-step-menu-btn[aria-expanded=true]{background:var(--color-gray-100);color:var(--color-gray-900)}.rp-cook-step-menu-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}@media (hover:none){.rp-cook-step-menu-btn{opacity:1}}.rp-cook-timers{z-index:var(--z-fab);box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-3xl);background:var(--color-surface);width:300px;max-height:calc(100vh - 48px);box-shadow:0 12px 32px var(--color-gray-900-18);animation:rp-anchored-menu-in var(--duration-medium) ease-out;transform-origin:100% 100%;position:fixed;bottom:24px;right:24px;overflow-y:auto}.rp-cook-timers-head{border-radius:var(--radius-3xl);width:100%;color:var(--color-gray-900);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:14px 16px;display:flex}.rp-cook-timers-head:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-cook-timers-glyph{color:var(--color-copper);display:inline-flex}.rp-cook-timers.has-ended .rp-cook-timers-glyph{color:var(--color-warning)}.rp-cook-timers-title{flex:auto;font-size:15px;font-weight:600}.rp-cook-timers-count{border-radius:var(--radius-pill);background:var(--color-copper-soft);min-width:22px;height:22px;color:var(--color-copper-text);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:600;display:inline-flex}.rp-cook-timers-chevron{color:var(--color-gray-500);transition:transform var(--duration-disclosure) var(--ease-disclosure);flex:none}.rp-cook-timers-head[aria-expanded=false] .rp-cook-timers-chevron{transform:rotate(180deg)}.rp-cook-timers-list{margin:0;padding:0 16px 6px;list-style:none}.rp-cook-timer{border-top:1px solid var(--color-divider);align-items:center;gap:8px;padding:12px 0;display:flex}.rp-cook-timer-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.rp-cook-timer-label{color:var(--color-copper-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.rp-cook-timer-time{color:var(--color-gray-900);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.15}.rp-cook-timer.is-paused .rp-cook-timer-time{color:var(--color-gray-400)}.rp-cook-timer.is-done .rp-cook-timer-label,.rp-cook-timer.is-done .rp-cook-timer-time{color:var(--color-warning)}.rp-cook-timer-btn{background:var(--color-control);width:40px;height:40px;color:var(--color-gray-800);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-cook-timer-btn:hover{background:var(--color-control-hover);color:var(--color-gray-900)}.rp-cook-timer-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}@media (prefers-reduced-motion:reduce){.rp-cook-timers{animation:none}.rp-cook-timers-chevron{transition:none}}.rp-video-scrim{z-index:var(--z-modal);background:var(--color-scrim-modal);opacity:0;pointer-events:none;transition:opacity var(--duration-medium) ease;position:fixed;inset:0}.rp-video-scrim.is-shown{opacity:1;pointer-events:auto}.rp-video-window{--rp-video-room:140px;z-index:var(--z-modal-raised);transform-origin:0 0;flex-direction:column;display:flex;position:fixed}.rp-video-window--expanded{width:min(1100px, calc(100vw - 80px), calc((100vh - var(--rp-video-room)) * 16 / 9))}.rp-video-window--expanded.rp-video-window--portrait{width:min(460px, calc(100vw - 80px), calc((100vh - var(--rp-video-room)) * 9 / 16))}.rp-video-window--mini{z-index:var(--z-overlay);border-radius:var(--radius-2xl);width:400px;box-shadow:0 12px 32px var(--color-gray-900-28);overflow:hidden}.rp-video-window--mini.rp-video-window--portrait{width:240px}.rp-video-window-frame{aspect-ratio:16/9;border-radius:var(--radius-2xl);background:var(--color-black);width:100%;box-shadow:0 24px 60px var(--color-gray-900-28);position:relative;overflow:hidden}.rp-video-window--portrait .rp-video-window-frame{aspect-ratio:9/16}.rp-video-window--mini .rp-video-window-frame{box-shadow:none;border-radius:0}.rp-video-window.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.rp-video-window.is-dragging .rp-video-iframe{pointer-events:none}.rp-video-window-controls{align-items:center;gap:8px;display:flex;position:absolute;bottom:calc(100% + 12px);right:0}@keyframes rp-video-controls-in{0%{opacity:0}}.rp-video-window-pill,.rp-video-window-round{border-radius:var(--radius-pill);background:var(--color-frost);height:36px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-gray-900);font-family:var(--font-sans);cursor:pointer;transition:background var(--duration-fast);animation:rp-video-controls-in var(--duration-medium) ease-out both;border:none;justify-content:center;align-items:center;display:inline-flex}.rp-video-window-pill{gap:7px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none}.rp-video-window-round{width:36px;padding:0}.rp-video-window-pill:hover,.rp-video-window-round:hover{background:var(--color-surface)}.rp-video-window-bar{background:var(--color-frost);height:38px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-gray-900);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;animation:rp-video-controls-in var(--duration-medium) ease-out both;order:-1;align-items:center;gap:2px;padding:0 4px 0 6px;display:flex}.rp-video-window-grip{border-radius:var(--radius-sm);width:24px;height:30px;color:var(--color-gray-500);flex:none;justify-content:center;align-items:center;display:inline-flex}.rp-video-window-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;padding:0 6px 0 2px;font-size:13px;font-weight:500;overflow:hidden}.rp-video-window-icon{border-radius:var(--radius-pill);width:30px;height:30px;color:var(--color-gray-900);cursor:pointer;transition:background var(--duration-fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-video-window-icon:hover{background:var(--color-gray-100)}.rp-video-window-pill:focus-visible,.rp-video-window-round:focus-visible,.rp-video-window-icon:focus-visible,.rp-video-window-grip:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.rp-video-window--full{background:var(--color-black);width:auto;inset:0}.rp-video-window--full .rp-video-window-controls{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;order:-1;justify-content:flex-end;position:static}.rp-video-window--full .rp-video-window-pill,.rp-video-window--full .rp-video-window-round{background:var(--color-frost-dark);-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--color-frost-dark-ink)}.rp-video-window--full .rp-video-window-pill:hover,.rp-video-window--full .rp-video-window-round:hover{background:var(--color-black)}.rp-video-window--full .rp-video-window-frame{aspect-ratio:auto;box-shadow:none;border-radius:0;flex:auto}@media (prefers-reduced-motion:reduce){.rp-video-scrim{transition:none}.rp-video-window-pill,.rp-video-window-round,.rp-video-window-bar{animation:none}}.rp-detail-meta-strip{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:16px;margin:0;padding:6px 0 2px;display:grid}.rp-detail-meta-cell{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.rp-detail-meta-icon{display:none}.rp-detail-meta-cell-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-500);font-size:12px;font-weight:600}.rp-detail-meta-cell-value{min-width:0;max-width:100%;color:var(--color-gray-900);flex-direction:column;align-items:center;gap:4px;margin:0;font-size:15px;font-weight:600;display:flex}.rp-detail-meta-cell-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rp-detail-meta-empty{color:var(--color-gray-400);font-size:14px}.rp-detail-meta-cell-value .rp-category-select{field-sizing:content;color:var(--color-gray-900);text-align:center;text-align-last:center;background:0 0;border:none;padding:2px 4px;font-size:15px;font-weight:600}.rp-detail-meta-cell-value .rp-category-select--readonly{padding:0}.rp-detail-meta-cell--source .rp-source-list{flex-flow:column;align-items:center;gap:2px;min-width:0;max-width:100%}.rp-detail-meta-cell--source .rp-source-list li{background:0 0;border:none;min-width:0;max-width:100%;padding:0}.rp-source-link{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.rp-source-link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rp-detail-hero>.rp-detail-meta-strip{z-index:4;background:var(--color-surface);border-radius:0 0 var(--radius-3xl) var(--radius-3xl);box-shadow:var(--shadow-panel);animation:rp-meta-strip-in var(--duration-medium) ease calc(var(--duration-flip) / 2) both;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:0;margin:-24px 0 20px;padding:16px 6px;position:relative}@keyframes rp-meta-strip-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.rp-detail-hero>.rp-detail-meta-strip{animation:none}}.rp-detail-hero .rp-detail-meta-cell{text-align:center;border-left:1px solid var(--color-divider);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:2px 16px;display:flex}.rp-detail-hero .rp-detail-meta-cell:first-child{border-left:none}.rp-detail-hero .rp-detail-meta-cell-label{align-items:center;gap:6px;min-width:0;line-height:1;display:inline-flex}.rp-detail-hero .rp-detail-meta-icon{color:var(--color-gray-400);justify-content:center;align-items:center;display:inline-flex}.rp-detail-hero .rp-detail-meta-icon svg{width:15px;height:15px}.rp-detail-hero .rp-detail-meta-cell-value{align-items:center;font-size:14px}@container rp-content (width<=1040px){.rp-detail-hero .rp-detail-meta-cell{padding:2px 12px}.rp-detail-hero .rp-detail-meta-cell-label{letter-spacing:.02em;gap:5px;font-size:11px}.rp-detail-hero .rp-detail-meta-icon svg{width:13px;height:13px}}@media (width<=767.98px){.rp-detail-meta-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:2px 0 6px}.rp-detail-meta-cell{gap:3px}.rp-detail-meta-cell-label{letter-spacing:.03em;font-size:9px}.rp-detail-meta-cell-value,.rp-detail-meta-cell-value .rp-category-select{font-size:12px}}.rp-detail-servings-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:64px;font:inherit;color:var(--color-gray-900);background:var(--color-surface);text-align:center;padding:5px 8px;font-size:15px;font-weight:500}.rp-detail-servings-value{color:var(--color-gray-900);font-size:15px;font-weight:500}.rp-detail-meta-time-btn{font:inherit;color:var(--color-gray-900);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 4px;font-size:15px;font-weight:600}.rp-detail-meta-time-btn:hover{background:var(--color-gray-100)}.rp-detail-rail-tags,.rp-detail-rail-variants{flex-direction:column;gap:8px;min-width:0;display:flex}.rp-detail-rail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-500);font-size:12px;font-weight:600}.rp-version-select{flex:none;position:relative}.rp-version-select-trigger{border-radius:var(--radius-pill);background:var(--color-frost);height:34px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-ink);box-shadow:none;cursor:pointer;transition:background var(--duration-fast) ease;border:none;align-items:center;gap:6px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.rp-version-select-trigger:hover,.rp-version-select-trigger[aria-expanded=true]{background:var(--color-frost-hover)}.rp-version-select-icon{flex:none}.rp-version-select-panel{z-index:var(--z-panel);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:340px;max-width:calc(100vw - 24px);max-height:min(70vh,520px);box-shadow:0 14px 34px var(--color-gray-900-14), 0 3px 10px var(--color-gray-900-08);transform-origin:0 0;animation:rp-version-panel-pop var(--duration-medium) cubic-bezier(.22, 1, .36, 1) both;flex-direction:column;gap:8px;padding:8px;display:flex;position:fixed;overflow-y:auto}@keyframes rp-version-panel-pop{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.rp-version-select-panel{animation:none}}.rp-editing-banner{z-index:var(--z-sticky);border:1px solid var(--color-primary-border);border-radius:var(--radius-xl);background:var(--color-primary-tint);box-shadow:var(--shadow-panel);max-width:1024px;margin:-28px 0 18px;padding:12px 16px;position:sticky;top:0}.rp-editing-banner-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.rp-editing-banner-info{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.rp-editing-banner-badge{border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-white);letter-spacing:.02em;text-transform:uppercase;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.rp-editing-banner-target{min-width:0;color:var(--color-copper-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.rp-editing-banner-unsaved{color:var(--color-copper-text);align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.rp-editing-banner-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.rp-editing-banner .rp-sync-conflict,.rp-editing-banner .rp-save-inline-error{margin-top:10px}.rp-old-version-banner{border-radius:var(--radius-xl);background:var(--color-notice-surface);color:var(--color-gray-700);flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 4px;padding:12px 16px;display:flex}.rp-old-version-banner-slot{padding:0 16px}.rp-old-version-banner-slot .rp-old-version-banner{margin:12px 0}.rp-old-version-banner-icon{color:var(--color-warning);flex:none;display:inline-flex}.rp-old-version-banner-text{color:var(--color-gray-700);font-size:14px;font-weight:500}.rp-old-version-banner-text strong{color:var(--color-warning);font-weight:700}.rp-old-version-banner-return{border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-gray-900);cursor:pointer;transition:background var(--duration-fast);border:none;flex:none;margin-left:auto;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.rp-old-version-banner-return:not(:disabled):hover{background:var(--color-surface-subtle)}.rp-old-version-banner-return:disabled{opacity:.6;cursor:default}.rp-old-version-banner-dismiss{border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-gray-600);cursor:pointer;transition:background var(--duration-fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.rp-old-version-banner-dismiss:hover{background:var(--color-control-hover)}.rp-old-version-banner-error{color:var(--color-danger);flex:0 0 100%;margin-top:-2px;font-size:13px;font-weight:500}@container rp-content (width<=1080px){.rp-detail-hero-body{grid-template-columns:minmax(0,1fr)}.rp-detail-hero-rail{border-top:1px solid var(--color-divider);max-width:640px;padding-top:22px}}@container rp-content (width<=600px){.rp-detail-hero-col .rp-body{grid-template-columns:minmax(0,1fr)}.rp-detail-hero-col .rp-body-col--left{padding-right:0}.rp-detail-hero-col .rp-body>.rp-card{padding-left:0}}.rp-version-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rp-version-list li+li{border-top:1px solid var(--color-divider)}.rp-version-list--menu{gap:2px}.rp-version-row{text-align:left;border-radius:var(--radius-lg);cursor:pointer;width:100%;transition:background var(--duration-fast);background:0 0;border:none;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.rp-version-list--menu li+li{border-top:none}.rp-version-row:disabled{cursor:default}.rp-version-row:not(:disabled):hover{background:var(--color-gray-100)}.rp-version-row--current,.rp-version-row--current:not(:disabled):hover{background:var(--color-green-soft)}.rp-version-row-head{align-items:center;gap:8px;display:flex}.rp-version-name{color:var(--color-gray-900);transition:color var(--duration-fast);font-size:15px;font-weight:600}.rp-version-latest-tag{color:var(--color-gray-500);font-size:13px;font-weight:500}.rp-version-check{color:var(--color-green);margin-left:auto;display:inline-flex}.rp-version-row-meta{align-items:center;gap:10px;display:flex}.rp-version-stars{letter-spacing:1px;color:var(--color-gray-300);white-space:nowrap;font-size:14px}.rp-version-star--filled{color:var(--color-star-on-surface)}.rp-version-summary{color:var(--color-gray-500);font-size:13px}.rp-version-date{color:var(--color-gray-400);font-size:12px}.rp-version-switch-error{color:var(--color-danger);margin:0;font-size:13px}.rp-save-new-version-btn{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);width:100%;color:var(--color-gray-700);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);justify-content:center;align-items:center;gap:8px;padding:11px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.rp-save-new-version-btn:not(:disabled):hover{background:var(--color-primary-soft-2);border-color:var(--color-primary-light);color:var(--color-primary)}.rp-save-new-version-btn:disabled{opacity:.55;cursor:default}.rp-title{color:var(--color-gray-900);letter-spacing:-.5px;min-width:0;margin:0;font-size:34px;font-weight:700;line-height:1.2}.rp-title-editable{color:inherit;font:inherit;line-height:inherit;display:inline}.rp-recipe-actions-menu{flex:none;margin-top:5px;position:relative}.rp-hero-actions-menu{margin-top:0}.rp-share-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);height:34px;color:var(--color-gray-600);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);flex:none;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}.rp-share-btn:hover{background:var(--color-primary-soft-2);border-color:var(--color-primary-light);color:var(--color-primary)}.rp-recipe-actions-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-gray-500);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.rp-recipe-actions-btn:hover,.rp-recipe-actions-btn[aria-expanded=true]{background:var(--color-primary-soft-2);border-color:var(--color-primary-light);color:var(--color-primary)}.rp-recipe-actions-popover{z-index:var(--z-panel);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 14px 34px var(--color-gray-900-14), 0 3px 10px var(--color-gray-900-08);padding:5px;position:fixed}.rp-recipe-actions-item{border-radius:var(--radius-xs);text-align:left;width:100%;color:var(--color-gray-700);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500}.rp-recipe-actions-item:hover{background:var(--color-gray-100)}.rp-recipe-actions-item:disabled{cursor:not-allowed;opacity:.65}.rp-recipe-actions-item--icon{align-items:center;gap:8px;display:flex}.rp-recipe-actions-item--danger{color:var(--color-danger)}.rp-recipe-actions-item--danger:hover{background:var(--color-danger-soft)}@media (width<=767.98px),(pointer:coarse) and (hover:none){.rp-recipe-actions-popover{padding:6px}.rp-recipe-actions-item{min-height:48px;padding:10px 20px 10px 14px;font-size:16px}.rp-recipe-actions-item--icon{gap:12px}.rp-recipe-actions-item svg{flex-shrink:0;width:19px;height:19px}}.rp-recipe-action-error{color:var(--color-danger);margin:-6px 0 10px;font-size:12px}.rp-title-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rp-stars{align-items:center;gap:2px;font-size:17px;display:flex}.rp-star-rating-button{color:var(--color-gray-300);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;line-height:1;position:relative}.rp-star-rating-button--filled,.rp-star-rating-button:hover,.rp-star-rating-button:focus-visible{color:var(--color-star-on-surface)}.rp-star-glyph{display:inline-block}@keyframes rp-star-flash{0%{color:var(--color-white)}55%{color:var(--color-white)}to{color:inherit}}@keyframes rp-star-glow{0%{text-shadow:0 0 5px var(--color-white), 0 0 11px #ffffffe6, 0 0 20px #fff9}to{text-shadow:0 0 #fff0}}.rp-star-glyph--flash{animation:rp-star-flash var(--duration-slow) ease-out both}.rp-star-glyph--glow{animation:rp-star-flash var(--duration-slow) ease-out both, rp-star-glow .55s ease-out both}.rp-star-particles{pointer-events:none;z-index:1;width:0;height:0;position:absolute;top:50%;left:50%}.rp-star-particle{background:var(--color-white);opacity:0;width:4px;height:4px;animation:rp-star-particle-burst var(--duration-slow) ease-out forwards;border-radius:50%;margin:-2px 0 0 -2px;position:absolute;top:0;left:0;box-shadow:0 0 4px #ffffffe6}@keyframes rp-star-particle-burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(.3);opacity:0}}.rp-star-particle--0{--tx:0;--ty:-17px}.rp-star-particle--1{--tx:15px;--ty:-9px}.rp-star-particle--2{--tx:15px;--ty:9px}.rp-star-particle--3{--tx:0;--ty:17px}.rp-star-particle--4{--tx:-15px;--ty:9px}.rp-star-particle--5{--tx:-15px;--ty:-9px}@media (prefers-reduced-motion:reduce){.rp-star-glyph--flash,.rp-star-glyph--glow,.rp-star-particle{animation:none}.rp-star-particles{display:none}}.rp-props{flex-wrap:wrap;gap:28px;display:flex}.rp-prop{align-items:center;gap:10px;display:flex}.rp-prop-label{color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:10.5px;font-weight:600}.rp-status-source-stack{width:min(420px,100%)}.rp-top-source-urls{margin-top:14px}.rp-top-source-urls .rp-mep-heading{margin-bottom:8px}.rp-save-bar{border-top:1px solid var(--color-divider);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;min-height:38px;margin-top:0;padding-top:16px;display:flex}.rp-save-bar .rp-edit-action{padding:8px 14px;font-size:12.5px}.rp-save-bar .rp-save-split-main{padding-right:12px}.rp-save-bar .rp-save-split-toggle{padding:8px}.rp-save-bar .rp-recipe-actions-menu{margin-top:0}.rp-hero-image{border-radius:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.rp-hero-image-button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0;transition:box-shadow .15s;position:relative;overflow:hidden}.rp-hero-image-button:not(:disabled):hover,.rp-hero-image-button:focus-visible{outline:none;box-shadow:0 6px 18px #11182729}.rp-hero-image-button:disabled{cursor:default}.rp-hero-img{object-fit:cover;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.rp-body{grid-template-columns:400px 1fr;align-items:start;gap:18px;margin-bottom:18px;display:grid}.rp-nutrition-card,.rp-notes-card{margin-bottom:18px}.rp-nutrition-body{flex-direction:column;gap:16px;display:flex}@media (width>=768px){.rp-body{gap:24px;margin-bottom:32px}.rp-body .rp-card{background:0 0;border:none;border-radius:0;padding:0}.rp-body-col--left{padding-right:44px}.rp-body>.rp-card{padding-left:44px}.rp-body-col--left>.rp-nutrition-card{border-top:1px solid var(--color-divider);margin-top:26px;padding-top:24px}.rp-body-col--left .rp-tag-row{min-height:0}.rp-body-col--left .rp-tag-row+.rp-tag-row{border-top:none;margin-top:16px}.rp-content-inner>.rp-nutrition-card{background:var(--color-green-soft);border:none;margin-bottom:8px}.rp-nutrition-card-header{border-bottom-color:var(--color-divider)}.rp-detail-hero-col>.rp-nutrition-card{background:0 0;border:none;border-radius:0;padding:0}.rp-content-inner>.rp-nutrition-card,.rp-detail-hero-col>.rp-nutrition-card{grid-template-columns:minmax(0,1fr) 320px;align-items:start;column-gap:36px;display:grid}.rp-content-inner>.rp-nutrition-card>.rp-nutrition-body,.rp-detail-hero-col>.rp-nutrition-card>.rp-nutrition-body{display:contents}.rp-content-inner>.rp-nutrition-card .rp-nutrition-figures,.rp-detail-hero-col>.rp-nutrition-card .rp-nutrition-figures{grid-area:1/2/span 2}.rp-content-inner>.rp-nutrition-card>.rp-analysis-error,.rp-detail-hero-col>.rp-nutrition-card>.rp-analysis-error{grid-column:1/-1}.rp-content-inner>.rp-nutrition-card .rp-nutrition-stale,.rp-detail-hero-col>.rp-nutrition-card .rp-nutrition-stale{grid-column:1;margin-bottom:12px}.rp-content-inner>.rp-nutrition-card--stale,.rp-detail-hero-col>.rp-nutrition-card--stale{grid-template-rows:auto auto 1fr}.rp-content-inner>.rp-nutrition-card--stale .rp-nutrition-figures,.rp-detail-hero-col>.rp-nutrition-card--stale .rp-nutrition-figures{grid-row:1/span 3}@container rp-content (width<=600px){.rp-detail-hero-col>.rp-nutrition-card{grid-template-columns:minmax(0,1fr)}.rp-detail-hero-col>.rp-nutrition-card .rp-nutrition-figures{grid-area:auto/1;margin-top:16px}}.rp-content-inner .rp-notes-card,.rp-content-inner .rp-troubleshoot-card{background:0 0;border:none;border-radius:0;margin-bottom:0;padding:20px 0 0}.rp-content-inner .rp-notes-card{border-top:1px solid var(--color-divider)}}.rp-troubleshoot-card{flex-direction:column;display:flex}.rp-troubleshoot-clear{appearance:none;color:var(--color-gray-500);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600}.rp-troubleshoot-clear:hover:not(:disabled),.rp-troubleshoot-clear:focus-visible:not(:disabled){color:var(--color-gray-900);background:var(--color-surface-hover);outline:none}.rp-troubleshoot-clear:disabled{opacity:.5;cursor:not-allowed}.rp-troubleshoot-history{flex-direction:column;gap:18px;margin-bottom:16px;display:flex}.rp-troubleshoot-turn{flex-direction:column;gap:12px;display:flex}.rp-troubleshoot-user{background:var(--color-gray-100);border-radius:var(--radius-xl);padding:10px 14px}.rp-troubleshoot-user-label{letter-spacing:.04em;text-transform:uppercase;color:#9b8e83;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.rp-troubleshoot-user p{color:var(--color-gray-900);white-space:pre-wrap;margin:0;font-size:14px}.rp-troubleshoot-response{color:var(--color-gray-900);flex-direction:column;gap:12px;font-size:14px;display:flex}.rp-troubleshoot-summary{margin:0;line-height:1.45}.rp-troubleshoot-section{flex-direction:column;gap:4px;display:flex}.rp-troubleshoot-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--color-gray-500);font-size:12px;font-weight:700}.rp-troubleshoot-list,.rp-troubleshoot-advice{flex-direction:column;gap:6px;margin:0;padding-left:18px;line-height:1.45;display:flex}.rp-troubleshoot-question{font-weight:600}.rp-troubleshoot-reason{color:var(--color-gray-500)}.rp-troubleshoot-empty{color:var(--color-gray-500);margin:0;font-size:13px}.rp-troubleshoot-form{flex-direction:column;gap:10px;display:flex}.rp-troubleshoot-input{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;min-height:72px;color:var(--color-gray-900);background:var(--color-surface);box-sizing:border-box;padding:10px 12px;font-family:inherit;font-size:14px}.rp-troubleshoot-input:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring-strong);outline:none}.rp-troubleshoot-input:disabled{background:var(--color-gray-100);cursor:not-allowed}.rp-troubleshoot-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.rp-troubleshoot-hint{color:#9b8e83;font-size:12px}.rp-troubleshoot-submit{appearance:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-white);cursor:pointer;border:0;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.rp-troubleshoot-submit:hover:not(:disabled),.rp-troubleshoot-submit:focus-visible:not(:disabled){background:var(--color-primary-hover);outline:none}.rp-troubleshoot-submit:disabled{cursor:not-allowed;background:#d8c8be}.rp-card{background:var(--color-surface);border-radius:var(--radius-3xl);border:1px solid var(--color-border);padding:20px 22px 24px}.rp-card-header{border-bottom:1px solid var(--color-divider);align-items:center;gap:9px;margin-bottom:18px;padding-bottom:14px;display:flex;position:relative}.rp-card-header h2{color:var(--color-gray-900);flex:1;margin:0;font-size:15px;font-weight:600}@media (width>=768px){.rp-card-header h2{font-family:var(--font-serif);-webkit-text-stroke-width:.3px;font-size:22px}.rp-card-header>svg{width:25px;height:25px}}.rp-mep-header-controls{align-items:center;gap:12px;margin-left:auto;display:flex}.rp-mep-scaler{align-items:center;margin-left:auto;display:flex}.rp-card-header-time{appearance:none;color:var(--color-gray-500);border-radius:var(--radius-xs);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-left:auto;padding:3px 5px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.rp-card-header-time:not(.rp-card-header-time--readonly):hover,.rp-card-header-time:not(.rp-card-header-time--readonly):focus-visible{color:var(--color-gray-900);background:var(--color-surface-hover);cursor:pointer;outline:none}.rp-mep-menu{margin-left:auto;position:relative}.rp-directions-menu,.rp-mep-menu--in-header{margin-left:0}.rp-mep-menu-btn{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface);width:30px;height:30px;color:var(--color-gray-500);cursor:pointer;justify-content:center;align-items:center;display:flex}.rp-mep-menu-btn:hover,.rp-mep-menu-btn[aria-expanded=true],.rp-mep-menu-btn[aria-pressed=true]{border-color:var(--color-primary-light);color:var(--color-primary);background:var(--color-primary-soft-4)}.rp-mep-group-btn{flex:none}.rp-mep-menu-popover{z-index:var(--z-chrome);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);min-width:230px;box-shadow:0 14px 34px var(--color-gray-900-14), 0 3px 10px var(--color-gray-900-08);letter-spacing:0;text-transform:none;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.rp-mep-menu-popover button,.rp-mep-menu-popover a{border-radius:var(--radius-sm);width:100%;color:var(--color-gray-700);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:flex}.rp-mep-menu-popover button:hover,.rp-mep-menu-popover a:hover{color:var(--color-gray-900);background:var(--color-primary-soft)}.rp-mep-menu-popover button:disabled{opacity:.55;cursor:progress}.rp-mep-menu-popover button:disabled:hover{color:var(--color-gray-700);background:0 0}.rp-mep-menu-popover svg{color:var(--color-gray-500);flex-shrink:0}.rp-mep-menu-popover button.rp-mep-menu-danger,.rp-mep-menu-popover button.rp-mep-menu-danger svg{color:var(--color-danger)}.rp-mep-menu-popover button.rp-mep-menu-danger:hover{color:var(--color-danger-strong);background:var(--color-danger-soft)}.rp-mep-menu-separator{background:var(--color-divider);height:1px;margin:5px 4px}.rp-mep-menu-error{color:var(--color-danger);margin:6px 8px 4px;font-size:12px;line-height:1.35}.rp-mep-menu-notes{border-top:1px solid var(--color-divider);margin:6px 4px 2px;padding:8px 4px 2px}.rp-mep-menu-notes p{color:var(--color-warning);margin:0 4px 6px;font-size:12px;font-weight:700}.rp-mep-menu-notes ul{gap:6px;margin:0;padding:0 4px;list-style:none;display:grid}.rp-mep-menu-notes li{color:var(--color-gray-500);gap:2px;font-size:11.5px;line-height:1.35;display:grid}.rp-mep-menu-notes strong{color:var(--color-gray-700);font-size:12px}.rp-mep-section{margin-bottom:20px}.rp-mep-section:last-child{margin-bottom:0}.rp-mep-heading{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.55px;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.rp-ingredient-list{grid-template-columns:22px minmax(20px,max-content) minmax(40px,1fr);gap:2px;display:grid;position:relative}.rp-ingredient-group-heading{color:var(--color-green);letter-spacing:.55px;text-transform:uppercase;grid-column:1/-1;align-items:center;column-gap:10px;margin:9px 0 3px;font-size:11px;font-weight:800;line-height:1.2;display:flex;position:relative}.rp-ingredient-group-heading.drop-above:before{content:"";border-radius:var(--radius-pill);background:var(--color-primary);height:2px;box-shadow:var(--shadow-focus-ring);position:absolute;top:-5px;left:0;right:0}.rp-ingredient-group-heading.linked{color:var(--rp-direction-link-color)}.rp-ingredient-group-heading:after{content:"";opacity:.35;background:currentColor;flex:1 1 0;order:1;min-width:24px;height:1px}.rp-group-drag-handle{width:22px;height:18px;color:var(--color-green);cursor:grab;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.rp-group-drag-handle:hover{color:var(--color-green-hover)}.rp-ingredient-group-heading.linked .rp-group-drag-handle,.rp-ingredient-group-heading.linked .rp-group-drag-handle:hover{color:var(--rp-direction-link-color)}.rp-group-drag-handle:active{cursor:grabbing}.rp-ingredient-group-title{min-width:0;color:inherit;font:inherit;letter-spacing:.14em;font-size:12px;font-weight:700;line-height:inherit;flex:0 auto}.rp-ingredient-group-heading:first-child{margin-top:0}.rp-ingredient-group-heading.after-ungrouped{margin-top:29px}.rp-ingredient-row{grid-column:1/-1;grid-template-columns:subgrid;border-radius:var(--radius-sm);align-items:start;column-gap:10px;display:grid;position:relative}.rp-drag-preview{background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);white-space:nowrap;align-items:baseline;gap:10px;max-width:90vw;padding:10px 14px;box-shadow:0 8px 24px #0f172a29,0 1px 3px #0f172a14;width:auto!important;margin:0!important;display:inline-flex!important}.rp-drag-preview .rp-ing-handle-trigger,.rp-drag-preview .rp-ing-drag-handle,.rp-drag-preview .rp-group-drag-handle,.rp-drag-preview .rp-dir-section-handle,.rp-drag-preview .rp-ingredient-select-btn,.rp-drag-preview .rp-ing-recipe-link,.rp-ingredient-row.dragging .rp-ing-recipe-link{display:none!important}.rp-link-drag-svg{pointer-events:none;width:100vw;height:100vh;z-index:var(--z-overlay);position:fixed;top:0;left:0;overflow:visible}.rp-link-drag-path{fill:none;stroke:var(--color-primary);stroke-width:2px;stroke-linecap:round;stroke-dasharray:7 7;animation:1.4s linear infinite rp-link-drag-march}@keyframes rp-link-drag-march{to{stroke-dashoffset:-28px}}@keyframes rp-link-shimmer{0%{background-position:-150% 0}to{background-position:250% 0}}.rp-ingredient-row.shimmer,.rp-equipment-row.shimmer,.rp-dir-item.shimmer{background-image:linear-gradient(100deg,#0000 30%,#e8703a47 50%,#0000 70%);background-repeat:no-repeat;background-size:200% 100%;animation:.85s ease-out forwards rp-link-shimmer}.rp-ingredient-row.grouping{-webkit-user-select:none;user-select:none;cursor:pointer}.rp-ingredient-row.grouping:hover{background:#1118270a}.rp-ingredient-row.grouping.selected{background:var(--color-primary-08)}.rp-ingredient-row.grouping.deleting.selected{background:#b91c1c14}.rp-ingredient-row.grouping .rp-ing-handle-trigger{pointer-events:none}.rp-ingredient-row.group-end{margin-bottom:20px}.rp-ingredient-row.dragging{opacity:.55}.rp-ingredient-row.drop-before:before,.rp-ingredient-row.drop-after:after{content:"";border-radius:var(--radius-pill);background:var(--color-primary);height:2px;box-shadow:var(--shadow-focus-ring);position:absolute;left:0;right:0}.rp-ingredient-row.drop-before:before{top:-2px}.rp-ingredient-row.drop-after:after{bottom:-2px}.rp-equipment-row{grid-column:1/-1;grid-template-columns:subgrid;border-radius:var(--radius-sm);align-items:start;column-gap:12px;display:grid;position:relative}.rp-equipment-row.dragging{opacity:.55}.rp-equipment-row.drop-before:before,.rp-equipment-row.drop-after:after{content:"";border-radius:var(--radius-pill);background:var(--color-primary);height:2px;box-shadow:var(--shadow-focus-ring);position:absolute;left:0;right:0}.rp-equipment-row.drop-before:before{top:-2px}.rp-equipment-row.drop-after:after{bottom:-2px}.rp-mep-outline-add{border:1px solid var(--color-gray-300);color:var(--color-gray-700);cursor:pointer;font:inherit;border-radius:var(--radius-xs);transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);background:0 0;grid-column:1/-1;justify-self:start;margin-top:6px;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.4}.rp-mep-outline-add:hover,.rp-mep-outline-add:focus-visible{background:var(--color-gray-900);color:var(--color-white);border-color:var(--color-gray-900);outline:none}.rp-ing-add-affordance{pointer-events:none;opacity:0;z-index:3;height:0;transition:opacity var(--duration-fast);position:absolute;left:0;right:0}.rp-ing-add-affordance.is-visible{opacity:1}.rp-ing-add-affordance:not(.is-visible) .rp-ing-add-puck{pointer-events:none}.rp-ing-add-line{border-radius:var(--radius-pill);background:var(--color-primary-light);height:2px;position:absolute;top:0;left:0;right:0;transform:translateY(-1px)}.rp-ing-add-puck{border-radius:var(--radius-pill);background:var(--color-primary);width:17px;height:17px;color:var(--color-white);cursor:pointer;pointer-events:auto;box-shadow:var(--shadow-focus-ring);transition:background var(--duration-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.rp-ing-add-puck:hover{background:var(--color-primary-hover)}.rp-ing-add-label,.rp-dir-add-label{border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-white);letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;box-shadow:var(--shadow-focus-ring);pointer-events:none;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.4;display:none;position:absolute;top:0;left:0;transform:translateY(-50%)}.rp-ing-add-label.is-shown,.rp-dir-add-label.is-shown{display:block}.rp-ing-handle-trigger{z-index:1;width:25px;position:absolute;top:-1px;bottom:-1px;left:-10px}.rp-viewonly .rp-ing-handle-trigger{display:none}:is(.rp-equipment-row:has(.rp-ing-handle-trigger:hover) .rp-ing-handle-trigger,.rp-equipment-row:has(.rp-ing-drag-handle:hover) .rp-ing-handle-trigger){width:35px}.rp-ingredient-select-btn{z-index:2;width:22px;min-width:22px;height:22px;margin-top:0;position:relative}.rp-ing-drag-handle{z-index:2;width:100%;min-width:0;height:22px;color:var(--color-gray-400);cursor:grab;opacity:0;pointer-events:none;transition:color var(--duration-fast), opacity .16s ease;background:0 0;border:none;justify-content:center;align-items:center;margin-top:0;padding:0;display:flex;position:relative;overflow:hidden}.rp-ingredient-row .rp-ing-drag-handle,.rp-equipment-row.dragging .rp-ing-drag-handle,.rp-ing-drag-handle:hover,.rp-ing-drag-handle:focus-visible{opacity:1;pointer-events:auto}.rp-equipment-row:has(.rp-ing-handle-trigger:hover) .rp-ing-drag-handle{opacity:1;pointer-events:auto}.rp-equipment-row:has(.rp-ing-drag-handle:hover) .rp-ing-drag-handle{opacity:1;pointer-events:auto}.rp-ing-drag-handle:hover{color:var(--color-primary)}.rp-ing-drag-handle:active{cursor:grabbing}@media (hover:none){.rp-ing-recipe-link{opacity:1;pointer-events:auto}}.rp-ing-amount{color:var(--color-gray-900);white-space:nowrap;text-align:left;justify-self:start;font-size:13px;font-weight:700;line-height:1.5}.rp-editable.rp-ing-amount:not(.rp-editable--readonly){justify-self:stretch}.rp-ing-amount-scaled{color:var(--color-primary)}.rp-ing-name{font-size:var(--font-size-body);color:var(--color-gray-900);font-weight:400;line-height:1.5}.rp-ing-name-wrap{align-items:center;gap:5px;min-width:0;line-height:1.5;display:inline-flex}.rp-ing-name-wrap--editable{cursor:text}.rp-ing-name-linked{cursor:default}.rp-readonly .rp-ing-name-linked,.rp-viewonly .rp-ing-name-linked{cursor:inherit}.rp-ing-link-out,.rp-ing-recipe-link{width:20px;min-width:20px;height:20px;color:var(--color-gray-400);border-radius:var(--radius-2xs);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), opacity .14s ease;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-ing-link-out{color:var(--color-gray-500)}.rp-ing-link-out:hover,.rp-ing-link-out:focus-visible,.rp-ing-recipe-link:hover,.rp-ing-recipe-link:focus-visible{background:var(--color-primary-08);color:var(--color-primary);outline:none}.rp-ing-recipe-link{opacity:0;pointer-events:none}.rp-ingredient-row:hover .rp-ing-recipe-link,.rp-ing-recipe-link:focus-visible,.rp-ing-recipe-link.linked{opacity:1;pointer-events:auto}.rp-ing-recipe-link .rp-unlink-icon,.rp-ing-recipe-link.linked:hover .rp-link-icon,.rp-ing-recipe-link.linked:focus-visible .rp-link-icon{display:none}.rp-ing-recipe-link.linked:hover .rp-unlink-icon,.rp-ing-recipe-link.linked:focus-visible .rp-unlink-icon{display:block}.rp-ing-peek-toggle{width:20px;min-width:20px;height:20px;color:var(--color-gray-500);border-radius:var(--radius-2xs);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), transform .14s ease;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-ing-peek-toggle:hover,.rp-ing-peek-toggle:focus-visible{background:var(--color-primary-08);color:var(--color-primary);outline:none}.rp-ing-peek-toggle svg{transition:transform .14s}.rp-ing-peek-toggle.open svg{transform:rotate(90deg)}.rp-subrecipe-peek{padding-left:calc(8px + (var(--rp-subrecipe-depth,1) - 1) * 14px);border-left:2px solid #e8703a38;grid-column:1/-1;margin:2px 0 6px 6px}.rp-subrecipe-peek-meta{letter-spacing:.3px;text-transform:uppercase;color:var(--color-gray-400);margin-bottom:4px;font-size:11px;font-weight:700}.rp-subrecipe-peek-empty{color:var(--color-gray-400);font-size:12.5px;font-style:italic}.rp-subrecipe-peek-list{margin:0;padding:0;list-style:none}.rp-subrecipe-peek-item{margin:0}.rp-subrecipe-peek-row{align-items:baseline;gap:6px;padding:1px 0;display:flex}.rp-subrecipe-peek-chevron{width:14px;min-width:14px;height:14px;color:var(--color-gray-400);cursor:pointer;background:0 0;border:none;justify-content:center;align-self:center;align-items:center;padding:0;display:inline-flex}.rp-subrecipe-peek-chevron:hover,.rp-subrecipe-peek-chevron:focus-visible{color:var(--color-primary);outline:none}.rp-subrecipe-peek-chevron svg{transition:transform .14s}.rp-subrecipe-peek-chevron.open svg{transform:rotate(90deg)}.rp-subrecipe-peek-chevron-spacer{width:14px;min-width:14px}.rp-subrecipe-peek-amount{color:var(--color-gray-700);white-space:nowrap;font-size:12.5px;font-weight:700}.rp-subrecipe-peek-name{color:var(--color-gray-700);min-width:0;font-size:12.5px}.rp-subrecipe-peek-name.linked{color:var(--color-primary);font-weight:500}.rp-editable{cursor:text;border-radius:var(--radius-3xs);outline:none;min-width:2px;margin:-1px -3px;padding:1px 3px;transition:background .1s}.rp-editable:hover{background:#e8703a12}.rp-editable--readonly{cursor:inherit}.rp-editable--readonly.rp-title-editable,.rp-editable--readonly.rp-ingredient-group-title{cursor:default}.rp-editable--readonly.rp-title-editable:hover,.rp-editable--readonly.rp-ingredient-group-title:hover{background:0 0}.rp-editable:focus{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:2px;background:#e8703a1a}.rp-editable.rp-dir-title:hover,.rp-editable.rp-dir-text:hover,.rp-editable.rp-dir-datanote:hover,.rp-editable.rp-ing-amount:hover,.rp-editable.rp-ing-name:hover,.rp-editable.rp-dir-title:focus,.rp-editable.rp-dir-text:focus,.rp-editable.rp-dir-datanote:focus,.rp-editable.rp-ing-amount:focus,.rp-editable.rp-ing-name:focus{background:0 0}.rp-editable[data-placeholder]:empty:not(:focus):before{content:attr(data-placeholder);color:var(--color-gray-400);pointer-events:none}.rp-title .rp-title-editable[data-placeholder]:empty:before{content:attr(data-placeholder);color:inherit;opacity:.55;pointer-events:none;display:inline-block}.rp-history-flash{animation:1.2s ease-out rp-history-flash}@keyframes rp-history-flash{0%{box-shadow:inset 0 0 0 100vmax var(--color-primary-12), var(--shadow-focus-ring)}to{box-shadow:none}}@media (prefers-reduced-motion:reduce){.rp-history-flash{animation:none}}.rp-changed-frag,.recipe-page:not(.rp-viewonly):not(.rp-readonly) .rp-ing-changed .rp-ing-amount:not(:focus),.recipe-page:not(.rp-viewonly):not(.rp-readonly) .rp-ing-changed .rp-ing-name:not(:focus),.recipe-page:not(.rp-viewonly):not(.rp-readonly) .rp-dir-changed .rp-dir-title:not(:focus),.recipe-page:not(.rp-viewonly):not(.rp-readonly) .rp-dir-changed .rp-dir-text:not(:focus){text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:2px;text-decoration-thickness:2px}.rp-analyze-btn{border:1px solid var(--color-green);color:var(--color-green);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 13px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.rp-analyze-btn-icon{flex:none}.rp-analyze-btn:hover:not(:disabled){background:var(--color-green-soft);border-color:var(--color-green)}.rp-analyze-btn:disabled{opacity:.55;cursor:default}.rp-servings-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);width:64px;color:var(--color-gray-900);text-align:right;padding:5px 8px;font-family:inherit;font-size:13px;font-weight:700}.rp-servings-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring);outline:none}.rp-servings-input-top{width:58px;padding:2px 7px;font-size:14.5px;line-height:1.2;display:block}.rp-detail-servings-header{align-items:center;gap:7px;margin-left:auto;display:flex}.rp-detail-servings-header .rp-prop-label{color:var(--color-gray-500);margin-bottom:0;font-size:13px}.rp-nutrition-card-header .rp-analyze-btn{margin-left:auto}.rp-nutrition-figures{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);overflow:hidden}.rp-nutrition-tabs{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.rp-nutrition-tabs button{background:var(--color-gray-100);color:var(--color-gray-500);cursor:pointer;border:none;padding:11px 8px;font-family:inherit;font-size:13px;font-weight:600}.rp-nutrition-tabs button:first-child{border-right:1px solid var(--color-border)}.rp-nutrition-tabs button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:inset 0 -2px 0 var(--color-primary);font-weight:700}.rp-detail-tag-rows{flex-direction:column;display:flex}.rp-tag-row{align-items:flex-start;gap:12px;min-height:38px;padding:6px 0;display:flex}.rp-tag-row+.rp-tag-row{border-top:1px solid var(--color-divider)}.rp-tag-row-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500);flex-shrink:0;font-size:11px;font-weight:700}.rp-tag-row>.rp-tag-row-label,.rp-tag-row>.filter-dropdown{flex-shrink:0;width:104px}.rp-tag-row>.filter-dropdown{flex:none}.rp-tag-row .filter-dropdown-trigger,.rp-tag-row .filter-dropdown-trigger--active{background:0 0;border:none;gap:5px;width:auto;padding:2px 0}.rp-tag-row .filter-dropdown-trigger:focus,.rp-tag-row .filter-dropdown-trigger[aria-expanded=true]{box-shadow:none}.rp-tag-row .filter-dropdown-trigger svg{color:var(--color-gray-400);flex-shrink:0}.rp-tag-row .filter-dropdown-trigger:hover .rp-tag-row-label,.rp-tag-row .filter-dropdown-trigger[aria-expanded=true] .rp-tag-row-label{color:var(--color-gray-900)}.rp-tag-row .filter-dropdown-menu{min-width:200px;left:0;right:auto}.rp-tag-values{flex-wrap:wrap;flex:1;justify-content:flex-start;gap:6px;min-width:0;display:flex}.rp-tag-pill{color:#4f6442;border-radius:var(--radius-pill);white-space:nowrap;background:#eaf0e3;flex:none;padding:3px 10px;font-size:12px;font-weight:600}.rp-tag-values-empty{color:var(--color-gray-400);font-size:13px}.rp-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rp-nutrition-figures .rp-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:6px}.rp-macro-item{flex-direction:column;gap:2px;padding:12px 14px;display:flex}@media (width<=767.98px),(pointer:coarse) and (hover:none){.rp-macro-item{text-align:center;align-items:center}}.rp-macro-label{color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:700}.rp-attribute-pill{color:var(--color-gray-700);background:var(--color-gray-100);border-radius:var(--radius-pill);padding:4px 9px;font-size:11.5px;font-weight:600}.rp-macro-input-wrap{color:var(--color-gray-800);align-items:baseline;font-size:24px;font-weight:800;line-height:1.05;display:inline-flex}.rp-macro-unit{color:var(--color-gray-400);margin-left:0;font-size:13px;font-weight:700}.rp-macro-input{field-sizing:content;border-radius:var(--radius-2xs);width:4ch;min-width:1ch;font:inherit;color:inherit;text-align:left;-moz-appearance:textfield;background:0 0;border:1px solid #0000;padding:0;font-weight:800}@supports (field-sizing:content){.rp-macro-input{width:auto}}.rp-macro-input:placeholder-shown{min-width:3ch}.rp-macro-input::placeholder{color:var(--color-gray-400)}.rp-macro-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rp-macro-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rp-macro-input:hover{border-color:var(--color-gray-200)}.rp-macro-input:focus{border-color:var(--color-primary);background:var(--color-surface);outline:none}.rp-pill-removable{align-items:center;gap:4px;padding-right:4px;display:inline-flex}.rp-pill-remove{width:16px;height:16px;color:var(--color-gray-500);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.rp-pill-remove:hover{color:var(--color-danger);background:#fee2e2}.rp-user-tags-row{margin-top:4px}.rp-variants-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.rp-variants-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,var(--color-gray-500));font-size:.75rem;font-weight:600}.rp-variants-chips{flex-wrap:wrap;gap:6px;display:flex}.rp-variant-chip{border:1px solid var(--border,var(--color-gray-300));background:var(--surface,var(--color-surface));color:var(--text,var(--color-gray-800));border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease;padding:3px 10px;font-size:.8125rem}.rp-variant-chip:hover:not(:disabled){background:var(--surface-hover,var(--color-gray-100));border-color:var(--border-strong,var(--color-gray-400))}.rp-variant-chip--active{background:var(--accent-soft,#eef2ff);border-color:var(--accent,#6366f1);color:var(--accent,#4f46e5);cursor:default;font-weight:600}.rp-user-tags-editor{flex-direction:column;gap:6px;display:flex}.rp-user-tag-input-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rp-user-tag-combobox{flex:0 0 100px;width:100px;min-width:100px;position:relative}.rp-user-tag-input{border:1px solid var(--color-gray-200);background:var(--color-surface);border-radius:var(--radius-xs);width:100%;font:inherit;color:var(--color-gray-700);padding:4px 24px 4px 8px;font-size:12px}.rp-user-tag-toggle{width:22px;color:var(--color-gray-400);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.rp-user-tag-toggle:hover{color:var(--color-gray-700)}.rp-user-tag-suggestions{z-index:var(--z-chrome);background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);max-height:180px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.rp-user-tag-suggestion{border-radius:var(--radius-2xs);color:var(--color-gray-700);cursor:pointer;padding:5px 8px;font-size:12px}.rp-user-tag-suggestion.is-highlighted{color:#b4501f;background:#fdebe2}.rp-user-tag-input::placeholder{color:var(--color-gray-400);font-weight:500}.rp-user-tag-input:focus{border-color:var(--color-primary);outline:none}.rp-user-tag-error{color:var(--color-danger);margin:0;font-size:11.5px}.rp-notes-row{flex-direction:column;gap:4px;display:flex}.rp-notes-input{box-sizing:border-box;resize:none;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);width:100%;min-height:56px;font:inherit;color:var(--color-gray-700);padding:9px 11px;font-size:12px;line-height:1.45;overflow:hidden}.rp-notes-input::placeholder{color:var(--color-gray-400);font-weight:500}.rp-notes-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring-strong);outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rp-source-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rp-source-list{flex-flow:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rp-source-list li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);align-self:flex-start;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 8px 4px 12px;display:inline-flex}.rp-source-favicon{border-radius:var(--radius-3xs);object-fit:contain;flex-shrink:0;width:16px;height:16px}.rp-source-list a{color:var(--color-gray-700);overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:600;text-decoration:none}.rp-source-list a:hover{text-decoration:underline}.rp-source-remove{color:var(--color-gray-400);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.rp-source-remove:hover{color:var(--color-danger);background:var(--color-danger-soft)}.rp-source-add-btn{color:var(--color-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600}.rp-source-add-btn:hover{color:var(--color-primary-hover);text-decoration:underline}.rp-source-url-error{color:var(--color-danger);margin:6px 0 0;font-size:12px}.rp-analysis-error{color:var(--color-danger);background:var(--color-notice-surface);border-radius:var(--radius-md);margin:0;padding:9px 10px;font-size:12.5px;line-height:1.45}.rp-directions-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.rp-dir-add-affordance{pointer-events:none;opacity:0;z-index:3;height:0;transition:opacity var(--duration-fast);position:absolute;left:0;right:0}.rp-dir-add-affordance.is-visible{opacity:1}.rp-dir-add-affordance:not(.is-visible) .rp-dir-add-puck{pointer-events:none}.rp-dir-add-line{border-radius:var(--radius-pill);background:var(--color-primary-light);height:2px;position:absolute;top:0;left:0;right:0;transform:translateY(-1px)}.rp-dir-add-puck{border-radius:var(--radius-pill);background:var(--color-primary);width:17px;height:17px;color:var(--color-white);cursor:pointer;pointer-events:auto;box-shadow:var(--shadow-focus-ring);transition:background var(--duration-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.rp-dir-add-puck:hover{background:var(--color-primary-hover)}.rp-dir-item{border-radius:var(--radius-xl);cursor:pointer;transition:background var(--duration-fast);gap:10px;padding:11px 9px;display:flex;position:relative}.rp-dir-item:hover{background:var(--color-surface-hover)}.rp-dir-item.drop-before:before,.rp-dir-item.drop-after:after{content:"";border-radius:var(--radius-pill);background:var(--color-primary);height:2px;box-shadow:var(--shadow-focus-ring);position:absolute;left:8px;right:8px}.rp-dir-item.drop-before:before{top:-1px}.rp-dir-item.drop-after:after{bottom:-1px}.rp-dir-item.ingredient-drop-over{background:color-mix(in srgb, var(--rp-direction-link-color) 10%, var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rp-direction-link-color) 35%, transparent)}.rp-dir-item.ingredient-drop-over .rp-dir-num{background:var(--rp-direction-link-color);color:var(--color-white);border-color:var(--rp-direction-link-color)}.rp-dir-item.dragging{opacity:.55}.rp-dir-empty-item{flex-wrap:wrap;column-gap:8px;padding:2px 0;list-style:none;display:flex}.rp-dir-handle-trigger{z-index:1;width:42px;position:absolute;top:0;bottom:0;left:0}.rp-dir-leading{z-index:2;flex-shrink:0;align-items:flex-start;display:flex;position:relative}.rp-dir-drag-handle{width:25px;height:25px;color:var(--color-gray-400);cursor:grab;opacity:0;pointer-events:none;z-index:2;transition:color var(--duration-fast), opacity var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0}.rp-dir-handle-trigger:hover~.rp-dir-leading .rp-dir-drag-handle,.rp-dir-leading:hover .rp-dir-drag-handle,.rp-dir-item.dragging .rp-dir-drag-handle,.rp-dir-drag-handle:focus-visible{opacity:1;pointer-events:auto}.rp-dir-handle-trigger:hover~.rp-dir-leading .rp-dir-num,.rp-dir-leading:hover .rp-dir-num,.rp-dir-item.dragging .rp-dir-num{opacity:0}.rp-dir-leading:has(.rp-dir-drag-handle:focus-visible) .rp-dir-num{opacity:0}.rp-dir-drag-handle:hover{color:var(--color-primary)}.rp-dir-drag-handle:active{cursor:grabbing}@media (hover:none){.rp-dir-drag-handle{opacity:1;pointer-events:auto}.rp-dir-num{opacity:0}}.rp-dir-num{background:var(--color-surface);width:25px;height:25px;color:var(--color-gray-400);border:1.5px solid var(--color-gray-400);box-sizing:border-box;text-align:center;text-box:trim-both cap alphabetic;z-index:1;transition:background var(--duration-fast) var(--circle-wipe-delay,0s), color var(--duration-fast) var(--circle-wipe-delay,0s), border-color var(--duration-fast) var(--circle-wipe-delay,0s), opacity var(--duration-fast);border-radius:50%;flex-shrink:0;align-content:center;font-size:11.5px;font-weight:700;display:block;position:relative}.rp-dir-leading:before,.rp-dir-leading:after{content:"";background:repeating-linear-gradient(to bottom, var(--color-gray-200) 0 3px, transparent 3px 6px);pointer-events:none;z-index:0;width:2px;transition:top var(--duration-fast);position:absolute;top:12px;bottom:-24px;left:11.5px}.rp-dir-leading:before{background:repeating-linear-gradient(to bottom, var(--color-primary) 0 3px, transparent 3px 6px);z-index:1;clip-path:inset(0 0 100%);transition:top var(--duration-fast), clip-path var(--line-wipe-duration,var(--duration-medium)) linear var(--line-wipe-delay,0s)}.rp-dir-item:not(:has(~.rp-dir-item)) .rp-dir-leading:before{display:none}.rp-dir-item:not(:has(~.rp-dir-item)) .rp-dir-leading:after{display:none}.rp-dir-handle-trigger:hover~.rp-dir-leading:before,.rp-dir-handle-trigger:hover~.rp-dir-leading:after,.rp-dir-leading:hover:before,.rp-dir-leading:hover:after,.rp-dir-item.dragging .rp-dir-leading:before,.rp-dir-item.dragging .rp-dir-leading:after{top:31px}.rp-dir-leading:has(.rp-dir-drag-handle:focus-visible):before{top:31px}.rp-dir-leading:has(.rp-dir-drag-handle:focus-visible):after{top:31px}@media (hover:none){.rp-dir-leading:before,.rp-dir-leading:after{top:31px}}.rp-dir-item.active .rp-dir-num{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.rp-dir-item:has(~.rp-dir-item.active) .rp-dir-num{color:var(--color-primary);border-color:var(--color-primary)}.rp-dir-item:has(~.rp-dir-item.active) .rp-dir-leading:before{clip-path:inset(0)}.rp-cooking .rp-dir-item.active .rp-dir-num{background:var(--color-copper);border-color:var(--color-copper)}.rp-cooking .rp-dir-item:has(~.rp-dir-item.active) .rp-dir-num{color:var(--color-copper-text);border-color:var(--color-copper)}.rp-cooking .rp-dir-leading:before{background:repeating-linear-gradient(to bottom, var(--color-copper) 0 3px, transparent 3px 6px)}.rp-dir-item.linked .rp-dir-num{background:var(--rp-direction-link-color);color:var(--color-white);border-color:var(--rp-direction-link-color)}.rp-dir-section{color:var(--color-green-muted);align-items:center;column-gap:12px;margin:14px 0 0;padding:0 9px;display:flex}.rp-dir-section:first-child{margin-top:0}.rp-dir-section:after{content:"";opacity:.35;background:currentColor;flex:1 1 0;min-width:24px;height:1px}.rp-dir-section-title{letter-spacing:.14em;text-transform:uppercase;min-width:0;color:inherit;flex:0 auto;margin:0;font-size:12px;font-weight:700;line-height:1.2}.rp-dir-section--editing{color:var(--color-green);column-gap:10px}.rp-dir-section-handle{width:25px;height:18px;color:inherit;cursor:grab;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.rp-dir-section-handle:hover{color:var(--color-green-hover)}.rp-dir-section-handle:active{cursor:grabbing}.rp-dir-section.dragging,.rp-dir-item--section-dragging{opacity:.55}.rp-dir-item--run-end .rp-dir-leading:before,.rp-dir-item--run-end .rp-dir-leading:after{display:none}.rp-dir-body{flex:1;min-width:0}.rp-dir-title{font-family:var(--font-serif);color:var(--color-gray-900);-webkit-text-stroke-width:.2px;margin-bottom:3px;font-size:18px;font-weight:700;line-height:25px;display:block}.rp-dir-item.active .rp-dir-title{color:var(--color-primary)}.rp-cooking .rp-dir-item.active .rp-dir-title{color:var(--color-copper-text)}.rp-dir-text{color:var(--color-gray-700);margin:0;font-size:13px;line-height:1.55;display:block}.rp-dir-body>.rp-dir-text:first-child{margin-top:1.5px}.rp-dir-text,.rp-overview-step-text,.rp-mdir-text,.rp-reorder-step-text,.pubr-step-text{text-align:justify}.rp-dir-note-row{align-items:flex-start;gap:6px;margin:5px 0 0;display:flex}.rp-dir-note-icon{color:var(--color-gray-400);flex-shrink:0;margin-top:2px}.rp-dir-datanote{color:var(--color-gray-500);flex:1;min-width:0;font-size:12px;font-weight:500;display:block}.rp-dir-datanote:empty:before{content:"Note…";color:var(--color-gray-400);pointer-events:none}.rp-dir-timestamp-row{align-items:center;gap:4px;margin:5px 0 0;display:flex}.rp-dir-timestamp{color:var(--color-copper-text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.rp-dir-timestamp svg{flex-shrink:0}.rp-dir-timestamp-btn{text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.rp-dir-timestamp-pencil{opacity:0;transition:opacity var(--duration-fast)}.rp-dir-timestamp-clear{color:var(--color-gray-400);cursor:pointer;opacity:0;transition:opacity var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-dir-timestamp-row:hover .rp-dir-timestamp-pencil,.rp-dir-timestamp-row:focus-within .rp-dir-timestamp-pencil,.rp-dir-timestamp-row:hover .rp-dir-timestamp-clear,.rp-dir-timestamp-row:focus-within .rp-dir-timestamp-clear{opacity:1}.rp-dir-timestamp-clear:hover{color:var(--color-danger)}@media (hover:none){.rp-dir-timestamp-pencil,.rp-dir-timestamp-clear{opacity:1}}.rp-dir-timestamp-edit{margin:5px 0 0}.rp-dir-timestamp-edit-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rp-dir-timestamp-input{color:var(--color-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-surface);padding:4px 6px;font-family:inherit;font-size:12px;font-weight:600}.rp-dir-timestamp-input:focus{border-color:var(--color-primary-light);outline:none}.rp-dir-timestamp-action{border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-gray-500);cursor:pointer;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600}.rp-dir-timestamp-action:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.rp-dir-timestamp-save{border-color:var(--color-primary-light);color:var(--color-primary);background:var(--color-primary-soft-4)}.rp-dir-timestamp-error{color:var(--color-danger);margin:4px 0 0;font-size:12px}.rp-dir-step-menu{z-index:3;position:absolute;top:8px;right:8px}.rp-dir-step-menu-btn{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface);width:28px;height:28px;color:var(--color-gray-500);cursor:pointer;opacity:0;transition:opacity var(--duration-fast);justify-content:center;align-items:center;display:flex}.rp-dir-item:hover .rp-dir-step-menu-btn,.rp-dir-step-menu-btn[aria-expanded=true]{opacity:1}.rp-dir-step-menu-btn:hover{border-color:var(--color-primary-light);color:var(--color-primary);background:var(--color-primary-soft-4)}.rp-dir-step-menu-popover{min-width:180px}@media (hover:none){.rp-dir-step-menu-btn{display:none}}.rp-dir-image{z-index:2;aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--color-gray-100);width:100%;margin-top:8px;display:block;position:relative;overflow:hidden}.rp-dir-image-button{cursor:pointer;font:inherit;color:inherit;border:none;padding:0}.rp-dir-image-button:focus-visible{box-shadow:var(--shadow-focus-ring-strong);outline:none}.rp-dir-image-img{object-fit:cover;width:100%;height:100%;display:block}.rp-dir-image-input{display:none}.rp-dir-image-error{color:var(--color-danger);margin:5px 0 0;font-size:12px;font-weight:500}.culinary-popover{z-index:var(--z-overlay);border:1px solid var(--color-border);max-width:calc(100vw - 28px);box-shadow:0 18px 45px #11182729, 0 4px 14px var(--color-gray-900-08);color:var(--color-gray-900);background:#fffffffa;border-radius:18px;padding:22px;position:fixed}.culinary-popover__arrow{border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);background:#fffffffa;width:14px;height:14px;position:absolute;transform:rotate(-45deg)}.culinary-popover[data-side=right] .culinary-popover__arrow{left:-8px}.culinary-popover[data-side=left] .culinary-popover__arrow{right:-8px;transform:rotate(135deg)}.culinary-popover[data-side=bottom] .culinary-popover__arrow{top:-8px;transform:rotate(45deg)}.culinary-popover[data-side=top] .culinary-popover__arrow{bottom:-8px;transform:rotate(225deg)}.culinary-popover__header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.culinary-popover__eyebrow{color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-pill);align-items:center;margin-bottom:12px;padding:6px 12px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.culinary-popover h3{letter-spacing:0;color:var(--color-gray-900);margin:0;font-size:27px;line-height:1.15}.culinary-popover__close{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface);width:30px;height:30px;color:var(--color-gray-500);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.culinary-popover__close:hover{color:var(--color-primary);border-color:var(--color-primary-light);background:var(--color-primary-soft-4)}.culinary-popover__summary{grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:16px;display:grid}.culinary-popover__summary p{color:var(--color-gray-600);margin:0;font-size:14.5px;line-height:1.65}.culinary-popover__image{border-radius:var(--radius-2xl);object-fit:cover;width:116px;height:92px;box-shadow:0 8px 20px var(--color-gray-900-12)}.culinary-popover__matched{color:var(--color-gray-400);margin:-4px 0 14px;font-size:11.5px;font-weight:700}.culinary-popover__sections{border-top:1px solid var(--color-divider)}.culinary-popover__section{border-bottom:1px dashed var(--color-border);grid-template-columns:38px 1fr;gap:14px;padding:18px 0;display:grid}.culinary-popover__section:last-child{border-bottom:none;padding-bottom:0}.culinary-popover__section-icon{width:38px;height:38px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:50%;justify-content:center;align-items:center;display:flex}.culinary-popover__section h4{color:var(--color-gray-900);margin:0 0 6px;font-size:14px;line-height:1.25}.culinary-popover__section p{color:var(--color-gray-600);font-size:var(--font-size-body);margin:0;line-height:1.65}@media (width<=680px){.culinary-popover{border-radius:var(--radius-3xl);padding:18px}.culinary-popover h3{font-size:22px}.culinary-popover__summary{grid-template-columns:1fr}.culinary-popover__image{display:none}}.app-layout{--filters-reserve:294px;height:100%;display:flex;position:relative;overflow:hidden}.primary-sidebar{--primary-sidebar-width:260px;width:var(--primary-sidebar-width);min-width:var(--primary-sidebar-width);background:var(--color-surface);z-index:var(--z-chrome);flex-direction:column;padding-left:10px;transition:width .16s,min-width .16s;display:flex;position:relative;overflow-y:auto}.logo{align-items:center;gap:10px;min-height:69px;padding:18px 16px;display:flex}.logo-home{cursor:pointer;color:inherit;border-radius:var(--radius-xs);min-width:0;transition:opacity var(--duration-fast);background:0 0;border:none;align-items:center;gap:5px;margin:0;padding:0;font-family:inherit;display:flex;transform:translateY(-5px)}.logo-home:hover,.logo-home:focus-visible{outline:none}.logo-img{flex-shrink:0;width:40px;height:40px;position:relative;top:1px}.logo-img-still,.logo-img-anim{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.logo-img-anim{opacity:0;transform:translate(.1px,-2.39px)scale(1.11)}.logo-img-anim.is-visible{opacity:1}.logo-img-still.is-hidden{opacity:0}.logo-text{font-family:var(--font-serif);color:var(--color-gray-900);letter-spacing:-.5px;-webkit-text-stroke-width:.2px;min-width:0;font-size:27px;font-weight:400;transform:translateY(8px)}.primary-sidebar-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-gray-500);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex;transform:translateY(4px)}.primary-sidebar-toggle:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.primary-sidebar-toggle:active,.primary-sidebar-toggle:focus-visible{background:var(--color-gray-200);color:var(--color-gray-900);outline:none}.primary-sidebar-toggle:focus-visible{border-color:var(--color-green)}.primary-nav{flex-direction:column;gap:2px;padding:10px 8px;display:flex}.primary-sidebar-actions{flex-direction:column;gap:2px;margin-top:auto;padding:10px 8px;display:flex}.nav-item{border-radius:var(--radius-md);cursor:pointer;color:var(--color-gray-900);font-size:var(--font-size-body);text-align:left;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 10px;font-family:inherit;font-weight:600;display:flex;position:relative}.nav-item svg{flex-shrink:0}.nav-item span{text-box-trim:trim-both;text-box-edge:cap alphabetic}.nav-item:hover{background:var(--color-surface-hover);color:var(--color-gray-900)}.nav-item.active{background:var(--color-green-soft);color:var(--color-nav-selected-ink);font-weight:600}.primary-sidebar--collapsed{--primary-sidebar-width:74px}.primary-sidebar--collapsed .logo{flex-direction:column;justify-content:center;gap:8px;padding:14px 8px}.primary-sidebar--collapsed .logo-text,.primary-sidebar--collapsed .nav-item span{display:none}.primary-sidebar--collapsed .primary-sidebar-toggle{margin-left:0}.primary-sidebar--collapsed .primary-nav,.primary-sidebar--collapsed .primary-sidebar-actions{align-items:center;padding-left:8px;padding-right:8px}.primary-sidebar--collapsed .nav-item{justify-content:center;width:40px;height:40px;padding:0}.pinned-recipes{flex-direction:column;gap:2px;margin:2px 0 14px;display:flex}.pinned-recipes-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.pinned-recipe-item{border-radius:var(--radius-md);background:var(--color-surface-subtle);border:1px solid var(--color-divider);transition:background var(--duration-fast);align-items:center;margin-left:14px;display:flex;position:relative}.pinned-recipe-item:hover{background:var(--color-surface-hover)}.pinned-recipe-item.active{background:var(--color-green-soft)}.nav-item.shimmering:after,.pinned-recipe-item.shimmering:after{content:"";z-index:0;border-radius:var(--radius-md);pointer-events:none;background-image:linear-gradient(115deg, var(--color-green-soft) 0%, var(--color-green-soft) 44%, #1d5b4529 48%, #ffffffe6 52%, var(--color-surface-hover) 58%);background-position:100% 0;background-repeat:no-repeat;background-size:250% 100%;animation:.3s ease-out forwards menu-row-activate;position:absolute;inset:0}.nav-item.shimmering>svg,.nav-item.shimmering>span,.pinned-recipe-item.shimmering .pinned-recipe-button,.pinned-recipe-item.shimmering .pinned-recipe-close{z-index:1;position:relative}@keyframes menu-row-activate{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.nav-item.shimmering:after,.pinned-recipe-item.shimmering:after{animation:none;display:none}}.pinned-recipe-item.entering{animation:.3s ease-out pinned-recipe-enter;overflow:hidden}@keyframes pinned-recipe-enter{0%{opacity:0;max-height:0}to{opacity:1;max-height:40px}}@media (prefers-reduced-motion:reduce){.pinned-recipe-item.entering{animation:none}}.pinned-recipe-item.exiting{pointer-events:none;animation:.18s ease-out forwards pinned-recipe-exit;overflow:hidden}@keyframes pinned-recipe-exit{0%{opacity:1;max-height:40px}to{opacity:0;max-height:0}}@media (prefers-reduced-motion:reduce){.pinned-recipe-item.exiting{animation:none}}.pinned-recipe-item.dragging{opacity:.4}.pinned-recipe-item.drop-before:before,.pinned-recipe-item.drop-after:after{content:"";background:var(--color-primary);pointer-events:none;border-radius:1px;height:2px;position:absolute;left:6px;right:6px}.pinned-recipe-item.drop-before:before{top:-1px}.pinned-recipe-item.drop-after:after{bottom:-1px}.pinned-recipe-button{cursor:pointer;text-align:left;border-radius:var(--radius-md);min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:5px 6px;font-family:inherit;text-decoration:none;display:flex}.pinned-recipe-thumb{aspect-ratio:5/4;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;height:22px;display:flex;overflow:hidden}.pinned-recipe-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.pinned-recipe-name{color:var(--color-gray-700);white-space:nowrap;text-overflow:ellipsis;text-box-trim:trim-both;text-box-edge:cap alphabetic;min-width:0;font-size:12.5px;font-weight:500;transition:color .25s;overflow:clip visible}.pinned-recipe-item.active .pinned-recipe-name{color:var(--color-nav-selected-ink);font-weight:600}.marquee-inner{display:inline}.pinned-recipe-name.marqueeing{text-overflow:clip}.pinned-recipe-name.marqueeing .marquee-inner{will-change:transform;display:inline-block}.pinned-recipe-close{cursor:pointer;color:var(--color-green);width:24px;height:24px;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:5px;font-size:14px;line-height:1;display:inline-flex}.pinned-recipe-close:hover{color:var(--color-green-hover);background:var(--color-green-soft)}.pinned-recipe-close.pinned-recipe-pin svg{stroke-width:3px;margin-top:1px}.pinned-menu-item{background:0 0;border:none}.pinned-menu-item.unpinned .pinned-recipe-close{opacity:0;transition:opacity var(--duration-fast), background var(--duration-fast), color var(--duration-fast)}.pinned-menu-item.unpinned:hover .pinned-recipe-close,.pinned-menu-item.unpinned .pinned-recipe-close:focus-visible{opacity:1}.pinned-menu-item.unpinned .pinned-recipe-close.pinned-recipe-open-marker{opacity:1;position:relative}.pinned-recipe-eye{transition:opacity var(--duration-fast);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.pinned-recipe-open-marker .pinned-recipe-glyph{opacity:0;transition:opacity var(--duration-fast)}.pinned-recipe-item:hover .pinned-recipe-open-marker .pinned-recipe-eye,.pinned-recipe-open-marker:focus-visible .pinned-recipe-eye{opacity:0}.pinned-recipe-item:hover .pinned-recipe-open-marker .pinned-recipe-glyph,.pinned-recipe-open-marker:focus-visible .pinned-recipe-glyph{opacity:1}.pinned-recipe-glyph{transform-origin:23% 94%;display:inline-flex}.pinned-menu-item .pinned-recipe-close.pin-anim-out{opacity:1;pointer-events:none}.nav-section-header{position:relative}.pinned-recipes-clear{height:fit-content;color:var(--color-green);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--duration-fast), background var(--duration-fast);animation:pinned-recipes-clear-in var(--duration-medium) ease-out both;background:0 0;border:none;margin-block:auto;padding:4px 6px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;position:absolute;top:0;bottom:0;right:8px}@keyframes pinned-recipes-clear-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.pinned-recipes-clear{animation:none}}.pinned-recipes-clear:hover,.pinned-recipes-clear:focus-visible{color:var(--color-green);background:var(--color-green-soft);outline:none}.pinned-menu-thumb{background:var(--color-surface-subtle);border:1px solid var(--color-divider)}.recipes-sidebar{background:var(--color-surface);border-radius:var(--radius-4xl);flex-shrink:0;width:300px;min-width:300px;max-width:300px;max-height:100vh;padding:26px 20px 16px;position:sticky;top:0;overflow-y:auto}.recipes-sidebar-header{justify-content:space-between;align-items:center;gap:8px;min-height:37px;margin:0 0 22px;padding:0 18px;display:flex}.recipes-sidebar-title{font-family:var(--font-serif);font-size:var(--font-size-card-title);color:var(--color-gray-900);letter-spacing:-.1px;-webkit-text-stroke-width:.4px;margin:0;padding:0;font-weight:600}.filter-panel-master{flex-direction:column;gap:12px;padding:0 18px;display:flex}.filter-panel-master .filter-nav-list{margin-top:8px}.recipes-sidebar-clear-all{color:var(--color-green);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;position:relative;top:3px}.recipes-sidebar-clear-all:hover{color:var(--color-green-hover);text-decoration:underline}.recipes-sidebar-trash-link{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-body);color:var(--color-gray-600);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);justify-content:center;align-items:center;gap:8px;margin:16px 18px 0;padding:9px 12px;font-weight:500;text-decoration:none;display:flex}.recipes-sidebar-trash-link:hover,.recipes-sidebar-trash-link:focus-visible{background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-gray-800)}.analyze-callout{border-radius:var(--radius-3xl);background:var(--color-green-soft);flex-direction:column;gap:12px;margin:20px 18px 0;padding:18px 18px 14px;display:flex}.analyze-callout-head{align-items:center;gap:12px;display:flex}.analyze-callout-icon{border-radius:var(--radius-3xl);background:var(--color-white);width:30px;height:30px;color:var(--color-green);flex:none;justify-content:center;align-items:center;display:flex}.analyze-callout-title{font-size:var(--font-size-body);color:var(--color-green);margin:0;font-weight:700}.analyze-callout-copy{font-size:var(--font-size-body);color:var(--color-gray-600);margin:0 0 2px;line-height:1.5}.analyze-callout-action{border-radius:var(--radius-3xl);width:100%;font-family:inherit;font-size:var(--font-size-body);color:var(--color-white);background:var(--color-green);cursor:pointer;transition:background var(--duration-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:15px 12px;font-weight:700;display:flex}.analyze-callout-action:hover,.analyze-callout-action:focus-visible{background:var(--color-green-hover)}.analyze-callout-dismiss{color:var(--color-green-muted);cursor:pointer;background:0 0;border:none;align-self:center;padding:2px 6px;font-family:inherit;font-size:12px;font-weight:500}.analyze-callout-dismiss:hover,.analyze-callout-dismiss:focus-visible{text-decoration:underline}.filter-dropdown{position:relative}.filter-dropdown-trigger{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);width:100%;color:var(--color-gray-900);background-color:var(--color-surface);cursor:pointer;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s;display:flex}.filter-dropdown-trigger-label{white-space:nowrap;align-items:baseline;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.filter-dropdown-trigger-prefix{color:var(--color-gray-400);flex-shrink:0;font-weight:500}.filter-dropdown-trigger-placeholder{color:var(--color-gray-400);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.filter-dropdown-trigger-value{color:var(--color-gray-900);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.filter-dropdown-trigger svg{color:var(--color-gray-500);flex-shrink:0}.filter-dropdown-trigger:focus,.filter-dropdown-trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring)}.filter-dropdown-trigger--active{border-color:var(--color-primary);background-color:var(--color-primary-08)}.filter-dropdown-trigger--active .filter-dropdown-trigger-prefix{color:var(--color-primary)}.filter-dropdown-trigger--active .filter-dropdown-trigger-value{color:#b8501f}.filter-dropdown-trigger--active svg{color:var(--color-primary)}.filter-dropdown-menu{z-index:var(--z-panel);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;gap:2px;max-height:260px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 10px 24px #0f172a1f}.filter-dropdown-option{border-radius:var(--radius-xs);color:var(--color-gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:7px 6px;font-size:13px;line-height:1.2;display:flex}.filter-dropdown-option:hover{background:var(--color-gray-50)}.filter-dropdown-option input[type=checkbox],.filter-dropdown-option input[type=radio]{width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:0}.filter-dropdown-rule{background:var(--color-gray-200);height:1px;margin:3px 0}.filter-checkbox{cursor:pointer;color:var(--color-gray-700);-webkit-user-select:none;user-select:none;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:10px;padding:0 4px;font-size:13px;font-weight:600;display:flex}.filter-checkbox input[type=checkbox]{appearance:none;border-radius:var(--radius-pill);background:var(--color-gray-300);cursor:pointer;flex-shrink:0;width:36px;height:20px;margin:0;transition:background .16s;position:relative}.filter-checkbox input[type=checkbox]:before{content:"";background:var(--color-surface);border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.filter-checkbox input[type=checkbox]:checked{background:var(--color-green)}.filter-checkbox input[type=checkbox]:checked:before{transform:translate(16px)}.filter-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}@media (hover:hover){.filter-checkbox:hover input[type=checkbox]{background:var(--color-gray-400)}.filter-checkbox:hover input[type=checkbox]:checked{background:var(--color-green-hover)}.filter-checkbox--priority:hover input[type=checkbox]:checked{background:var(--color-priority-hover)}}.filter-checkbox-label{align-items:center;gap:11px;display:flex}.filter-checkbox-icon{color:var(--color-gray-500);flex-shrink:0}.filter-panel-master .filter-checkbox-label svg{color:var(--color-gray-500);transition:color var(--duration-flip)}.filter-panel-master .filter-checkbox--checked .filter-checkbox-label svg{color:var(--color-green)}.filter-panel-master .filter-checkbox--priority.filter-checkbox--checked .filter-checkbox-label svg{color:var(--color-priority)}.filter-checkbox--priority input[type=checkbox]:checked{background:var(--color-priority)}.filter-checkbox--priority input[type=checkbox]:focus-visible{outline-color:var(--color-priority)}.filter-nav-list{flex-direction:column;display:flex}.filter-nav-row{border:none;border-bottom:1px solid var(--color-divider);width:100%;font-family:inherit;font-size:var(--font-size-body);color:var(--color-gray-900);cursor:pointer;text-align:left;transition:background-color var(--duration-fast);background:0 0;align-items:center;gap:11px;padding:11px 4px;display:flex}.filter-nav-row:last-child{border-bottom:none}@media (hover:hover){.filter-nav-row:hover{background:var(--color-gray-50)}}.filter-nav-row-icon{color:var(--color-gray-500);transition:color var(--duration-flip);flex-shrink:0}.filter-nav-row-icon--active{color:var(--color-green)}.filter-nav-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.filter-nav-row-value{color:var(--color-gray-400);text-overflow:ellipsis;white-space:nowrap;text-align:right;flex-shrink:0;max-width:110px;font-weight:500;overflow:hidden}.filter-nav-row-value--active{color:var(--color-green);font-weight:600}.filter-nav-row-chevron{color:var(--color-gray-400);flex-shrink:0}.filter-detail{padding:0 18px}.filter-detail-back{width:100%;color:var(--color-gray-900);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0 14px;font-family:inherit;font-size:15px;font-weight:600;display:flex}.filter-detail-back-arrow{flex-shrink:0;display:inline-flex}.filter-detail-back-arrow svg{color:var(--color-gray-500)}@media (hover:hover){.filter-detail-back:hover .filter-detail-back-arrow svg{color:var(--color-gray-900)}}.filter-detail-head-icon{color:var(--color-gray-500);transition:color var(--duration-flip);flex-shrink:0}.filter-detail-head-icon--active{color:var(--color-green)}.filter-detail-head-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.filter-detail-subtitle{border-bottom:1px solid var(--color-divider);color:var(--color-gray-400);margin:0 0 8px;padding-bottom:12px;font-size:12.5px}.filter-detail-list{flex-direction:column;display:flex}.filter-detail-option{border-bottom:1px solid var(--color-divider);color:var(--color-gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 2px;font-size:14px;display:flex}@media (hover:hover){.filter-detail-option:hover{color:var(--color-gray-900)}}.filter-detail-option--only{border-bottom:none}.filter-detail-option input[type=checkbox],.filter-detail-option input[type=radio]{width:18px;height:18px;accent-color:var(--color-green);cursor:pointer;flex-shrink:0;margin:0}.filter-detail-option-label{flex:1;min-width:0}.filter-detail-stars{flex-shrink:0}.filter-detail-stars .star.filled{color:var(--color-star-on-surface)}.filter-detail-stars .star.empty{color:var(--color-gray-300)}.filter-detail-rule{background:var(--color-divider);height:1px}@media (prefers-reduced-motion:no-preference){.filter-detail-back-arrow{animation:filter-detail-settle var(--duration-medium) ease-out backwards;animation-delay:60ms}.filter-detail-body{animation:filter-detail-settle var(--duration-medium) ease-out}.filter-detail-body--cascade{animation:none}.filter-detail-body--cascade .filter-detail-option{animation:filter-detail-settle var(--duration-medium) cubic-bezier(.22, .61, .36, 1) backwards;animation-delay:calc(var(--i,0) * 40ms)}.filter-detail-body--cascade .filter-detail-stars{animation:filter-star-pop var(--duration-medium) ease-out backwards;animation-delay:calc(var(--i,0) * 40ms + 70ms);transform-origin:0}}@keyframes filter-detail-settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes filter-star-pop{0%{opacity:0;transform:scale(.55)}62%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.tag-filter{flex-direction:column;min-height:100%;padding:0 18px;display:flex}.tag-filter-search{border:1px solid var(--color-gray-300);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-gray-400);align-items:center;gap:8px;margin-bottom:16px;padding:0 12px;display:flex}.tag-filter-search:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring)}.tag-filter-search svg{flex-shrink:0}.tag-filter-search input{min-width:0;color:var(--color-gray-900);background:0 0;border:none;outline:none;flex:1;padding:9px 0;font-family:inherit;font-size:13px}.tag-filter-search input::-webkit-search-cancel-button{appearance:none}.tag-filter-chips{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.tag-filter-chip{border:1px solid var(--color-gray-200);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-gray-700);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex}@media (hover:hover){.tag-filter-chip:hover{border-color:var(--color-gray-300);background:var(--color-surface-hover)}}.tag-filter-chip--on,.tag-filter-chip--on:hover{background:var(--color-green);border-color:var(--color-green);color:var(--color-white)}.tag-filter-empty{color:var(--color-gray-400);margin:4px 2px;font-size:13px}.tag-filter-footer{background:linear-gradient(to bottom, #fff0, var(--color-surface) 22%);margin-top:auto;padding:16px 0 4px;display:flex;position:sticky;bottom:0}.tag-filter-btn{border-radius:var(--radius-xl);cursor:pointer;flex:1;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:600}.tag-filter-btn--clear{border:1px solid var(--color-gray-300);background:var(--color-surface);color:var(--color-gray-700)}.tag-filter-btn--clear:hover{background:var(--color-surface-hover)}.auth-bootstrap{height:100vh;color:var(--color-gray-500);justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.auth-bootstrap-spinner{border:2px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-page{background:var(--color-surface);justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-3xl);flex-direction:column;gap:20px;width:100%;max-width:380px;padding:28px 28px 24px;display:flex;box-shadow:0 8px 24px #1118270a}.auth-card-brand{align-items:center;gap:9px;display:flex}.auth-card-logo{object-fit:contain;width:28px;height:28px}.auth-card-brand-text{color:var(--color-primary);letter-spacing:-.3px;font-size:16px;font-weight:700}.auth-card-heading{flex-direction:column;gap:4px;display:flex}.auth-card-title{color:var(--color-gray-900);margin:0;font-size:22px;font-weight:700}.auth-card-subtitle{font-size:var(--font-size-body);color:var(--color-gray-500);margin:0}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-field-label{color:var(--color-gray-700);font-size:12px;font-weight:600}.auth-field-hint{color:var(--color-gray-400);font-size:11.5px}.auth-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-gray-900);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:9px 12px;font-family:inherit;font-size:14px}.auth-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #e8703a26}.auth-input:disabled{opacity:.6}.auth-error{background:var(--color-notice-surface);color:var(--color-danger);border-radius:var(--radius-md);padding:9px 12px;font-size:13px}.auth-error p{margin:0}.auth-google-btn-inline{margin-top:10px;padding:8px 12px;font-size:13px;display:flex}.auth-submit{border-radius:var(--radius-lg);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-white);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), opacity var(--duration-fast);padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600}.auth-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.auth-submit:disabled{opacity:.5;cursor:default}.auth-divider{color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:10px;font-size:11.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-gray-200);flex:1;height:1px}.auth-google-btn{color:var(--color-gray-700);background:var(--color-surface);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.auth-google-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-400)}.auth-card-footer{color:var(--color-gray-500);text-align:center;font-size:13px}.auth-card-footer a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-card-footer a:hover{text-decoration:underline}.dinner-party-menus-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header.dinner-party-menus-header h1{font-family:var(--font-serif);font-size:var(--font-size-screen-title);letter-spacing:-.1px;-webkit-text-stroke-width:.2px;align-items:center;min-height:37px;font-weight:600;display:flex}.menus-header-actions{align-items:center;gap:14px;display:flex}.menus-new-btn{color:var(--color-white);background:var(--color-green);border:1px solid var(--color-green);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.menus-new-btn:hover{background:var(--color-green-hover);border-color:var(--color-green-hover)}.menus-trash-link{color:var(--color-gray-900);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.menus-trash-link:hover{background:var(--color-surface-hover);border-color:var(--color-gray-300)}.menus-trash-link--footer{width:fit-content;color:var(--color-gray-500);background:0 0;border-color:#0000;margin:20px auto 0;padding:8px 12px;font-weight:500;display:flex}.menus-list-title{min-width:0;font-family:var(--font-serif);font-size:var(--font-size-card-title);letter-spacing:.2px;color:var(--color-gray-900);-webkit-text-stroke-width:.4px;margin:0 0 12px;font-weight:600}.menus-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.menu-card{background-color:var(--color-white);min-width:0;color:var(--color-menu-card-ink);border-radius:var(--radius-3xl);cursor:pointer;transition:box-shadow var(--duration-fast), transform var(--duration-fast);background-position:50%;background-repeat:no-repeat;background-size:cover;grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:start;column-gap:14px;padding:14px 48px 14px 14px;display:grid;position:relative;box-shadow:0 1px 3px #0000001a}.menu-card--ink-light{background-color:var(--color-menu-card-ink);color:var(--color-white)}.menu-card--ink-light .menu-card-body{text-shadow:0 1px 2px #00000059}@media (hover:hover){.menu-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000029}}.menu-card--menu-open{z-index:3}.menu-card-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.menu-card-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.menu-card-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 1px 4px #0000002e}.menu-card-icon--violet{color:var(--color-menu-violet);background:var(--color-menu-violet-soft)}.menu-card-icon--amber{color:var(--color-menu-amber);background:var(--color-menu-amber-soft)}.menu-card-icon--green{color:var(--color-menu-green);background:var(--color-menu-green-soft)}.menu-card-icon--coral{color:var(--color-menu-coral);background:var(--color-menu-coral-soft)}.menu-card-icon--blue{color:var(--color-menu-blue);background:var(--color-menu-blue-soft)}.menu-card-icon--rose{color:var(--color-menu-rose);background:var(--color-menu-rose-soft)}.menu-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.4;display:flex}.menu-card-title{font-family:var(--font-serif);letter-spacing:.3px;-webkit-text-stroke-width:.4px;overflow-wrap:anywhere;margin:0 0 1px;font-size:18px;font-weight:600;line-height:1.25}.menu-card-meta{font-size:var(--font-size-body);flex-wrap:wrap;gap:4px 16px;font-weight:500;display:flex}.menu-card-meta-item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.menu-card-meta-item svg{opacity:.8;flex-shrink:0}.menu-card-counts{font-size:var(--font-size-body);font-weight:500}.menu-card-actions{z-index:2;position:absolute;top:10px;right:10px}.menu-card-actions .course-menu-btn{background:var(--color-scrim-control);width:30px;height:30px;color:var(--color-white);border-radius:50%}.menu-card-actions .course-menu-btn:hover,.menu-card-actions .course-menu-btn[aria-expanded=true]{background:var(--color-scrim-control);color:var(--color-white);border-color:#0000}@supports ((-webkit-backdrop-filter:brightness(1)) or (backdrop-filter:brightness(1))){.menu-card-actions .course-menu-btn,.menu-card-actions .course-menu-btn:hover{-webkit-backdrop-filter:blur(6px)brightness(.5)saturate(2.8);backdrop-filter:blur(6px)brightness(.5)saturate(2.8);background:0 0}.menu-card-actions .course-menu-btn:active,.menu-card-actions .course-menu-btn[aria-expanded=true]{-webkit-backdrop-filter:blur(6px)brightness(.34)saturate(2.8);backdrop-filter:blur(6px)brightness(.34)saturate(2.8);background:0 0}}.menu-detail{flex-direction:column;gap:18px;display:flex}.menu-detail-back{cursor:pointer;color:var(--color-primary);font-size:var(--font-size-body);border-radius:var(--radius-xs);background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;margin-left:-8px;padding:4px 8px;font-family:inherit;font-weight:500;display:inline-flex}.menu-detail-back:hover{background:var(--color-primary-soft)}.menu-detail-trashed{background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:8px 12px;display:flex}.menu-detail-trashed-pill{color:var(--color-white);text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-pill);background:#1f2937c7;padding:3px 7px;font-size:10px;font-weight:700}.menu-detail-trashed-note{color:var(--color-gray-500);font-size:13px}.menu-detail-trashed-action{color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:600}.menu-detail-trashed-action:hover{background:var(--color-primary);color:var(--color-white)}.menu-detail-pin-btn{color:var(--color-gray-500);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);background:0 0;align-items:center;gap:6px;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.menu-detail-pin-btn:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.menu-detail-pin-btn.is-pinned{background:var(--color-primary-soft);border-color:var(--color-primary-light);color:var(--color-primary)}.menu-detail-pin-btn+.menu-detail-trash-btn{margin-left:0}.menu-detail-trash-btn{color:var(--color-gray-500);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);background:0 0;align-items:center;gap:6px;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.menu-detail-trash-btn:hover{border-color:var(--color-danger);color:var(--color-danger)}.menu-detail-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:14px;display:flex}.menu-detail-title{font-family:var(--font-serif);font-size:var(--font-size-screen-title);letter-spacing:-.2px;color:var(--color-gray-900);-webkit-text-stroke-width:.2px;margin:0;font-weight:600;line-height:1.1}.menu-detail-title-editable{min-width:120px;display:inline-block}.menu-detail-date{color:var(--color-gray-500);flex-direction:column;gap:4px;font-size:12px;display:flex}.menu-detail-date-input{font-family:inherit;font-size:var(--font-size-body);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-gray-900);padding:7px 10px}.menu-conflicts{background:var(--color-notice-surface);border-radius:var(--radius-xl);color:var(--color-gray-700);padding:12px 14px}.menu-conflicts-title{color:var(--color-danger);margin-bottom:6px;font-size:13px;font-weight:700}.menu-conflicts-list{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;line-height:1.45;display:flex}.menu-conflicts-list strong{color:var(--color-gray-900);font-weight:700}.menu-conflicts--stale .menu-conflicts-title{color:var(--color-warning)}.menu-conflicts-stale{margin:0;font-size:13px;line-height:1.45}.menu-conflicts-list+.menu-conflicts-stale{margin-top:8px}.menu-conflicts-stale strong{font-weight:700}.menu-section{background:0 0}.menu-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.menu-section-title{color:var(--color-gray-900);margin:0;font-size:16px;font-weight:700}.menu-info-sidebar{background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;align-self:stretch;width:310px;min-width:310px;padding:22px 18px 0;display:flex;position:sticky;top:0;overflow-y:auto}.menu-sidebar-panel{flex-direction:column;flex:1 0 auto;display:flex}.menu-sidebar-panel--guests{padding-bottom:24px}.menu-info-resize-handle{cursor:col-resize;z-index:2;touch-action:none;width:7px;position:absolute;top:0;bottom:0;left:-3px}.menu-info-resize-handle:after{content:"";width:2px;transition:background var(--duration-fast) ease;background:0 0;position:absolute;top:0;bottom:0;left:3px}.menu-info-resize-handle:hover:after{background:var(--color-primary)}.menu-sidebar-tabs{background:var(--color-gray-100);border-radius:var(--radius-xl);gap:4px;margin:0 0 16px;padding:3px;display:flex}.menu-sidebar-tab{border-radius:var(--radius-md);font:inherit;color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;flex:1;padding:7px 10px;font-size:13px;font-weight:600}.menu-sidebar-tab:hover{color:var(--color-gray-900)}.menu-sidebar-tab--active{background:var(--color-surface);color:var(--color-gray-900);box-shadow:0 1px 2px var(--color-gray-900-08)}.menu-ingredients{flex-direction:column;flex:1 0 auto;display:flex}.menu-ingredient-groups{flex:1}.menu-ingredient-group{margin-bottom:18px}.menu-ingredient-group:last-child{margin-bottom:0}.menu-ingredient-group-header{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin:0 0 4px;padding:2px 0;display:flex}.menu-ingredient-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-400);font-size:12px;font-weight:700}.menu-ingredient-group-chevron{color:var(--color-gray-400);flex-shrink:0;margin-left:auto;transition:transform .16s,color .16s;transform:rotate(0)}.menu-ingredient-group.collapsed .menu-ingredient-group-chevron{transform:rotate(180deg)}.menu-ingredient-group-header:hover .menu-ingredient-group-title,.menu-ingredient-group-header:hover .menu-ingredient-group-chevron{color:var(--color-primary)}.menu-ingredient-list{grid-template-columns:auto minmax(0,1fr);column-gap:10px;margin:0;padding:0;list-style:none;display:grid}.menu-ingredient-list[hidden]{display:none}.menu-ingredient-row{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--color-divider);align-items:start;padding:7px 0;display:grid}.menu-ingredient-row:first-child{border-top:none}.menu-ingredient-check{align-items:center;height:19.6px;display:flex}.menu-ingredient-check input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.menu-ingredient-cart{width:20px;height:19.6px;color:var(--color-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.menu-ingredient-cart:hover:not(:disabled){color:#c2531f}.menu-ingredient-cart:disabled{opacity:.5;cursor:default}.menu-ingredient-text{min-width:0;color:var(--color-gray-900);font-size:14px;line-height:1.4}.menu-ingredient-amount{font-variant-numeric:tabular-nums;font-weight:700}.menu-ingredient-name{font-weight:400}.menu-ingredients-footer{background:var(--color-surface);border-top:1px solid var(--color-divider);margin:12px -18px 0;padding:12px 18px;position:sticky;bottom:0}.menu-ingredients-add-btn{width:100%}.menu-ingredients-error{color:#c0392b;margin:0 0 8px;font-size:13px}.menu-ingredients-add-btn:disabled{opacity:.5;cursor:not-allowed}.menu-info-sidebar-title{color:var(--color-gray-900);margin:0 0 14px;font-size:18px;font-weight:700}.menu-ingredients-controls{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.menu-ingredients-view{border:1px solid var(--color-gray-300);border-radius:var(--radius-pill);flex-shrink:0;display:inline-flex;overflow:hidden}.menu-ingredients-view-option{font:inherit;color:var(--color-gray-600);cursor:pointer;background:0 0;border:none;padding:5px 12px;font-size:12px;font-weight:700}.menu-ingredients-view-option:hover:not(.menu-ingredients-view-option--active){color:var(--color-gray-900)}.menu-ingredients-view-option--active{background:var(--color-primary-tint);color:var(--color-primary)}.menu-ingredient-sources{color:var(--color-gray-500);margin-top:1px;font-size:12px;line-height:1.35;display:block}.menu-ingredients-match{border-radius:var(--radius-md);background:var(--color-surface-subtle);margin:0 0 14px;padding:10px 12px}.menu-ingredients-match-text{color:var(--color-gray-600);margin:0;font-size:13px;line-height:1.4}.menu-ingredients-match-btn{margin-top:8px}.menu-ingredients-match .menu-ingredients-error{margin:8px 0 0}.menu-ingredients-collapse-all{color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;font-weight:500}.menu-ingredients-collapse-all:hover{color:var(--color-gray-900);text-decoration:underline}.menu-info-empty{color:var(--color-gray-400);margin:0 0 6px;font-size:13px}.empty-state.guest-empty{text-align:center;gap:0;height:auto;padding:28px 8px 8px}.guest-empty .empty-icon{color:var(--color-gray-400);display:flex}.empty-state.guest-empty h2{font-family:var(--font-serif);font-size:var(--font-size-card-title);margin-top:20px;font-weight:500}.empty-state.guest-empty p{max-width:260px;color:var(--color-gray-500);margin-top:12px;font-size:15px;line-height:1.5}.btn.guest-empty-add{border:1.5px solid var(--color-primary);border-radius:var(--radius-pill);width:100%;color:var(--color-primary);background:0 0;margin-top:28px;padding:14px;font-size:16px}.btn.guest-empty-add:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-soft-4);color:var(--color-primary-hover)}.guest-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.guest-row{align-items:center;gap:4px;min-height:48px;display:flex}.guest-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:1px;font-size:14px;font-weight:700;display:flex}.guest-name-input{min-width:0;color:var(--color-gray-900);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;flex:1;padding:6px 8px 6px 4px;font-family:inherit;font-size:14px;font-weight:600}.guest-name-input::placeholder{color:#adb1b8;font-weight:500}.guest-name-input:hover{background:var(--color-surface-hover)}.guest-name-input:focus{background:var(--color-surface);border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #e8703a26}.guest-row .menu-guest-diet{min-width:0;max-width:52%;margin-left:auto}.guest-diet-trigger-inline{border-radius:var(--radius-sm);max-width:100%;font:inherit;color:#8a8f98;cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:5px 6px;font-size:13px;display:flex}.guest-diet-trigger-inline:hover{background:var(--color-surface-hover);color:#5f636b}.guest-remove{border-radius:var(--radius-xs);color:#b6bac1;cursor:pointer;width:26px;height:26px;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.guest-remove:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 35%, transparent)}.guest-add-toggle{border:none;border-top:1px solid var(--color-divider);width:100%;font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;align-items:center;gap:7px;margin-top:8px;padding:14px 6px 2px;font-size:14px;font-weight:600;display:flex}.guest-add-toggle:hover{color:#cf5d28}.guest-add-toggle-plus{font-size:17px;font-weight:700;line-height:1}.menu-guest-diet{position:relative}.menu-guest-diet-summary{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.menu-guest-diet-summary--empty{color:#adb1b8}.menu-guest-diet-caret{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;flex-shrink:0;width:12px;height:12px}.menu-guest-diet-popover{z-index:var(--z-chrome);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:280px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.menu-guest-diet--inline .menu-guest-diet-popover{min-width:240px;left:auto;right:0}.menu-guest-diet-group+.menu-guest-diet-group{border-top:1px solid var(--color-divider);margin-top:6px;padding-top:6px}.menu-guest-diet-group-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-400);padding:4px 8px;font-size:10.5px;font-weight:700}.menu-guest-diet-option{border-radius:var(--radius-xs);color:var(--color-gray-900);cursor:pointer;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;display:flex}.menu-guest-diet-option:hover{background:var(--color-gray-100)}.menu-guest-diet-option input{accent-color:var(--color-primary);cursor:pointer}.dinner-party-courses-add-btn{color:var(--color-gray-700);background:var(--color-surface);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.dinner-party-courses-add-btn:hover{background:var(--color-primary-soft-2);border-color:var(--color-primary);color:var(--color-primary)}.dinner-party-courses-list{flex-direction:column;gap:14px;margin-top:18px;display:flex}.course-row{transition:opacity var(--duration-fast);position:relative}.course-row--dragging{opacity:.4}.course-row--drop-before:before,.course-row--drop-after:after{content:"";background:var(--color-primary);pointer-events:none;border-radius:2px;height:3px;position:absolute;left:0;right:0}.course-row--drop-before:before{top:-8px}.course-row--drop-after:after{bottom:-8px}.course-drag-handle{width:22px;height:26px;color:var(--color-gray-300);cursor:grab;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.course-drag-handle:active{cursor:grabbing}.course-row:hover .course-drag-handle{color:var(--color-gray-700)}.course-drag-handle:hover,.course-drag-handle:focus-visible,.course-drag-handle[aria-expanded=true]{background:var(--color-gray-100);color:var(--color-gray-700)}.course-handle-menu .course-menu-popover{left:0;right:auto}.course-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-3xl);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);align-items:center;gap:16px;padding:16px 18px;display:flex}.course-identity{flex-shrink:0;align-items:center;gap:14px;width:168px;min-width:168px;display:flex}.course-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;line-height:1;display:flex}.course-row--recipe-target .course-card{border-color:var(--color-primary);background:var(--color-primary-soft-2);box-shadow:0 0 0 3px #e8703a26}.course-row--recipe-target .course-card-slot{border-color:var(--color-primary);background:var(--color-surface);color:var(--color-primary)}.course-card-title{color:var(--color-gray-900);margin:0;font-size:17px;font-weight:700;line-height:1.25}.course-card-title-editable{min-width:60px;display:inline-block}.course-menu{position:relative}.course-menu-btn{border-radius:var(--radius-xs);width:28px;height:28px;color:var(--color-gray-500);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.course-menu-btn:hover,.course-menu-btn[aria-expanded=true]{background:var(--color-primary-soft-2);border-color:var(--color-primary-light);color:var(--color-primary)}.course-menu-popover{z-index:var(--z-chrome);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);min-width:170px;box-shadow:0 14px 34px var(--color-gray-900-14), 0 3px 10px var(--color-gray-900-08);padding:5px;position:absolute;top:calc(100% + 6px);right:0}.course-menu-item{border-radius:var(--radius-xs);text-align:left;width:100%;color:var(--color-gray-700);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500}.course-menu-item:hover{background:var(--color-gray-100)}.course-menu-sep{background:var(--color-divider);height:1px;margin:5px 4px}.course-menu-item--icon{align-items:center;gap:8px;display:flex}.course-menu-item--danger{color:var(--color-danger)}.course-menu-item--danger:hover{background:var(--color-danger-soft)}.course-card-slots{flex:1;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:12px;min-width:0;display:grid}.course-card-slot{border:1.5px dashed var(--color-gray-300);border-radius:var(--radius-2xl);background:var(--color-surface-subtle);min-height:84px;color:var(--color-gray-500);text-align:center;cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), color var(--duration-fast);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:12.5px;font-weight:600;display:flex}.course-card-slot:hover,.course-card-slot:focus-visible{border-color:var(--color-primary);background:var(--color-primary-soft-2);color:var(--color-primary);outline:none}.course-card-slot--drop,.course-card-slot--drop:hover{border-style:solid;border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-focus-ring-strong);transition:transform var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast);background:#fff1e8;transform:scale(1.02)}.course-card-slot--missing{text-align:left;border-style:solid;border-color:color-mix(in srgb, var(--color-danger) 35%, transparent);background:var(--color-danger-soft);color:var(--color-danger-strong);cursor:default;align-items:flex-start}.course-card-slot-recipe-name{color:inherit;font-size:13px;font-weight:700;line-height:1.3}.course-card-slot-plus{border:1.5px solid;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:600;display:flex}.course-recipe-card{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative}.course-recipe-card--dragging{opacity:.45}.course-recipe-card--drop-before:before,.course-recipe-card--drop-after:after{content:"";border-radius:var(--radius-3xs);background:var(--color-primary);z-index:1;width:3px;position:absolute;top:6px;bottom:6px}.course-recipe-card--drop-before:before{left:0}.course-recipe-card--drop-after:after{right:0}.course-recipe-card:hover{border-color:var(--color-primary-light);box-shadow:0 2px 8px var(--color-gray-900-08)}.course-recipe-card:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring);outline:none}.course-recipe-card-link{z-index:1;position:absolute;inset:0}.course-recipe-card-thumb{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative;overflow:hidden}.course-recipe-card-img{object-fit:cover;width:100%;height:100%;display:block}.course-recipe-card-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.course-recipe-card-name{color:var(--color-gray-900);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:700;line-height:1.3;overflow:hidden}.course-recipe-card-foot{z-index:2;align-items:center;gap:8px;margin-top:0;display:flex;position:relative}.course-recipe-serves-select{appearance:none;border-radius:var(--radius-xs);font:inherit;color:var(--color-gray-500);cursor:pointer;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 2px center;background-repeat:no-repeat;border:none;padding:2px 18px 2px 2px;font-size:12.5px;font-weight:600}.course-recipe-serves-select:hover{color:var(--color-gray-700)}.course-recipe-serves-select:focus-visible{color:var(--color-primary);box-shadow:var(--shadow-focus-ring);border-radius:var(--radius-xs);outline:none}.course-recipe-remove{z-index:2;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface);width:30px;height:30px;color:var(--color-gray-500);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast);flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:flex;position:relative}.course-recipe-remove:hover{color:var(--color-danger);background:var(--color-danger-soft);border-color:#fca5a5}.course-recipe-remove:focus-visible{color:var(--color-danger);border-color:var(--color-primary-light);box-shadow:var(--shadow-focus-ring);outline:none}.main-content{min-width:0;padding-right:var(--filters-reserve);background:var(--color-surface);flex:1;overflow-y:scroll}.main-content:has(>.recipes-sidebar){align-items:flex-start;padding-right:0;display:flex}.main-content:has(>.recipes-sidebar)>.recipes-view{flex:1;min-width:0}.main-content:has(>.menu-info-sidebar){align-items:flex-start;padding-right:0;display:flex}.main-content:has(>.menu-info-sidebar)>.menu-detail{flex:1;min-width:0}.main-content:has(>.recipe-page){padding-right:0}.recipes-view{padding:26px 28px 40px 58px}.recipes-view--selection-mode .recipe-card{-webkit-user-select:none;user-select:none}.library-section-title{font-family:var(--font-serif);font-size:var(--font-size-card-title);letter-spacing:.2px;color:var(--color-gray-900);-webkit-text-stroke-width:.4px;margin:0 0 14px;font-weight:600}.library-grid-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 14px;display:flex}.library-recent+.library-grid-heading{margin-top:30px}.library-grid-heading .library-section-title{min-width:0;margin:0}.library-sort-trigger{color:var(--color-gray-700);font:inherit;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:15px;display:inline-flex}.library-sort-trigger[aria-expanded=true]{color:var(--color-gray-900)}.library-sort-trigger:focus-visible{outline:2px solid var(--color-green);outline-offset:2px;border-radius:var(--radius-xs)}.sort-sheet-options{flex-direction:column;display:flex}.sort-sheet-option{min-height:46px;color:var(--color-gray-700);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:16px;font-size:17px;display:flex}.sort-sheet-option input[type=radio]{width:22px;height:22px;accent-color:var(--color-primary);flex-shrink:0;margin:0}.sort-sheet-option:has(input:checked){color:var(--color-gray-900);font-weight:600}.library-recent{margin-bottom:4px}@media (width>=768px){.library-recent,.library-grid-heading{display:none}}.cooking-card{border-radius:var(--radius-3xl);min-height:132px;color:var(--color-white);background:var(--color-cooking-card);box-shadow:var(--shadow-panel);align-items:center;gap:12px;padding:18px 18px 18px 20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.cooking-card-photo{object-fit:cover;width:68%;height:100%;position:absolute;top:0;right:0}.cooking-card:after{content:"";background:linear-gradient(90deg, var(--color-cooking-card) 32%, color-mix(in srgb, var(--color-cooking-card) 78%, transparent) 50%, color-mix(in srgb, var(--color-cooking-card) 30%, transparent) 76%, color-mix(in srgb, var(--color-cooking-card) 12%, transparent) 100%);pointer-events:none;position:absolute;inset:0}.cooking-card-body{z-index:1;flex:1;min-width:0;position:relative}.cooking-card-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-star);margin:0;font-size:12px;font-weight:600}.cooking-card-name{font-family:var(--font-serif);letter-spacing:.5px;color:var(--color-white);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:27px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.cooking-card-progress-row{min-height:42px;margin-top:8px}.cooking-card-step{margin:0;font-size:15px;font-weight:500}.cooking-card-progress{border-radius:var(--radius-pill);background:#ffffff38;max-width:240px;height:6px;margin-top:10px;overflow:hidden}.cooking-card-progress-fill{width:calc(var(--cooking-progress,0) * 100%);border-radius:inherit;background:var(--color-copper);height:100%;display:block}.cooking-card-go{z-index:1;background:var(--color-frost-dark);width:44px;height:44px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-dark-ink);transition:transform var(--duration-fast) ease;border:1px solid #ffffff38;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.cooking-card:active .cooking-card-go{transform:scale(.94)}.dinner-party-view{min-height:100%;padding:28px 28px 40px}.dinner-party-menus-view{padding:26px 28px 40px 58px}@media (width>=768px){.main-content:has(>.recipe-page)>.recipe-page{background:0 0}}.settings-view{max-width:760px;min-height:100%;margin:0 auto;padding:28px 28px 40px}.grocery-view{max-width:820px;min-height:100%;margin-inline:auto;padding:28px 28px 48px}.grocery-head{margin-bottom:22px}.grocery-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.grocery-title{font-family:var(--font-serif);font-size:var(--font-size-screen-title);color:var(--color-gray-900);letter-spacing:-.2px;-webkit-text-stroke-width:.2px;margin:0;font-weight:600;line-height:1.1}.grocery-summary{color:var(--color-gray-500);margin:8px 0 0;font-size:15px}.grocery-summary strong{color:var(--color-gray-800);font-weight:700}.grocery-summary-dot{color:var(--color-gray-300);margin:0 8px}.grocery-progress{border-radius:var(--radius-pill);background:var(--color-gray-200);height:6px;margin-top:14px;overflow:hidden}.grocery-progress-fill{border-radius:var(--radius-pill);background:var(--color-green);height:100%;transition:width .25s}.grocery-add-form{gap:10px;margin-bottom:8px;display:flex}.grocery-add-amount{flex:0 0 65px}.grocery-add-item{flex:1;min-width:0}.grocery-add-form input[type=text]{border-radius:var(--radius-2xl);border:1px solid var(--color-gray-300);background:var(--color-surface);color:var(--color-gray-900);padding:11px 14px;font-family:inherit;font-size:14px}.grocery-add-form input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-18);outline:none}.grocery-add-form .grocery-add-button{border-radius:var(--radius-2xl);background:var(--color-green);border-color:var(--color-green);padding-left:22px;padding-right:22px}.grocery-add-form .grocery-add-button:hover:not(:disabled){background:var(--color-green-hover);border-color:var(--color-green-hover)}.grocery-section{margin-top:30px}.grocery-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.grocery-section-title{font-family:var(--font-serif);color:var(--color-gray-900);-webkit-text-stroke-width:.4px;align-items:center;gap:10px;margin:0;font-size:21px;font-weight:600;display:flex}.grocery-count-badge{font-family:var(--font-sans);color:var(--color-gray-500);background:var(--color-gray-100);border-radius:var(--radius-pill);padding:2px 10px;font-size:13px;font-weight:600;line-height:1.4}.grocery-view-toggle{background:var(--color-gray-100);border-radius:var(--radius-pill);gap:3px;padding:3px;display:inline-flex}.grocery-view-toggle button{color:var(--color-gray-500);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600}.grocery-view-toggle button.active{background:var(--color-surface);color:var(--color-gray-900);box-shadow:0 1px 2px #00000014}.grocery-view-toggle button:disabled{opacity:.45;cursor:not-allowed}.grocery-clear-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.grocery-clear-button:hover:not(:disabled){text-decoration:underline}.grocery-clear-button:disabled{opacity:.4;cursor:not-allowed}.grocery-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4xl);padding:6px 18px}.grocery-empty{color:var(--color-gray-400);margin:0;padding:12px 0;font-size:14px}.empty-state.grocery-empty-state{text-align:center;gap:0;height:auto;padding:28px 0 16px}.grocery-empty-state .empty-icon{width:min(280px,100%);margin-bottom:18px;display:block}.grocery-bag-art{width:100%;height:auto;display:block}.grocery-bag-art__wash{fill:var(--color-primary-tint)}.grocery-bag-art__speck{fill:var(--color-primary-border)}.empty-state.grocery-empty-state h2{font-family:var(--font-serif);letter-spacing:-.2px;-webkit-text-stroke-width:.2px;font-size:24px;font-weight:600;line-height:1.2}.empty-state.grocery-empty-state p{max-width:320px;color:var(--color-gray-500);margin-top:10px;font-size:15px;line-height:1.5}.primary-button.grocery-empty-add{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:10px;width:100%;max-width:340px;margin-top:26px;padding:14px 20px;font-size:16px;display:inline-flex}.grocery-empty-add span{font-size:22px;font-weight:400;line-height:1}@media (width<=767.98px){.empty-state.grocery-empty-state{padding-top:8px}.grocery-empty-state .empty-icon{width:min(210px,100%);margin-bottom:14px}.empty-state.grocery-empty-state h2{font-size:22px}.primary-button.grocery-empty-add{margin-top:20px}}.grocery-error{color:var(--color-copper-text);background:var(--color-primary-tint);border-radius:var(--radius-md);border:1px solid #f0d2c6;margin:0 0 10px;padding:8px 12px;font-size:13px}.grocery-groups{flex-direction:column;gap:22px;display:flex}.grocery-group-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-500);margin:0 0 8px;font-size:12px;font-weight:700}.grocery-item-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.grocery-item{border-bottom:1px solid var(--color-border);color:var(--color-gray-900);align-items:center;gap:14px;padding:12px 0;font-size:17px;display:flex}.grocery-item:last-child{border-bottom:none}.grocery-check{appearance:none;border:1.5px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:22px;height:22px;transition:background var(--duration-fast), border-color var(--duration-fast);flex-shrink:0;position:relative}.grocery-check:hover:not(:disabled){border-color:var(--color-green)}.grocery-check:checked{background:var(--color-green);border-color:var(--color-green)}.grocery-check:checked:after{content:"";border:solid var(--color-white);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:3px;left:7px;transform:rotate(45deg)}.grocery-check:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.grocery-check:disabled{opacity:.5;cursor:not-allowed}.grocery-amount-pill{font-variant-numeric:tabular-nums;color:var(--color-copper-text);background:var(--color-primary-tint);border-radius:var(--radius-md);text-align:center;flex-shrink:0;min-width:44px;padding:3px 10px;font-size:14px;font-weight:600}.grocery-amount-pill--editable{cursor:text;margin:0;display:inline-block}.grocery-amount-pill--editable:hover{background:var(--color-primary-soft)}.grocery-amount-pill--editable:focus{background:var(--color-white);box-shadow:inset 0 0 0 1px var(--color-primary-border);text-decoration:none}.grocery-item-text{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.grocery-recipe-tag{text-overflow:ellipsis;white-space:nowrap;max-width:170px;color:var(--color-gray-500);background:var(--color-gray-100);border:1px solid var(--color-border);border-radius:var(--radius-pill);flex-shrink:0;padding:3px 11px;font-size:12px;font-weight:600;overflow:hidden}.grocery-recipe-tag--link{cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast)}.grocery-recipe-tag--link:hover{color:var(--color-copper-text);background:var(--color-primary-tint);border-color:var(--color-primary)}.grocery-item--bought .grocery-item-text{color:var(--color-gray-400);text-decoration:line-through}.grocery-item--bought .grocery-amount-pill{color:var(--color-gray-400);background:var(--color-gray-100)}.grocery-item-delete{color:var(--color-gray-400);cursor:pointer;border-radius:var(--radius-xs);transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.grocery-item-delete:hover:not(:disabled){color:var(--color-copper-text);background:var(--color-primary-tint)}.grocery-item-delete:disabled{opacity:.4;cursor:not-allowed}@media (width>=768px){.grocery-item-text{font-size:15px}.grocery-item-delete{font-size:24px}}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.page-header h1{color:var(--color-gray-900);margin:0;font-size:24px;font-weight:700;line-height:1.1}.settings-view .page-header h1{font-family:var(--font-serif);font-size:var(--font-size-screen-title);letter-spacing:-.1px;-webkit-text-stroke-width:.2px;font-weight:600}.dinner-party-empty{border:1px dashed var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);min-height:360px}.empty-state.menu-courses-empty{text-align:center;gap:0;height:auto;padding:26px 0 24px}.menu-courses-empty .empty-icon{width:min(280px,100%);margin-bottom:20px;display:block}.menu-planning-art{width:100%;height:auto;display:block}.menu-planning-art__wash{fill:var(--color-illustration-wash)}.empty-state.menu-courses-empty h2{font-family:var(--font-serif);letter-spacing:-.2px;-webkit-text-stroke-width:.2px;font-size:24px;font-weight:600;line-height:1.2}.empty-state.menu-courses-empty p{max-width:320px;color:var(--color-gray-500);margin-top:10px;font-size:15px;line-height:1.5}.menu-courses-empty-actions{flex-direction:column;align-items:stretch;width:100%;max-width:380px;margin-top:24px;display:flex}.menu-courses-empty-add,.menu-courses-empty-browse{border-radius:var(--radius-pill);width:100%;height:50px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--duration-fast);justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:17px;font-weight:600;display:flex}.menu-courses-empty-add svg,.menu-courses-empty-browse svg{flex:none}.menu-courses-empty-add{background:var(--color-green);color:var(--color-white);border:none}.menu-courses-empty-browse{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-gray-900)}.menu-courses-empty-add:active,.menu-courses-empty-add[aria-expanded=true]{background:var(--color-green-hover)}.menu-courses-empty-browse:active{background:var(--color-surface-hover)}@media (hover:hover){.menu-courses-empty-add:hover{background:var(--color-green-hover)}.menu-courses-empty-browse:hover{background:var(--color-surface-hover)}}.menu-courses-empty-add:focus-visible,.menu-courses-empty-browse:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.menu-courses-empty-or{color:var(--color-gray-400);justify-content:center;align-items:center;gap:14px;margin:14px 0;font-size:15px;line-height:1;display:flex}.menu-courses-empty-or:before,.menu-courses-empty-or:after{content:"";border-top:1px solid var(--color-divider);width:96px}.menu-courses-empty-add-menu .course-menu-popover{text-align:left;left:50%;right:auto;transform:translate(-50%)}.settings-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);margin-bottom:16px;padding:18px}.settings-section-header{border-bottom:1px solid var(--color-divider);margin-bottom:14px;padding-bottom:12px}.settings-section-header h2{color:var(--color-gray-900);margin:0;font-size:15px;font-weight:600;line-height:1.2}.settings-toggle-row{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:18px;display:grid}.settings-toggle-row+.settings-toggle-row{border-top:1px solid var(--color-divider);margin-top:14px;padding-top:14px}.settings-group-intro{margin-bottom:14px}.settings-toggle-row--indented{padding-left:16px}.settings-toggle-row input{opacity:0;pointer-events:none;position:absolute}.settings-toggle-title{color:var(--color-gray-900);margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.35;display:block}.settings-toggle-copy{color:var(--color-gray-500);max-width:520px;font-size:13px;line-height:1.45;display:block}.settings-toggle{border-radius:var(--radius-pill);background:var(--color-gray-300);width:46px;height:26px;transition:background .16s;position:relative}.settings-toggle:after{content:"";background:var(--color-surface);border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #11182738}.settings-toggle-row input:checked+.settings-toggle{background:var(--color-green)}.settings-toggle-row input:checked+.settings-toggle:after{transform:translate(20px)}.settings-toggle-row input:focus-visible+.settings-toggle{outline:2px solid var(--color-green);outline-offset:2px}.settings-action-list{flex-wrap:wrap;gap:10px;display:flex}.settings-action-button{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-gray-700);cursor:pointer;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.settings-action-button:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft-4)}.settings-action-button:disabled{opacity:.6;cursor:default;border-color:var(--color-gray-300);color:var(--color-gray-700);background:var(--color-surface)}.settings-action-danger{color:var(--color-danger)}.settings-action-danger:hover{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.settings-account-email{color:var(--color-gray-600);margin:0 0 12px;font-size:13px}.settings-account-error{color:var(--color-danger);margin:10px 0 0;font-size:12px}.settings-install-status{color:var(--color-green);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.settings-install-steps{color:var(--color-gray-700);margin:12px 0 0;font-size:13px;line-height:1.6}.settings-install-steps svg{vertical-align:-3px;margin:0 2px}.settings-shared-empty{color:var(--color-gray-600);margin:0;font-size:13px}.settings-shared-table{border-collapse:collapse;width:100%;font-size:13px}.settings-shared-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--color-gray-600);border-bottom:1px solid var(--color-divider);padding:0 12px 8px 0;font-size:11px;font-weight:700}.settings-shared-table td{border-bottom:1px solid var(--color-divider);vertical-align:top;padding:10px 12px 10px 0}.settings-shared-actions-col{white-space:nowrap;text-align:right;width:1%}.settings-shared-recipe-link{color:var(--color-gray-900);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:700}.settings-shared-recipe-link:hover{color:var(--color-primary);text-decoration:underline}.settings-shared-link{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-shared-copy{border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-gray-700);cursor:pointer;padding:3px 8px;font-family:inherit;font-size:12px;font-weight:700}.settings-shared-copy:hover{border-color:var(--color-primary);color:var(--color-primary)}.settings-shared-error{color:var(--color-danger);flex-basis:100%;font-size:12px}.settings-shared-stop{border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-danger);cursor:pointer;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:700}.settings-shared-stop:hover{border-color:var(--color-danger);background:var(--color-danger-soft)}.settings-shared-stop:disabled{opacity:.6;cursor:default}.activity-log-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(640px,100%);max-height:calc(100vh - 40px);box-shadow:0 22px 50px var(--color-gray-900-18);flex-direction:column;padding:18px;display:flex}.activity-toolbar{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.activity-chips,.activity-toolbar-right{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.activity-toolbar-right{gap:12px}.activity-chip{border:1px solid var(--color-gray-300);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-gray-600);cursor:pointer;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:700}.activity-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.activity-chip.active{border-color:var(--color-primary);background:var(--color-primary-tint);color:var(--color-primary)}.activity-segmented{border:1px solid var(--color-gray-300);border-radius:var(--radius-pill);display:inline-flex;overflow:hidden}.activity-segment{color:var(--color-gray-600);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:700}.activity-segment.active{background:var(--color-primary-tint);color:var(--color-primary)}.activity-collapse-toggle{color:var(--color-gray-600);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.activity-error,.activity-loading{margin:12px 0 0;font-size:13px}.activity-error{color:var(--color-danger)}.activity-loading{color:var(--color-gray-500)}.activity-feed{flex:auto;padding-top:4px;overflow-y:auto}.activity-day-heading{z-index:var(--z-sticky);background:var(--color-surface);letter-spacing:.04em;text-transform:uppercase;color:var(--color-gray-500);margin:0;padding:10px 2px 6px;font-size:12px;font-weight:800;position:sticky;top:0}.activity-list{margin:0;padding:0;list-style:none}.activity-row{border-bottom:1px solid var(--color-divider);grid-template-columns:68px minmax(0,1fr);align-items:baseline;gap:10px;padding:7px 2px;display:grid}.activity-day:last-of-type .activity-row:last-child{border-bottom:none}.activity-time{color:var(--color-gray-400);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.activity-body{min-width:0}.activity-summary{color:var(--color-gray-700);margin:0;font-size:13px}.activity-verb{color:var(--color-gray-600);font-weight:700}.activity-row--delete .activity-verb,.activity-row--trash .activity-verb{color:var(--color-danger)}.activity-row--create .activity-verb,.activity-row--import .activity-verb{color:var(--color-green)}.activity-row--analyze .activity-verb{color:var(--color-gray-500)}.activity-entity{color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:700}.activity-entity:hover{text-decoration:underline}.activity-entity--gone{color:var(--color-gray-400);cursor:default;text-decoration:line-through}.activity-entity--gone:hover{text-decoration:line-through}.activity-meta{color:var(--color-gray-500);margin:1px 0 0;font-size:11px}.activity-load-more{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-gray-700);cursor:pointer;margin-top:12px;padding:8px;font-family:inherit;font-size:12px;font-weight:700;display:block}.activity-load-more:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.activity-load-more:disabled{opacity:.5;cursor:default}.request-inspector-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(760px,100%);max-height:calc(100vh - 40px);box-shadow:0 22px 50px var(--color-gray-900-18);flex-direction:column;padding:18px;display:flex}.request-inspector-toolbar{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:12px;display:flex}.request-inspector-count{color:var(--color-gray-600);margin-right:auto;font-size:12px;font-weight:700}.request-inspector-filter{color:var(--color-gray-600);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.request-inspector-btn{border:1px solid var(--color-gray-300);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-gray-700);cursor:pointer;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:700}.request-inspector-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.request-inspector-btn:disabled{opacity:.5;cursor:default}.request-inspector-error{color:var(--color-danger);margin:10px 0 0;font-size:12px}.request-inspector-list{flex:auto;margin:0;padding:0;list-style:none;overflow-y:auto}.request-row{border-bottom:1px solid var(--color-divider)}.request-row-summary{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:44px 52px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:8px 4px;font-family:inherit;font-size:12px;display:grid}.request-row-summary:hover{background:var(--color-surface-hover)}.request-status{color:var(--color-gray-600);font-family:ui-monospace,monospace;font-weight:700}.request-row--ok .request-status{color:var(--color-green)}.request-row--error .request-status,.request-row--failed .request-status{color:var(--color-danger)}.request-method{color:var(--color-gray-500);font-family:ui-monospace,monospace;font-weight:700}.request-path{color:var(--color-gray-900);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;overflow:hidden}.request-duration,.request-clock{color:var(--color-gray-500);white-space:nowrap}.request-detail{grid-template-columns:84px minmax(0,1fr);gap:4px 12px;margin:0;padding:4px 4px 12px;font-size:12px;display:grid}.request-detail dt{color:var(--color-gray-500);font-weight:700}.request-detail dd{color:var(--color-gray-800);overflow-wrap:anywhere;margin:0}.request-detail-url{font-family:ui-monospace,monospace}.request-detail-error{color:var(--color-danger);font-weight:700}.request-body-block{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.request-body-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.request-body-truncated{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.request-detail-body{background:var(--color-surface-subtle);border:1px solid var(--color-divider);border-radius:var(--radius-xs);white-space:pre-wrap;width:100%;max-height:180px;margin:0;padding:8px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.4;overflow:auto}.card-appearance-layout{align-items:flex-start;gap:20px;display:flex}.card-appearance-controls{flex:1;min-width:0}.card-appearance-preview-wrap{flex-shrink:0;width:220px}.card-appearance-preview{cursor:default;isolation:isolate;width:100%;height:200px}.card-appearance-preview:hover{transform:none}@media (width<=767.98px){.card-appearance-layout{flex-direction:column}.card-appearance-preview-wrap{width:100%;max-width:220px}}.card-appearance-preview-photo{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.appearance-preview-pill{border-radius:var(--radius-pill);background:var(--color-green);height:28px;color:var(--color-white);flex-shrink:0;align-items:center;gap:5px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.settings-version{color:var(--color-gray-400);letter-spacing:.2px;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;font-size:11px;position:fixed;bottom:10px;right:14px}.recipes-header{background:0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:0;margin:0 0 30px;padding:0;display:flex;position:static}.recipes-controls{flex-wrap:wrap;flex:1;align-items:center;gap:12px;width:100%;display:flex}.recipes-header-title{font-family:var(--font-serif);font-size:var(--font-size-screen-title);color:var(--color-gray-900);letter-spacing:-.1px;-webkit-text-stroke-width:.2px;white-space:nowrap;flex-shrink:0;margin:0;font-weight:600}.recipes-header-title-btn{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin:0;padding:0}.recipes-header-title-btn:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.recipes-header-title-count{-webkit-text-stroke-width:0;font-family:var(--font-sans);color:var(--color-gray-400);margin-left:.35em;font-size:50%;font-weight:500}.recipes-header-title-count-active{color:var(--color-green)}.recipes-header-actions{align-items:center;gap:12px;display:flex}.recipes-add-recipe-btn{gap:4px}.recipe-search-wrap{z-index:var(--z-sticky-dropdown);width:300px;min-width:0;position:relative}.arrange-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.arrange-control{position:relative}.arrange-control-trigger{border-radius:var(--radius-2xl);width:37px;height:37px;color:var(--color-gray-700);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s,color .15s;display:flex}.arrange-control-trigger:hover{color:var(--color-gray-900);background:var(--color-gray-100)}.arrange-control-trigger:focus-visible,.arrange-control-trigger[aria-expanded=true]{background:var(--color-gray-200);outline:none}.arrange-control-trigger:focus-visible{border-color:var(--color-green)}.arrange-control-trigger--active{border-color:var(--color-primary);background-color:var(--color-primary-08);color:var(--color-primary)}.arrange-control-menu{z-index:var(--z-panel);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface);min-width:184px;box-shadow:0 10px 24px var(--color-gray-900-18);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.arrange-control-menu-title{letter-spacing:.05em;text-transform:uppercase;color:var(--color-gray-400);margin:2px 6px 4px;font-size:11px;font-weight:600}.arrange-control-option{border-radius:var(--radius-xs);width:100%;color:var(--color-gray-700);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.arrange-control-option:hover{background:var(--color-surface-hover);color:var(--color-gray-900)}.arrange-control-option--selected{color:var(--color-primary);font-weight:600}.arrange-control-option-label{align-items:center;gap:10px;display:inline-flex}.arrange-control-option-icon{color:var(--color-gray-400);flex-shrink:0}.arrange-control-option:hover .arrange-control-option-icon{color:var(--color-gray-600)}.arrange-control-option--selected .arrange-control-option-icon,.arrange-control-option--selected:hover .arrange-control-option-icon{color:currentColor}.arrange-control-rule{background:var(--color-gray-200);height:1px;margin:4px 6px}@media (width>=768px) and (width<=1400px){.recipes-header-title{width:100%}.arrange-controls{margin-left:0}.recipes-header-actions{margin-left:auto}}.recipe-search{box-sizing:border-box;border-radius:var(--radius-2xl);background:var(--color-control);width:100%;min-width:0;height:37px;color:var(--color-gray-400);transition:border-color var(--duration-medium) ease;cursor:text;border:2px solid #0000;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.recipe-search:before{content:"";background:var(--color-surface);transform-origin:0;transition:transform var(--duration-medium) cubic-bezier(.22, 1, .36, 1);position:absolute;inset:0;transform:scaleX(0)}.recipe-search:focus-within:before{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.recipe-search:before{transition:none}}.recipe-search svg{pointer-events:none;flex-shrink:0}.recipe-search-input-wrap{cursor:text;z-index:1;flex:1;align-items:center;gap:10px;min-width:0;height:100%;padding:0 14px;display:flex;position:relative}.recipe-search-input-wrap>svg{width:18px;height:18px;color:var(--color-gray-700)}.recipe-search:focus-within{border-color:var(--color-gray-200)}.recipe-search input{width:100%;min-width:0;height:100%;color:var(--color-gray-900);font-size:var(--font-size-body);appearance:none;background:0 0;border:none;outline:none;flex:1;font-family:inherit}.recipe-search input::placeholder{color:var(--color-gray-500)}.recipe-search input::-webkit-search-cancel-button{appearance:none}.recipe-search input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.recipe-search input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.recipe-search input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.recipe-search-clear{width:28px;height:100%;color:var(--color-gray-400);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0 -7px 0 0;padding:0;display:flex}.recipe-search-clear:hover{color:var(--color-gray-700)}.recipe-search-wrap--open .recipe-search{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-bottom-color:var(--color-surface)}.recipe-search-recent{background:var(--color-surface);border:2px solid var(--color-gray-200);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);animation:recipe-search-recent-open var(--duration-fast) ease-out both;border-top:none;flex-direction:column;padding:6px 0;display:flex;position:absolute;top:100%;left:0;right:0}@keyframes recipe-search-recent-open{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.recipe-search-recent{animation:none}}.recipe-search-recent-item{width:100%;font-size:var(--font-size-body);color:var(--color-gray-900);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 14px;font-family:inherit;display:flex}.recipe-search-recent-item svg{width:18px;height:18px;color:var(--color-gray-400);flex-shrink:0}.recipe-search-recent-item:hover,.recipe-search-recent-item:focus-visible{background:var(--color-surface-hover);outline:none}.disclosure-panel{visibility:hidden;transition:grid-template-rows var(--duration-disclosure) var(--ease-disclosure), visibility 0s linear var(--duration-disclosure);grid-template-rows:0fr;display:grid}.disclosure-panel--open{visibility:visible;transition:grid-template-rows var(--duration-disclosure) var(--ease-disclosure), visibility 0s;grid-template-rows:1fr}.disclosure-panel-inner{opacity:0;min-height:0;transition:opacity var(--duration-disclosure) ease;overflow:hidden}.disclosure-panel--open>.disclosure-panel-inner{opacity:1}@media (prefers-reduced-motion:reduce){.disclosure-panel,.disclosure-panel-inner{transition:none}}.recipe-search-results-anim{grid-template-rows:1fr;display:grid}.recipe-search-results-anim.is-revealing{animation:recipe-search-results-reveal var(--duration-disclosure) var(--ease-disclosure) both}@keyframes recipe-search-results-reveal{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes recipe-search-results-fade{0%{opacity:0}to{opacity:1}}.recipe-search-results{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:0;margin:-16px 0 24px;display:flex;overflow:hidden}.recipe-search-results-anim.is-revealing .recipe-search-results{animation:.36s ease-out 60ms both recipe-search-results-fade}@media (prefers-reduced-motion:reduce){.recipe-search-results-anim.is-revealing,.recipe-search-results-anim.is-revealing .recipe-search-results{animation:none}}.recipe-search-results-count{font-size:var(--font-size-body);color:var(--color-gray-500);margin:0;font-weight:500}.recipe-search-results-actions{align-items:center;gap:16px;display:inline-flex}.recipe-search-filter{align-items:center;gap:8px;display:inline-flex}.recipe-search-filter-label{font-size:var(--font-size-body);color:var(--color-gray-500);font-weight:600}.recipe-search-filter-segmented{background:var(--color-gray-100);border-radius:var(--radius-pill);gap:3px;padding:3px;display:inline-flex}.recipe-search-filter-segmented button{color:var(--color-gray-600);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.recipe-search-filter-sparkle{flex:none}.recipe-search-filter-segmented button:hover:not(.active){color:var(--color-gray-900)}.recipe-search-filter-segmented button.active{background:var(--color-primary);color:var(--color-surface);box-shadow:0 1px 2px #00000014}.recipe-search-description-status{margin:6px 0 0}.recipe-search-description-hint{color:var(--color-gray-500);font-size:13px}.recipe-grid{grid-template-columns:repeat(auto-fill, minmax(max(var(--recipe-grid-min-col), (100% - 3 * var(--recipe-grid-col-gap)) / 4), 1fr));gap:var(--recipe-grid-row-gap) var(--recipe-grid-col-gap);display:grid}.recipe-groups{flex-direction:column;gap:12px;display:flex}.recipe-group:not(.collapsed){margin-bottom:18px}.recipe-group-header{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;margin-bottom:12px;padding:0;font-family:inherit;display:flex}.recipe-group-header:hover h2{color:var(--color-primary)}.recipe-group-title-wrap{flex-shrink:0;align-items:center;gap:6px;min-width:0;display:flex}.recipe-group-chevron{color:var(--color-gray-500);flex-shrink:0;transition:transform .16s,color .16s;transform:rotate(0)}.recipe-group-header:hover .recipe-group-chevron{color:var(--color-primary)}.recipe-group.collapsed .recipe-group-chevron{transform:rotate(180deg)}.recipe-group-header h2{color:var(--color-gray-900);margin:0;font-size:15px;font-weight:700;line-height:1.25}.recipe-group-separator{color:var(--color-gray-400);font-size:14px;font-weight:700;line-height:1}.recipe-group-count{color:var(--color-gray-400);font-size:13px;font-weight:600;line-height:1.25}.recipe-group-rule{background:var(--color-gray-200);flex:1;min-width:24px;height:1px}.recipe-group-grid[hidden]{display:none}.recipe-group-vheader{padding-bottom:12px}.recipe-group-vheader .recipe-group-header{margin-bottom:0}.recipe-group-vheader.collapsed .recipe-group-chevron{transform:rotate(180deg)}.recipe-card{background:var(--color-surface);border-radius:var(--radius-2xl);cursor:pointer;border:1px solid #0000000a;transition:box-shadow .18s,transform .18s;position:relative;overflow:visible;box-shadow:0 1px 3px #00000012,0 1px 2px #0000000a}.recipe-card:hover{transform:translateY(-5px)}.recipe-card:after{content:"";border-radius:inherit;pointer-events:none;z-index:4;box-shadow:0 0 0 0 var(--color-primary);transition:box-shadow var(--duration-medium) ease-out;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.recipe-card:after{transition:none}}.recipe-card-link{z-index:1;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;touch-action:pan-y;position:absolute;inset:0}.recipe-card.recipe-card--focus-visible{box-shadow:0 0 0 2px var(--color-primary)}.card-image{touch-action:pan-y;border-radius:12px 12px 0 0;justify-content:center;align-items:center;height:154px;display:flex;position:relative;overflow:hidden}.card-image-img{object-fit:cover;opacity:0;backface-visibility:hidden;width:100%;height:100%;transition:opacity .25s;display:block;position:absolute;inset:0;transform:translateZ(0)}.card-image-img.is-loaded{opacity:1}@media (prefers-reduced-motion:reduce){.card-image-img{transition:none}}.card-save-clip{border-radius:var(--radius-2xl);pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.card-save-toggle{pointer-events:auto;cursor:pointer;z-index:2;width:13px;height:24px;transition:opacity var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-3px;left:16px}.card-save-toggle svg{filter:drop-shadow(0 0 2px #00000080);overflow:visible}.card-save-toggle svg path{stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:square}.card-save-toggle svg .bookmark-outline{fill:none;stroke:var(--color-white)}.card-save-toggle svg .bookmark-fill{fill:var(--color-saved-ribbon);stroke:var(--color-saved-ribbon)}.card-save-toggle[data-saved=false]{opacity:.5}.card-save-toggle[data-saved=true]{opacity:1}.card-save-toggle[data-saved=true] svg .bookmark-outline{stroke:var(--color-saved-ribbon-outline)}.card-save-toggle:hover{opacity:1}.card-rating-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-saved-pill{border-radius:var(--radius-pill);background:var(--color-green);height:28px;color:var(--color-white);pointer-events:none;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-family:inherit;font-size:12px;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.card-saved-pill--priority{background:var(--color-priority)}.card-saved-pill--none{color:var(--color-saved-ribbon-outline);text-shadow:0 1px 2px #00000073;opacity:0;transition:opacity var(--duration-fast);background:#00000047;box-shadow:inset 0 0 0 1.5px}.card-saved-pill--none:hover,.card-saved-pill--none:focus-visible{opacity:1}@media (hover:hover){.recipe-card:hover .card-saved-pill--none{opacity:1}}.save-pill-label{white-space:nowrap;display:inline-block;overflow:hidden}@media (hover:hover){.card-saved-pill:not(.card-saved-pill--none){transition:padding var(--duration-fast);padding:0 7px}.card-saved-pill:not(.card-saved-pill--none) .save-pill-label{opacity:0;max-width:0;transition:max-width var(--duration-fast), opacity var(--duration-fast), margin-left var(--duration-fast);margin-left:-5px}.card-saved-pill:not(.card-saved-pill--none):hover,.card-saved-pill:not(.card-saved-pill--none):focus-visible{padding:0 11px}.card-saved-pill:not(.card-saved-pill--none):hover .save-pill-label,.card-saved-pill:not(.card-saved-pill--none):focus-visible .save-pill-label{opacity:1;max-width:6rem;margin-left:0}}@media (prefers-reduced-motion:reduce){.card-saved-pill:not(.card-saved-pill--none),.card-saved-pill:not(.card-saved-pill--none) .save-pill-label{transition:none}}.card-saved-pill>:not(.pill-reveal),.rp-hero-saved-chip>:not(.pill-reveal){z-index:1;position:relative}.pill-reveal{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.rp-hero-saved-chip>.pill-reveal{color:var(--color-white);text-shadow:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:flex}.rp-view-head .rp-hero-saved-chip>.pill-reveal{z-index:2}.pill-reveal--saved{background:var(--color-green)}.pill-reveal--priority{background:var(--color-priority)}.pill-reveal--expand-in{animation:pill-reveal-expand var(--duration-flip) cubic-bezier(.22, .61, .36, 1) forwards}.pill-reveal--collapse-out{animation:pill-reveal-collapse var(--duration-flip) cubic-bezier(.22, .61, .36, 1) forwards}@keyframes pill-reveal-expand{0%{clip-path:circle(0%)}to{clip-path:circle(140%)}}@keyframes pill-reveal-collapse{0%{clip-path:circle(140%)}to{clip-path:circle(0%)}}.bm-fill-stack{display:inline-flex;position:relative}.bm-fill-stack>svg{display:block}.bm-fill{animation:bm-fill-rise var(--duration-flip) cubic-bezier(.22, .61, .36, 1) forwards;display:inline-flex;position:absolute;inset:0}@keyframes bm-fill-rise{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.pill-reveal{display:none}.bm-fill{animation:none}}.fill-wipe{flex-shrink:0;display:inline-flex;position:relative}.fill-wipe svg{display:block}.fill-wipe-top{display:inline-flex;position:absolute;inset:0}.fill-wipe-top--in{animation:fill-wipe-rise var(--duration-flip) cubic-bezier(.22, .61, .36, 1) forwards}.fill-wipe-top--out{animation:fill-wipe-rise var(--duration-flip) cubic-bezier(.22, .61, .36, 1) reverse forwards}@keyframes fill-wipe-rise{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.fill-wipe-top--in{animation:none}.fill-wipe-top--out{display:none}}button.card-saved-pill{pointer-events:auto;cursor:pointer}.card-saved-pill svg{display:block}.card-save-burst{pointer-events:none;z-index:4;width:13px;height:0;position:absolute;top:7px;left:16px}.card-burst-spark{width:var(--burst-size);height:var(--burst-size);margin-left:calc(var(--burst-size) / -2);background-color:var(--color-surface);clip-path:polygon(50% 0%,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0% 50%,42% 42%);opacity:0;animation:card-spark-burst var(--burst-dur) ease-out var(--burst-delay) 1 both;position:absolute;top:0;left:50%;transform:translate(0)scale(.2)}@keyframes card-spark-burst{0%{opacity:0;background-color:var(--color-surface);transform:translate(0)scale(.2)rotate(0)}10%{opacity:1;transform:translate(calc(var(--burst-x) * .45), calc(var(--burst-y) * .45)) scale(1.2) rotate(35deg)}14%{background-color:var(--color-surface)}15%{background-color:var(--color-saved-ribbon)}to{opacity:0;background-color:var(--color-saved-ribbon);transform:translate(var(--burst-x), var(--burst-y)) scale(.3) rotate(120deg)}}@media (prefers-reduced-motion:reduce){.card-burst-spark{opacity:0;animation:none}}.card-menu-wrap{z-index:3;position:absolute;top:8px;right:8px}.card-menu-btn{width:28px;height:28px;color:var(--color-white);cursor:pointer;opacity:1;filter:drop-shadow(0 1px 1px var(--color-black));background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:filter .15s,transform .15s,opacity .15s;display:flex}.card-menu-btn:hover,.card-menu-btn:focus-visible{transform:scale(1.08)}@media (hover:hover){.card-menu-btn{opacity:0}.recipe-card:hover .card-menu-btn,.card-menu-wrap.open .card-menu-btn,.card-menu-btn:focus-visible{opacity:1}}.card-menu-wrap.open{background:var(--color-surface);border-radius:var(--radius-pill);width:auto;height:auto;box-shadow:var(--shadow-floating-toolbar);animation:card-menu-open calc(var(--duration-medium) / 2) ease-out;gap:2px;margin:-4px -4px 0 0;padding:4px}@keyframes card-menu-open{0%{clip-path:inset(-20px -20px -20px calc(100% - 40px) round var(--radius-pill))}to{clip-path:inset(-20px round var(--radius-pill))}}.card-menu-wrap.open .card-menu-btn,.card-menu-wrap.open .card-menu-btn:hover,.card-menu-wrap.open .card-menu-btn:focus-visible{color:var(--color-gray-700);filter:none;border-radius:50%;transform:none}@media (hover:hover){.card-menu-wrap.open .card-menu-btn:hover{background:var(--color-gray-100)}}.card-menu{align-items:center;gap:2px;display:flex}.recipe-grid[data-card-menu-open]{z-index:1}.recipe-card.recipe-card--menu-open{z-index:6}.card-menu-item{width:32px;height:32px;color:var(--color-gray-700);cursor:pointer;animation:card-menu-item-in calc(var(--duration-fast) / 2) ease-out both;animation-delay:calc(20ms + var(--i,0) * 12.5ms);transition:background-color var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}@keyframes card-menu-item-in{0%{opacity:0}}.card-menu-item svg{width:18px;height:18px}@media (hover:hover){.card-menu-item:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.card-menu-item--danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}}.card-menu-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.card-menu-item--danger{color:var(--color-danger)}@media (prefers-reduced-motion:reduce){.card-menu-wrap.open,.card-menu-item{animation:none}}@keyframes simmer-skeleton-bounce{0%,18%,to{transform:translateY(0)}4%{transform:translateY(-8px)}9%{transform:translateY(0)}12%{transform:translateY(-2.5px)}16%{transform:translateY(0)}}.recipe-card-skeleton{background:var(--color-primary-tint);cursor:default;pointer-events:none;will-change:transform;animation:3.21s ease-in-out infinite simmer-skeleton-bounce;animation-delay:var(--skeleton-bounce-delay,0s);transition:none}.card-image-skeleton{background:var(--color-primary-tint)}.card-image-skeleton:after{display:none}.recipe-card-skeleton .card-body{min-height:58px}@media (prefers-reduced-motion:reduce){.recipe-card-skeleton{animation:none}}.recipe-loading{flex:1;min-height:240px}.card-body{padding:11px 14px 14px}.card-meta{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.category-badge{border-radius:var(--radius-2xs);text-transform:capitalize;letter-spacing:.1px;background:var(--color-gray-100);color:var(--color-gray-600);padding:2px 7px;font-size:10.5px;font-weight:600}.rp-category-select{cursor:pointer;font:inherit;border:0;min-height:22px;padding:3px 22px 3px 8px;line-height:1.2}.rp-category-select:focus-visible{outline-offset:2px;outline:2px solid #e8703a52}.sort-value{color:var(--color-gray-500);background:var(--color-gray-100);border-radius:var(--radius-2xs);white-space:nowrap;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:500}.card-name{font-family:var(--font-serif);letter-spacing:.5px;-webkit-text-stroke-width:.4px;color:var(--color-white);text-shadow:var(--shadow-hero-title);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.ingredient-match-label{color:var(--color-gray-500);font-weight:600}.stars{gap:1px;display:flex}.star{font-size:17px;line-height:1}.star.filled{color:var(--color-star-on-surface)}.star.empty{color:var(--color-gray-300)}.recipe-card{border-radius:var(--radius-2xl);box-shadow:none;border:none;overflow:visible}.recipe-grid .recipe-card{min-height:var(--recipe-card-height);height:var(--recipe-card-height)}.recipe-grid-exit-layer{pointer-events:none;width:100%;height:0;position:absolute;top:0;left:0}.recipe-grid-ghost-card{height:var(--recipe-card-height);border-radius:var(--radius-2xl);border:2px solid var(--color-card-placeholder-border);box-shadow:none;pointer-events:none;background:0 0}.card-image{border-radius:var(--radius-2xl);z-index:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.card-image:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(90% 120% at 50% 0,#0000 0%,#0000001a 50%,#0000004d 60%,#00000080 70%,#000c 100%);position:absolute;inset:0}.card-image:after,.card-body{transition:opacity .25s}.recipe-card--photo-loading .card-image:after,.recipe-card--photo-loading .card-body{opacity:0}@media (prefers-reduced-motion:reduce){.card-image:after,.card-body{transition:none}}.recipe-card--no-photo .card-image:after{display:none}.card-body{z-index:2;pointer-events:none;background:0 0;padding:12px 14px 14px;position:absolute;bottom:0;left:0;right:0}.card-name{-webkit-text-stroke-width:.4px;text-shadow:var(--shadow-hero-title);margin-bottom:4px;font-size:20px;font-weight:600}.card-body .stars .star{color:var(--color-star);filter:var(--filter-star-shadow)}.card-body .stars .star.empty{color:var(--color-star-empty)}.card-menu-wrap{z-index:3;z-index:5;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute}.card-menu-btn{color:var(--color-white);flex:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.no-results{text-align:center;color:var(--color-gray-400);margin:0;padding:60px 20px;font-size:14px}.empty-state{height:100%;color:var(--color-gray-400);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.empty-icon{font-size:48px;line-height:1}.empty-state h2{color:var(--color-gray-900);margin:0;font-size:22px;font-weight:600}.empty-state p{margin:0;font-size:14px}.modal-backdrop{background:var(--color-scrim-modal);z-index:var(--z-modal);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-backdrop [role=dialog]{font-family:var(--font-serif)}.modal-backdrop [role=dialog]>:not(.modal-header){font-family:var(--font-sans)}@media (prefers-reduced-motion:no-preference){.modal-backdrop{animation:modal-backdrop-in var(--duration-medium) ease both}.modal-backdrop [role=dialog]{animation:modal-dialog-in var(--duration-medium) cubic-bezier(.22, .61, .36, 1) both}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.add-recipe-modal{background:var(--color-surface);border-radius:var(--radius-4xl);flex-direction:column;width:min(620px,100%);max-height:calc(100vh - 40px);display:flex;overflow:hidden;box-shadow:0 24px 60px #11182738}.add-recipe-modal-header{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 14px;display:flex}.add-recipe-modal-header h2{color:var(--color-gray-900);margin:0;font-size:20px;font-weight:700}.add-recipe-modal-close{color:var(--color-gray-500);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px;display:flex}.add-recipe-modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.add-recipe-modal-search{flex-shrink:0;width:auto;margin:0 22px}.add-recipe-modal-search-by{flex-shrink:0;margin:10px 22px 0;display:flex}.add-recipe-modal-filters{padding:12px 22px 4px}.add-recipe-fit-pill{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-gray-500);font:inherit;border-radius:var(--radius-pill);cursor:pointer;padding:6px 14px;font-size:13px;font-weight:600}.add-recipe-fit-pill.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.add-recipe-modal-list{flex:1;min-height:0;padding:8px 22px 22px;overflow-y:auto}.add-recipe-modal-empty{color:var(--color-gray-400);text-align:center;padding:28px 0;font-size:14px}.add-recipe-modal-empty p{margin:0}.add-recipe-modal-empty-action{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-gray-700);font:inherit;cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast), background var(--duration-fast);margin-top:10px;padding:7px 14px;font-size:13px;font-weight:600}.add-recipe-modal-empty-action:hover{border-color:var(--color-primary);color:var(--color-primary);background:#fff7f3}.add-recipe-modal-empty-action:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring);outline:none}.add-recipe-modal-section-head{color:var(--color-gray-900);margin:16px 0 8px;font-size:14px;font-weight:700}.add-recipe-row{border-bottom:1px solid var(--color-divider);align-items:center;gap:14px;padding:10px 0;display:flex}.add-recipe-row-thumb{border-radius:var(--radius-xl);background:linear-gradient(135deg,#fde7da 0%,#fbcab0 100%);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.add-recipe-row-thumb-img{object-fit:cover;width:100%;height:100%}.add-recipe-row-body{flex:1;min-width:0}.add-recipe-row-name{color:var(--color-gray-900);font-size:15px;font-weight:700}.add-recipe-row-meta{color:var(--color-gray-500);margin-top:2px;font-size:12.5px}.add-recipe-row-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.add-recipe-row-tag{color:var(--color-gray-500);background:var(--color-gray-100);border-radius:var(--radius-xs);padding:2px 8px;font-size:11.5px;font-weight:600}.add-recipe-row-add{border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);font:inherit;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;padding:8px 20px;font-size:13px;font-weight:700}.add-recipe-row-add:hover:not(:disabled){background:var(--color-primary-soft)}.add-recipe-row-add:disabled{border-color:var(--color-gray-300);color:var(--color-gray-400);cursor:default}.import-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(420px,100%);max-height:calc(100vh - 40px);box-shadow:0 22px 50px var(--color-gray-900-18);padding:18px;overflow-y:auto}.scale-ingredients-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(360px,100%);box-shadow:0 22px 50px var(--color-gray-900-18);padding:18px}.rescale-recipe-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(440px,100%);max-height:calc(100vh - 40px);box-shadow:0 22px 50px var(--color-gray-900-18);flex-direction:column;padding:18px;display:flex;overflow-y:auto}.rescale-recipe-note{color:var(--color-gray-600);margin:0;font-size:12.5px;line-height:1.4}.rescale-recipe-servings{color:var(--color-gray-500);margin:0;font-size:12.5px;line-height:1.4}.rescale-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);overflow:hidden}.rescale-preview-summary{border-bottom:1px solid var(--color-border);color:var(--color-gray-700);margin:0;padding:8px 10px;font-size:12px;font-weight:700}.rescale-preview-skipped{color:var(--color-gray-500);font-weight:600}.rescale-preview-list{max-height:210px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.rescale-preview-row{justify-content:space-between;align-items:baseline;gap:12px;padding:4px 10px;font-size:12.5px;display:flex}.rescale-preview-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-gray-700);overflow:hidden}.rescale-preview-change{flex:none;align-items:baseline;gap:5px;font-weight:600;display:inline-flex}.rescale-preview-from{color:var(--color-gray-400);text-decoration:line-through}.rescale-preview-arrow{color:var(--color-gray-400)}.rescale-preview-to{color:var(--color-primary)}.rescale-preview-row.is-unchanged{color:var(--color-gray-400)}.rescale-preview-row.is-unchanged .rescale-preview-name,.rescale-preview-row.is-unchanged .rescale-preview-from{color:var(--color-gray-400);text-decoration:none}.ingredient-link-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(440px,100%);max-height:calc(100vh - 40px);box-shadow:0 22px 50px var(--color-gray-900-18);flex-direction:column;padding:18px;display:flex}.scale-ingredients-form{flex-direction:column;gap:12px;display:flex}.recipe-time-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.scale-ingredients-error{color:var(--color-danger);margin:0;font-size:12.5px;line-height:1.35}.scale-servings-preview{margin:0;font-size:13px;font-weight:600}.scale-servings-default{color:var(--color-gray-500)}.scale-servings-scaled{color:var(--color-primary)}.scale-custom-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-surface);min-width:5ch;font-size:var(--font-size-body);color:var(--color-gray-900);align-self:flex-start;align-items:baseline;padding:7px 9px;display:inline-flex}.scale-custom-input:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring-strong)}.svm-field .scale-custom-input input[type=text]{min-width:1ch;font-size:inherit;color:inherit;background:0 0;border:none;border-radius:0;padding:0}.svm-field .scale-custom-input input[type=text]:focus{outline:none}.scale-custom-suffix{font-size:inherit;font-weight:inherit;color:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;transform:translateY(.08em)}.scale-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.scale-preset-btn{appearance:none;border:1px solid var(--color-gray-300);background:var(--color-surface);border-radius:var(--radius-md);color:var(--color-gray-700);cursor:pointer;padding:9px 0;font-family:inherit;font-size:14px;font-weight:700}.scale-preset-btn:hover,.scale-preset-btn:focus-visible{border-color:var(--color-primary);color:var(--color-primary);background:#fff6f1;outline:none}.scale-preset-btn.is-active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.ingredient-link-subtitle{color:var(--color-gray-500);margin:4px 0 0;font-size:12.5px;font-weight:600;line-height:1.35}.ingredient-link-search-control{width:100%;min-width:0}.ingredient-link-search-by{margin-top:10px;display:flex}.ingredient-link-results{flex-direction:column;gap:4px;max-height:min(360px,55vh);margin-top:12px;display:flex;overflow-y:auto}.ingredient-link-result{border-radius:var(--radius-sm);width:100%;color:var(--color-gray-900);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.ingredient-link-result:hover,.ingredient-link-result:focus-visible{background:var(--color-surface-hover);outline:none}.ingredient-link-result-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.ingredient-link-result-name{font-size:var(--font-size-body);font-weight:700}.ingredient-link-result-category{border-radius:var(--radius-pill);letter-spacing:.4px;text-transform:uppercase;flex-shrink:0;padding:5px 7px;font-size:10.5px;font-weight:800;line-height:1}.ingredient-link-empty{color:var(--color-gray-500);margin:8px 0 0;font-size:13px;line-height:1.4}.scale-reset-btn{margin-right:auto}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-title{color:var(--color-gray-900);-webkit-text-stroke-width:.3px;margin:0;font-size:18px;line-height:1.2}@media (width>=768px){.modal-title{font-size:24px}}.import-modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.import-modal-header h2{color:var(--color-gray-900);margin:0;font-size:18px;line-height:1.2}.add-recipe-dialog .import-modal-header h2{font-family:var(--font-serif);font-size:24px;font-weight:600}.modal-icon-btn{background:var(--color-gray-100);width:30px;height:30px;color:var(--color-gray-500);border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.modal-icon-btn:hover{color:var(--color-gray-900)}@media (width>=768px){.modal-icon-btn{background:0 0}.modal-icon-btn:hover{background:var(--color-gray-100)}}.file-picker{border:1px dashed var(--color-gray-300);border-radius:var(--radius-xl);cursor:pointer;background:var(--color-surface-subtle);align-items:center;min-height:92px;padding:16px;display:flex}.file-picker input{opacity:0;pointer-events:none;position:absolute}.file-picker span{color:var(--color-gray-700);overflow-wrap:anywhere;font-size:13px;font-weight:600}.import-message{color:var(--color-gray-500);margin:12px 0 0;font-size:12.5px;line-height:1.45}.import-message.error{color:var(--color-danger)}.import-progress{flex-direction:column;gap:6px;margin-top:12px;display:flex}.import-progress-bar{background:var(--color-gray-100);border-radius:var(--radius-3xs);height:6px;overflow:hidden}.import-progress-fill{background:var(--color-primary);height:100%;transition:width .18s}.import-progress-text{color:var(--color-gray-600);margin:0;font-size:12.5px}.url-import-field{flex-direction:column;gap:6px;display:flex}.add-recipe-modal{width:min(460px,100%);padding:22px}.add-recipe-dialog{width:min(520px,100%);padding:24px 28px 26px}.add-recipe-dialog .import-modal-header{margin-bottom:20px}.add-recipe-field{border:1px solid var(--color-gray-300);border-radius:var(--radius-2xl);background:var(--color-surface);transition:border-color var(--duration-fast);align-items:flex-start;gap:10px;padding:0 14px 0 16px;display:flex}.add-recipe-field:focus-within{border-color:var(--color-green);outline:1px solid var(--color-green)}.add-recipe-field-icon{color:var(--color-gray-500);transition:color var(--duration-fast);flex:none;padding-top:15px;display:flex}.add-recipe-field:focus-within .add-recipe-field-icon,.add-recipe-field--filled .add-recipe-field-icon{color:var(--color-green)}.add-recipe-field-input{min-width:0;max-height:142px;color:var(--color-gray-900);resize:none;background:0 0;border:none;outline:none;flex:1;padding:14px 0;font-family:inherit;font-size:15px;line-height:1.5;overflow:hidden auto}.add-recipe-field-input::placeholder{color:var(--color-gray-400)}.add-recipe-field-clear{background:var(--color-gray-300);width:20px;height:20px;color:var(--color-white);cursor:pointer;transition:background var(--duration-fast);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:15px;padding:0;display:flex}.add-recipe-field-clear:hover{background:var(--color-gray-400)}.add-recipe-dialog-help{color:var(--color-gray-500);font-size:var(--font-size-body);margin:12px 0 0;line-height:1.45}.add-recipe-dialog-scratch-panel{margin:0 -10px}.add-recipe-dialog-or{color:var(--color-gray-700);letter-spacing:.04em;align-items:center;gap:16px;margin:22px 10px 8px;font-size:13px;font-weight:600;display:flex}.add-recipe-dialog-or:before,.add-recipe-dialog-or:after{content:"";background:var(--color-border);flex:1;height:1px}.add-recipe-scratch{border-radius:var(--radius-2xl);width:100%;color:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast);background:0 0;border:none;align-items:center;gap:16px;padding:10px;font-family:inherit;display:flex}.add-recipe-scratch:hover{background:var(--color-gray-50)}.add-recipe-scratch:focus-visible{outline:2px solid var(--color-green);outline-offset:-2px}.add-recipe-scratch-icon{background:var(--color-primary-tint);width:52px;height:52px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.add-recipe-scratch-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.add-recipe-scratch-title{color:var(--color-gray-900);font-size:15px;font-weight:600}.add-recipe-scratch-desc{color:var(--color-gray-500);font-size:var(--font-size-body)}.add-recipe-scratch-chevron{color:var(--color-gray-500);transition:transform var(--duration-fast);flex:none}.add-recipe-scratch:hover .add-recipe-scratch-chevron{transform:translate(2px)}.add-recipe-preview{border-radius:var(--radius-2xl);background:var(--color-green-soft);align-items:center;gap:16px;margin-top:14px;padding:12px;display:flex}.add-recipe-preview--text{padding:14px 16px}.add-recipe-preview-photo{border-radius:var(--radius-xl);background:var(--color-surface);object-fit:cover;flex:none;width:92px;height:92px;display:block}.add-recipe-preview-photo--empty{color:var(--color-sage);justify-content:center;align-items:center;display:flex}.add-recipe-preview-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.add-recipe-preview-title{-webkit-line-clamp:2;overflow-wrap:anywhere;color:var(--color-gray-900);-webkit-box-orient:vertical;font-size:16px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.add-recipe-preview-title--untitled{color:var(--color-gray-500)}.add-recipe-preview-site{color:var(--color-gray-500);font-size:var(--font-size-body)}.add-recipe-preview-desc{-webkit-line-clamp:2;color:var(--color-gray-500);-webkit-box-orient:vertical;margin-top:2px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.add-recipe-preview-desc--error{color:var(--color-gray-600)}.add-recipe-preview-ingredients{color:var(--color-gray-600);margin:4px 0 0;padding:0;font-size:13px;line-height:1.55;list-style:none}.add-recipe-preview-ingredients li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.add-recipe-preview-ingredients li:before{content:"•";color:var(--color-sage);margin-right:7px}.add-recipe-preview-ingredients .add-recipe-preview-more{color:var(--color-gray-500)}.add-recipe-preview-ingredients .add-recipe-preview-more:before{content:none}.add-recipe-preview--loading .add-recipe-preview-body{gap:9px}.add-recipe-preview-bar{border-radius:var(--radius-pill);background:var(--color-surface);width:92%;height:10px;display:block}.add-recipe-preview-bar--title{width:70%;height:14px}.add-recipe-preview-bar--site{width:35%}.add-recipe-preview-bar--short{width:60%}@keyframes add-recipe-preview-pulse{50%{opacity:.45}}.add-recipe-preview--loading .add-recipe-preview-photo,.add-recipe-preview--loading .add-recipe-preview-bar{animation:1.2s ease-in-out infinite add-recipe-preview-pulse}@media (prefers-reduced-motion:reduce){.add-recipe-preview--loading .add-recipe-preview-photo,.add-recipe-preview--loading .add-recipe-preview-bar{animation:none}}.add-recipe-dialog-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.add-recipe-dialog-confirm{color:var(--color-green);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;display:inline-flex}.add-recipe-dialog-actions{gap:10px;margin-left:auto;display:flex}.add-recipe-tip{background:var(--color-notice-surface);border-radius:var(--radius-md);color:var(--color-gray-700);margin:12px 0 0;padding:10px 12px;font-size:12.5px;line-height:1.45}.add-recipe-tip-label{color:var(--color-primary);margin-right:6px;font-weight:700}.add-recipe-sheet{background:var(--color-surface)}.add-recipe-sheet-drag{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.add-recipe-sheet-drag:active{cursor:grabbing}.add-recipe-sheet-grab{border-radius:var(--radius-pill);background:var(--color-gray-300);width:38px;height:4px;margin:4px auto 10px}.add-recipe-sheet-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.add-recipe-sheet-title{font-family:var(--font-serif);color:var(--color-gray-900);-webkit-text-stroke-width:.3px;flex:1;align-items:center;gap:8px;margin:0;font-size:24px;font-weight:600;display:flex}.add-recipe-sheet-header .modal-icon-btn{background:0 0;flex-shrink:0}.add-recipe-sheet-header .modal-icon-btn svg{width:22px;height:22px}.add-recipe-sheet-options{flex-direction:column;gap:24px;display:flex}.add-recipe-sheet-option{text-align:left;border-radius:var(--radius-4xl);cursor:pointer;width:100%;transition:background var(--duration-fast);background:0 0;border:none;align-items:center;gap:14px;padding:12px 16px;font-family:inherit;display:flex}.add-recipe-sheet-option:active{background:var(--color-surface-hover)}.add-recipe-sheet-option--featured{background:var(--color-primary-tint);padding:18px 16px}.add-recipe-sheet-option--featured:active{background:var(--color-primary-18)}.add-recipe-sheet-option--featured .add-recipe-sheet-option-icon--orange{background:var(--color-primary-08)}.add-recipe-sheet-section{flex-direction:column;gap:4px;display:flex}.add-recipe-sheet-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-500);align-items:center;gap:14px;margin:0 0 6px;padding-left:4px;font-size:13px;font-weight:600;display:flex}.add-recipe-sheet-section-label:after{content:"";background:var(--color-border);flex:1;height:1px}.add-recipe-sheet-option-icon{border-radius:var(--radius-3xl);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.add-recipe-sheet-option-icon--orange{background:var(--color-primary-tint);color:var(--color-primary)}.add-recipe-sheet-option-icon--green{background:var(--color-green-soft);color:var(--color-green)}.add-recipe-sheet-option-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.add-recipe-sheet-option-title{color:var(--color-gray-900);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.add-recipe-sheet-option-desc{font-size:var(--font-size-body);color:var(--color-gray-500);line-height:1.35}.add-recipe-sheet-option-chevron{color:var(--color-gray-400);flex-shrink:0;display:flex}.add-recipe-sheet-cancel{border-radius:var(--radius-3xl);background:var(--color-control);width:100%;color:var(--color-gray-900);cursor:pointer;border:1px solid #0000;margin-top:4px;padding:15px;font-family:inherit;font-size:16px;font-weight:700}.add-recipe-sheet-cancel:active{background:var(--color-control-active)}.add-recipe-sheet-body{flex-direction:column;gap:14px;display:flex}.add-recipe-sheet-textarea{resize:none;border:1px solid var(--color-primary);border-radius:var(--radius-4xl);background:var(--color-surface);width:100%;min-height:168px;color:var(--color-gray-900);padding:16px;font-family:inherit;font-size:16px;line-height:1.5}.add-recipe-sheet-textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.add-recipe-sheet-body .url-import-field input{border:1px solid var(--color-primary);border-radius:var(--radius-3xl);padding:14px 16px;font-size:16px}.add-recipe-sheet-body .url-import-field input:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:var(--color-primary)}.add-recipe-sheet-body .url-import-field span{font-size:14px}.add-recipe-sheet-hint{color:var(--color-gray-500);margin:0;font-size:14px;line-height:1.45}.add-recipe-sheet-submit{border:1px solid var(--color-green);border-radius:var(--radius-3xl);background:var(--color-green);width:100%;color:var(--color-white);cursor:pointer;padding:16px;font-family:inherit;font-size:16px;font-weight:700}.add-recipe-sheet-submit:active{background:var(--color-green-hover);border-color:var(--color-green-hover)}.confirm-sheet-message{color:var(--color-gray-600);margin:-6px 0 20px;font-size:16px;line-height:1.45}.confirm-sheet-actions{flex-direction:column;gap:10px;display:flex}.confirm-sheet-actions .add-recipe-sheet-cancel{margin-top:0}.confirm-sheet-actions button:disabled{opacity:.6;cursor:not-allowed}.add-recipe-sheet-submit.confirm-sheet-destructive{background:var(--color-danger);border-color:var(--color-danger)}.add-recipe-sheet-submit.confirm-sheet-destructive:active:not(:disabled){background:var(--color-danger-strong);border-color:var(--color-danger-strong)}.modal-backdrop--sheet>[role=dialog].modal-sheet.mobile-filter-sheet{flex-direction:column;height:min(92%,760px);display:flex;overflow:hidden}.mobile-filter-sheet-body{overscroll-behavior:contain;flex:auto;min-height:0;margin-inline:-18px;padding:4px 18px 16px;overflow-y:auto}.filter-panel--sheet .filter-panel-master,.filter-panel--sheet .filter-detail,.filter-panel--sheet .tag-filter{padding:0}.filter-panel--sheet .filter-panel-master{gap:0}.filter-panel--sheet .filter-panel-master .filter-nav-list{margin-top:12px}.filter-panel--sheet .filter-checkbox{min-height:48px;font-size:16px}.filter-panel--sheet .filter-checkbox input[type=checkbox]{width:44px;height:26px}.filter-panel--sheet .filter-checkbox input[type=checkbox]:before{width:22px;height:22px}.filter-panel--sheet .filter-checkbox input[type=checkbox]:checked:before{transform:translate(18px)}.filter-panel--sheet .filter-nav-row{min-height:52px;padding:14px 4px;font-size:16px}.filter-panel--sheet .filter-nav-row:active{background:var(--color-gray-50)}.filter-panel--sheet .filter-nav-row-value{max-width:50%}.filter-panel--sheet .filter-detail-back{min-height:44px;padding:4px 0 12px;font-size:18px}.filter-panel--sheet .filter-detail-subtitle{font-size:14px}.filter-panel--sheet .filter-detail-option{min-height:52px;padding:14px 2px;font-size:16px}.filter-panel--sheet .filter-detail-option input[type=checkbox],.filter-panel--sheet .filter-detail-option input[type=radio]{width:20px;height:20px}.filter-panel--sheet .tag-filter-search input{padding:12px 0;font-size:16px}.filter-panel--sheet .tag-filter-chip{padding:9px 15px;font-size:15px}.mobile-filter-sheet-actions{gap:10px;padding-top:12px;display:flex}.mobile-filter-sheet-actions .add-recipe-sheet-cancel{flex:none;width:auto;margin-top:0;padding:15px 20px}.mobile-filter-sheet-actions .add-recipe-sheet-submit{flex:auto}.mobile-filter-sheet-actions .add-recipe-sheet-cancel:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop.modal-backdrop--sheet,.modal-backdrop.modal-backdrop--fullscreen{background:var(--color-gray-900-18);animation:add-recipe-sheet-fade var(--duration-medium) ease;padding:0}.modal-backdrop.modal-backdrop--sheet{padding:var(--vv-inset-top,0px) 0 var(--vv-inset-bottom,0px);align-items:flex-end}.modal-backdrop.modal-backdrop--closing{animation:add-recipe-sheet-fade-out var(--duration-medium) ease forwards}.modal-backdrop--sheet>[role=dialog].modal-sheet{width:100%;max-width:520px;max-height:92%;box-shadow:0 -8px 40px var(--color-gray-900-18);padding:8px 18px calc(20px + var(--sab,env(safe-area-inset-bottom)));border:none;border-radius:22px 22px 0 0;animation:.28s cubic-bezier(.32,.72,0,1) add-recipe-sheet-up;overflow-y:auto}.modal-backdrop--fullscreen>[role=dialog].modal-fullscreen{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;padding:calc(14px + env(safe-area-inset-top)) 18px calc(16px + var(--sab,env(safe-area-inset-bottom)));border:none;border-radius:0;animation:.28s cubic-bezier(.32,.72,0,1) add-recipe-sheet-up;overflow-y:auto}.modal-backdrop--closing>[role=dialog].modal-sheet,.modal-backdrop--closing>[role=dialog].modal-fullscreen{animation:.24s cubic-bezier(.32,.72,0,1) forwards add-recipe-sheet-down}.modal-backdrop--sheet>[role=dialog].modal-sheet :is(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=button],[type=submit],[type=reset],[type=image]),textarea,select),.modal-backdrop--fullscreen>[role=dialog].modal-fullscreen :is(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=button],[type=submit],[type=reset],[type=image]),textarea,select){font-size:16px}.modal-sheet .import-modal-actions>button{flex:1 1 0}.add-recipe-sheet-drag.modal-sheet-grab-only{padding:4px 0}.modal-backdrop--fullscreen>[role=dialog].version-history-modal.modal-fullscreen{padding:env(safe-area-inset-top) 0 var(--sab,env(safe-area-inset-bottom))}@media (prefers-reduced-motion:reduce){.modal-backdrop.modal-backdrop--sheet,.modal-backdrop.modal-backdrop--fullscreen,.modal-backdrop>[role=dialog].modal-sheet,.modal-backdrop>[role=dialog].modal-fullscreen{animation:none}}@keyframes add-recipe-sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes add-recipe-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes add-recipe-sheet-fade-out{0%{opacity:1}to{opacity:0}}@keyframes add-recipe-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.unsaved-navigation-backdrop{animation:none}}.pinned-recipes-sheet .pinned-recipes{margin:0}.pinned-recipes-sheet-title-icon{flex-shrink:0}.pinned-recipes-sheet .pinned-recipe-item{margin-left:-10px;margin-right:-10px;padding:3px 10px}.pinned-recipes-sheet .pinned-recipe-button{gap:10px;padding:6px 0}.pinned-recipes-sheet .pinned-recipe-thumb{border-radius:var(--radius-xs);height:26px}.pinned-recipes-sheet .pinned-recipe-name{font-size:15px}.pinned-recipes-sheet .pinned-recipe-close{width:26px;height:26px;margin-right:2px}.pinned-recipes-sheet .pinned-menu-item.unpinned .pinned-recipe-close{opacity:1}.pinned-recipes-sheet .pinned-recipe-eye{display:none}.pinned-recipes-sheet .pinned-recipe-open-marker .pinned-recipe-glyph{opacity:1}.pinned-recipes-sheet .pinned-recipe-close svg{width:15px;height:15px}.pinned-recipes-sheet-clear{color:var(--color-green);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;padding:8px 10px;font-family:inherit;font-size:15px;font-weight:600}.pinned-recipes-sheet-clear:active{background:var(--color-green-soft)}.pinned-recipes-sheet-empty{color:var(--color-gray-500);text-align:center;margin:8px 0 12px;font-size:14px}.pinned-recipes-sheet .pinned-recipes-sheet-pin{width:100%;margin:10px 0 4px;padding:13px 16px;font-size:15px}.toast{border-radius:var(--radius-xl);background:var(--color-gray-900);width:max-content;max-width:min(560px,100vw - 32px);color:var(--color-gray-50);z-index:var(--z-overlay);animation:toast-in var(--duration-medium) ease-out;align-items:center;gap:12px;padding:10px 12px 10px 16px;font-size:13px;line-height:1.4;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #0000002e,0 4px 10px #0000001f}.toast--leaving{animation:toast-out var(--duration-medium) ease-in forwards;pointer-events:none}@keyframes toast-in{0%{opacity:0}}@keyframes toast-out{to{opacity:0}}.toast-message{flex:1;min-width:0}.toast-action{color:inherit;font:inherit;border-radius:var(--radius-xs);cursor:pointer;background:#ffffff26;border:none;padding:6px 10px;font-weight:600}.toast-action:hover{background:#ffffff40}.toast-dismiss{color:inherit;opacity:.75;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.toast-dismiss:hover{opacity:1;background:#ffffff26}.url-import-field span{color:var(--color-gray-700);font-size:12.5px;font-weight:600}.url-import-field input,.url-import-field select{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-surface);width:100%;font-size:var(--font-size-body);color:var(--color-gray-900);padding:10px 12px;font-family:inherit}.url-import-field input:focus,.url-import-field select:focus{outline:2px solid var(--color-link);outline-offset:-1px;border-color:#0000}.url-import-field input:disabled,.url-import-field select:disabled{background:var(--color-gray-50);color:var(--color-gray-400);cursor:not-allowed}.import-modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.crop-modal{width:min(560px,100%)}.crop-modal-backdrop{z-index:var(--z-sheet-raised)}.crop-modal-hint{color:var(--color-gray-500);margin:0 0 12px;font-size:13px;line-height:1.4}.crop-frame{border-radius:var(--radius-xl);background:var(--color-gray-900);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.crop-frame:active{cursor:grabbing}.crop-frame-img{transform-origin:0 0;will-change:transform;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-frame-grid{pointer-events:none;background-image:linear-gradient(var(--color-star-empty) 1px, transparent 1px), linear-gradient(90deg, var(--color-star-empty) 1px, transparent 1px);opacity:.5;background-size:100% 33.33%,33.33% 100%;position:absolute;inset:0}.crop-zoom{align-items:center;gap:12px;margin-top:14px;display:flex}.crop-zoom-label{color:var(--color-gray-600);font-size:15px;font-weight:600}.crop-zoom input[type=range]{--crop-zoom-track:linear-gradient(to right, var(--color-primary) var(--crop-zoom-fill,0%), var(--color-gray-200) var(--crop-zoom-fill,0%));appearance:none;cursor:pointer;background:0 0;flex:1;height:22px;margin:0}.crop-zoom input[type=range]:focus-visible{outline:none}.crop-zoom input[type=range]:disabled{opacity:.55;cursor:default}.crop-zoom input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:var(--crop-zoom-track);border:none;height:6px}.crop-zoom input[type=range]::-moz-range-track{border-radius:var(--radius-pill);background:var(--crop-zoom-track);border:none;height:6px}.crop-zoom input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-primary);border:none;border-radius:50%;width:22px;height:22px;margin-top:-8px}.crop-zoom input[type=range]::-moz-range-thumb{background:var(--color-primary);border:none;border-radius:50%;width:22px;height:22px}.crop-zoom input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--shadow-focus-ring-strong)}.crop-zoom input[type=range]:focus-visible::-moz-range-thumb{box-shadow:var(--shadow-focus-ring-strong)}.crop-modal .add-recipe-sheet-submit:disabled{opacity:.6;cursor:default}.crop-modal-error{color:var(--color-danger);margin:12px 0 0;font-size:13px;line-height:1.4}.confirm-modal-message{color:var(--color-gray-600);margin:0 0 4px;font-size:14px;line-height:1.5}.primary-btn.confirm-modal-destructive{background:var(--color-danger);border-color:var(--color-danger)}.primary-btn.confirm-modal-destructive:hover:not(:disabled){background:var(--color-danger-strong);border-color:var(--color-danger-strong)}.save-version-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(520px,100%);max-height:calc(100vh - 60px);box-shadow:0 22px 50px var(--color-gray-900-18);padding:18px;overflow-y:auto}.unsaved-navigation-backdrop{background:var(--color-gray-900-18);animation:add-recipe-sheet-fade var(--duration-medium) ease}.unsaved-navigation-backdrop--closing{animation:add-recipe-sheet-fade-out var(--duration-medium) ease forwards}.unsaved-navigation-modal{background:var(--color-surface);width:min(620px,100vw - 36px);box-shadow:0 26px 70px var(--color-gray-900-28);border:1px solid #ffffffb8;border-radius:18px;position:relative;overflow:hidden}.unsaved-navigation-header{padding:44px 46px 0}.unsaved-navigation-content{padding:0 46px 44px}.unsaved-navigation-header .modal-icon-btn{border-radius:var(--radius-2xl);background:var(--color-gray-100);width:44px;height:44px;color:var(--color-gray-700);position:absolute;top:24px;right:24px}.unsaved-navigation-header .modal-icon-btn:hover{color:var(--color-gray-900);background:var(--color-gray-200)}.unsaved-navigation-title{color:var(--color-gray-900);-webkit-text-stroke-width:.3px;margin:0 54px 14px 0;font-size:32px;font-weight:800;line-height:1.1}.unsaved-navigation-message{color:var(--color-gray-600);margin:0 48px 24px 0;font-size:18px;line-height:1.45}.unsaved-navigation-actions{flex-direction:column;gap:12px;margin-top:12px;display:flex}.unsaved-navigation-action{border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;min-height:72px;color:var(--color-gray-700);cursor:pointer;text-align:left;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast), background var(--duration-fast);align-items:center;gap:20px;padding:14px 28px;display:flex}.unsaved-navigation-action:hover:not(:disabled),.unsaved-navigation-action:focus-visible{border-color:var(--color-primary);box-shadow:0 8px 20px var(--color-gray-900-08);outline:none;transform:translateY(-1px)}.unsaved-navigation-action:disabled{cursor:not-allowed;opacity:.68}.unsaved-navigation-action.primary{color:var(--color-white);background:linear-gradient(135deg,#f47b37,#ef5f2a);border-color:#ef5f2a;margin-bottom:12px;box-shadow:0 10px 22px #e8703a38}.unsaved-navigation-save-split{width:100%;margin-bottom:12px;display:flex;position:relative}.unsaved-navigation-save-split .unsaved-navigation-action.primary{margin-bottom:0}.unsaved-navigation-save-main{flex:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.unsaved-navigation-save-toggle{flex:none;justify-content:center;align-items:center;width:48px;min-height:72px;display:flex;border-left:1px solid #ffffff52!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;gap:0!important;padding:0!important}.unsaved-navigation-save-popover{background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);min-width:180px;box-shadow:0 8px 22px var(--color-gray-900-12);z-index:var(--z-modal-raised);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.unsaved-navigation-save-item{text-align:left;cursor:pointer;color:var(--color-gray-800);border-radius:var(--radius-xs);background:0 0;border:none;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600}.unsaved-navigation-save-item:hover:not(:disabled){background:var(--color-gray-100)}.unsaved-navigation-save-item:disabled{opacity:.5;cursor:not-allowed}.unsaved-navigation-action.neutral{color:var(--color-gray-700)}.unsaved-navigation-action-icon{justify-content:center;align-items:center;width:36px;min-width:36px;display:flex}.unsaved-navigation-action-text{flex-direction:column;gap:3px;min-width:0;display:flex}.unsaved-navigation-action-text strong{color:inherit;font-size:18px;font-weight:800;line-height:1.15}.unsaved-navigation-action-text span{color:inherit;font-size:14px;line-height:1.28}.unsaved-navigation-action.primary .unsaved-navigation-action-text span{color:#ffffffeb}.unsaved-navigation-modal.modal-sheet .unsaved-navigation-content{padding:0}.unsaved-navigation-modal.modal-sheet .unsaved-navigation-message{margin-right:0;font-size:15px}.unsaved-navigation-modal.modal-sheet .unsaved-navigation-action{padding:13px 16px}.svm-form{flex-direction:column;gap:14px;display:flex}.svm-field{flex-direction:column;gap:5px;display:flex}.svm-label{letter-spacing:.4px;text-transform:uppercase;color:var(--color-gray-500);font-size:11px;font-weight:600}.svm-field input[type=text],.svm-field input[type=number],.svm-field input[type=date],.svm-field textarea{font-family:inherit;font-size:var(--font-size-body);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);color:var(--color-gray-900);background:var(--color-surface);padding:7px 9px}.svm-field textarea{resize:vertical;min-height:56px}.svm-outcome{border-top:1px solid var(--color-border);flex-direction:column;gap:12px;padding-top:14px;display:flex}.svm-outcome-toggle{font-size:var(--font-size-body);color:var(--color-gray-900);cursor:pointer;align-items:center;gap:8px;display:flex}.svm-outcome-fields{flex-direction:column;gap:12px;display:flex}.svm-axes{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.svm-axis .svm-label{text-transform:capitalize}.version-history-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-3xl);width:min(1080px,100%);height:min(720px,100vh - 60px);box-shadow:0 22px 50px var(--color-gray-900-18);grid-template-columns:320px 1fr;display:grid;position:relative;overflow:hidden}.vh-close{z-index:2;position:absolute;top:14px;right:14px}.vh-timeline-pane{background:var(--color-surface-subtle);border-right:1px solid var(--color-border);flex-direction:column;padding:22px 18px 18px;display:flex;overflow-y:auto}.vh-timeline-header{margin-bottom:16px}.vh-timeline-header h2{color:var(--color-gray-900);-webkit-text-stroke-width:.3px;margin:0 0 4px;font-size:19px}.vh-timeline-count{color:var(--color-gray-500);margin:0;font-size:13px}.vh-timeline{flex:1;margin:0;padding:0 0 0 14px;list-style:none;position:relative}.vh-timeline-item{padding:6px 0;position:relative}.vh-timeline-item:not(:last-child):after{content:"";background:var(--color-gray-200);width:2px;height:calc(100% - 12px);position:absolute;top:30px;left:-9px}.vh-timeline-dot{background:var(--color-surface);border:2px solid var(--color-gray-300);box-sizing:border-box;border-radius:50%;width:12px;height:12px;position:absolute;top:18px;left:-14px}.vh-timeline-dot.is-selected{border-color:var(--color-primary);background:var(--color-primary);box-shadow:var(--shadow-focus-ring-strong)}.vh-timeline-card{text-align:left;border-radius:var(--radius-xl);cursor:pointer;width:100%;color:inherit;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;background:0 0;border:1px solid #0000;padding:8px 10px;font-family:inherit;display:block}.vh-timeline-card:hover{background:var(--color-gray-100)}.vh-timeline-card.is-selected{background:var(--color-primary-soft-3);border-color:var(--color-primary-border)}.vh-timeline-card-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.vh-version-chip{min-width:32px;color:var(--color-gray-700);background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.vh-timeline-card.is-selected .vh-version-chip{color:#b8430f;border-color:var(--color-primary-border)}.vh-version-date{color:var(--color-gray-500);font-size:12.5px}.vh-version-summary{font-size:var(--font-size-body);color:var(--color-gray-800);line-height:1.4}.vh-detail-pane{grid-template-rows:1fr auto;min-width:0;min-height:0;display:grid}.vh-detail-body{min-height:0;padding:28px 32px 18px;overflow-y:auto}.vh-detail-title{color:var(--color-gray-500);margin:0 0 6px;font-size:17px;font-weight:600}.vh-detail-current,.vh-detail-baseline{color:var(--color-primary);font-weight:700}.vh-detail-summary{color:var(--color-gray-800);margin:0 0 18px;font-size:14px}.vh-section{border-top:1px solid var(--color-divider);padding:18px 0}.vh-section:last-child{padding-bottom:4px}.vh-section-title{color:var(--color-primary);align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:700;display:flex}.vh-section-title svg{flex-shrink:0}.vh-empty,.vh-empty-inline{font-size:var(--font-size-body);color:var(--color-gray-500);margin:0}.vh-changes-heading{color:var(--color-gray-900)}.vh-changes-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.vh-changes-row{font-size:var(--font-size-body);color:var(--color-gray-800);grid-template-columns:18px 1fr;align-items:baseline;gap:10px;line-height:1.5;display:grid}.vh-changes-mark{text-align:center;font-size:16px;font-weight:700;line-height:1}.vh-changes-row--add .vh-changes-mark{color:#16a34a}.vh-changes-row--remove .vh-changes-mark{color:var(--color-danger)}.vh-changes-text{word-break:break-word}.vh-detail-footer{border-top:1px solid var(--color-divider);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.vh-detail-footer .secondary-btn{margin-left:auto}.vh-delete-btn{background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;border:1px solid #f0c6c6;padding:6px 14px;font-size:13px;font-weight:600}.vh-delete-btn:hover{background:var(--color-danger-soft);border-color:#e5a8a8}.vh-delete-confirm{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vh-delete-confirm-text{color:var(--color-gray-600);font-size:13px}.vh-delete-confirm-btn{background:var(--color-danger);border-radius:var(--radius-sm);color:var(--color-white);cursor:pointer;border:1px solid #0000;padding:6px 14px;font-size:13px;font-weight:600}.vh-delete-confirm-btn:hover:not(:disabled){background:var(--color-danger-strong)}.vh-delete-confirm-btn:disabled{opacity:.6;cursor:default}.vh-delete-error{color:var(--color-danger);margin:0;font-size:12.5px}.vh-outcome-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.vh-outcome-head .vh-section-title{margin-bottom:0}.vh-outcome-edit-btn{border:1px solid var(--color-gray-300);background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-gray-700);cursor:pointer;padding:4px 12px;font-size:12.5px;font-weight:600}.vh-outcome-edit-btn:hover{background:var(--color-surface-hover)}.vh-outcome-summary{flex-direction:column;gap:8px;margin:12px 0 0;display:flex}.vh-outcome-row{font-size:var(--font-size-body);grid-template-columns:96px 1fr;gap:12px;line-height:1.5;display:grid}.vh-outcome-row dt{color:var(--color-gray-500);text-transform:capitalize;margin:0;font-weight:600}.vh-outcome-row dd{color:var(--color-gray-800);word-break:break-word;margin:0}.vh-outcome-notes dd{white-space:pre-wrap}.vh-outcome .svm-outcome-fields{margin-top:12px}.vh-outcome-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.vh-outcome-actions-spacer{flex:1}.vh-outcome-remove{color:var(--color-danger);border-color:#f0c4c4}.vh-outcome-remove:hover{background:#fdeaea}@media (width<=720px){.version-history-modal{grid-template-rows:fit-content(45%) 1fr;grid-template-columns:1fr;height:calc(100vh - 24px)}.vh-timeline-pane{border-right:none;border-bottom:1px solid var(--color-border)}}.recipe-image-gallery-modal{aspect-ratio:3/2;border-radius:var(--radius-3xl);width:min(1200px,100vw - 80px,150vh - 120px);position:relative;overflow:hidden;box-shadow:0 22px 50px #00000059}.modal-backdrop.rig-modal-backdrop--morphing,.modal-backdrop .recipe-image-gallery-modal.is-morphing{animation:none}.modal-backdrop.rig-modal-backdrop--morphing{background:0 0}.modal-backdrop.rig-modal-backdrop--morphing:before{content:"";background:var(--color-scrim-modal);pointer-events:none;position:absolute;inset:0}.rig-viewer{border-radius:inherit;background:var(--color-black);color:var(--color-white);position:absolute;inset:0}.recipe-image-gallery-modal .rig-viewer{background:var(--color-frost);-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost)}.recipe-image-gallery-modal .rig-viewer::backdrop{background:0 0}.rig-stage{position:absolute;inset:0}.rig-morph-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.rig-slide{z-index:1;color:#ffffff80;opacity:0;transition:opacity var(--duration-medium) ease var(--duration-medium);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rig-slide.is-active{z-index:2;opacity:1;transition-delay:0s}.rig-slide-img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity var(--duration-medium) ease}.rig-slide-img.is-loaded{opacity:1}.rig-empty{text-align:center;color:#ffffffb8;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 32px;display:flex;position:absolute;inset:0}.rig-empty-icon{color:#ffffff80}.rig-empty-text{margin:0;font-size:14px}.recipe-image-gallery-modal .rig-empty{color:var(--color-gray-700)}.recipe-image-gallery-modal .rig-empty-icon{color:var(--color-gray-500)}.recipe-image-gallery-modal .rig-empty .rig-pill-btn{box-shadow:var(--shadow-floating-button)}.rig-top{z-index:3;border-top-left-radius:inherit;border-top-right-radius:inherit;pointer-events:none;transition:opacity var(--duration-medium) ease;background:linear-gradient(#0000008c,#0000);justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 26px 64px 32px;display:flex;position:absolute;top:0;left:0;right:0}.rig-top>*{pointer-events:auto}.rig-heading{min-width:0}.rig-title{font-family:var(--font-serif);color:var(--color-white);text-shadow:var(--shadow-hero-title);margin:0;font-size:24px;font-weight:600;line-height:1.2}.rig-counter{font-size:var(--font-size-body);color:#ffffffc7;text-shadow:var(--shadow-mobile-hero);margin:4px 0 0;font-weight:500}.rig-caption{-webkit-line-clamp:3;color:#ffffffeb;max-width:60ch;text-shadow:var(--shadow-mobile-hero);-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.rig-top-actions{flex-shrink:0;gap:12px;display:flex}.rig-round-btn{background:var(--color-frost-dark);width:44px;height:44px;color:var(--color-frost-dark-ink);cursor:pointer;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);transition:background-color var(--duration-fast) ease;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.rig-round-btn:focus-visible,.rig-thumb:focus-visible,.rig-pill-btn:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.rig-nav{z-index:3;width:52px;height:52px;transition:background-color var(--duration-fast) ease, opacity var(--duration-medium) ease;position:absolute;top:50%;transform:translateY(-50%)}.rig-nav--prev{left:24px}.rig-nav--next{right:24px}.rig-bottom{z-index:3;pointer-events:none;flex-direction:column;align-items:center;gap:10px;padding:0 24px;display:flex;position:absolute;bottom:24px;left:0;right:0}.rig-bottom>*{pointer-events:auto}.rig-error{border-radius:var(--radius-2xl);background:var(--color-danger);max-width:520px;color:var(--color-white);text-align:center;padding:8px 14px;font-size:13px;font-weight:600}.rig-bar{border-radius:var(--radius-6xl);max-width:100%;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);transition:opacity var(--duration-medium) ease, transform var(--duration-medium) ease;background:#00000080;border:1px solid #ffffff1f;align-items:center;gap:16px;padding:10px;display:flex;box-shadow:0 10px 30px #00000059}.rig-viewer.is-idle .rig-nav:not(:focus-visible){opacity:0;transition-duration:var(--duration-slow)}.rig-viewer.is-idle .rig-top:not(:has(:is(.rig-round-btn,.rig-pill-btn,.rig-thumb):focus-visible)){opacity:0;transition-duration:var(--duration-slow)}.rig-viewer.is-idle .rig-bar:not(:has(:is(.rig-round-btn,.rig-pill-btn,.rig-thumb):focus-visible)){opacity:0;transition-duration:var(--duration-slow)}.rig-viewer.is-idle .rig-nav:not(:focus-visible){pointer-events:none}.rig-viewer.is-idle .rig-top:not(:has(:is(.rig-round-btn,.rig-pill-btn,.rig-thumb):focus-visible))>:is(.rig-heading,.rig-top-actions){pointer-events:none}.rig-viewer.is-idle .rig-bar:not(:has(:is(.rig-round-btn,.rig-pill-btn,.rig-thumb):focus-visible)){pointer-events:none}.rig-viewer.is-idle .rig-bar:not(:has(:is(.rig-round-btn,.rig-pill-btn,.rig-thumb):focus-visible)){transform:translateY(12px)}.rig-strip{scrollbar-width:none;gap:10px;min-width:0;margin:0;padding:4px;list-style:none;display:flex;overflow-x:auto}.rig-strip::-webkit-scrollbar{display:none}.rig-strip-item{flex:none;margin:0}.rig-thumb{border-radius:var(--radius-2xl);cursor:pointer;opacity:.7;width:96px;height:64px;transition:opacity var(--duration-fast) ease, box-shadow var(--duration-fast) ease;background:#ffffff14;border:none;padding:0;display:block;position:relative;overflow:hidden}.rig-thumb.is-selected{opacity:1;box-shadow:0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary)}.rig-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.rig-thumb-badge{border-radius:var(--radius-xs);white-space:nowrap;max-width:calc(100% - 10px);color:var(--color-white);align-items:center;gap:4px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1.1;display:inline-flex;position:absolute;left:5px}.rig-thumb-badge--cover{background:var(--color-primary);top:5px}.rig-thumb-badge--step{background:var(--color-scrim-tile);bottom:5px}.rig-thumb--add{color:#fffc;opacity:1;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;background:0 0;border:1.5px dashed #fff6;justify-content:center;align-items:center;display:flex}.rig-thumb-add-plus{font-size:28px;font-weight:300;line-height:1}.rig-actions{flex-shrink:0;align-items:center;gap:10px;margin-right:4px;display:flex}.rig-pill-btn{border-radius:var(--radius-pill);background:var(--color-white);height:44px;color:var(--color-black);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) ease;border:none;align-items:center;gap:8px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.rig-cover-status{white-space:nowrap;height:44px;color:var(--color-white);align-items:center;gap:8px;padding:0 8px;font-size:14px;font-weight:700;display:inline-flex}.rig-cover-status svg{color:var(--color-primary)}.rig-round-btn--light{-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff24}@media (hover:hover){.rig-round-btn:hover{background:var(--color-frost-dark-hover)}.rig-round-btn--light:hover{background:#ffffff42}.rig-thumb:hover{opacity:1}.rig-thumb--add:hover{border-color:var(--color-white);color:var(--color-white);background:#ffffff14}.rig-pill-btn:hover{background:#ffffffdb}}@media (prefers-reduced-motion:reduce){.rig-mobile,.rig-mobile.is-closing{animation:none}.rig-slide,.rig-slide-img{transition:none}.rig-viewer.is-idle .rig-bar:not(:has(:is(.rig-round-btn,.rig-pill-btn,.rig-thumb):focus-visible)){transform:none}}@media (width<=720px){.rig-top{padding:18px 18px 48px 20px}.rig-title{font-size:19px}.rig-nav{width:40px;height:40px}.rig-nav--prev{left:12px}.rig-nav--next{right:12px}.rig-bottom{padding:0 12px;bottom:12px}.rig-thumb{width:66px;height:44px}.rig-pill-btn{padding:0 14px}}.rig-mobile{z-index:var(--z-sheet);animation:add-recipe-sheet-fade var(--duration-medium) ease;position:fixed;inset:0;overflow:hidden}.rig-mobile.is-morphing{animation:none}.rig-mobile.is-closing{animation:.24s forwards add-recipe-sheet-fade-out}.rig-mobile-backdrop{background:var(--color-black);position:absolute;inset:0}.rig-viewer--mobile{background:0 0}.rig-mobile-stage{touch-action:none;overflow:hidden}.rig-mobile-pan{height:100%}.rig-mobile-track{height:100%;margin:0 -8px;display:flex}.rig-mobile-slide{box-sizing:border-box;flex:0 0 100%;justify-content:center;align-items:center;height:100%;padding:0 8px;display:flex}.rig-mobile-zoom{transform-origin:0 0;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.rig-viewer--mobile .rig-top{padding:calc(env(safe-area-inset-top,0px) + 8px) max(16px, env(safe-area-inset-right,0px)) 48px max(16px, env(safe-area-inset-left,0px))}.rig-viewer--mobile .rig-heading{padding-top:10px}@media (width<=720px){.rig-viewer--mobile .rig-bar{flex-direction:column;gap:10px;padding:10px}.rig-viewer--mobile .rig-strip{max-width:100%}.rig-viewer--mobile .rig-actions{justify-content:space-between;align-self:stretch;margin:0 4px}}@media (height<=500px){.rig-viewer--mobile .rig-title{font-size:19px}.rig-viewer--mobile .rig-caption{-webkit-line-clamp:2}.rig-viewer--mobile .rig-bottom{padding:0 max(12px, env(safe-area-inset-right,0px)) 0 max(12px, env(safe-area-inset-left,0px));bottom:12px}.rig-viewer--mobile .rig-thumb{width:66px;height:44px}.rig-viewer--mobile .rig-pill-btn{padding:0 14px}}.primary-btn,.secondary-btn,.danger-btn{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;height:33px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.primary-btn{border:1px solid var(--color-green);background:var(--color-green);color:var(--color-white)}.primary-btn:hover:not(:disabled){background:var(--color-green-hover);border-color:var(--color-green-hover)}.primary-btn:disabled,.danger-btn:disabled{opacity:.55;cursor:default}.danger-btn{border:1px solid var(--color-danger);background:var(--color-danger);color:var(--color-white)}.danger-btn:hover:not(:disabled){background:var(--color-danger-strong);border-color:var(--color-danger-strong)}.secondary-btn{background:var(--color-control);color:var(--color-gray-900);border:1px solid #0000}.secondary-btn:hover:not(:disabled){background:var(--color-control-hover)}.secondary-btn:active:not(:disabled){background:var(--color-control-active)}.secondary-btn.is-danger-text,.add-recipe-sheet-cancel.is-danger-text{color:var(--color-danger)}.recipe-card.selected{transform:scale(.95);box-shadow:0 4px 12px #0000001a}.card-select-toggle{border:2px solid var(--color-white);width:24px;height:24px;color:var(--color-white);cursor:pointer;z-index:3;opacity:0;filter:drop-shadow(0 1px 2px #00000073);transition:opacity var(--duration-fast), transform var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast);background:#00000036;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:9px;left:9px;transform:scale(.85)}.card-select-toggle svg{opacity:0;transition:opacity var(--duration-fast)}.recipes-view--selection-mode .card-select-toggle,.card-select-toggle.selected,.card-select-toggle:focus-visible{opacity:1;transform:scale(1)}.card-select-toggle.selected{background:var(--color-primary);filter:none;border-color:#0000}.card-select-toggle.selected svg,.card-select-toggle:hover svg{opacity:1}.recipes-view--has-bulk-bar{padding-bottom:20px}.bulk-bar-wrap{z-index:var(--z-chrome);flex-direction:column;gap:8px;padding:10px 0 4px;display:flex;position:sticky;bottom:0}.bulk-bar-group{flex-direction:column;gap:8px;width:100%;display:flex}.bulk-bar-thumbs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:100%;box-shadow:var(--shadow-panel);animation:bulk-thumbs-in var(--duration-medium) ease;align-self:flex-start;align-items:center;gap:4px;padding:6px;display:flex;overflow:hidden}.bulk-thumb{border-radius:var(--radius-md);background:var(--color-gray-100);flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex;overflow:hidden}.bulk-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.bulk-thumb--more{color:var(--color-gray-600);font-size:12px;font-weight:600}.bulk-thumb--deselect{cursor:pointer;appearance:none;border:none;padding:0;position:relative}.bulk-thumb-x{background:var(--color-scrim-tile);color:var(--color-white);opacity:0;transition:opacity var(--duration-fast) ease;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.bulk-thumb--deselect:hover .bulk-thumb-x,.bulk-thumb--deselect:focus-visible .bulk-thumb-x{opacity:1}.bulk-thumb--deselect:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}@media (hover:none){.bulk-thumb-x{opacity:.72}}@keyframes bulk-thumbs-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bulk-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4xl);width:100%;box-shadow:0 10px 30px var(--color-gray-900-12), 0 2px 8px var(--color-gray-900-08);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 14px;display:flex}.bulk-bar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.bulk-bar-close{border-radius:var(--radius-pill);background:var(--color-gray-100);width:30px;height:30px;color:var(--color-gray-600);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.bulk-bar-close:hover{background:var(--color-gray-200);color:var(--color-gray-800)}.bulk-bar-count{border-radius:var(--radius-pill);background:var(--color-green);min-width:30px;height:30px;color:var(--color-white);cursor:pointer;transition:background var(--duration-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.bulk-bar-count:hover{background:var(--color-green-hover)}.bulk-bar-count-label{font-size:var(--font-size-body);color:var(--color-gray-500);margin-right:2px}.bulk-field{position:relative}.bulk-field-trigger{border:1px solid var(--color-gray-300);border-radius:var(--radius-xl);background:var(--color-surface);font-family:inherit;font-size:var(--font-size-body);color:var(--color-gray-700);cursor:pointer;white-space:nowrap;transition:border-color var(--duration-fast), background var(--duration-fast), color var(--duration-fast);align-items:center;gap:7px;padding:7px 11px;font-weight:600;display:inline-flex}.bulk-field-trigger:hover,.bulk-field-trigger.is-open{border-color:var(--color-gray-400);background:var(--color-gray-100)}.bulk-field-trigger.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-copper-text)}.bulk-field-value{color:var(--color-copper-text);font-weight:700}.bulk-field-count{border-radius:var(--radius-pill);background:var(--color-primary);min-width:18px;height:18px;color:var(--color-white);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.bulk-field-chevron{color:var(--color-gray-400)}.bulk-field-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);min-width:168px;max-height:320px;box-shadow:0 12px 32px var(--color-gray-900-12), 0 2px 8px var(--color-gray-900-08);z-index:var(--z-chrome-raised);flex-direction:column;gap:1px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;overflow-y:auto}.bulk-option{border-radius:var(--radius-sm);width:100%;font-family:inherit;font-size:var(--font-size-body);color:var(--color-gray-800);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.bulk-option:hover{background:var(--color-gray-100)}.bulk-option.is-selected{background:var(--color-primary-soft);color:var(--color-copper-text);font-weight:600}.bulk-option--reset{color:var(--color-gray-500)}.bulk-option-rule{background:var(--color-border);height:1px;margin:4px 2px}.bulk-option-stars{letter-spacing:1px;color:var(--color-star-on-surface);font-size:15px}.bulk-option-stars-empty{color:var(--color-gray-300)}.bulk-option-icon{color:var(--color-gray-500);flex-shrink:0;display:inline-flex}.bulk-option--danger{color:var(--color-danger)}.bulk-option--danger:hover{background:var(--color-danger-soft)}.bulk-option--danger .bulk-option-icon{color:var(--color-danger)}.bulk-drill-menu{width:248px;overflow-x:hidden}.bulk-drill-panel{flex-direction:column;gap:1px;display:flex}.bulk-drill-panel--fwd{animation:bulk-drill-fwd var(--duration-fast) ease}.bulk-drill-panel--back{animation:bulk-drill-back var(--duration-fast) ease}@keyframes bulk-drill-fwd{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes bulk-drill-back{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.bulk-drill-panel--fwd,.bulk-drill-panel--back{animation:none}}.bulk-drill-row{border-radius:var(--radius-sm);width:100%;font-family:inherit;font-size:var(--font-size-body);color:var(--color-gray-800);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:9px 10px;display:flex}.bulk-drill-row:hover{background:var(--color-gray-100)}.bulk-drill-row-label{flex:1;min-width:0;font-weight:600}.bulk-drill-row-value{text-overflow:ellipsis;white-space:nowrap;max-width:108px;color:var(--color-copper-text);font-weight:700;overflow:hidden}.bulk-drill-chevron{color:var(--color-gray-400);flex-shrink:0}.bulk-drill-back{border-radius:var(--radius-sm);width:100%;font-family:inherit;font-size:var(--font-size-body);color:var(--color-gray-700);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:2px;padding:7px 8px;font-weight:700;display:flex}.bulk-drill-back:hover{background:var(--color-gray-100)}.bulk-drill-back svg{color:var(--color-gray-500)}.bulk-drill-sep{background:var(--color-border);height:1px;margin:5px 2px}.bulk-drill-apply{border-radius:var(--radius-md);background:var(--color-green);width:100%;color:var(--color-white);font-family:inherit;font-size:var(--font-size-body);cursor:pointer;transition:background var(--duration-fast);border:none;padding:9px 12px;font-weight:700}.bulk-drill-apply:hover:not(:disabled){background:var(--color-green-hover)}.bulk-drill-apply:disabled{background:var(--color-gray-200);color:var(--color-gray-400);cursor:default}.bulk-tag-body{flex-direction:column;display:flex}.bulk-tag-add{background:var(--color-surface);flex-direction:column;gap:6px;padding:2px 2px 8px;display:flex;position:sticky;top:0}.bulk-tag-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);width:100%;font-family:inherit;font-size:var(--font-size-body);color:var(--color-gray-900);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);outline:none;padding:7px 10px}.bulk-tag-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring)}.bulk-tag-add-btn{background:var(--color-primary-soft);color:var(--color-copper-text);border-radius:var(--radius-sm);cursor:pointer;border:none;align-self:flex-start;padding:6px 10px;font-family:inherit;font-size:12.5px;font-weight:600}.bulk-tag-add-btn:hover{background:var(--color-primary-tint)}.bulk-tag-list{border-top:1px solid var(--color-border);flex-direction:column;gap:1px;max-height:200px;padding-top:6px;display:flex;overflow-y:auto}.bulk-tag-option{border-radius:var(--radius-sm);width:100%;font-family:inherit;font-size:var(--font-size-body);color:var(--color-gray-800);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:7px 9px;display:flex}.bulk-tag-option:hover{background:var(--color-gray-100)}.bulk-tag-check{border:1.5px solid var(--color-gray-300);width:18px;height:18px;color:var(--color-white);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.bulk-tag-option.is-selected .bulk-tag-check{background:var(--color-primary);border-color:var(--color-primary)}.bulk-tag-name{text-overflow:ellipsis;overflow:hidden}.bulk-tag-empty{color:var(--color-gray-400);margin:0;padding:10px 9px;font-size:12.5px}.bulk-bar-error{color:var(--color-danger);text-align:center;width:100%;margin:0;font-size:12.5px;font-weight:600}.dinner-party-add-modal{width:min(520px,100%)}.dinner-party-add-fields{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.dinner-party-add-field{flex-direction:column;gap:5px;display:flex}.dinner-party-add-field span{text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-400);font-size:10.5px;font-weight:700}.dinner-party-add-field select{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);color:var(--color-gray-900);background-color:var(--color-surface);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;outline:none;padding:8px 30px 8px 10px;font-family:inherit;font-size:13px}.dinner-party-add-field select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring)}.dinner-party-add-field select:disabled{background-color:var(--color-gray-50);color:var(--color-gray-400);cursor:not-allowed}.dinner-party-add-empty{border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-gray-500);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px;font-size:13px;line-height:1.45;display:flex}.dinner-party-add-empty .secondary-button{flex-shrink:0}.dinner-party-add-recipes{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);max-height:190px;margin:0;padding:0;list-style:none;overflow-y:auto}.dinner-party-add-recipes li{color:var(--color-gray-800);grid-template-columns:minmax(0,1fr) minmax(150px,210px);align-items:center;gap:12px;padding:8px 12px;font-size:13px;font-weight:600;display:grid}.dinner-party-add-recipes li+li{border-top:1px solid var(--color-gray-100)}.dinner-party-add-recipe-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dinner-party-add-recipe-course{justify-self:end;align-items:center;gap:8px;display:flex}.dinner-party-add-recipe-course select{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);max-width:210px;color:var(--color-gray-900);background-color:var(--color-surface);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;outline:none;padding:6px 28px 6px 10px;font-family:inherit;font-size:13px}.dinner-party-add-recipe-course select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring)}.dinner-party-add-recipe-course select:disabled{background-color:var(--color-gray-50);color:var(--color-gray-400);cursor:not-allowed}.assign-field-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(560px,100%);max-height:calc(100vh - 40px);box-shadow:0 22px 50px var(--color-gray-900-18);flex-direction:column;gap:14px;padding:22px;display:flex;overflow:hidden}.assign-field-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.assign-field-modal-header h2{color:var(--color-gray-900);letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.analyze-all-modal .assign-field-modal-header h2{font-family:var(--font-serif)}.analyze-all-modal .assign-field-modal-row input[type=checkbox]{accent-color:var(--color-green)}.analyze-all-modal .primary-button{background:var(--color-green);border-color:var(--color-green)}.analyze-all-modal .primary-button:hover:not(:disabled){background:var(--color-green-hover);border-color:var(--color-green-hover)}.progress-hud{z-index:var(--z-overlay);border-radius:var(--radius-2xl);background:var(--color-surface);width:44px;height:44px;box-shadow:var(--shadow-floating-button);cursor:pointer;animation:progress-hud-in var(--duration-medium) ease-out both;border:none;place-items:center;padding:0;display:grid;position:fixed;bottom:24px;right:24px}@media (hover:hover){.progress-hud:hover{box-shadow:var(--shadow-floating-button-hover)}}.progress-hud:focus-visible{box-shadow:var(--shadow-floating-button), var(--shadow-focus-ring-strong);outline:none}.progress-hud>*{grid-area:1/1}.progress-hud-ring{box-sizing:border-box;border:3px solid var(--color-gray-200);border-top-color:var(--color-green);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite progress-hud-spin}.progress-hud-count{font-variant-numeric:tabular-nums;color:var(--color-gray-500);font-size:11px;font-weight:600;line-height:1}.progress-hud-count.is-long{font-size:9px}.progress-hud--error .progress-hud-ring{border-color:var(--color-danger);animation:none}.progress-hud--error .progress-hud-count{color:var(--color-danger)}.progress-hud-check{fill:none;width:32px;height:32px;stroke:var(--color-green);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.progress-hud-check-ring{transform-origin:50%;animation:progress-hud-draw var(--duration-flip) ease-out both;--progress-hud-from:.75;transform:rotate(-90deg)}.progress-hud-check-mark{animation:progress-hud-draw var(--duration-medium) ease-out var(--duration-flip) both;--progress-hud-from:1}.progress-hud.is-leaving{pointer-events:none;animation:progress-hud-out var(--duration-slow) ease-in forwards}@keyframes progress-hud-in{0%{opacity:0;transform:scale(.85)}}@keyframes progress-hud-out{to{opacity:0;transform:scale(.9)}}@keyframes progress-hud-spin{to{transform:rotate(360deg)}}@keyframes progress-hud-draw{0%{stroke-dashoffset:var(--progress-hud-from)}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.progress-hud,.progress-hud-check-ring,.progress-hud-check-mark{animation:none}.progress-hud-ring{animation-duration:2.4s}.progress-hud.is-leaving{animation:progress-hud-fade var(--duration-slow) ease-in forwards}@keyframes progress-hud-fade{to{opacity:0}}}@media (width<=767.98px),(pointer:coarse) and (hover:none){.progress-hud{right:12px;bottom:calc(var(--mobile-bottom-clearance,0px) + 10px)}}.assign-field-modal-description{color:var(--color-gray-600);margin:0;font-size:13px;line-height:1.5}.assign-field-modal-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.assign-field-modal-toggle-all{border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);color:var(--color-gray-700);cursor:pointer;background:0 0;padding:4px 10px;font-family:inherit;font-size:12.5px}.assign-field-modal-toggle-all:hover{background:var(--color-gray-100)}.assign-field-modal-count{color:var(--color-gray-500);font-size:12.5px}.assign-field-modal-list{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.assign-field-modal-item+.assign-field-modal-item{border-top:1px solid var(--color-gray-100)}.assign-field-modal-row{cursor:pointer;color:var(--color-gray-800);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.assign-field-modal-row input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;width:14px;height:14px}.assign-field-modal-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.assign-field-modal-progress{background:var(--color-gray-100);border-radius:var(--radius-3xs);height:6px;overflow:hidden}.assign-field-modal-progress-bar{background:var(--color-primary);height:100%;transition:width .18s}.assign-field-modal-summary{color:var(--color-gray-800);font-size:13px;line-height:1.4}.assign-field-modal-summary strong{color:var(--color-gray-900)}.assign-field-modal-errors{color:var(--color-gray-500);margin-top:8px;font-size:12.5px}.assign-field-modal-errors summary{cursor:pointer;-webkit-user-select:none;user-select:none}.assign-field-modal-errors ul{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:18px;display:flex}.assign-field-modal-error{color:var(--color-danger);margin:0;font-size:13px}.assign-field-modal-footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.name-conflict-modal{flex-direction:column;gap:12px;width:min(560px,100%);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.name-conflict-modal-description{color:var(--color-gray-600);margin:0;font-size:13px;line-height:1.5}.name-conflict-modal-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.name-conflict-modal-apply-label{color:var(--color-gray-500);font-size:12.5px;font-weight:600}.name-conflict-modal-apply-buttons{flex-wrap:wrap;gap:6px;display:flex}.name-conflict-modal-apply-btn{background:var(--color-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);color:var(--color-gray-700);cursor:pointer;padding:4px 10px;font-family:inherit;font-size:12.5px;font-weight:600}.name-conflict-modal-apply-btn:hover:not(:disabled){background:var(--color-gray-100)}.name-conflict-modal-apply-btn:disabled{opacity:.55;cursor:not-allowed}.name-conflict-modal-list{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.name-conflict-modal-item{flex-direction:column;gap:6px;padding:10px 12px;display:flex}.name-conflict-modal-item+.name-conflict-modal-item{border-top:1px solid var(--color-gray-100)}.name-conflict-modal-item-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.name-conflict-modal-item-name{font-size:var(--font-size-body);color:var(--color-gray-900);overflow-wrap:anywhere;font-weight:700}.name-conflict-modal-item-existing{color:var(--color-gray-500);font-size:12px}.name-conflict-modal-item-choices{flex-wrap:wrap;gap:6px;display:flex}.name-conflict-modal-choice{border:1px solid var(--color-gray-200);border-radius:var(--radius-xs);color:var(--color-gray-700);cursor:pointer;background:var(--color-surface);align-items:center;gap:5px;padding:4px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.name-conflict-modal-choice input[type=radio]{accent-color:var(--color-primary);cursor:pointer;width:13px;height:13px;margin:0}.name-conflict-modal-choice.is-selected{border-color:var(--color-primary);color:#b8501f;background:var(--color-primary-soft)}.name-conflict-modal-summary{color:var(--color-gray-600);margin:0;font-size:12.5px}.name-conflict-modal-summary strong{color:var(--color-gray-900)}.primary-button,.secondary-button{border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.primary-button{background:var(--color-primary);color:var(--color-white);border:1px solid var(--color-primary)}.primary-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.primary-button:disabled{opacity:.55;cursor:not-allowed}.secondary-button{background:var(--color-surface);color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.secondary-button:hover:not(:disabled){background:var(--color-gray-100)}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.content-overlay-host{display:contents}.mobile-top-bar,.mobile-bottom-bar,.mobile-drawer-backdrop,.primary-sidebar-mobile-close{display:none}@media (width<=767.98px),(pointer:coarse) and (hover:none){.app-layout{--mobile-bottom-bar-height:66px;--mobile-bottom-bar-footprint:calc(var(--mobile-bottom-bar-height) + 7.5px);--mobile-bottom-clearance:var(--mobile-bottom-bar-footprint);flex-direction:column;height:100%}.app-layout:has(>.pwa-install-banner){--mobile-bottom-clearance:calc(var(--mobile-bottom-bar-footprint) + var(--pwa-install-banner-height,0px) + 7.5px)}.rp-dir-num{font-size:13px}.mobile-top-bar{height:64px;padding:10px 20px 0 var(--mobile-top-bar-inset);--mobile-top-bar-inset:20px;background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:var(--z-chrome-raised);flex-shrink:0;align-items:center;gap:8px;margin-bottom:15px;display:flex}.mobile-top-bar:not(.mobile-top-bar--recipe){padding-right:var(--mobile-top-bar-inset);border-bottom:none;position:relative}.mobile-top-bar--library{--mobile-top-bar-inset:10px}.mobile-top-bar-btn{width:44px;height:44px;color:var(--color-gray-700);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-top-bar-btn:hover,.mobile-top-bar-btn:focus-visible{background:var(--color-gray-100);outline:none}.mobile-top-bar--recipe{background:0 0;border-bottom:none;gap:4px;height:52px;position:fixed;top:10px;left:0;right:0}.mobile-top-bar-back{width:38px;height:38px;color:var(--color-gray-900);background:#ffffffeb;border-radius:50%;flex:none;box-shadow:0 2px 8px #00000040}.mobile-top-bar-back:hover,.mobile-top-bar-back:focus-visible{background:var(--color-surface)}.mobile-top-bar-pill{border-radius:var(--radius-md);width:auto;height:34px;box-shadow:0 2px 8px var(--color-gray-900-18);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.mobile-top-bar-pill:disabled{opacity:.5;cursor:default}.mobile-top-bar-pill--edit{background:var(--color-surface);color:var(--color-green);margin-left:auto}.mobile-top-bar-pill--save{background:var(--color-green);color:var(--color-white)}.mobile-top-bar-pill--cancel{background:var(--color-surface);color:var(--color-gray-900);margin-left:auto}.rp-history-buttons--topbar{margin-left:auto}.rp-history-buttons--topbar+.mobile-top-bar-pill--cancel{margin-left:4px}.rp-history-buttons--topbar .rp-history-btn{background:var(--color-surface);width:34px;height:34px;color:var(--color-gray-900);box-shadow:0 2px 8px var(--color-gray-900-18);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.recipe-page .rp-edit-save,.recipe-page .rp-save-split{display:none}.rp-phone-save-bar .rp-edit-save,.rp-phone-save-bar .rp-save-split{display:inline-flex}.mobile-drawer-backdrop{z-index:var(--z-scrim);cursor:pointer;background:#11182766;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.primary-sidebar{visibility:hidden;width:min(280px,86vw);min-width:0;height:100dvh;z-index:var(--z-panel);box-shadow:4px 0 18px var(--color-gray-900-18);transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(calc(-100% - 24px))}.primary-sidebar--mobile-open{visibility:visible;transition-delay:0s;transform:translate(0)}.primary-sidebar:not(.primary-sidebar--mobile-open) :is(.nav-item,.pinned-recipe-item,.pinned-recipe-name){transition:none}.primary-sidebar--collapsed .logo{flex-direction:row;justify-content:flex-start;gap:10px;padding:18px 16px}.primary-sidebar--collapsed .logo-text,.primary-sidebar--collapsed .nav-item span{display:inline}.primary-sidebar--collapsed .primary-nav,.primary-sidebar--collapsed .primary-sidebar-actions{align-items:stretch;padding-left:14px;padding-right:14px}.primary-sidebar--collapsed .nav-item{justify-content:flex-start;width:100%;height:auto;padding:9px 10px}.primary-sidebar-toggle{display:none}.primary-sidebar-mobile-close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-gray-500);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.primary-sidebar-mobile-close:hover,.primary-sidebar-mobile-close:focus-visible{background:var(--color-gray-100);color:var(--color-gray-700);outline:none}.main-content{padding-right:0}.recipes-view{padding:10px 10px calc(var(--mobile-bottom-clearance) + 10px)}.recipe-search-results{row-gap:10px;margin:-10px 0 10px;padding:4px 10px}.recipe-search-results-count{color:var(--color-gray-900);font-size:17px;font-weight:600}.recipe-search-results-actions{flex-basis:100%}.recipes-header{display:none}.recipe-grid{gap:var(--recipe-grid-row-gap-mobile) var(--recipe-grid-gap-mobile);grid-template-columns:repeat(2,1fr)}.recipe-grid .recipe-card{height:var(--recipe-card-height-mobile);min-height:var(--recipe-card-height-mobile)}.recipe-grid-ghost-card{height:var(--recipe-card-height-mobile)}.recipe-card:hover{box-shadow:none;transform:none}.recipe-card .card-name{text-shadow:var(--shadow-mobile-hero);font-size:17.16px}.recipe-card .card-menu-btn{position:relative}.recipe-card .card-menu-btn:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.recipe-card .card-menu-wrap.open .card-menu-btn:after{content:none}.recipe-card .card-menu-item{width:28px;height:28px}.recipe-card .card-menu,.recipe-card .card-menu-wrap.open{gap:0}.recipe-card .card-saved-pill{display:none}.recipe-card .card-select-toggle{transform:none}.recipes-view:not(.recipes-view--selection-mode) .card-select-toggle:focus-visible:not(.selected){opacity:0;transform:none}.recipe-card-link{-webkit-touch-callout:none}.bulk-bar-wrap{left:0;right:0;bottom:var(--mobile-bottom-clearance);padding:0 7.5px;position:fixed}.bulk-bar-thumbs{display:none}.bulk-bar{box-shadow:var(--shadow-panel);border-radius:20px;gap:8px 10px;padding:11px 13px}.bulk-bar-actions .bulk-field-trigger{padding:10px 12px}.bulk-field-menu{max-width:calc(100vw - 28px)}.bulk-drill-menu{width:min(248px,100vw - 28px)}.recipes-view--has-bulk-bar{padding-bottom:calc(var(--mobile-bottom-clearance) + 81px)}.mobile-top-bar-home{cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;height:100%;padding:0;transition:opacity .28s;display:inline-flex;overflow:hidden}.mobile-top-bar-logo{object-fit:contain;flex-shrink:0;width:52px;height:52px}.mobile-top-bar-wordmark{font-family:var(--font-serif);color:var(--color-gray-900);letter-spacing:-.65px;-webkit-text-stroke-width:.2px;font-size:35px;font-weight:400;transform:translateY(7px)}.mobile-top-bar-search-open,.mobile-top-bar-search-close{border-radius:var(--radius-2xl);background:var(--color-green);width:44px;height:44px;color:var(--color-white);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;margin-top:10px;padding:0;display:inline-flex}.mobile-top-bar-new{border-radius:var(--radius-2xl);background:var(--color-primary);height:44px;color:var(--color-white);cursor:pointer;transition:opacity var(--duration-medium) ease 80ms;border:none;flex:none;align-items:center;gap:6px;margin-top:10px;padding:0 14px;font-size:.9375rem;font-weight:600;display:inline-flex}.mobile-top-bar-new:hover,.mobile-top-bar-new:focus-visible{background:var(--color-primary-hover)}.mobile-top-bar--searching .mobile-top-bar-new{opacity:0;visibility:hidden;transition:opacity var(--duration-fast) ease, visibility 0s linear var(--duration-fast)}.mobile-top-bar-search-close{right:var(--mobile-top-bar-inset);z-index:2;transition:opacity var(--duration-fast) ease;position:absolute}.mobile-top-bar-search-open{z-index:2;position:relative}.mobile-top-bar--searching .mobile-top-bar-search-open{visibility:hidden;transition:visibility 0s linear var(--duration-fast)}.mobile-top-bar-filter{border:1px solid var(--color-gray-300);border-radius:var(--radius-2xl);background:var(--color-surface);width:44px;height:44px;color:var(--color-gray-900);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.mobile-top-bar:not(.mobile-top-bar--searching) .mobile-top-bar-filter{visibility:hidden;transition:visibility 0s linear .28s}.mobile-top-bar-filter--active{border-color:var(--color-green);color:var(--color-green)}.mobile-top-bar-filter-badge{border-radius:var(--radius-pill);background:var(--color-green);min-width:18px;height:18px;color:var(--color-white);text-align:center;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-6px;right:-6px}.mobile-top-bar-search{left:var(--mobile-top-bar-inset);right:calc(var(--mobile-top-bar-inset) + 22px);z-index:1;height:44px;margin-top:10px;position:absolute;overflow-x:clip}.mobile-top-bar:not(.mobile-top-bar--searching) .mobile-top-bar-search{pointer-events:none}.mobile-top-bar-search-train{align-items:center;gap:8px;height:100%;padding-right:30px;transition:transform .28s;display:flex}.mobile-top-bar:not(.mobile-top-bar--searching) .mobile-top-bar-search-train{transform:translate(100%)}@media (prefers-reduced-motion:reduce){.mobile-top-bar-search-train{transition:none}}.mobile-top-bar:not(.mobile-top-bar--searching) .mobile-top-bar-search-close{opacity:0;visibility:hidden;transition:opacity var(--duration-fast) ease, visibility 0s linear var(--duration-fast)}.mobile-top-bar--searching .mobile-top-bar-home{opacity:0;pointer-events:none}.mobile-top-bar-search .recipe-search-input-wrap,.menus-phone-search .recipe-search-input-wrap{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-gray-400)}.mobile-top-bar-search input,.menus-phone-search input{width:100%;min-width:0;height:100%;color:var(--color-gray-900);appearance:none;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.mobile-top-bar-search input::placeholder,.menus-phone-search input::placeholder{color:var(--color-gray-400)}.mobile-top-bar-search input::-webkit-search-cancel-button{appearance:none}.menus-phone-search input::-webkit-search-cancel-button{appearance:none}.mobile-top-bar-search input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.mobile-top-bar-search input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.mobile-top-bar-search input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.menus-phone-search input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.menus-phone-search input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.menus-phone-search input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-gray-900);transition:background-color 9999s ease-in-out}.app-layout:has(>.mobile-filter-pills-shell)>.main-content{will-change:transform}.mobile-filter-pills-shell{position:relative}.mobile-filter-pills-shell-track{transition:opacity .28s;overflow:hidden}.mobile-filter-pills-shell:not(.is-open) .mobile-filter-pills-shell-track{opacity:0;visibility:hidden;transition:opacity .28s,visibility 0s linear .28s;position:absolute;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.mobile-filter-pills-shell-track,.mobile-filter-pills-shell:not(.is-open) .mobile-filter-pills-shell-track{transition:none}}.mobile-filter-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:8px;min-height:46px;margin-top:-2px;padding:2px 20px 12px;display:flex;overflow:auto hidden}.mobile-filter-chips::-webkit-scrollbar{display:none}.mobile-filter-chip-wrap{flex:none}.mobile-filter-chip{border-radius:var(--radius-pill);background-color:var(--color-gray-200);height:32px;color:var(--color-gray-900);font:inherit;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;outline:none;align-items:center;gap:6px;padding:0 10px 0 14px;font-size:14px;font-weight:600;display:inline-flex}.mobile-filter-chip:active{background-color:var(--color-gray-300)}.mobile-filter-chip:focus-visible{box-shadow:var(--shadow-focus-ring-strong)}.mobile-filter-chip-icon{--color-surface:var(--color-gray-200);flex:none;margin-left:-2px;display:inline-flex}.mobile-filter-chip:active .mobile-filter-chip-icon{--color-surface:var(--color-gray-300)}.mobile-filter-chip-icon svg{width:16px;height:16px}.mobile-filter-chip-icon[data-facet=savedOnly]{color:var(--color-green)}.mobile-filter-chip-icon[data-facet=priorityOnly]{color:var(--color-priority)}.mobile-filter-chip-icon[data-facet=rating]{color:var(--color-star-on-surface)}.mobile-filter-chip-icon[data-facet=allergens]{color:var(--color-danger)}.mobile-filter-chip-x{color:var(--color-gray-600);flex:none}@keyframes mfc-chip-in{0%{opacity:0;transform:translate(-14px)scale(.86)}to{opacity:1;transform:none}}.mobile-filter-pills-shell.is-open .mobile-filter-chip{animation:.4s cubic-bezier(.34,1.336,.64,1) backwards mfc-chip-in;animation-delay:var(--mfc-delay,0s)}@media (prefers-reduced-motion:reduce){.mobile-filter-pills-shell.is-open .mobile-filter-chip{animation:none}}.mobile-bottom-bar{height:var(--mobile-bottom-bar-height);background:var(--color-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:var(--shadow-panel);z-index:var(--z-chrome-raised);transform-origin:bottom;align-items:stretch;gap:6px;padding:2px 6px;transition:opacity .28s,transform .28s;display:flex;position:absolute;bottom:0;left:0;right:0}.mobile-bottom-bar.hidden{opacity:0;pointer-events:none;transform:translateY(100%)}@media (prefers-reduced-motion:reduce){.mobile-bottom-bar{transition:none}}.settings-version{bottom:calc(var(--mobile-bottom-clearance) + 10px)}.settings-view{padding-bottom:calc(var(--mobile-bottom-clearance) + 40px)}.grocery-view{padding-bottom:calc(var(--mobile-bottom-clearance) + 48px)}.pinned-recipes-fab{left:12px;bottom:calc(var(--mobile-bottom-clearance) + 10px);z-index:var(--z-fab);background:var(--color-surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-panel);color:var(--color-green);cursor:pointer;border:none;align-items:center;gap:8px;padding:9px 14px;display:inline-flex;position:fixed}.pinned-recipes-fab--bottom-edge{bottom:12px}.pinned-recipes-fab-count{font-weight:700;font-size:var(--font-size-body);color:var(--color-gray-900)}.pinned-recipes-fab-label{vertical-align:bottom;transition:grid-template-columns calc(var(--duration-medium) * 1.3) cubic-bezier(.87, 0, .13, 1), margin-left calc(var(--duration-medium) * 1.3) cubic-bezier(.87, 0, .13, 1);grid-template-columns:0fr;margin-left:0;display:inline-grid}.pinned-recipes-fab-label-text{white-space:nowrap;opacity:0;transition:opacity calc(var(--duration-medium) * 1.3) cubic-bezier(.87, 0, .13, 1);overflow:hidden}.pinned-recipes-fab-label--expanded{grid-template-columns:1fr;margin-left:.3em}.pinned-recipes-fab-label--expanded .pinned-recipes-fab-label-text{opacity:1}@media (prefers-reduced-motion:reduce){.pinned-recipes-fab-label,.pinned-recipes-fab-label-text{transition:none}}.pwa-install-banner{left:0;right:0;bottom:var(--mobile-bottom-bar-footprint);background:var(--color-surface);border-radius:var(--radius-4xl);box-shadow:var(--shadow-panel);z-index:var(--z-chrome-raised);align-items:center;gap:12px;margin:0 7.5px;padding:10px 12px;display:flex;position:absolute}.pwa-install-banner-icon{border-radius:var(--radius-xl);flex-shrink:0;width:40px;height:40px}.pwa-install-banner-body{flex:1;min-width:0}.pwa-install-banner-title{font-family:var(--font-serif);font-size:var(--font-size-card-title);color:var(--color-gray-900);-webkit-text-stroke-width:.3px;margin:0;font-weight:600;line-height:110%}.pwa-install-banner-text{color:var(--color-gray-600);margin:2px 0 0;font-size:14px;line-height:1.35}.pwa-install-banner-text svg{vertical-align:-3px;color:var(--color-link);margin:0 1px}.pwa-install-banner-action{border-radius:var(--radius-xl);background:var(--color-primary);color:var(--color-white);font-weight:600;font-size:var(--font-size-body);cursor:pointer;border:none;flex-shrink:0;padding:8px 16px}.pwa-install-banner-action:active{background:var(--color-primary-hover)}.pwa-install-banner-close{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.pwa-install-banner-close:active{background:var(--color-surface-hover)}.mobile-bottom-bar-highlight{background:var(--color-bottom-bar-selected);border-radius:var(--radius-xl);z-index:0;pointer-events:none;position:absolute;top:5px;bottom:5px;left:0}.mobile-bottom-bar-highlight.animate{transition:transform .42s cubic-bezier(.34,1.56,.64,1),width .42s cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion:reduce){.mobile-bottom-bar-highlight.animate{transition:none}}.mobile-bottom-bar-item{z-index:1;color:var(--color-gray-500);letter-spacing:-.1px;cursor:pointer;border-radius:var(--radius-xl);min-width:0;transition:color var(--duration-medium) ease;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;margin:0;padding:0 4px;font-size:13px;font-weight:500;display:flex;position:relative}.mobile-bottom-bar-item svg{width:22px;height:22px}.mobile-bottom-bar-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-bottom-bar-item.active{color:var(--color-nav-selected-ink);font-weight:550}.rp-content{padding:0 20px calc(40px + env(safe-area-inset-bottom));--rp-content-pad-skew:0px}.rp-hero{margin-bottom:0}.recipe-page:not(.rp-readonly) .rp-hero{margin-bottom:18px}.rp-hero-photo{aspect-ratio:auto;height:calc(var(--app-height,100svh) * .46);min-height:300px;max-height:460px;box-shadow:none;border-radius:0;margin:0 -20px}.rp-hero-overlay .rp-title{font-size:29px;text-shadow:var(--shadow-mobile-hero)!important}.rp-hero-rating-row{margin-top:5px}.rp-hero-overlay .rp-save-toggle{display:none}.rp-body{grid-template-columns:1fr;gap:16px}.rp-body,.rp-nutrition-card,.rp-notes-card{margin-bottom:32px}.rp-meta-row{flex-direction:column;gap:14px}.rp-meta-left{flex:none}.rp-hero-saved-chip{display:none}.rp-ing-drag-handle,.rp-ing-handle-trigger{display:none!important}.rp-ingredient-list{grid-template-columns:minmax(20px,max-content) minmax(40px,1fr)}.rp-ingredient-group-heading{column-gap:6px}.rp-group-drag-handle{width:16px}.rp-back-btn{display:none}.rp-dir-item.active{background:var(--color-primary-soft)}.rp-cooking .rp-dir-item.active{background:var(--color-copper-soft)}.rp-card-header--mep h2,.rp-card-header--directions h2{font-family:var(--font-serif);text-transform:none;letter-spacing:normal;color:var(--color-gray-900);font-size:26.4px}.rp-card-header--mep .rp-card-header-icon,.rp-card-header--directions .rp-card-header-icon{flex-shrink:0;width:1em;height:1em;font-size:26.4px}.rp-ingredient-select-btn{width:28px;min-width:28px;height:28px}.dinner-party-view{padding:14px 14px calc(var(--mobile-bottom-clearance) + 14px)}.dinner-party-menus-view{padding:calc(env(safe-area-inset-top,0px) + 20px) 20px calc(var(--mobile-bottom-clearance) + 20px)}.menus-grid{gap:8px}.menus-phone-header{margin-bottom:12px;position:relative}.menus-phone-actions{align-items:center;margin-right:-10px;display:flex}.menus-phone-btn{border-radius:var(--radius-2xl);width:44px;height:44px;color:var(--color-gray-900);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.menus-phone-btn:focus-visible{outline:2px solid var(--color-green);outline-offset:-2px}.menus-phone-search{opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease;align-items:center;gap:4px;display:flex;position:absolute;inset:0 -10px 0 0}.menus-phone-search .recipe-search-input-wrap{height:44px}.menus-phone-header--searching .menus-phone-search{opacity:1;pointer-events:auto}.menus-phone-header:not(.menus-phone-header--searching) .menus-phone-search-close{visibility:hidden;transition:visibility 0s linear var(--duration-fast)}.menus-phone-header>h1,.menus-phone-actions{transition:opacity var(--duration-fast) ease}.menus-phone-header--searching>h1,.menus-phone-header--searching .menus-phone-actions{opacity:0;visibility:hidden;transition:opacity var(--duration-fast) ease, visibility 0s linear var(--duration-fast)}@media (prefers-reduced-motion:reduce){.menus-phone-search,.menus-phone-header>h1,.menus-phone-actions{transition:none}}.menus-sort-row{justify-content:flex-end;margin-bottom:12px;display:flex}.menu-phone{max-width:720px;padding:0 20px calc(env(safe-area-inset-bottom,0px) + 28px);margin:0 auto}.menu-phone-header{z-index:var(--z-sticky);padding:calc(env(safe-area-inset-top,0px) + 14px) 12px 16px 8px;background:var(--color-surface);align-items:flex-start;gap:6px;margin:0 -20px;display:flex;position:sticky;top:0}.menu-phone-icon-btn{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--color-gray-900);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.menu-phone-icon-btn:active,.menu-phone-icon-btn[aria-expanded=true]{background:var(--color-gray-100)}.menu-phone-icon-btn:focus-visible{outline:2px solid var(--color-green);outline-offset:-2px}.menu-phone-header .menu-phone-icon-btn{margin-top:-5px}.menu-phone-heading{flex:1;min-width:0}.menu-phone-title{font-family:var(--font-serif);font-size:var(--font-size-screen-title);letter-spacing:-.2px;color:var(--color-gray-900);-webkit-text-stroke-width:.2px;overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.15}.menu-phone-meta{color:var(--color-gray-500);flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:6px;font-size:15px;display:flex}.menu-phone-meta-item{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex;position:relative}.menu-phone-meta-item svg{flex:none}.menu-phone-meta-sep{color:var(--color-gray-400)}.menu-phone-date-input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.menu-phone-tabs{gap:8px;padding:2px 0 18px;display:flex}.menu-phone-tab{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-subtle);min-width:max-content;height:40px;font:inherit;color:var(--color-gray-700);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1 1 0;padding:0 14px;font-size:16px;font-weight:500}.menu-phone-tab--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white);font-weight:600}.menu-phone-tab:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.menu-phone .menu-conflicts{margin-top:16px}.menu-phone-panel--ingredients{border-top:1px solid var(--color-divider);padding-top:12px}.menu-phone .menu-ingredients-footer{padding:12px 20px calc(env(safe-area-inset-bottom,0px) + 12px);margin:12px -20px 0}.menu-phone-course{padding:18px 0 14px}.menu-phone-course+.menu-phone-course{border-top:1px solid var(--color-divider)}.menu-phone-course:first-child{padding-top:4px}.menu-phone-course-header{align-items:center;gap:2px;display:flex}.menu-phone-course-title{min-width:0;font-family:var(--font-serif);color:var(--color-gray-900);-webkit-text-stroke-width:.3px;overflow-wrap:anywhere;flex:1;margin:0;font-size:22px;font-weight:600;line-height:1.2}.menu-phone-course-note{color:var(--color-gray-400);margin:6px 0 0;font-size:15px}.menu-phone-dishes{margin:8px 0 0;padding:0;list-style:none}.menu-phone-dish{position:relative}.menu-phone-dish+.menu-phone-dish:before{content:"";border-top:1px solid var(--color-divider);position:absolute;top:0;left:84px;right:0}.menu-phone-dish-btn{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:14px;padding:8px 0;display:flex}.menu-phone-dish-btn:focus-visible{outline:2px solid var(--color-green);outline-offset:2px;border-radius:var(--radius-2xl)}.menu-phone-dish-thumb{border-radius:var(--radius-2xl);background:var(--color-gray-100);flex:none;width:70px;height:64px;overflow:hidden}.menu-phone-dish-thumb img{object-fit:cover;width:100%;height:100%;display:block}.menu-phone-dish-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.menu-phone-dish-name{font-family:var(--font-serif);color:var(--color-gray-900);-webkit-text-stroke-width:.2px;overflow-wrap:anywhere;font-size:18px;font-weight:600;line-height:1.25}.menu-phone-dish-meta{color:var(--color-gray-500);flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:15px;display:flex}.menu-phone-dish-diet{align-items:center;gap:5px;display:inline-flex}.menu-phone-dish-diet svg{width:16px;height:16px;color:var(--color-menu-green);flex:none}.menu-phone-add-dish{border:1.5px dashed var(--color-gray-300);border-radius:var(--radius-4xl);width:100%;min-height:60px;font:inherit;color:var(--color-gray-600);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:0 16px;font-size:16px;font-weight:600;display:flex}.menu-phone-add-dish:active{background:var(--color-gray-50)}.menu-phone-add-dish:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.menu-phone-add-course{border-radius:var(--radius-4xl);background:var(--color-green);width:100%;height:52px;font:inherit;color:var(--color-white);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:10px;margin-top:20px;font-size:18px;font-weight:600;display:flex}.menu-phone-add-course:active{background:var(--color-green-hover)}.menu-phone-add-course:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.menu-phone-sheet-choices{flex-direction:column;display:flex}.menu-phone-sheet-choice{border:none;border-bottom:1px solid var(--color-divider);min-height:48px;font:inherit;color:var(--color-gray-900);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;padding:0 4px;font-size:17px;display:flex}.menu-phone-sheet-choice:last-child{border-bottom:none}.menu-phone-sheet-choice:active{background:var(--color-gray-100)}.menu-phone-sheet-body{flex-direction:column;display:flex}.menu-phone-sheet-view{border-radius:var(--radius-2xl);background:var(--color-green);height:48px;font:inherit;color:var(--color-white);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;margin-bottom:6px;font-size:17px;font-weight:600;display:flex}.menu-phone-sheet-view:active{background:var(--color-green-hover)}.menu-phone-sheet-view:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.menu-phone-sheet-row{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:16px;min-height:56px;display:flex}.menu-phone-sheet-label{color:var(--color-gray-900);font-size:17px}.menu-phone-sheet-select{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);min-width:0;max-width:62%;min-height:40px;font:inherit;color:var(--color-gray-900);padding:0 10px;font-size:16px}.menu-phone-sheet-remove{min-height:56px;font:inherit;color:var(--color-danger);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;font-size:17px;display:flex}.menu-phone-tone--coral{--tone:var(--color-menu-coral);--tone-soft:var(--color-menu-coral-soft);--tone-ink:var(--color-gray-800)}.menu-phone-tone--green{--tone:var(--color-menu-green);--tone-soft:var(--color-menu-green-soft);--tone-ink:var(--color-green-muted)}.menu-phone-tone--blue{--tone:var(--color-menu-blue);--tone-soft:var(--color-menu-blue-soft);--tone-ink:var(--color-gray-800)}.menu-phone-tone--amber{--tone:var(--color-menu-amber);--tone-soft:var(--color-menu-amber-soft);--tone-ink:var(--color-gray-800)}.menu-phone-tone--violet{--tone:var(--color-menu-violet);--tone-soft:var(--color-menu-violet-soft);--tone-ink:var(--color-gray-800)}.menu-phone-tone--rose{--tone:var(--color-menu-rose);--tone-soft:var(--color-menu-rose-soft);--tone-ink:var(--color-gray-800)}.menu-phone-guests-summary{border-radius:var(--radius-4xl);background:var(--color-primary-soft);grid-template-columns:auto minmax(0,1fr);margin-bottom:18px;padding:14px 0;display:grid}.menu-phone-guests-stat{align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.menu-phone-guests-stat+.menu-phone-guests-stat{border-left:1px solid var(--color-primary-border)}.menu-phone-guests-stat-icon{border-radius:var(--radius-pill);background:var(--color-primary-tint);width:34px;height:34px;color:var(--color-primary);flex:none;justify-content:center;align-items:center;display:flex}.menu-phone-guests-stat-icon svg{width:18px;height:18px}.menu-phone-guests-stat-text{min-width:0;color:var(--color-gray-500);flex-direction:column;gap:2px;font-size:12px;line-height:1.3;display:flex}.menu-phone-guests-stat-text strong{color:var(--color-gray-900);font-size:15px;font-weight:600}.menu-phone-guests-stat-text span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.menu-phone-guest-list{border-top:1px solid var(--color-divider);margin:0;padding:0;list-style:none}.menu-phone-guest{border-bottom:1px solid var(--color-divider)}.menu-phone-guest-btn{width:100%;min-height:92px;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:16px;padding:14px 0;display:flex}.menu-phone-guest-btn:focus-visible{outline:2px solid var(--color-green);outline-offset:2px;border-radius:var(--radius-2xl)}.menu-phone-guest-avatar{border-radius:var(--radius-pill);background:var(--tone-soft);width:60px;height:60px;color:var(--tone);flex:none;justify-content:center;align-items:center;font-size:24px;font-weight:600;display:flex}.menu-phone-guest-text{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.menu-phone-guest-name{color:var(--color-gray-900);overflow-wrap:anywhere;font-size:18px;font-weight:600;line-height:1.25}.menu-phone-guest-name--empty{color:var(--color-gray-400)}.menu-phone-guest-needs{flex-wrap:wrap;gap:6px;display:flex}.menu-phone-need{border-radius:var(--radius-pill);background:var(--tone-soft,var(--color-gray-100));min-height:30px;color:var(--tone-ink,var(--color-gray-600));align-items:center;gap:5px;padding:0 12px;font-size:15px;line-height:1.2;display:inline-flex}.menu-phone-guest-chevron{color:var(--color-gray-400);flex:none}.menu-phone-add-guest{border:1.5px solid var(--color-primary);border-radius:var(--radius-pill);width:100%;height:56px;font:inherit;color:var(--color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:center;align-items:center;gap:10px;margin-top:24px;font-size:18px;font-weight:600;display:flex}.menu-phone-add-guest:active{background:var(--color-primary-soft-4)}.menu-phone-add-guest:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.modal-backdrop--sheet>[role=dialog].modal-sheet.menu-phone-guest-sheet{padding-bottom:0}.menu-phone-guest-form-body{flex-direction:column;gap:14px;padding-top:4px;display:flex}.menu-phone-need-card{border:1px solid var(--color-border);border-radius:var(--radius-4xl);background:var(--color-surface)}.menu-phone-need-card-head{border-radius:inherit;width:100%;min-height:84px;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:14px;padding:12px 16px;display:flex}.menu-phone-need-card-head:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.menu-phone-need-card-icon{border-radius:var(--radius-pill);background:var(--tone-soft);width:52px;height:52px;color:var(--tone);flex:none;justify-content:center;align-items:center;display:flex}.menu-phone-need-card-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.menu-phone-need-card-title{color:var(--color-gray-900);font-size:17px;font-weight:600}.menu-phone-need-card-value{color:var(--color-gray-500);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.menu-phone-need-card-chevron{color:var(--color-gray-500);transition:transform var(--duration-disclosure) var(--ease-disclosure);flex:none}.menu-phone-need-card--open .menu-phone-need-card-chevron{transform:rotate(-90deg)}.menu-phone-need-card .menu-phone-need-options{padding:4px 16px 16px}.menu-phone-quick-picks{border-radius:var(--radius-4xl);background:var(--color-gray-100);flex-direction:column;gap:4px;padding:16px;display:flex}.menu-phone-quick-picks-title{color:var(--color-gray-900);font-size:17px;font-weight:600}.menu-phone-quick-picks-hint{color:var(--color-gray-500);margin-bottom:10px;font-size:14px}.menu-phone-guest-remove{align-self:flex-start}.menu-phone-guest-form-actions{z-index:1;padding:14px 18px calc(16px + var(--sab,env(safe-area-inset-bottom)));background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0 -18px;display:grid;position:sticky;bottom:0}.menu-phone-guest-cancel,.menu-phone-guest-save{border-radius:var(--radius-4xl);min-height:54px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:17px;font-weight:600}.menu-phone-guest-cancel{border:1px solid var(--color-border);background:var(--color-gray-100);color:var(--color-gray-700)}.menu-phone-guest-save{background:var(--color-primary);color:var(--color-white);border:none}.menu-phone-guest-save:not(:disabled):active{background:var(--color-primary-hover)}.menu-phone-guest-save:disabled{opacity:.45;cursor:default}.menu-phone-guest-cancel:focus-visible,.menu-phone-guest-save:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.menu-phone-need-options{flex-wrap:wrap;gap:8px;display:flex}.menu-phone-need-option{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;font:inherit;color:var(--color-gray-700);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:15px}.menu-phone-need-option[aria-pressed=true]{background:var(--tone-soft,var(--color-gray-100));color:var(--tone-ink,var(--color-gray-800));border-color:#0000;font-weight:600}.menu-phone-need-option:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}}.pubr-root{background:var(--color-surface);min-height:100vh;color:var(--color-gray-700);flex-direction:column;display:flex}.pubr-topbar{z-index:var(--z-sticky);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.pubr-brand{color:var(--color-gray-900);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.pubr-brand-mark{font-size:1.25rem}.pubr-main{flex:1;width:100%;max-width:860px;margin:0 auto;padding:24px 20px 64px}.pubr-state{text-align:center;color:var(--color-gray-500);flex-direction:column;align-items:center;gap:12px;padding:80px 20px;display:flex}.pubr-state-title{color:var(--color-gray-900);font-size:1.4rem}.pubr-btn{border-radius:var(--radius-xl);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.pubr-btn-primary{background:var(--color-primary);color:var(--color-white)}.pubr-btn-primary:hover{background:var(--color-primary-hover)}.pubr-btn-primary:disabled{opacity:.6;cursor:default}.pubr-owner-note{color:var(--color-gray-500);font-size:.9rem}.pubr-owner-note a{color:var(--color-primary);text-decoration:none}.pubr-cta-wrap{align-items:center;gap:10px;display:inline-flex}.pubr-cta-error{color:var(--color-danger);font-size:.85rem}.pubr-hero{aspect-ratio:3/2;border-radius:var(--radius-4xl);background:var(--color-gray-100);width:100%;margin-bottom:20px;overflow:hidden}.pubr-hero img{object-fit:cover;width:100%;height:100%;display:block}.pubr-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:20px;display:grid}.pubr-gallery-item{aspect-ratio:3/2;border-radius:var(--radius-2xl);background:var(--color-gray-100);overflow:hidden}.pubr-gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.pubr-title{color:var(--color-gray-900);margin-bottom:12px;font-size:2rem;line-height:1.15}.pubr-meta{color:var(--color-gray-500);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;font-size:.95rem;display:flex}.pubr-meta-item{white-space:nowrap}.pubr-meta-tag{background:var(--color-primary-soft);color:var(--color-primary-hover);border-radius:var(--radius-pill);text-transform:capitalize;padding:2px 10px;font-size:.82rem;font-weight:600}.pubr-attributes{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.pubr-attribute{background:var(--color-gray-100);color:var(--color-gray-500);border-radius:var(--radius-pill);padding:2px 10px;font-size:.8rem}.pubr-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:36px;display:grid}.pubr-section{margin-bottom:28px}.pubr-section-title{color:var(--color-gray-900);border-bottom:2px solid var(--color-border);margin-bottom:14px;padding-bottom:8px;font-size:1.25rem}.pubr-nutrition-scope{color:var(--color-gray-400);font-size:.85rem;font-weight:400}.pubr-ing-group{margin-bottom:16px}.pubr-ing-group-title{color:var(--color-gray-700);margin-bottom:8px;font-size:.95rem}.pubr-ingredients{grid-template-columns:max-content minmax(0,1fr);align-content:start;column-gap:10px;display:grid}.pubr-ingredients>*,.pubr-ing-group>*,.pubr-equipment>*{grid-column:1/-1}.pubr-ing-group,.pubr-equipment,.pubr-ing-list{grid-template-columns:subgrid;display:grid}.pubr-ing-list{margin:0;padding:0;list-style:none}.pubr-ing{grid-column:1/-1;grid-template-columns:subgrid;border-bottom:1px solid var(--color-gray-100);padding:7px 0;font-size:.95rem;display:grid}.pubr-ing-amount{color:var(--color-primary);white-space:nowrap;font-weight:600}.pubr-ing-item{color:var(--color-gray-700);grid-column:2}.pubr-ing-item:first-child{grid-column:1/-1}.pubr-ing-modifier{color:var(--color-gray-500)}.pubr-ing-note{color:var(--color-gray-400);font-size:.88rem}.pubr-step-list{counter-reset:none;margin:0;padding:0;list-style:none}.pubr-step{border-bottom:1px solid var(--color-gray-100);gap:14px;padding:14px 0;display:flex}.pubr-step-num{background:var(--color-primary);width:30px;height:30px;color:var(--color-white);text-align:center;text-box:trim-both cap alphabetic;border-radius:50%;flex-shrink:0;align-content:center;font-size:.9rem;font-weight:700;display:block}.pubr-step-body{flex:1;min-width:0}.pubr-step-title{color:var(--color-gray-900);margin-bottom:4px;font-size:1rem}.pubr-step-text{color:var(--color-gray-700);white-space:pre-wrap;line-height:1.6}.pubr-step-note{color:var(--color-gray-500);margin-top:6px;font-size:.9rem;font-style:italic}.pubr-step-image{border-radius:var(--radius-2xl);max-width:320px;margin-top:10px;overflow:hidden}.pubr-step-image img{width:100%;display:block}.pubr-step-section{padding:18px 0 2px}.pubr-step-section:first-child{padding-top:0}.pubr-step-section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--color-green-muted);margin:0;font-size:.8rem;font-weight:700}.pubr-nutrition-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.pubr-nutrition-cell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);text-align:center;color:var(--color-gray-500);padding:14px 8px;font-size:.8rem}.pubr-nutrition-cell span{color:var(--color-gray-900);margin-bottom:2px;font-size:1.25rem;font-weight:700;display:block}.pubr-nutrition-stale{color:var(--color-warning);margin:-4px 0 12px;font-size:.85rem}.pubr-source-list{margin:0;padding:0;list-style:none}.pubr-source-list a{color:var(--color-primary);word-break:break-all}.pubr-footer{border-top:1px solid var(--color-border);text-align:center;color:var(--color-gray-400);flex-direction:column;align-items:center;gap:8px;padding:24px 20px;font-size:.9rem;display:flex}.pubr-footer-link{color:var(--color-primary);font-weight:600;text-decoration:none}@media (width<=720px){.pubr-columns{grid-template-columns:1fr;gap:8px}.pubr-title{font-size:1.6rem}.pubr-main{padding:16px 16px 48px}}.share-modal{max-width:520px}.share-modal-desc{color:var(--color-gray-500);margin-bottom:16px;font-size:.92rem;line-height:1.5}.share-link-row{align-items:stretch;gap:8px;display:flex}.share-link-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-xl);min-width:0;color:var(--color-gray-700);background:var(--color-gray-50);flex:1;padding:9px 12px;font-size:.9rem}.share-link-input:focus{border-color:var(--color-primary);outline:none}.share-modal-error{color:var(--color-danger);margin-top:10px;font-size:.85rem}.share-modal-secondary{align-items:center;gap:10px;margin-top:18px;display:flex}.share-modal-dot{color:var(--color-gray-300)}.share-text-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600}.share-text-btn:disabled{opacity:.5;cursor:default}.share-text-btn--danger{color:var(--color-danger)}.share-modal-hint{color:var(--color-gray-400);margin-top:10px;font-size:.8rem;line-height:1.45}.rp-save-toggle{border-radius:var(--radius-pill);background:var(--color-surface);color:#4a5750;font:inherit;cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;border:1px solid #cdd3cf;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:600;line-height:1.2;display:inline-flex}.rp-save-toggle:hover:not(:disabled){background:#f1f4f2;border-color:#b7c0ba}.rp-save-toggle--active{color:var(--color-white);background:#137333;border-color:#137333}.rp-save-toggle--active:hover:not(:disabled){background:#0f5e29;border-color:#0f5e29}.rp-save-toggle--priority{background:var(--color-priority);border-color:var(--color-priority);color:var(--color-white)}.rp-save-toggle:disabled{opacity:.5;cursor:default}.rp-save-toggle:focus-visible{outline-offset:2px;outline:2px solid #13733366}.rp-readonly .rp-mep-menu,.rp-readonly .rp-mep-header-controls,.rp-readonly .rp-mep-outline-add,.rp-readonly .rp-dir-empty-item,.rp-readonly .rp-analyze-btn,.rp-readonly .rp-ing-recipe-link,.rp-readonly .rp-source-remove,.rp-readonly .rp-source-add-btn,.rp-readonly .rp-share-btn{display:none!important}.rp-readonly .rp-ing-drag-handle,.rp-readonly .rp-group-drag-handle,.rp-readonly .rp-dir-drag-handle{opacity:0!important;pointer-events:none!important}.rp-readonly .rp-dir-num{opacity:1!important}.rp-viewonly .rp-mep-menu,.rp-viewonly .rp-mep-outline-add,.rp-viewonly .rp-dir-empty-item,.rp-viewonly .rp-analyze-btn,.rp-viewonly .rp-ing-recipe-link,.rp-viewonly .rp-source-remove,.rp-viewonly .rp-source-add-btn{display:none!important}.rp-viewonly .rp-ing-drag-handle,.rp-viewonly .rp-group-drag-handle,.rp-viewonly .rp-dir-drag-handle{opacity:0!important;pointer-events:none!important}.rp-viewonly .rp-dir-num{opacity:1!important}.rp-viewonly .rp-group-drag-handle,.rp-readonly .rp-group-drag-handle{display:none}.rp-viewonly .rp-ingredient-group-title,.rp-readonly .rp-ingredient-group-title{padding-left:3px}.rp-readonly .rp-ingredient-group-title{padding-left:5px}.rp-group-clear-btn{margin-left:auto;font:inherit;color:var(--color-green);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:none;flex:none;order:2;margin-block:-4px;padding:4px 6px;font-size:12px;font-weight:600;line-height:1}.rp-group-clear-btn:hover,.rp-group-clear-btn:focus-visible{color:var(--color-green);background:var(--color-green-soft);outline:none}.rp-viewonly .rp-ingredient-group-heading:not(.linked),.rp-readonly .rp-ingredient-group-heading:not(.linked){color:var(--color-green-muted)}.rp-viewonly .rp-ingredient-group-heading:after,.rp-readonly .rp-ingredient-group-heading:after{opacity:.175}.rp-viewonly .rp-ingredient-group-heading,.rp-readonly .rp-ingredient-group-heading{margin-bottom:8px}.rp-viewonly .rp-ingredient-row{cursor:pointer;border-radius:var(--radius-sm)}.rp-viewonly .rp-ingredient-list{row-gap:6px}.rp-viewonly .rp-ingredient-row:hover{background:var(--color-gray-50)}.rp-viewonly .rp-ingredient-row.checked .rp-ing-amount,.rp-viewonly .rp-ingredient-row.checked .rp-ing-name{color:var(--color-gray-400);text-decoration:line-through}.rp-category-select--readonly,.rp-servings-input--readonly{cursor:default;align-items:center;display:inline-flex}.rp-macro-input--readonly,.rp-star-rating-button--readonly,.rp-card-header-time--readonly{cursor:default}.rp-cook-menu{margin-left:auto;position:relative}.rp-cook-menu-popover{min-width:180px}.filter-readonly-value{color:var(--color-gray-700);font-size:13px}.rp-cook-header-label,.rp-card-header--cook .rp-card-header-time{min-width:0;color:var(--color-gray-900);align-items:center;gap:8px;margin-left:0;padding:0;font-size:15px;font-weight:600;display:inline-flex}.rp-cook-header-label svg,.rp-card-header--cook .rp-card-header-time svg{flex-shrink:0;width:20px;height:20px}.rp-cook-header-label svg{color:var(--color-green)}.rp-card-header--cook .rp-cook-controls{margin-left:6px}.rp-card-header--directions.rp-card-header--cook{border-bottom:none;padding-bottom:0}.rp-cook-controls{text-transform:none;letter-spacing:0;align-items:center;gap:10px;margin-left:auto;display:flex}.rp-servings-stepper{border:1px solid var(--color-gray-300);border-radius:var(--radius-pill);background:var(--color-surface);align-items:center;gap:2px;padding:3px;display:inline-flex;position:relative}.rp-servings-stepper-pill{border-radius:var(--radius-pill);border:2px solid var(--color-surface);background:var(--color-primary);color:var(--color-white);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;padding:1px 9px;font-size:12px;font-weight:700;line-height:1.4;position:absolute;top:calc(100% - 8px);left:50%;transform:translate(-50%)}.rp-servings-stepper-btn{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--color-gray-700);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.rp-servings-stepper-btn:disabled{color:var(--color-gray-300);cursor:default}.rp-servings-stepper-value{text-align:center;min-width:28px;color:var(--color-gray-900);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;font-size:15px;font-weight:700}.rp-servings-stepper-value.is-scaled{color:var(--color-primary)}.rp-readonly{background:var(--color-white)}.rp-readonly .rp-card{background:0 0;border:none;border-radius:0;padding:0}.rp-readonly .rp-body{gap:36px;padding:0}.rp-hero-save-btn,.rp-hero-edit{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.rp-hero-save-btn:disabled{cursor:default;opacity:.6}.rp-readonly .rp-ingredient-list{grid-template-columns:26px minmax(20px,max-content) minmax(40px,1fr);gap:0}.rp-readonly .rp-ing-name-wrap{margin-inline-start:3.2px}.rp-readonly .rp-ingredient-row,.rp-readonly .rp-ingredient-group-heading{column-gap:6.8px}.rp-readonly .rp-ingredient-row{border-bottom:1px solid var(--color-divider);border-radius:0;align-items:center;padding:9.65px 0}.rp-readonly .rp-ingredient-row.group-end{border-bottom:none}.rp-ingredient-check-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rp-readonly .rp-ing-amount{text-align:left;color:var(--color-gray-900);justify-self:start;font-size:14.28px;font-weight:700}.rp-readonly .rp-ing-name,.rp-readonly .rp-dir-text{font-size:14.28px}.rp-readonly .rp-dir-body>.rp-dir-text:first-child{margin-top:0}.rp-readonly .rp-dir-item{gap:8.5px;padding:9.35px 7.65px}.rp-readonly .rp-dir-handle-trigger:hover~.rp-dir-leading:before,.rp-readonly .rp-dir-handle-trigger:hover~.rp-dir-leading:after,.rp-readonly .rp-dir-leading:hover:before,.rp-readonly .rp-dir-leading:hover:after,.rp-viewonly .rp-dir-handle-trigger:hover~.rp-dir-leading:before,.rp-viewonly .rp-dir-handle-trigger:hover~.rp-dir-leading:after,.rp-viewonly .rp-dir-leading:hover:before,.rp-viewonly .rp-dir-leading:hover:after{top:12px}.rp-readonly .rp-ingredient-row,.rp-readonly .rp-dir-item,.rp-viewonly .rp-dir-item{cursor:pointer}.rp-readonly .rp-ingredient-row.checked .rp-ing-amount,.rp-readonly .rp-ingredient-row.checked .rp-ing-name{color:var(--color-gray-400);text-decoration:line-through}@media (width>=768px) and (pointer:coarse) and (hover:none){.rp-body{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:0;margin-bottom:32px}.rp-body .rp-card{background:0 0;border:none;border-radius:0;padding:0}.rp-body-col--left{padding-right:44px}.rp-body>.rp-card{border-left:1px solid var(--color-divider);padding-left:44px}.rp-content{padding-top:calc(env(safe-area-inset-top,0px) + 28px)}.rp-editing-banner{top:env(safe-area-inset-top,0px)}.rp-view-side{--rp-view-side-stick:calc(env(safe-area-inset-top,0px) + 28px)}.rp-view-back{margin:calc((var(--rp-view-title-line) - 36px) / 2) -16px 0 -8px;flex:none;position:static}.rp-cook-timers{bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}.rp-editing-banner .rp-edit-save,.rp-editing-banner .rp-save-split{display:inline-flex}}@media (width<=767.98px){.app-layout{--mobile-recipe-chrome-inset:8px;--mobile-recipe-chrome-size:44px;--rp-mobile-body-overlap:24px}.mobile-top-bar--recipe{top:env(safe-area-inset-top,0px);height:calc(var(--mobile-recipe-chrome-size) + 2 * var(--mobile-recipe-chrome-inset));pointer-events:none;padding:0 16px}.mobile-top-bar--recipe>*{pointer-events:auto}.mobile-top-bar-back,.rp-hero-topright .rp-hero-actions-btn{width:var(--mobile-recipe-chrome-size);height:var(--mobile-recipe-chrome-size);background:var(--color-frost);color:var(--color-frost-ink);box-shadow:none;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);border:none;border-radius:50%}.mobile-top-bar-back:hover,.mobile-top-bar-back:focus-visible,.mobile-top-bar-back:active,.rp-hero-topright .rp-hero-actions-btn:hover,.rp-hero-topright .rp-hero-actions-btn:active,.rp-hero-topright .rp-hero-actions-btn[aria-expanded=true]{background:var(--color-frost-hover);color:var(--color-frost-ink)}.rp-hero-topright .rp-hero-save-btn[data-savestate=saved],.rp-hero-topright .rp-hero-save-btn[data-savestate=saved]:hover,.rp-hero-topright .rp-hero-save-btn[data-savestate=saved]:active{background:var(--color-green);color:var(--color-white);-webkit-backdrop-filter:none;backdrop-filter:none}.rp-hero-topright .rp-hero-save-btn[data-savestate=priority],.rp-hero-topright .rp-hero-save-btn[data-savestate=priority]:hover,.rp-hero-topright .rp-hero-save-btn[data-savestate=priority]:active{background:var(--color-priority);color:var(--color-white);-webkit-backdrop-filter:none;backdrop-filter:none}.rp-hero-topright .rp-hero-save-btn{width:auto;min-width:var(--mobile-recipe-chrome-size);padding:0 calc((var(--mobile-recipe-chrome-size) - 19px) / 2);border-radius:var(--radius-pill);transition:padding var(--duration-medium)}.rp-hero-save-label{opacity:0;white-space:nowrap;max-width:0;transition:max-width var(--duration-medium), opacity var(--duration-medium), margin-left var(--duration-medium);font-size:14px;font-weight:600;line-height:1;display:inline-block;overflow:hidden}.rp-hero-topright .rp-hero-save-btn.is-label-shown{padding:0 16px 0 13px}.rp-hero-save-btn.is-label-shown .rp-hero-save-label{opacity:1;max-width:6rem;margin-left:6px}@media (prefers-reduced-motion:reduce){.rp-hero-topright .rp-hero-save-btn,.rp-hero-save-label{transition:none}}.rp-hero-topright{top:calc(env(safe-area-inset-top,0px) + var(--mobile-recipe-chrome-inset));z-index:5;gap:8px;right:16px}.recipe-page:not(.rp-readonly) .rp-hero-topright{display:none}.rp-readonly .rp-hero-overlay{padding:0 20px calc(var(--rp-mobile-body-overlap) + 16px);background:linear-gradient(#0000 0%,#00000026 25%,#0000008c 60%,#000000d1 100%)}.rp-hero-overlay>.rp-hero-meta{pointer-events:none;align-items:stretch;width:100%;margin-top:18px;display:flex}.rp-hero-meta-cell{border-left:1px solid #ffffff4d;flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;padding:2px 6px;display:flex}.rp-hero-meta-cell:first-child{border-left:none}.rp-hero-meta-icon{width:16px;height:16px;color:var(--color-white);filter:drop-shadow(var(--shadow-mobile-hero));flex:none}.rp-hero-meta-icon svg{width:100%;height:100%}.rp-hero-meta-text{min-width:0;text-shadow:var(--shadow-mobile-hero);flex-direction:column;line-height:1.2;display:flex}.rp-hero-meta-value{color:var(--color-white);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.rp-hero-meta-label{color:#ffffffc7;white-space:nowrap;font-size:10.5px}.rp-hero-meta-link{color:inherit;pointer-events:auto;text-decoration:none}.rp-hero-photo{background:var(--color-black);grid-template-columns:100%;height:auto;min-height:0;max-height:none;display:grid}.rp-hero-photo>.rp-hero-image,.rp-hero-photo>.rp-hero-carousel-track{aspect-ratio:3/2;grid-area:1/1;width:100%;height:auto;position:relative}.rp-hero-photo:before{content:"";max-height:calc(40px + var(--rp-hero-fade-hidden,0px));z-index:1;background:linear-gradient(to top, var(--color-black), transparent calc(100% - var(--rp-hero-fade-hidden,0px)));pointer-events:none;grid-area:1/1;margin-top:66.6667%;transform:translateY(-100%)}.rp-readonly .rp-hero-photo:before{--rp-hero-fade-hidden:var(--rp-mobile-body-overlap)}.rp-hero-photo>.rp-hero-overlay{padding-top:calc(env(safe-area-inset-top,0px) + 2 * var(--mobile-recipe-chrome-inset) + var(--mobile-recipe-chrome-size) + 12px);grid-area:1/1;align-self:end;position:relative}.rp-mobile-body{position:relative}.rp-readonly .rp-mobile-body{z-index:4;margin:calc(-1 * var(--rp-mobile-body-overlap)) -20px calc(-40px - env(safe-area-inset-bottom,0px));padding:10px 10px calc(40px + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-radius:var(--radius-5xl) var(--radius-5xl) 0 0}.rp-readonly .rp-mobile-body>:not(.rp-cook-cta-btn){margin-inline:10px}.rp-mobile-body .rp-old-version-banner-slot{padding:0}.rp-meta-row--body{border-bottom:none;margin-bottom:14px;padding-bottom:0}.rp-mobile-body-footer{padding:4px 0 12px}.rp-section-tabs-sentinel{height:0}.rp-tab-scroll{height:var(--rp-tab-scroll-h,calc(var(--app-height,100dvh) - 132px));-webkit-overflow-scrolling:touch;margin-inline:-20px;padding-inline:20px;overflow:hidden auto}.rp-section-tabs{--rp-sticky-top:66px;top:var(--rp-sticky-top);z-index:var(--z-sticky);background:var(--color-gray-100);border-radius:var(--radius-xl);transition:box-shadow var(--duration-fast) ease;gap:4px;margin:0 0 18px;padding:3px;display:flex;position:sticky;box-shadow:0 0 #0000}.rp-section-tabs:before{content:"";height:calc(var(--rp-sticky-top) + env(safe-area-inset-top,0px));background:var(--color-surface);opacity:0;transition:opacity var(--duration-fast) ease;pointer-events:none;position:absolute;bottom:100%;left:-20px;right:-20px}.rp-section-tabs.stuck{box-shadow:var(--shadow-panel)}.rp-section-tabs.stuck:before{opacity:1}.rp-section-tab-pill{width:var(--rp-pill-width,0px);transform:translateX(var(--rp-pill-base,0px));border-radius:var(--radius-md);background:var(--color-copper);z-index:2;pointer-events:none;position:absolute;top:3px;bottom:3px;left:0;overflow:hidden}.rp-section-tab-pill-labels{width:var(--rp-strip-width,0px);transform:translateX(calc(-1 * var(--rp-pill-base,0px)));color:var(--color-white);gap:4px;padding:0 3px;display:flex;position:absolute;top:0;bottom:0;left:0}.rp-section-tab-pill.animate,.rp-section-tab-pill.animate .rp-section-tab-pill-labels{transition:transform .126s cubic-bezier(.22,1,.36,1)}.rp-content-inner[data-dragging] .rp-section-tab-pill.animate,.rp-content-inner[data-dragging] .rp-section-tab-pill.animate .rp-section-tab-pill-labels{transition:none}.rp-section-tab{z-index:1;border-radius:var(--radius-md);font:inherit;font-size:var(--font-size-body);color:var(--color-gray-700);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 8px;font-weight:600;display:inline-flex;position:relative}.rp-section-tab svg{flex-shrink:0}.rp-section-tab--ghost{color:var(--color-white);cursor:default}.rp-content-inner[data-mobile-section]:not([data-mobile-section=ingredients]) .rp-body-col--left,.rp-content-inner[data-mobile-section]:not([data-mobile-section=directions]) .rp-body>.rp-card,.rp-content-inner[data-mobile-section]:not([data-mobile-section=recipe]) .rp-edit-panel--recipe,.rp-content-inner[data-mobile-section]:not([data-mobile-section=details]) .rp-edit-panel--details{display:none}.rp-content-inner[data-switch-via=click][data-mobile-section=ingredients] .rp-body-col--left,.rp-content-inner[data-switch-via=click][data-mobile-section=directions] .rp-body>.rp-card,.rp-content-inner[data-switch-via=click][data-mobile-section=recipe] .rp-edit-panel--recipe,.rp-content-inner[data-switch-via=click][data-mobile-section=details] .rp-edit-panel--details{animation:rp-section-in-next calc(var(--duration-medium) * .3) ease}.rp-content-inner[data-switch-via=click][data-mobile-dir=prev][data-mobile-section=ingredients] .rp-body-col--left,.rp-content-inner[data-switch-via=click][data-mobile-dir=prev][data-mobile-section=directions] .rp-body>.rp-card,.rp-content-inner[data-switch-via=click][data-mobile-dir=prev][data-mobile-section=recipe] .rp-edit-panel--recipe,.rp-content-inner[data-switch-via=click][data-mobile-dir=prev][data-mobile-section=details] .rp-edit-panel--details{animation-name:rp-section-in-prev}.rp-content-inner[data-mobile-section=ingredients] .rp-body-col--left,.rp-content-inner[data-mobile-section=directions] .rp-body>.rp-card,.rp-content-inner[data-mobile-section=recipe] .rp-edit-panel--recipe,.rp-content-inner[data-mobile-section=details] .rp-edit-panel--details{transition:transform var(--duration-fast) ease;transform:translate(0)}.rp-content-inner[data-dragging] .rp-body-col--left,.rp-content-inner[data-dragging] .rp-body>.rp-card,.rp-content-inner[data-dragging] .rp-edit-panel{transition:none}.main-content{overflow-x:hidden}.rp-content-inner{position:relative}.rp-content-inner[data-mobile-section=recipe] .rp-body,.rp-content-inner[data-mobile-section=details] .rp-body{margin-bottom:0}}@keyframes rp-section-in-next{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes rp-section-in-prev{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.rp-content-inner[data-mobile-section] .rp-body-col--left,.rp-content-inner[data-mobile-section] .rp-body>.rp-card,.rp-content-inner[data-mobile-section] .rp-edit-panel{transition:none;animation:none}}@media (width<=767.98px){.rp-hero .rp-hero-overlay .rp-stars{font-size:29.4px}.mobile-top-bar--cook{grid-template-columns:var(--mobile-recipe-chrome-size) minmax(0, 1fr) var(--mobile-recipe-chrome-size);background:var(--color-copper);color:var(--color-white);pointer-events:auto;border-bottom:1px solid #0000;align-items:center;gap:4px;padding:0 8px;display:grid}.mobile-top-bar-cook-heading{align-items:center;gap:10px;min-width:0;display:flex}.mobile-top-bar-cook-thumb{aspect-ratio:5/4;border-radius:var(--radius-xs);object-fit:cover;flex-shrink:0;height:28px;display:block}.mobile-top-bar-cook-title{min-width:0;font-family:var(--font-serif);color:var(--color-white);white-space:nowrap;text-overflow:ellipsis;-webkit-text-stroke-width:.3px;margin:0;font-size:19px;font-weight:700;line-height:1.2;overflow:hidden}.mobile-top-bar-cook-edit{width:var(--mobile-recipe-chrome-size);height:var(--mobile-recipe-chrome-size);border-radius:50%}.mobile-top-bar--cook .mobile-top-bar-btn,.mobile-top-bar--cook .mobile-top-bar-btn:hover,.mobile-top-bar--cook .mobile-top-bar-btn:focus-visible{color:var(--color-white);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.mobile-top-bar--cook .mobile-top-bar-btn:active{background:var(--color-copper-hover);-webkit-backdrop-filter:none;backdrop-filter:none}.recipe-page.rp-cooking{background:var(--color-surface)}.rp-cooking .rp-content{padding:calc(env(safe-area-inset-top,0px) + var(--mobile-recipe-chrome-size) + 2 * var(--mobile-recipe-chrome-inset) + 12px) 20px 0}.rp-cooking .rp-section-tabs{position:relative;top:auto}.rp-cooking .rp-tab-scroll{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px) + var(--rp-video-clearance,0px))}.rp-cook-video-slot[data-video=docked]{margin-bottom:12px}.rp-content-inner[data-mobile-section]:not([data-mobile-section=directions]) .rp-cook-directions-extra{display:none}.rp-sources-bar{contain:inline-size;grid-auto-columns:minmax(0,max-content);grid-auto-flow:column;justify-content:start;align-items:center;gap:8px;margin:0 0 22px;padding:0;list-style:none;display:grid}.rp-sources-item{min-width:0;display:flex}.rp-sources-card{border:1px solid var(--color-border);border-radius:var(--radius-4xl);background:var(--color-surface-subtle);min-width:0;color:inherit;flex:auto;align-items:center;gap:10px;padding:8px 12px 8px 8px;text-decoration:none;display:flex}button.rp-sources-card{font:inherit;text-align:left;cursor:pointer}.rp-sources-card--playing{border-color:var(--color-green)}.rp-sources-card--playing .rp-sources-card-kind{color:var(--color-green)}.rp-sources-card:active,.rp-sources-more:active{background:var(--color-gray-100)}.rp-sources-card-text{flex-direction:column;gap:1px;min-width:0;line-height:1.25;display:flex}.rp-sources-card-kind{color:var(--color-gray-900);font-size:15px;font-weight:600}.rp-sources-card-site{color:var(--color-gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.rp-sources-more{border:1px solid var(--color-border);background:var(--color-surface-subtle);width:58px;height:58px;font:inherit;color:var(--color-gray-800);cursor:pointer;border-radius:50%;font-size:16px;font-weight:600}.rp-sources-thumb--card{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-gray-800)}.rp-overview{flex-direction:column;gap:26px;margin-bottom:26px;display:flex}.rp-overview-heading{font-family:var(--font-serif);color:var(--color-gray-900);-webkit-text-stroke-width:.3px;margin:0 0 10px;font-size:22px;font-weight:700;line-height:1.2}.rp-overview-heading-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.rp-overview-heading-row>.rp-overview-heading{margin:0}.rp-overview-empty{font-size:var(--font-size-body);color:var(--color-gray-500);margin:0}.rp-overview-ingredients,.rp-overview-directions{margin:0;padding:0;list-style:none}.rp-overview-ingredients{grid-template-columns:max-content minmax(0,1fr);column-gap:10px;display:grid}.rp-overview-ingredient{padding:8px 6px}.rp-overview-ingredient:first-child,.rp-overview-group-heading+.rp-overview-ingredient{border-top:none}.rp-overview-ingredient--grouped{padding-left:18px}.rp-overview-group-heading{border-radius:var(--radius-xs);background:var(--color-green-soft);letter-spacing:.14em;text-transform:uppercase;color:var(--color-green);grid-column:1/-1;margin:18px 0 4px;padding:9px 18px;font-size:12px;font-weight:700;line-height:1.2;display:flex}.rp-overview-group-heading:first-child{margin-top:0}.rp-overview-ingredient>.rp-ing-line-amount{font-size:var(--font-size-body);font-weight:700}.rp-overview-ingredient>.rp-ing-line-name{font-size:var(--font-size-body);line-height:1.5}.rp-overview-directions{flex-direction:column;gap:14px;display:flex}.rp-overview-direction{align-items:baseline;gap:12px;display:flex}.rp-overview-step-num{text-align:center;text-box:trim-both cap alphabetic;background:var(--color-green-soft);width:26px;height:26px;color:var(--color-green);border-radius:50%;flex:none;align-content:center;font-size:12px;font-weight:700;display:block}.rp-overview-step-body{flex:auto;min-width:0}.rp-overview-step-title{color:var(--color-gray-900);margin-bottom:2px;font-size:17px;font-weight:600;line-height:1.3}.rp-dir-title{-webkit-text-stroke-width:0;font-family:inherit;font-weight:600}.rp-dir-body>.rp-dir-title:first-child{margin-top:-2px}.rp-overview-step-text{font-size:var(--font-size-body);color:var(--color-gray-700);margin:0;line-height:1.55}.rp-overview-step-note{color:var(--color-gray-500);margin:4px 0 0;font-size:12px;font-weight:500}.rp-overview-section-heading{margin:6px 0 -4px}.rp-overview-section-heading:first-child{margin-top:0}.rp-cook-cta-btn{border-radius:var(--radius-3xl);background:var(--color-green);width:100%;height:44px;color:var(--color-white);font-family:var(--font-sans);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;margin:0 0 24px;font-size:15px;font-weight:500;display:flex}.rp-cook-cta-btn:active{background:var(--color-green-hover)}.rp-cook-cta-label{align-items:center;gap:10px;display:inline-flex}}.rp-sources-thumb{flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.rp-sources-thumb--photo img{object-fit:cover;width:100%;height:100%;display:block}.rp-sources-play{background:var(--color-frost-dark);width:22px;height:22px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-dark-ink);border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.rp-sources-play svg{margin-left:1px}.rp-sources-sheet{background:var(--color-surface);color:var(--color-gray-900)}.rp-sources-list{margin:0;padding:0;list-style:none}.rp-sources-list>li+li{border-top:1px solid var(--color-divider)}.rp-sources-row{color:inherit;align-items:center;gap:14px;padding:14px 2px;text-decoration:none;display:flex}.rp-sources-thumb--row{border-radius:var(--radius-2xl);width:64px;height:64px;color:var(--color-gray-700)}.rp-sources-thumb--row.rp-sources-thumb--logo,.rp-sources-thumb--row.rp-sources-thumb--glyph{border:1px solid var(--color-border);background:var(--color-white)}.rp-sources-thumb--logo img{width:32px;height:32px}.rp-sources-thumb--row .rp-sources-play{width:30px;height:30px}.rp-sources-row-text{flex-direction:column;flex:1;gap:3px;min-width:0;line-height:1.3;display:flex}.rp-sources-row-site{font-size:var(--font-size-body);color:var(--color-gray-900);font-weight:600}.rp-sources-row-title{-webkit-line-clamp:2;overflow-wrap:anywhere;color:var(--color-gray-800);-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.rp-sources-row-kind{color:var(--color-gray-500);font-size:13px}.rp-sources-row-open{color:var(--color-green);flex:none}button.rp-sources-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}.rp-video-player{z-index:var(--z-chrome);border-radius:var(--radius-2xl);background:var(--color-black);transform-origin:0 0;flex-direction:column;display:flex;position:fixed;overflow:hidden}.rp-video-frame{aspect-ratio:16/9;width:100%;max-height:40dvh;position:relative}.rp-video-iframe{border:none;width:100%;height:100%;display:block;position:absolute;inset:0}.rp-video-offline{text-align:center;color:var(--color-white);place-items:center;padding:12px;font-size:14px;line-height:1.4;display:grid;position:absolute;inset:0}.rp-video-bar{border:1px solid var(--color-border);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);background:var(--color-surface-subtle);border-top:none;align-items:center;gap:2px;height:52px;padding:0 4px 0 14px;display:flex}.rp-video-bar-text{flex-direction:column;flex:1;gap:1px;min-width:0;line-height:1.25;display:flex}.rp-video-bar-site{color:var(--color-gray-900);font-size:14px;font-weight:600}.rp-video-bar-title{color:var(--color-gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.rp-video-btn{width:40px;height:40px;color:var(--color-gray-800);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.rp-video-btn:active{background:var(--color-gray-100)}.rp-video-player--mini{right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);width:176px;box-shadow:var(--shadow-floating-toolbar)}.rp-video-player--mini.rp-video-player--portrait{width:108px}.rp-video-player--mini.rp-video-player--portrait .rp-video-frame{aspect-ratio:9/16}.rp-video-mini-btn{background:var(--color-frost-dark);width:32px;height:32px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-dark-ink);cursor:pointer;border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:6px}.rp-video-mini-btn--expand{left:6px}.rp-video-mini-btn--close{right:6px}@media (width<=767.98px){.mobile-top-bar--edit{grid-template-columns:var(--mobile-recipe-chrome-size) minmax(0, 1fr) auto;background:var(--color-surface);pointer-events:auto;align-items:center;gap:4px;padding:0 8px;display:grid}.mobile-top-bar--edit .mobile-top-bar-btn,.mobile-top-bar--edit .mobile-top-bar-btn:hover,.mobile-top-bar--edit .mobile-top-bar-btn:focus-visible{color:var(--color-gray-900);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.mobile-top-bar--edit .mobile-top-bar-btn:active{background:var(--color-gray-100);-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-top-bar-edit-heading{align-items:center;gap:10px;min-width:0;display:flex}.mobile-top-bar-edit-thumb{aspect-ratio:5/4;border-radius:var(--radius-xl);object-fit:cover;flex:none;height:40px;display:block}.mobile-top-bar-edit-text{flex-direction:column;gap:2px;min-width:0;display:flex}.mobile-top-bar-edit-title{font-family:var(--font-serif);text-overflow:ellipsis;color:var(--color-gray-900);white-space:nowrap;margin:0;font-size:18px;font-weight:600;line-height:1.2;overflow:hidden}.mobile-top-bar-edit-subtitle{min-width:0;color:var(--color-gray-500);align-items:center;gap:4px;margin:0;font-size:12px;display:flex}.mobile-top-bar-edit-subtitle svg{flex:none}.mobile-top-bar-edit-subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-top-bar--edit .rp-history-buttons--topbar{gap:0;margin-left:0}.mobile-top-bar--edit .rp-history-buttons--topbar .rp-history-btn{width:36px;height:36px;box-shadow:none;color:var(--color-gray-700);background:0 0}.mobile-top-bar--edit .rp-history-buttons--topbar .rp-history-btn:not(:disabled):active{background:var(--color-gray-100)}.recipe-page.rp-phone-editing{background:var(--color-surface)}.recipe-page.rp-phone-editing .rp-content{padding:calc(env(safe-area-inset-top,0px) + var(--mobile-recipe-chrome-size) + 2 * var(--mobile-recipe-chrome-inset)) 20px 0}.rp-phone-editing .rp-tab-scroll .rp-card{background:0 0;border:none;border-radius:0;padding:0}.rp-phone-editing .rp-tab-scroll{padding-top:18px;padding-bottom:calc(var(--rp-save-bar-h,58px) + 28px)}.rp-phone-editing .rp-section-tabs{--rp-sticky-top:calc(env(safe-area-inset-top,0px) + var(--mobile-recipe-chrome-size) + 2 * var(--mobile-recipe-chrome-inset))}.rp-section-tabs.rp-section-tabs--underline{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:0;gap:0;margin:0 -20px;padding:0 6px}.rp-section-tabs--underline.stuck{box-shadow:0 8px 14px -12px var(--color-gray-900-18)}.rp-section-tabs--underline .rp-section-tab{color:var(--color-gray-600);white-space:nowrap;border-radius:0;flex:auto;gap:5px;padding:12px 3px 11px;font-size:clamp(11.5px,3.3vw,13px);font-weight:500}.rp-section-tabs--underline .rp-section-tab--active{color:var(--color-green);font-weight:600}.rp-section-tabs--underline .rp-section-tab-pill{border-radius:3px 3px 0 0;height:3px;top:auto;bottom:-1px;overflow:visible}@container rp-content (width<=319px){.rp-section-tabs--underline .rp-section-tab svg{display:none}}.rp-edit-panel{flex-direction:column;gap:22px;display:flex}.rp-edit-panel .rp-notes-card,.rp-edit-panel .rp-nutrition-card{margin:0}.rp-edit-panel .rp-notes-input{border-radius:var(--radius-3xl);min-height:110px;color:var(--color-gray-800);padding:14px 16px;font-size:16px}.rp-edit-panel--recipe .rp-notes-card .rp-card-header{border-bottom:none;gap:10px;margin-bottom:12px;padding-bottom:0}.rp-edit-panel--recipe .rp-notes-card .rp-card-header svg{width:22px;height:22px;stroke:var(--color-gray-800)!important}.rp-edit-panel--recipe .rp-notes-card .rp-card-header h2{font-size:17px;font-weight:700}.rp-edit-heading{color:var(--color-gray-900);align-items:center;gap:10px;font-size:17px;font-weight:700;line-height:1.3;display:flex}.rp-edit-heading-icon{color:var(--color-gray-800);flex:none;display:inline-flex}.rp-edit-heading-icon svg{width:22px;height:22px}.rp-edit-divider{border:none;border-top:1px solid var(--color-border);width:100%;margin:0}.rp-edit-field{flex-direction:column;gap:8px;min-width:0;display:flex}.rp-edit-panel--recipe .rp-edit-field{gap:14px}.rp-edit-field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-gray-500);font-size:12px;font-weight:700}.rp-edit-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.rp-edit-field-error{margin:0}.rp-edit-name{border:1px solid var(--color-border);border-radius:var(--radius-3xl);font-family:var(--font-serif);color:var(--color-gray-900);margin:0;padding:12px 16px;font-size:22px;font-weight:600;line-height:1.25}.rp-edit-name:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring)}.rp-edit-name-editable{outline:none;min-height:1.25em;display:block}.rp-edit-photos-card{border:1px solid var(--color-border);border-radius:var(--radius-4xl);background:var(--color-surface);width:100%;color:var(--color-gray-900);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:16px;padding:12px 14px 12px 12px;display:flex}.rp-edit-photos-card:active{background:var(--color-gray-50)}.rp-edit-photos-thumb{border-radius:var(--radius-3xl);background:var(--color-gray-100);width:96px;height:96px;color:var(--color-gray-500);flex:none;place-items:center;display:grid;overflow:hidden}.rp-edit-photos-thumb img{object-fit:cover;width:100%;height:100%;display:block}.rp-edit-photos-text{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.rp-edit-photos-title{font-size:17px;font-weight:700;line-height:1.3}.rp-edit-photos-hint{color:var(--color-gray-500);font-size:13px;line-height:1.4}.rp-edit-photos-chevron{color:var(--color-gray-700);flex:none}.rp-edit-chip-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-height:40px;color:var(--color-green);font:inherit;cursor:pointer;align-self:flex-start;padding:0 14px;font-size:14px;font-weight:600}.rp-edit-add-source{align-items:center;gap:10px;min-height:48px;padding:0 22px;font-size:15px;display:inline-flex}.rp-edit-chip-btn--quiet{color:var(--color-gray-700)}.rp-edit-chip-btn:active,.rp-edit-value-btn:active{background:var(--color-gray-100)}.rp-edit-value-btn{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);min-height:48px;color:var(--color-gray-800);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:0 14px;font-size:15px;display:flex}.rp-edit-time-btn{border-radius:var(--radius-3xl);min-height:52px;color:var(--color-gray-900);justify-content:space-between;padding:0 16px 0 20px;font-size:16px;font-weight:600}.rp-edit-time-btn .rp-edit-select-chevron{width:18px;height:18px;color:var(--color-gray-700);flex:none;position:static;transform:none}.rp-edit-value-placeholder{color:var(--color-gray-400);font-weight:500}.rp-edit-value-icon{color:var(--color-green);display:inline-flex}.rp-edit-value-icon svg{width:18px;height:18px}.rp-edit-sources{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rp-edit-sources li{border:1px solid var(--color-border);border-radius:var(--radius-3xl);align-items:center;gap:8px;min-height:56px;padding:0 8px 0 20px;display:flex}.rp-edit-source-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-gray-800);text-underline-offset:3px;flex:auto;font-size:16px;text-decoration:underline;overflow:hidden}.rp-edit-source-remove{width:38px;height:38px;color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;display:grid}.rp-edit-select{position:relative}.rp-edit-select select{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-gray-900);font:inherit;appearance:none;padding:0 38px 0 14px;font-size:16px}.rp-edit-select-chevron{color:var(--color-gray-500);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.rp-medit-header{align-items:center;gap:8px;margin-bottom:14px;display:flex}.rp-medit-header-icon{color:var(--color-green);flex:none}.rp-medit-title{min-width:0;font-family:var(--font-serif);color:var(--color-gray-900);-webkit-text-stroke-width:.3px;flex:auto;margin:0;font-size:24px;font-weight:700;line-height:1.2}.rp-edit-servings-stepper{border-color:var(--color-border);border-radius:var(--radius-3xl);justify-content:space-between;min-height:52px;padding:0 6px;display:flex}.rp-edit-servings-stepper .rp-servings-stepper-btn{width:40px;height:40px;color:var(--color-gray-800)}.rp-edit-servings-stepper .rp-servings-stepper-btn:disabled{color:var(--color-gray-300)}.rp-edit-servings-input{width:34px;min-width:0;color:var(--color-gray-900);font:inherit;text-align:center;appearance:textfield;background:0 0;border:none;flex:auto;padding:0;font-size:16px;font-weight:700}.rp-edit-servings-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rp-edit-servings-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rp-edit-servings-input:focus{outline:none}.rp-medit-icon-btn{width:36px;height:36px;color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.rp-medit-icon-btn:active,.rp-medit-icon-btn[aria-expanded=true]{background:var(--color-gray-100);color:var(--color-gray-800)}.rp-medit-status{font-size:var(--font-size-body);color:var(--color-gray-600);align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.rp-medit-error{margin:-4px 0 12px}.rp-medit-notes{border-radius:var(--radius-xl);background:var(--color-notice-surface);color:var(--color-gray-700);margin:-4px 0 12px;padding:10px 12px;font-size:13px}.rp-medit-notes p{margin:0 0 4px;font-weight:600}.rp-medit-notes ul{margin:0;padding-left:18px}.rp-medit-list{grid-template-columns:fit-content(40%) minmax(0,1fr);column-gap:10px;display:grid}.rp-medit-list--selecting{grid-template-columns:32px fit-content(40%) minmax(0,1fr)}.rp-medit-run,.rp-medit-group{grid-column:1/-1;grid-template-columns:subgrid;align-content:start;display:grid}.rp-medit-list>*,.rp-medit-run>*,.rp-medit-group>*{grid-column:1/-1}.rp-medit-group,.rp-medit-run--after-group{margin-top:18px}.rp-medit-list>.rp-medit-group:first-child{margin-top:0}.rp-medit-group-heading{color:var(--color-green-muted);align-items:center;gap:12px;margin-bottom:2px;padding-left:6px;display:flex}.rp-medit-group-heading:after{content:"";opacity:.35;background:currentColor;flex:auto;order:1;min-width:24px;height:1px}.rp-medit-group-name{letter-spacing:.14em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;min-width:0;margin:0;font-size:12.5px;font-weight:700;line-height:1.2;overflow:hidden}.rp-medit-group-menu-btn{order:2}.rp-medit-row{grid-template-columns:subgrid;border-radius:var(--radius-md);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:baseline;column-gap:10px;padding:8px 6px;display:grid}.rp-medit-row:active,.rp-medit-row.is-active{background:var(--color-gray-100)}.rp-medit-row--selecting{align-items:center}.rp-medit-row--selecting.is-selected{background:var(--color-green-soft)}.rp-medit-check{display:inline-flex}.rp-medit-amount{color:var(--color-gray-900);overflow-wrap:anywhere;font-size:14.5px;font-weight:700;line-height:1.45}.rp-medit-name{color:var(--color-gray-700);overflow-wrap:anywhere;font-size:14.5px;line-height:1.45}.rp-medit-name--empty{color:var(--color-gray-400);font-style:italic}.rp-medit-link-glyph{vertical-align:-1px;color:var(--color-gray-400);margin-left:6px}.rp-medit-empty{font-size:var(--font-size-body);color:var(--color-gray-500);margin:0;padding:6px}.rp-medit-empty-add{color:var(--color-green);font:inherit;cursor:pointer;background:0 0;border:none;justify-self:start;align-items:center;gap:6px;padding:10px 6px;font-size:14px;font-weight:600;display:inline-flex}.rp-medit-add-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:22px;display:grid}.rp-medit-add{border-radius:var(--radius-2xl);min-height:50px;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:15px;font-weight:600;display:inline-flex}.rp-medit-add--ingredient{background:var(--color-green-soft);color:var(--color-green);border:1px solid #0000}.rp-medit-add--group{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-gray-800)}.rp-medit-add:active{filter:brightness(.96)}.rp-medit-selection-bar{bottom:calc(var(--rp-save-bar-h,58px) + 12px);z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-floating-toolbar);align-items:center;gap:8px;margin-top:18px;padding:8px 8px 8px 14px;display:flex;position:sticky}.rp-medit-selection-status{min-width:0;font-size:var(--font-size-body);color:var(--color-gray-800);flex:auto;font-weight:600}.rp-medit-selection-cancel,.rp-medit-selection-go{border-radius:var(--radius-xl);min-height:40px;font:inherit;cursor:pointer;padding:0 14px;font-size:14px;font-weight:600}.rp-medit-selection-cancel{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-gray-700)}.rp-medit-selection-go{background:var(--color-green);color:var(--color-white);border:none}.rp-medit-selection-go--danger{background:var(--color-danger)}.rp-medit-selection-go:disabled,.rp-medit-selection-cancel:disabled{opacity:.45;cursor:default}.rp-mdir-list{flex-direction:column;display:flex}.rp-mdir-section,.rp-mdir-run--after-section{margin-top:16px}.rp-mdir-list>.rp-mdir-section:first-child{margin-top:0}.rp-mdir-run{margin:0;padding:0;list-style:none}.rp-mdir-step{position:relative}.rp-mdir-step:not(:last-child):after{content:"";border-left:1.5px dashed var(--color-gray-300);pointer-events:none;position:absolute;top:43px;bottom:-5px;left:19px}.rp-mdir-step-btn{border-radius:var(--radius-xl);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;grid-template-columns:28px minmax(0,1fr);align-items:start;column-gap:14px;padding:10px 8px 16px 6px;display:grid}.rp-mdir-step-btn:active,.rp-mdir-step.is-active .rp-mdir-step-btn{background:var(--color-green-soft)}.rp-mdir-num{text-align:center;text-box:trim-both cap alphabetic;box-sizing:border-box;border:1.5px solid var(--color-gray-400);background:var(--color-surface);width:28px;height:28px;color:var(--color-gray-600);font-variant-numeric:tabular-nums;border-radius:50%;align-content:center;font-size:13px;font-weight:600;display:block}.rp-mdir-num.is-linked{border-color:var(--rp-direction-link-color);color:var(--rp-direction-link-color)}.rp-mdir-body{flex-direction:column;gap:3px;min-width:0;padding-top:3px;display:flex}.rp-mdir-title{color:var(--color-gray-900);overflow-wrap:anywhere;font-size:17px;font-weight:600;line-height:1.3}.rp-mdir-text{color:var(--color-gray-700);overflow-wrap:anywhere;white-space:pre-line;font-size:14.5px;line-height:1.5}.rp-mdir-empty-text{color:var(--color-gray-400);font-style:italic}.rp-mdir-note{color:var(--color-gray-500);align-items:baseline;gap:6px;margin-top:2px;font-size:13px;line-height:1.45;display:flex}.rp-mdir-note-glyph{flex:none;transform:translateY(1px)}.rp-mdir-photo{aspect-ratio:3/2;border-radius:var(--radius-lg);object-fit:cover;width:96px;margin-top:6px;display:block}}.rp-ing-sheet{background:var(--color-surface);color:var(--color-gray-900)}.rp-ing-sheet-form{flex-direction:column;gap:16px;padding-top:4px;display:flex}.rp-ing-sheet-amount{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.rp-ing-sheet-field{flex-direction:column;gap:6px;min-width:0;display:flex}.rp-ing-sheet-field>label,.rp-ing-sheet-label{font-size:var(--font-size-body);color:var(--color-gray-600)}.rp-ing-sheet-input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-gray-900);font:inherit;padding:0 14px;font-size:16px}.rp-ing-sheet-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring);outline:none}.rp-ing-sheet-textarea{resize:none;min-height:76px;padding:12px 14px;line-height:1.4}.rp-ing-sheet-unit,.rp-ing-sheet-select{position:relative}.rp-ing-sheet-unit .rp-ing-sheet-input,.rp-ing-sheet-select .rp-ing-sheet-input{padding-right:42px}.rp-ing-sheet-select select.rp-ing-sheet-input{appearance:none}.rp-ing-sheet-unit-picker{opacity:0;cursor:pointer;width:44px;font-size:16px;position:absolute;top:0;bottom:0;right:0}.rp-ing-sheet-unit-chevron{color:var(--color-gray-500);pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.rp-ing-sheet-linked{border:1px solid var(--color-border);border-radius:var(--radius-xl);min-height:48px;color:var(--color-green);align-items:center;gap:8px;padding:0 4px 0 14px;display:flex}.rp-ing-sheet-linked-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-gray-900);flex:auto;font-size:16px;overflow:hidden}.rp-ing-sheet-text-btn{border-radius:var(--radius-md);min-height:40px;color:var(--color-green);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.rp-ing-sheet-link-btn{align-self:flex-start;margin:-6px 0 0 -10px}.rp-ing-sheet-actions{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding-top:14px;display:flex}.rp-ing-sheet-delete{min-height:48px;color:var(--color-danger);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0 6px;font-size:15px;font-weight:600;display:inline-flex}.rp-ing-sheet-secondary,.rp-ing-sheet-primary{border-radius:var(--radius-2xl);min-height:48px;font:inherit;cursor:pointer;font-size:16px;font-weight:600}.rp-ing-sheet-secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-gray-700);padding:0 20px}.rp-ing-sheet-primary{background:var(--color-green);min-width:132px;color:var(--color-white);border:none;padding:0 24px}.rp-ing-sheet-primary:only-child{flex:1}.rp-ing-sheet-primary:not(:disabled):active{background:var(--color-green-hover)}.rp-ing-sheet-primary:disabled{opacity:.45;cursor:default}.modal-backdrop--sheet>[role=dialog].modal-sheet.rp-step-sheet{transition:transform .28s cubic-bezier(.32,.72,0,1),visibility}.modal-backdrop--sheet>[role=dialog].modal-sheet.rp-step-sheet--behind-crop{visibility:hidden;transition:transform .28s cubic-bezier(.32,.72,0,1),visibility 0s linear .28s;transform:translateY(100%)}@media (prefers-reduced-motion:reduce){.modal-backdrop--sheet>[role=dialog].modal-sheet.rp-step-sheet{transition:none}}.rp-step-sheet-optional{color:var(--color-gray-400)}.rp-step-sheet-instructions{min-height:100px}.rp-step-sheet-hint{color:var(--color-gray-500);margin:2px 0 0;font-size:13px}.rp-step-sheet-section{flex-direction:column;gap:10px;min-width:0;display:flex}.rp-step-sheet-section+.rp-step-sheet-section{border-top:1px solid var(--color-divider);padding-top:14px}.rp-step-sheet-section-head{align-items:center;gap:10px;min-height:40px;margin:-4px 0;display:flex}.rp-step-sheet-section-icon{color:var(--color-gray-700);flex:none;display:inline-flex}.rp-step-sheet-section-title{min-width:0;color:var(--color-gray-900);flex:auto;font-size:16px;font-weight:700}.rp-step-sheet-section-action{flex:none;margin-right:-10px;font-size:15px}.rp-step-sheet-add-link{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--color-green);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;place-items:center;margin-right:-10px;padding:0;display:grid}.rp-step-sheet-add-link svg{width:22px;height:22px}.rp-step-sheet-add-link:active{background:var(--color-green-soft)}.rp-step-sheet-chips{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rp-step-sheet-chip{border-radius:var(--radius-2xl);background:var(--color-green-soft);max-width:100%;min-height:44px;color:var(--color-gray-800);align-items:center;padding-left:16px;font-size:15px;display:inline-flex}.rp-step-sheet-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rp-step-sheet-chip-remove{width:40px;height:44px;color:var(--color-gray-600);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.rp-step-sheet-chip-remove:active{color:var(--color-gray-900)}.rp-step-sheet-note{color:var(--color-gray-600);overflow-wrap:anywhere;white-space:pre-line;font-size:15px;line-height:1.45}.rp-step-sheet-photos{gap:12px;display:flex}.rp-step-sheet-photo-tile{flex:none;position:relative}.rp-step-sheet-photo{box-sizing:border-box;border-radius:var(--radius-2xl);object-fit:cover;width:124px;height:112px;display:block}.rp-step-sheet-photo--blank{background:var(--color-gray-100);color:var(--color-gray-500);place-items:center;display:grid}.rp-step-sheet-photo-remove{border-radius:var(--radius-pill);background:var(--color-frost);width:28px;height:28px;-webkit-backdrop-filter:var(--backdrop-frost);backdrop-filter:var(--backdrop-frost);color:var(--color-frost-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;place-items:center;padding:0;display:grid;position:absolute;top:6px;right:6px}.rp-step-sheet-photo-remove:before{content:"";position:absolute;inset:-8px}.rp-step-sheet-error{margin:0}.rp-anchored-menu{z-index:var(--z-panel);border:1px solid var(--color-border);border-radius:var(--radius-3xl);background:var(--color-surface);min-width:228px;max-width:calc(100vw - 16px);box-shadow:0 12px 32px var(--color-gray-900-18);transform-origin:100% 0;animation:rp-anchored-menu-in var(--duration-fast) ease-out;flex-direction:column;padding:6px;display:flex;position:fixed}.rp-anchored-menu-item{border-radius:var(--radius-xl);min-height:46px;color:var(--color-gray-800);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:0 12px;font-size:15px;display:flex}.rp-anchored-menu-item svg{color:var(--color-gray-600);flex:none}.rp-anchored-menu-item:not(:disabled):active{background:var(--color-gray-100)}.rp-anchored-menu-item:disabled{opacity:.45;cursor:default}.rp-anchored-menu-item--danger,.rp-anchored-menu-item--danger svg{color:var(--color-danger)}.rp-anchored-menu-separator{background:var(--color-divider);height:1px;margin:4px 8px}@keyframes rp-anchored-menu-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.modal-backdrop--fullscreen>[role=dialog].rp-group-picker.modal-fullscreen{padding:env(safe-area-inset-top) 0 0;background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.rp-group-picker-header{flex:none;align-items:center;gap:6px;min-height:56px;padding:0 12px 0 6px;display:flex}.rp-group-picker-close{width:44px;height:44px;color:var(--color-gray-900);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.rp-group-picker-title{min-width:0;font-family:var(--font-serif);font-size:var(--font-size-card-title);text-overflow:ellipsis;white-space:nowrap;color:var(--color-gray-900);flex:auto;margin:0;font-weight:700;overflow:hidden}.rp-group-picker-cancel{min-height:40px;color:var(--color-gray-900);font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0 6px;font-size:15px;font-weight:500}.rp-group-picker-intro{border-bottom:1px solid var(--color-border);font-size:var(--font-size-body);color:var(--color-gray-500);flex:none;margin:0;padding:0 18px 12px}.rp-group-picker-body{overscroll-behavior:contain;flex:auto;grid-template-columns:38px fit-content(40%) minmax(0,1fr);align-content:start;gap:4px 10px;padding:14px 12px 20px;display:grid;overflow-y:auto}.rp-group-picker-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--color-green-muted);margin:14px 0 2px;padding:0 12px;font-size:12px;font-weight:700}.rp-group-picker-heading:first-child{margin-top:0}.rp-group-picker-heading--none{color:var(--color-gray-500)}.rp-group-picker-body>*{grid-column:1/-1}.rp-group-picker-row{grid-template-columns:subgrid;border-radius:var(--radius-xl);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;align-items:start;column-gap:10px;padding:13px 12px;display:grid}.rp-group-picker-row.is-selected{background:var(--color-green-soft)}.rp-group-picker-check{display:inline-flex}.rp-group-picker-check svg{width:22px;height:22px}.rp-group-picker-amount,.rp-group-picker-name{overflow-wrap:anywhere;font-size:15px;line-height:1.45}.rp-group-picker-amount{color:var(--color-gray-900);font-weight:700}.rp-group-picker-name{color:var(--color-gray-700)}.rp-group-picker-name--empty{color:var(--color-gray-400);font-style:italic}.rp-group-picker-bar{padding:12px 16px calc(12px + var(--sab,env(safe-area-inset-bottom))) 22px;border-top:1px solid var(--color-border);background:var(--color-surface);flex:none;align-items:center;gap:12px;display:flex}.rp-group-picker-count{min-width:0;color:var(--color-gray-900);flex:auto;font-size:15px;font-weight:600}.rp-group-picker-go{border-radius:var(--radius-xl);background:var(--color-green);min-height:48px;color:var(--color-white);font:inherit;cursor:pointer;border:none;flex:none;padding:0 24px;font-size:16px;font-weight:600}.rp-group-picker-go:active{background:var(--color-green-hover)}.rp-group-picker-go:disabled{opacity:.45;cursor:default}.rp-link-picker-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 2px;padding-right:8px;display:flex}.rp-link-picker-heading:first-child{margin-top:0}.rp-link-picker-heading .rp-group-picker-heading{margin:0}.rp-link-picker-heading--none .rp-group-picker-heading{color:var(--color-gray-500)}.rp-link-picker-all{min-height:32px;color:var(--color-green);font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0 4px;font-size:13px;font-weight:600}.rp-link-picker-elsewhere{color:var(--rp-direction-link-color);margin-top:2px;font-size:12.5px;font-weight:600;display:block}.rp-group-move-sheet{background:var(--color-surface);color:var(--color-gray-900)}.rp-group-move-list{margin:6px 0 0;padding:0;list-style:none}.rp-group-move-list>li{border-top:1px solid var(--color-border)}.rp-group-move-option{width:100%;min-height:60px;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:14px;padding:0 4px;font-size:16px;display:flex}.rp-group-move-option:active{background:var(--color-gray-100)}.rp-group-move-option--new{border-top:1px solid var(--color-border);margin-top:18px}.rp-group-move-icon,.rp-group-move-plus{flex:none;place-items:center;width:36px;height:36px;display:grid}.rp-group-move-icon{border-radius:var(--radius-lg);background:var(--color-gray-100);color:var(--color-gray-700)}.rp-group-move-plus{color:var(--color-gray-900)}.rp-group-move-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.rp-group-move-count{font-variant-numeric:tabular-nums;color:var(--color-gray-700);flex:none;font-size:15px}.rp-group-move-chevron{color:var(--color-gray-500);flex:none;display:inline-flex}.modal-backdrop--fullscreen>[role=dialog].rp-reorder-screen.modal-fullscreen{padding:env(safe-area-inset-top) 0 0;background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.rp-reorder-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex:none;grid-template-columns:44px minmax(0,1fr) 64px;align-items:center;gap:8px;min-height:56px;padding:0 10px 0 6px;display:grid}.rp-reorder-back{width:44px;height:44px;color:var(--color-gray-900);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid}.rp-reorder-title{font-family:var(--font-serif);text-align:center;text-overflow:ellipsis;white-space:nowrap;color:var(--color-gray-900);margin:0;font-size:19px;font-weight:700;overflow:hidden}.rp-reorder-done{min-height:40px;color:var(--color-green);font:inherit;cursor:pointer;background:0 0;border:none;justify-self:end;padding:0 6px;font-size:16px;font-weight:700}.rp-reorder-body{overscroll-behavior:contain;padding:16px 16px calc(28px + env(safe-area-inset-bottom));flex:auto;overflow-y:auto}.rp-reorder-hint{color:var(--color-gray-500);margin:0 0 14px;font-size:13px}.rp-reorder-intro{margin-bottom:14px}.rp-reorder-intro .rp-reorder-hint{margin:0}.rp-reorder-intro-group{letter-spacing:.14em;text-transform:uppercase;color:var(--color-green-muted);margin:0 0 4px;font-size:13px;font-weight:700}.rp-reorder-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rp-reorder-list[data-reordering]{-webkit-user-select:none;user-select:none}.rp-reorder-row{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);align-items:center;min-height:52px;padding-right:12px;display:flex;position:relative}.rp-reorder-row--fixed{background:0 0;border:none;min-height:0;padding:12px 6px 0}.rp-reorder-handle{border-radius:var(--radius-2xl);width:46px;color:var(--color-gray-400);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:none;align-self:stretch;place-items:center;padding:0;display:grid}.rp-reorder-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-4px}.rp-reorder-row-content{flex:auto;min-width:0}.rp-reorder-ingredient{grid-template-columns:56px minmax(0,1fr);align-items:baseline;column-gap:10px;padding:13px 0;display:grid}.rp-reorder-list--ingredients{grid-template-columns:47px fit-content(40%) minmax(0,1fr);column-gap:0;display:grid}.rp-reorder-list--ingredients>.rp-reorder-row{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.rp-reorder-list--ingredients .rp-reorder-row-content{grid-column:1/-1}.rp-reorder-list--ingredients .rp-reorder-handle+.rp-reorder-row-content{grid-column:2/-1;grid-template-columns:subgrid;column-gap:10px;display:grid}.rp-reorder-list--ingredients .rp-reorder-ingredient{grid-column:1/-1;grid-template-columns:subgrid}.rp-reorder-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--color-green-muted);font-size:12px;font-weight:700}.rp-reorder-heading--none{color:var(--color-gray-500)}.rp-reorder-group-line{align-items:center;gap:10px;min-height:52px;display:flex}.rp-reorder-group-name{letter-spacing:.14em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;min-width:0;color:var(--color-green-muted);flex:auto;font-size:13px;font-weight:700;overflow:hidden}.rp-reorder-group-count{font-variant-numeric:tabular-nums;color:var(--color-gray-500);font-size:14px}.rp-reorder-group-toggle{width:36px;height:36px;color:var(--color-gray-600);cursor:pointer;transition:transform var(--duration-fast) ease;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid}.rp-reorder-group-toggle.is-open{transform:rotate(180deg)}.rp-reorder-group-members{color:var(--color-gray-600);flex-direction:column;gap:4px;margin:0 0 12px;padding:0;font-size:14px;list-style:none;display:flex}.rp-reorder-step{grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:10px;padding:12px 0;display:grid}.rp-reorder-step-num{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--color-gray-900);font-size:18px;font-weight:700;line-height:1.25}.rp-reorder-step-body{flex-direction:column;gap:2px;min-width:0;display:flex}.rp-reorder-step-title{color:var(--color-gray-900);overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.35}.rp-reorder-step-text{-webkit-line-clamp:2;line-clamp:2;font-size:var(--font-size-body);color:var(--color-gray-600);overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.rp-reorder-list[data-reordering]>.rp-reorder-row{transition:transform .16s cubic-bezier(.2,.8,.2,1)}.rp-reorder-list>.rp-reorder-row[data-dragging]{z-index:2;border-color:var(--color-gray-300);box-shadow:0 10px 28px var(--color-gray-900-18);transition:none}@media (prefers-reduced-motion:reduce){.rp-anchored-menu{animation:none}.rp-reorder-list[data-reordering]>.rp-reorder-row,.rp-reorder-group-toggle{transition:none}}@media (width<=767.98px){:root[data-cook-vt] .rp-hero-overlay .rp-title,:root[data-cook-vt] .rp-overview-heading{width:fit-content}:root[data-cook-vt] .rp-ing-line-name,:root[data-cook-vt] .rp-medit-amount,:root[data-cook-vt] .rp-medit-name{justify-self:start}:root[data-cook-vt] .rp-medit-title{flex:0 auto;margin-right:auto}:root[data-cook-vt] .mobile-top-bar-edit-title{align-self:flex-start;max-width:100%}}@keyframes cook-vt-fade-in{0%{opacity:0}}@keyframes cook-vt-fade-out{to{opacity:0}}@keyframes cook-vt-photo-out{to{opacity:0;transform:translateY(-8%)}}@keyframes cook-vt-photo-in{0%{opacity:0;transform:translateY(-8%)}}@keyframes cook-vt-rise{0%{transform:translateY(100%)}}@keyframes cook-vt-drop{to{transform:translateY(100%)}}:root[data-cook-vt]::view-transition-group(*){animation-duration:var(--duration-flip);transform-origin:0 0;z-index:4;-webkit-backdrop-filter:none;backdrop-filter:none;animation-timing-function:cubic-bezier(.2,0,0,1)}:root[data-cook-vt]::view-transition-old(*){animation:cook-vt-fade-out var(--duration-flip) ease-out both}:root[data-cook-vt]::view-transition-new(*){animation:cook-vt-fade-in var(--duration-flip) ease-out both}:root[data-cook-vt]::view-transition-old(root){z-index:1}:root[data-cook-vt]::view-transition-new(root){animation:none}:root[data-cook-vt]::view-transition-group(root){z-index:0}:root[data-cook-vt]::view-transition-group(cook-photo){z-index:1;animation-duration:calc(var(--duration-flip) * .6);overflow:hidden}:root[data-cook-vt]::view-transition-group(*.cook-chrome){z-index:2}:root[data-cook-vt]::view-transition-group(cook-sheet){z-index:3}:root[data-cook-vt]::view-transition-group(cook-cta){z-index:5}:root[data-cook-vt]::view-transition-group(cook-cta-label){z-index:6}:root[data-cook-vt]::view-transition-group(cook-title){z-index:6}:root[data-cook-vt]::view-transition-group(cook-back){z-index:6}:root[data-cook-vt]::view-transition-group(cook-save-bar){z-index:6}:root[data-cook-vt]::view-transition-old(cook-photo){height:auto;top:50%;translate:0 -50%}:root[data-cook-vt]::view-transition-new(cook-photo){height:auto;top:50%;translate:0 -50%}:root[data-cook-vt=enter]::view-transition-old(cook-photo){animation:none}:root[data-cook-vt=enter]::view-transition-new(cook-photo){animation:cook-vt-fade-in calc(var(--duration-flip) * .25) ease-out calc(var(--duration-flip) * .5) both}:root[data-cook-vt=exit]::view-transition-old(cook-photo){animation:none}:root[data-cook-vt=exit]::view-transition-new(cook-photo){animation:cook-vt-fade-in calc(var(--duration-flip) * .2) ease-out both}:root[data-cook-vt]::view-transition-old(cook-photo):only-child{animation:cook-vt-photo-out calc(var(--duration-flip) * .4) ease-out both}:root[data-cook-vt]::view-transition-new(cook-photo):only-child{animation:cook-vt-photo-in calc(var(--duration-flip) * .6) cubic-bezier(.2, 0, 0, 1) calc(var(--duration-flip) * .15) both}:root[data-cook-vt]::view-transition-old(*.cook-chrome){animation:cook-vt-fade-out calc(var(--duration-flip) * .15) ease-out both}:root[data-cook-vt]::view-transition-new(*.cook-chrome){animation:cook-vt-fade-in calc(var(--duration-flip) * .35) ease-out calc(var(--duration-flip) * .65) both}:root[data-cook-vt]::view-transition-old(*.cook-text){animation-duration:calc(var(--duration-flip) * .35)}:root[data-cook-vt]::view-transition-new(*.cook-text){animation-duration:calc(var(--duration-flip) * .35)}:root[data-cook-vt]::view-transition-old(cook-back){animation-duration:calc(var(--duration-flip) * .35)}:root[data-cook-vt]::view-transition-new(cook-back){animation-duration:calc(var(--duration-flip) * .35)}:root[data-cook-vt]::view-transition-old(*.cook-row){animation-duration:calc(var(--duration-flip) * .6)}:root[data-cook-vt]::view-transition-new(*.cook-row){animation-duration:calc(var(--duration-flip) * .6)}:root[data-cook-vt]::view-transition-old(cook-title){animation:cook-vt-fade-out calc(var(--duration-flip) * .3) ease-in-out calc(var(--duration-flip) * .25) both}:root[data-cook-vt]::view-transition-new(cook-title){animation:cook-vt-fade-in calc(var(--duration-flip) * .3) ease-in-out calc(var(--duration-flip) * .25) both}:root[data-cook-vt]::view-transition-old(*.cook-row):only-child{animation:cook-vt-fade-out calc(var(--duration-flip) * .3) ease-out both}:root[data-cook-vt]::view-transition-old(*.cook-text):only-child{animation:cook-vt-fade-out calc(var(--duration-flip) * .3) ease-out both}:root[data-cook-vt]::view-transition-new(*.cook-row):only-child{animation:cook-vt-fade-in calc(var(--duration-flip) * .4) ease-out calc(var(--duration-flip) * .6) both}:root[data-cook-vt]::view-transition-new(*.cook-text):only-child{animation:cook-vt-fade-in calc(var(--duration-flip) * .4) ease-out calc(var(--duration-flip) * .6) both}:root[data-cook-vt]::view-transition-old(cook-cta){width:100%;height:100%}:root[data-cook-vt]::view-transition-new(cook-cta){width:100%;height:100%}:root[data-cook-vt=enter]::view-transition-old(cook-sheet){animation:cook-vt-fade-out calc(var(--duration-flip) * .55) ease-out both}:root[data-cook-vt=enter]::view-transition-new(cook-sheet){animation:cook-vt-fade-in calc(var(--duration-flip) * .6) ease-out calc(var(--duration-flip) * .4) both}:root[data-cook-vt=enter]::view-transition-old(cook-cta){animation:cook-vt-fade-out calc(var(--duration-flip) * .3) linear calc(var(--duration-flip) * .6) both}:root[data-cook-vt=enter]::view-transition-new(cook-cta){animation:cook-vt-fade-in calc(var(--duration-flip) * .35) ease-out calc(var(--duration-flip) * .35) both}:root[data-cook-vt=enter]::view-transition-old(cook-cta-label){animation:cook-vt-fade-out calc(var(--duration-flip) * .35) ease-out both}:root[data-cook-vt=exit]::view-transition-old(cook-sheet){animation:cook-vt-fade-out calc(var(--duration-flip) * .4) ease-out both}:root[data-cook-vt=exit]::view-transition-new(cook-sheet){animation:cook-vt-fade-in calc(var(--duration-flip) * .35) ease-out both}:root[data-cook-vt=exit]::view-transition-old(cook-cta){z-index:1;animation:cook-vt-fade-out calc(var(--duration-flip) * .3) ease-out both}:root[data-cook-vt=exit]::view-transition-new(cook-cta){animation:none}:root[data-cook-vt=exit]::view-transition-new(cook-cta-label){animation:cook-vt-fade-in calc(var(--duration-flip) * .45) ease-out calc(var(--duration-flip) * .55) both}:root[data-cook-vt=swap]::view-transition-old(cook-sheet){animation:cook-vt-fade-out calc(var(--duration-flip) * .4) ease-out both}:root[data-cook-vt=swap]::view-transition-new(cook-sheet){animation:cook-vt-fade-in calc(var(--duration-flip) * .4) ease-out calc(var(--duration-flip) * .2) both}:root[data-cook-vt=swap]::view-transition-old(cook-photo){animation:none}:root[data-cook-vt=swap]::view-transition-new(cook-photo){animation:cook-vt-fade-in calc(var(--duration-flip) * .3) ease-out both}:root[data-cook-vt=swap]::view-transition-old(cook-title){animation:cook-vt-fade-out calc(var(--duration-flip) * .3) ease-out both}:root[data-cook-vt=swap]::view-transition-new(cook-title){animation:cook-vt-fade-in calc(var(--duration-flip) * .3) ease-out both}:root[data-cook-vt]::view-transition-new(cook-save-bar){animation:cook-vt-rise calc(var(--duration-flip) * .8) cubic-bezier(.2, 0, 0, 1) calc(var(--duration-flip) * .2) both}:root[data-cook-vt]::view-transition-old(cook-save-bar){animation:cook-vt-drop calc(var(--duration-flip) * .5) cubic-bezier(.4, 0, 1, 1) both}:root[data-cook-vt]::view-transition-old(cook-cta):only-child{animation:cook-vt-fade-out calc(var(--duration-flip) * .4) ease-out both}:root[data-cook-vt]::view-transition-new(cook-cta):only-child{animation:cook-vt-fade-in calc(var(--duration-flip) * .6) ease-out calc(var(--duration-flip) * .35) both}:root[data-cook-vt-layout=wide]::view-transition-old(*){width:auto}:root[data-cook-vt-layout=wide]::view-transition-new(*){width:auto}:root[data-cook-vt-layout=wide]::view-transition-old(cook-edit){width:100%;height:100%;animation-duration:calc(var(--duration-flip) * .6)}:root[data-cook-vt-layout=wide]::view-transition-new(cook-edit){width:100%;height:100%;animation-duration:calc(var(--duration-flip) * .6)}:root[data-cook-vt-layout=wide]::view-transition-group(cook-side){z-index:1}:root[data-cook-vt-layout=wide]::view-transition-group(*.cook-panel){z-index:2}:root[data-cook-vt-layout=wide]::view-transition-group(cook-cta){z-index:3}:root[data-cook-vt-layout=wide]::view-transition-group(cook-cta-label){z-index:5}:root[data-cook-vt-layout=wide]::view-transition-group(cook-edit){z-index:6}@keyframes cook-vt-side-out{to{opacity:0;transform:translate(-16px)}}@keyframes cook-vt-side-in{0%{opacity:0;transform:translate(-16px)}}:root[data-cook-vt-layout=wide]::view-transition-old(cook-side){animation:cook-vt-side-out calc(var(--duration-flip) * .3) ease-out both}:root[data-cook-vt-layout=wide]::view-transition-new(cook-side){animation:cook-vt-side-in calc(var(--duration-flip) * .6) cubic-bezier(.2, 0, 0, 1) calc(var(--duration-flip) * .35) both}:root[data-cook-vt-layout=wide]::view-transition-old(*.cook-panel){animation:cook-vt-fade-out calc(var(--duration-flip) * .45) ease-out both}:root[data-cook-vt-layout=wide]::view-transition-new(*.cook-panel){animation:cook-vt-fade-in calc(var(--duration-flip) * .5) ease-out calc(var(--duration-flip) * .3) both}:root[data-cook-vt-layout=wide]::view-transition-old(*.cook-text){animation:cook-vt-fade-out calc(var(--duration-flip) * .2) linear both}:root[data-cook-vt-layout=wide]::view-transition-new(*.cook-text){animation:cook-vt-fade-in calc(var(--duration-flip) * .3) ease-out calc(var(--duration-flip) * .1) both}:root[data-cook-vt]::view-transition-old(*.cook-same){z-index:1;animation-duration:calc(var(--duration-flip) * .35)}:root[data-cook-vt]::view-transition-new(*.cook-same){animation:none}:root[data-cook-vt]::view-transition-new(*.cook-same):only-child{animation:cook-vt-fade-in calc(var(--duration-flip) * .4) ease-out calc(var(--duration-flip) * .6) both}.offline-banner{max-width:calc(100vw - 32px);color:var(--color-gray-700);background:var(--color-notice-surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-panel);z-index:var(--z-overlay);pointer-events:none;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:500;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.app-layout:has(>.mobile-bottom-bar):not(:has(>.mobile-bottom-bar.hidden))>.offline-banner{bottom:calc(var(--mobile-bottom-clearance) + 10px)}.app-layout:has(>.mobile-bottom-bar):not(:has(>.mobile-bottom-bar.hidden)):has(>.pinned-recipes-fab)>.offline-banner{bottom:calc(var(--mobile-bottom-clearance) + 10px + 38px + 8px)}.app-layout:has(>.pinned-recipes-fab--bottom-edge)>.offline-banner{bottom:58px}.offline-banner-icon{color:var(--color-warning);flex-shrink:0}
