:root{--bg:#fbfbf9;--surface:#fff;--surface-2:#f5f4f0;--surface-hover:#f0efea;--border:#e8e6e1;--border-strong:#d3d0c8;--text:#1c1917;--text-2:#44403c;--text-3:#78716c;--text-faint:#a8a29e;--accent:#5b6e3a;--accent-hover:#4a5a2f;--accent-soft:#eef1e7;--accent-line:#c5d1ad;--accent-2:#b8694a;--accent-2-hover:#a55a3e;--accent-2-soft:#fbeae1;--accent-2-line:#e7c2af;--accent-fg:#fff;--shadow-sm:0 1px 2px #1c19170a;--shadow-md:0 4px 12px #1c19170f, 0 1px 3px #1c19170a;--topbar-bg:#fbfbf9eb;--scrim:#1c191766;--radius:6px;--radius-lg:10px;--sidebar-w:280px;--topbar-h:56px;--content-max:1200px;--recipe-max:760px;--transition:.15s ease;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-caption:.75rem;--fs-small:.8125rem;--fs-base:.9375rem;--fs-body:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-4xl:2.25rem;--fs-display:3rem;--lh-tight:1.08;--lh-snug:1.25;--lh-normal:1.45;--lh-relaxed:1.6;--lh-loose:1.75;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ls-tighter:-.025em;--ls-tight:-.015em;--ls-normal:0;--ls-wide:.04em;--ls-wider:.08em;--space-0:0;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-xl:16px;--radius-full:9999px;--ease-out:cubic-bezier(.2, .6, .2, 1);--transition-fast:90ms ease;--transition-lift:.24s var(--ease-out);--transition-press:90ms var(--ease-out);--shadow-lg:0 14px 28px -10px #1c191738, 0 6px 10px -6px #1c19171a;--shadow-xl:0 24px 48px -16px #1c191747, 0 8px 16px -8px #1c19171f;--shadow-focus-ring:0 0 0 2px var(--accent-soft), 0 0 0 3px var(--accent)}[data-theme-family=dark]{--shadow-lg:0 14px 28px -10px #0000008c, 0 6px 10px -6px #00000059;--shadow-xl:0 24px 48px -16px #000000a6, 0 8px 16px -8px #0006}html{font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=linen]{--bg:#fbfbf9;--surface:#fff;--surface-2:#f5f4f0;--surface-hover:#f0efea;--border:#e8e6e1;--border-strong:#d3d0c8;--text:#1c1917;--text-2:#44403c;--text-3:#78716c;--text-faint:#a8a29e;--accent:#5b6e3a;--accent-hover:#4a5a2f;--accent-soft:#eef1e7;--accent-line:#c5d1ad;--accent-2:#b8694a;--accent-2-hover:#a55a3e;--accent-2-soft:#fbeae1;--accent-2-line:#e7c2af;--shadow-sm:0 1px 2px #1c19170a;--shadow-md:0 4px 12px #1c19170f, 0 1px 3px #1c19170a;--topbar-bg:#fbfbf9eb;--scrim:#1c191766;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=mint]{--bg:#f4faf6;--surface:#fff;--surface-2:#e9f3ec;--surface-hover:#def0e3;--border:#d6e6da;--border-strong:#b4c7b9;--text:#1c2620;--text-2:#3a4a40;--text-3:#6e7e74;--text-faint:#9aa9a0;--accent:#3f8a78;--accent-hover:#2f7263;--accent-soft:#def0e7;--accent-line:#a7d3c5;--accent-2:#d67a5b;--accent-2-hover:#c2664a;--accent-2-soft:#fbeae1;--accent-2-line:#ecc4b5;--shadow-sm:0 1px 2px #1c26200a;--shadow-md:0 4px 12px #1c262012, 0 1px 3px #1c26200a;--topbar-bg:#f4faf6eb;--scrim:#1c262066;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=sky]{--bg:#f6fafd;--surface:#fff;--surface-2:#eaf2f9;--surface-hover:#dfecf5;--border:#d3e0ec;--border-strong:#abbfd2;--text:#131c27;--text-2:#354758;--text-3:#687c8f;--text-faint:#9aabbc;--accent:#2e6cb3;--accent-hover:#1f5790;--accent-soft:#e3eef9;--accent-line:#a3c5e6;--accent-2:#c66a3e;--accent-2-hover:#ad5731;--accent-2-soft:#fae8db;--accent-2-line:#e8c0a4;--shadow-sm:0 1px 2px #131c270a;--shadow-md:0 4px 12px #131c2712, 0 1px 3px #131c270a;--topbar-bg:#f6fafdeb;--scrim:#131c2766;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=blush]{--bg:#fbf6f4;--surface:#fff;--surface-2:#f4e9e6;--surface-hover:#efe0db;--border:#ebe0dc;--border-strong:#d4c2bc;--text:#241914;--text-2:#4a3833;--text-3:#80706c;--text-faint:#b39e98;--accent:#a85b6e;--accent-hover:#8e4458;--accent-soft:#f5e8ec;--accent-line:#e0bcc8;--accent-2:#5b9e87;--accent-2-hover:#4a8a73;--accent-2-soft:#e1f0eb;--accent-2-line:#b8d8cb;--shadow-sm:0 1px 2px #2419140d;--shadow-md:0 4px 12px #24191412, 0 1px 3px #2419140a;--topbar-bg:#fbf6f4eb;--scrim:#24191466;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=apricot]{--bg:#fdf6ef;--surface:#fff;--surface-2:#fbeadb;--surface-hover:#f6dfcc;--border:#f0e1d2;--border-strong:#d8c3b2;--text:#2a1d12;--text-2:#4d3b2a;--text-3:#7e6e5d;--text-faint:#b39e90;--accent:#c5824f;--accent-hover:#b06f3c;--accent-soft:#fceee2;--accent-line:#f0c8a7;--accent-2:#4f9ec5;--accent-2-hover:#3e89ad;--accent-2-soft:#e2eef5;--accent-2-line:#b5d3e3;--shadow-sm:0 1px 2px #2a1d120d;--shadow-md:0 4px 12px #2a1d1212, 0 1px 3px #2a1d120a;--topbar-bg:#fdf6efeb;--scrim:#2a1d1266;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=cast-iron]{--bg:#14130f;--surface:#1c1b16;--surface-2:#25241e;--surface-hover:#2c2b24;--border:#2f2e27;--border-strong:#45433b;--text:#ece8de;--text-2:#b8b3a4;--text-3:#837e72;--text-faint:#5a564c;--accent:#7aa6d6;--accent-hover:#93bbe3;--accent-soft:#1a2330;--accent-line:#3a567a;--accent-2:#d6a67a;--accent-2-hover:#e3b88c;--accent-2-soft:#2c2418;--accent-2-line:#5a4a30;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080, 0 1px 4px #0000004d;--topbar-bg:#14130feb;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=midnight]{--bg:#14130f;--surface:#1c1b16;--surface-2:#25241e;--surface-hover:#2c2b24;--border:#2f2e27;--border-strong:#45433b;--text:#ece8de;--text-2:#b8b3a4;--text-3:#837e72;--text-faint:#5a564c;--accent:#ead07a;--accent-hover:#f5dd8b;--accent-soft:#2a2412;--accent-line:#5a4f25;--accent-2:#8a9ad8;--accent-2-hover:#9eaae0;--accent-2-soft:#1c2032;--accent-2-line:#3a4570;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080, 0 1px 4px #0000004d;--topbar-bg:#14130feb;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=plum]{--bg:#14130f;--surface:#1c1b16;--surface-2:#25241e;--surface-hover:#2c2b24;--border:#2f2e27;--border-strong:#45433b;--text:#ece8de;--text-2:#b8b3a4;--text-3:#837e72;--text-faint:#5a564c;--accent:#b06bd6;--accent-hover:#c283e0;--accent-soft:#251a2c;--accent-line:#553a6b;--accent-2:#d6c06b;--accent-2-hover:#e0cd7e;--accent-2-soft:#2c2614;--accent-2-line:#5a4c25;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080, 0 1px 4px #0000004d;--topbar-bg:#14130feb;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=lilac]{--bg:#14130f;--surface:#1c1b16;--surface-2:#25241e;--surface-hover:#2c2b24;--border:#2f2e27;--border-strong:#45433b;--text:#ece8de;--text-2:#b8b3a4;--text-3:#837e72;--text-faint:#5a564c;--accent:#cdb6e0;--accent-hover:#ddc6ec;--accent-soft:#221a26;--accent-line:#4a3d55;--accent-2:#a8c8b0;--accent-2-hover:#b8d4be;--accent-2-soft:#1c2620;--accent-2-line:#3a4a40;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080, 0 1px 4px #0000004d;--topbar-bg:#14130feb;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=ember]{--bg:#14100b;--surface:#1c1714;--surface-2:#25201b;--surface-hover:#2e2823;--border:#34302a;--border-strong:#4a443c;--text:#ecddc9;--text-2:#b8a48a;--text-3:#80715e;--text-faint:#564a3c;--accent:#df7a36;--accent-hover:#ee8c4a;--accent-soft:#2a1d12;--accent-line:#5a3a1f;--accent-2:#5aa6c5;--accent-2-hover:#6eb7d4;--accent-2-soft:#162028;--accent-2-line:#2e4858;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080, 0 1px 4px #0000004d;--topbar-bg:#14100beb;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=custom]{--bg:var(--user-bg-light,#fbfbf9);--surface:color-mix(in srgb, var(--bg) 35%, #fff);--surface-2:color-mix(in srgb, var(--bg) 96%, #000);--surface-hover:color-mix(in srgb, var(--bg) 93%, #000);--border:color-mix(in srgb, var(--bg) 90%, #000);--border-strong:color-mix(in srgb, var(--bg) 82%, #000);--text:#1c1917;--text-2:#44403c;--text-3:#78716c;--text-faint:#a8a29e;--accent-fg:var(--user-accent-fg-light,#fff);--accent:var(--user-accent-light,#5b6e3a);--accent-soft:color-mix(in srgb, var(--accent) 12%, var(--surface));--accent-line:color-mix(in srgb, var(--accent) 35%, var(--surface));--accent-hover:color-mix(in srgb, var(--accent) 88%, #000);--accent-2:var(--user-accent-2-light,#b8694a);--accent-2-soft:color-mix(in srgb, var(--accent-2) 14%, var(--surface));--accent-2-line:color-mix(in srgb, var(--accent-2) 32%, var(--surface));--accent-2-hover:color-mix(in srgb, var(--accent-2) 88%, #000);--shadow-sm:0 1px 2px #1c19170a;--shadow-md:0 4px 12px #1c19170f, 0 1px 3px #1c19170a;--topbar-bg:color-mix(in srgb, var(--bg) 92%, transparent);--scrim:#1c191766;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=custom-dark]{--bg:var(--user-bg-dark,#14130f);--surface:color-mix(in srgb, var(--bg) 96%, #fff);--surface-2:color-mix(in srgb, var(--bg) 92%, #fff);--surface-hover:color-mix(in srgb, var(--bg) 89%, #fff);--border:color-mix(in srgb, var(--bg) 87%, #fff);--border-strong:color-mix(in srgb, var(--bg) 78%, #fff);--text:#ece8de;--text-2:#b8b3a4;--text-3:#837e72;--text-faint:#5b574d;--accent-fg:var(--user-accent-fg-dark,#fff);--accent:var(--user-accent-dark,#c8d1a4);--accent-soft:color-mix(in srgb, var(--accent) 20%, var(--surface));--accent-line:color-mix(in srgb, var(--accent) 38%, var(--surface));--accent-hover:color-mix(in srgb, var(--accent) 88%, #fff);--accent-2:var(--user-accent-2-dark,#d99b7a);--accent-2-soft:color-mix(in srgb, var(--accent-2) 18%, var(--surface));--accent-2-line:color-mix(in srgb, var(--accent-2) 35%, var(--surface));--accent-2-hover:color-mix(in srgb, var(--accent-2) 88%, #fff);--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080, 0 1px 4px #0000004d;--topbar-bg:color-mix(in srgb, var(--bg) 92%, transparent);--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#14130f;--surface:#1c1b16;--surface-2:#25241e;--surface-hover:#2c2b24;--border:#2f2e27;--border-strong:#45433b;--text:#ece8de;--text-2:#b8b3a4;--text-3:#837e72;--text-faint:#5a564c;--accent:#7aa6d6;--accent-hover:#93bbe3;--accent-soft:#1a2330;--accent-line:#3a567a;--accent-2:#d6a67a;--accent-2-hover:#e3b88c;--accent-2-soft:#2c2418;--accent-2-line:#5a4a30;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080, 0 1px 4px #0000004d;--topbar-bg:#14130feb;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-feature-settings:"kern", "liga", "calt";min-height:100vh;line-height:1.55}.use-tnum,.info-chip-value,.timer-btn,.card-time,.rating-chip,.serves-chip,.page-sub time,.search-info,.paginated-page-indicator{font-variant-numeric:tabular-nums lining-nums}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}input,button,select,textarea{font-family:inherit}@media (width<=720px){input[type=text],input[type=search],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=url],input:not([type]),textarea{font-size:16px!important}}body{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}.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}.skip-link{background:var(--text);color:var(--surface);border-radius:var(--radius);z-index:1000;padding:8px 12px;font-size:.85rem;position:absolute;top:-40px;left:8px}.skip-link:focus{top:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}button:not(.toast-action):not(.tag-chip):not(.search-clear):active,.action-btn:active,.section-action-btn:active,.empty-state-action:active,.paginated-more-btn:active,.paginated-prev:active,.paginated-next:active{transition:transform 90ms;transform:scale(.97)}@media (prefers-reduced-motion:reduce){button:active,.action-btn:active,.card:active{transform:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}[data-text-size=large] .markdown{font-size:1.15rem;line-height:1.8}[data-text-size=large] .markdown li,[data-text-size=large] .markdown p{font-size:1.05em}[data-text-size=large] .markdown h1{font-size:2.5rem}[data-text-size=large] .markdown h2{font-size:1.55rem}[data-text-size=large] .markdown h3{font-size:.95rem}[data-text-size=large] .recipe-chip-label{font-size:.78rem}[data-text-size=large] .recipe-chip-value{font-size:.95rem}[data-text-size=large] .page-title{font-size:2.5rem}[data-text-size=large] .page-sub{font-size:1.08rem}[data-text-size=large] .page-eyebrow{font-size:.78rem}[data-text-size=large] .section-title{font-size:1.4rem}[data-text-size=large] .section-meta{font-size:.88rem}[data-text-size=large] .card-title{font-size:1.4rem}[data-text-size=large] .card-overview{font-size:.95rem}[data-text-size=large] .card-tag{font-size:.74rem}[data-text-size=large] .card-time,[data-text-size=large] .card-serves{font-size:.82rem}[data-text-size=large] .cat-tile-name{font-size:1.4rem}[data-text-size=large] .cat-tile-overview{font-size:.98rem}[data-text-size=large] .cat-tile-meta{font-size:.84rem}[data-text-size=large] .tag-chip{font-size:.9rem}[data-text-size=large] .search-info{font-size:.98rem}[data-text-size=large] .nav-label{font-size:.95rem}[data-text-size=large] .nav-count{font-size:.78rem}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:50;flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.main{margin-left:var(--sidebar-w);flex-direction:column;min-height:100vh;transition:margin-left .2s;display:flex}.content{max-width:var(--content-max);flex:1;width:100%;padding:1.75rem 2rem 4rem}.content:focus{outline:none}body.sidebar-collapsed .sidebar{transform:translateX(calc(-1 * var(--sidebar-w)))}body.sidebar-collapsed .main{margin-left:0}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.25rem 1.25rem .75rem;display:flex}.brand{color:var(--text);align-items:center;gap:.65rem;line-height:1.1;display:flex}.brand-seal{width:32px;height:32px;color:var(--text);flex:0 0 32px;transition:color .2s;display:inline-flex}.brand-seal svg{width:100%;height:100%}.brand-text{display:block}.brand-mark{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-xl);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);color:var(--text);display:block}.brand-sub{font-size:var(--fs-caption);color:var(--text-3);letter-spacing:var(--ls-wide);text-transform:uppercase;margin-top:3px;display:block}.brand:hover .brand-mark,.brand:hover .brand-seal{color:var(--accent)}.sidebar-close{color:var(--text-3);border-radius:var(--radius);padding:4px;display:none}.sidebar-close:hover{color:var(--text);background:var(--surface-2)}.sidebar-search{border-bottom:1px solid var(--border);padding:.75rem 1rem}.sidebar-search-input-wrap{position:relative}.sidebar-search input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);transition:border-color var(--transition), background var(--transition);outline:none;padding:.55rem .75rem .55rem 2.1rem;font-size:.85rem}.sidebar-search input::placeholder{color:var(--text-faint)}.sidebar-search input:focus{border-color:var(--accent);background:var(--surface)}.sidebar-search .search-icon{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.sidebar-search-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;margin-top:.5rem;overflow:hidden auto;box-shadow:0 6px 18px #00000014}.sidebar-search-dropdown[hidden]{display:none}.sidebar-search-item{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.5rem .7rem;text-decoration:none;display:flex}.sidebar-search-item:last-of-type{border-bottom:0}.sidebar-search-item:hover,.sidebar-search-item.is-active{background:var(--accent-soft)}.sidebar-search-thumb{object-fit:cover;border-radius:var(--radius);background:var(--surface-2);flex-shrink:0;width:40px;height:40px}.sidebar-search-thumb--empty{display:inline-block}.sidebar-search-item-body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.sidebar-search-title{font-size:.85rem;font-weight:var(--fw-medium);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-search-cat{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.sidebar-search-all{background:var(--surface-2);color:var(--accent);font-size:.78rem;font-weight:var(--fw-semibold);text-align:center;border-top:1px solid var(--border);padding:.55rem .75rem;text-decoration:none;display:block}.sidebar-search-all:hover{background:var(--accent-soft)}.sidebar-search-empty{color:var(--text-3);text-align:center;padding:.75rem;font-size:.82rem}.sidebar-search-history-head{color:var(--text-3);font-size:.7rem;font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:.45rem .75rem}.sidebar-search-history-row{border-bottom:1px solid var(--border);align-items:center;gap:.4rem;padding:.2rem .5rem .2rem 0;display:flex}.sidebar-search-history-row:last-of-type{border-bottom:0}.sidebar-search-history-link{color:var(--text);border-radius:var(--radius);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .75rem;font-size:.85rem;text-decoration:none;display:flex;overflow:hidden}.sidebar-search-history-link:hover{background:var(--accent-soft)}.sidebar-search-history-icon{color:var(--text-faint);flex-shrink:0}.sidebar-search-history-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-search-history-remove{width:22px;height:22px;color:var(--text-faint);border-radius:var(--radius-full,999px);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex}.sidebar-search-history-remove:hover{color:var(--text);background:var(--surface-2)}.sidebar-search-history-clear{background:var(--surface-2);width:100%;color:var(--text-3);border:none;border-top:1px solid var(--border);font-size:.75rem;font-weight:var(--fw-medium);letter-spacing:.02em;text-align:center;cursor:pointer;padding:.5rem .75rem;transition:color .12s,background .12s;display:block}.sidebar-search-history-clear:hover{color:var(--accent);background:var(--accent-soft)}.sidebar-nav{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;padding:.5rem 0 1rem;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.nav-row{transition:background var(--transition), border-color var(--transition);border-left:2px solid #0000;display:block;position:relative}.nav-row.is-active{border-left-color:var(--accent);background:var(--accent-soft)}.nav-row:hover:not(.is-active){background:var(--surface-2)}.nav-item{text-align:left;width:100%;color:var(--text-2);transition:color var(--transition);align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.83rem;display:flex}.nav-row.is-active .nav-item{color:var(--accent);font-weight:500}.nav-row:hover .nav-item{color:var(--text)}.nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-item .nav-count{color:var(--text-3);font-variant-numeric:tabular-nums;background:var(--surface-2);border-radius:999px;padding:1px 6px;font-size:.68rem}.nav-row.is-active .nav-count{background:var(--surface);color:var(--accent)}.nav-item .nav-pin{color:var(--text-3);flex-shrink:0;margin-right:.35rem}.nav-row:hover .nav-pin{color:var(--accent-2,var(--accent))}.nav-row.is-active .nav-pin{color:var(--accent)}.nav-toggle{width:22px;color:var(--text-faint);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.nav-toggle:hover{color:var(--text-2)}.nav-row.is-active .nav-toggle{color:var(--accent)}.nav-chevron{width:11px;height:11px;transition:transform .15s}.nav-chevron.is-open{transform:rotate(90deg)}.nav-row.is-top .nav-item{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:.55rem 1rem .55rem 1.5rem;font-size:.7rem;font-weight:600}.nav-row.is-top.is-active .nav-item{color:var(--accent);font-weight:600}.nav-row.is-sub .nav-item{padding-left:2rem;font-size:.81rem}.nav-row.is-sub-sub .nav-item{color:var(--text-3);padding-left:2.85rem;font-size:.79rem}.nav-row.is-sub .nav-toggle{left:.7rem}.nav-row.is-sub-sub .nav-toggle{left:1.55rem}.nav-children{display:none}.nav-children.is-open{display:block}.nav-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:.55rem 1rem .4rem 1.5rem;font-size:.7rem;font-weight:600;display:block}.nav-saved-sep{background:var(--border);height:1px;margin:.5rem 1rem}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;font-size:.7rem;display:flex}.sidebar-footer-link{color:var(--text-2);border-radius:var(--radius);transition:color var(--transition), background var(--transition);align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.sidebar-footer-link:hover{color:var(--accent);background:var(--surface-2)}.sidebar-version{color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.7rem}@media (width<=720px){.sidebar .nav-children,.sidebar .nav-toggle{display:none}.sidebar .nav-row.is-top .nav-item.is-top{padding-left:.75rem}}.topbar{z-index:30;min-height:var(--topbar-h);background:var(--topbar-bg);-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:0 2rem;display:flex;position:sticky;top:0}.topbar-left{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.breadcrumb{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:.35rem;min-height:24px;font-size:.82rem;display:flex}#sidebar-toggle{flex-shrink:0}@media (width<=720px){#sidebar-toggle{display:none}}.breadcrumb a{color:var(--text-2);transition:color var(--transition)}.breadcrumb a:hover{color:var(--accent)}.breadcrumb .crumb-current{color:var(--text);font-weight:500}.breadcrumb .crumb-sep{color:var(--text-faint)}.topbar-actions{align-items:center;gap:.5rem;display:flex}.topbar-link{color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:color var(--transition), border-color var(--transition);cursor:pointer;align-items:center;gap:.4rem;padding:.35rem .7rem;font-family:inherit;font-size:.78rem;display:inline-flex}.topbar-link:hover{color:var(--accent);border-color:var(--accent-line)}.topbar-link.icon-only{padding:.35rem .5rem}#theme-toggle .theme-icon-light{display:inline}#theme-toggle .theme-icon-dark,[data-theme-family=dark] #theme-toggle .theme-icon-light{display:none}[data-theme-family=dark] #theme-toggle .theme-icon-dark{display:inline}.aa-icon{font-family:var(--font-serif);letter-spacing:-.02em;text-align:center;min-width:1.4em;font-size:.95rem;font-weight:600;line-height:1;display:inline-block}#text-size-toggle.is-on{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}#text-size-toggle.is-on:hover{color:var(--accent-fg);background:var(--accent-hover);border-color:var(--accent-hover)}.menu-toggle{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:38px;height:38px;color:var(--text-2);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:none;position:fixed;top:10px;left:12px}.menu-toggle:hover{color:var(--text)}.sidebar-scrim{background:var(--scrim);z-index:40;display:none;position:fixed;inset:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.card-grid--bento{grid-auto-flow:dense}@media (width>=760px){.card-grid--bento{grid-template-columns:repeat(4,1fr)}.card-grid--bento .card:first-child{grid-area:span 2/span 2}.card-grid--bento .card:first-child .card-media{aspect-ratio:16/10}.card-grid--bento .card:first-child .card-title{font-size:var(--fs-2xl);letter-spacing:var(--ls-tight)}.card-grid--bento .card:first-child .card-overview{-webkit-line-clamp:4;line-clamp:4}}@media (width>=1100px){.card-grid--bento .card:nth-child(5){grid-column:span 2}.card-grid--bento .card:nth-child(5) .card-media{aspect-ratio:16/9}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .22s ease, box-shadow var(--transition-lift), transform var(--transition-lift);will-change:transform;flex-direction:column;padding:4px;display:flex;position:relative;overflow:hidden}.card-link{color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)scale(1.012)}.card:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus-ring)}.card-link:focus-visible{outline:none}.card:active{transition-duration:90ms;transform:translateY(-2px)scale(.995)}@media (prefers-reduced-motion:reduce){.card{will-change:auto;transition:border-color .12s}.card:hover,.card:active{transform:none}}.card-media{aspect-ratio:4/3;background:var(--surface-2);border-radius:calc(var(--radius-lg) - 4px);background-position:50%;background-size:cover;border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;position:relative;overflow:hidden}.card-media.has-blurhash{background-color:var(--surface-2)}.card-media:not(.is-loaded):not(.is-empty):not(.has-blurhash):before{content:"";background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-hover) 50%, var(--surface-2) 100%);pointer-events:none;background-size:200% 100%;animation:1.4s ease-in-out infinite skel-shimmer;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.card-media:not(.is-loaded):before{animation:none}}.card-tags{pointer-events:none;flex-wrap:wrap;gap:.3rem;display:flex;position:absolute;top:.5rem;left:.5rem}.card-tag-pill{letter-spacing:.05em;text-transform:uppercase;color:var(--surface);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c1917c7;border-radius:999px;padding:2px 7px;font-size:.6rem;font-weight:600}.card-tag-pill[data-tag=vegetarian]{background:#5b6e3ad9}.card-tag-pill[data-tag=quick]{background:#b45309d9}.card-tag-pill[data-tag=spicy]{background:#9f1239d9}.card-tag-pill[data-tag=new]{background:#15803de6}.card-tag-pill[data-tag=bbq]{background:#78350fe6}[data-theme-family=dark] .card-tag-pill{color:var(--text)}.card-note-pill{background:var(--accent);width:24px;height:24px;color:var(--accent-fg);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 1px 4px #00000040}.card-note-pill svg{display:block}[data-theme-family=dark] .card-note-pill{color:var(--accent-fg)}.card-saved-star{z-index:2;color:#f0b65c;-webkit-backdrop-filter:blur(4px);pointer-events:none;background:#1c1917c7;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex;position:absolute;top:.5rem;right:.5rem;box-shadow:0 1px 3px #0000004d}.card-saved-star svg{display:block}.card-media img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .28s,transform .3s}.card-media.is-loaded img{opacity:1}@media (prefers-reduced-motion:reduce){.card-media img{opacity:1;transition:transform .12s}}.card:hover .card-media img{transform:scale(1.03)}.card-media.is-empty{color:var(--text-faint);background:linear-gradient(135deg, var(--surface-2), var(--surface-hover));justify-content:center;align-items:center;display:flex}.card-media.is-empty:after{content:"";opacity:.4;border:1.5px solid;border-radius:4px;width:36px;height:36px}.card-body{padding:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.card-title{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);color:var(--accent);text-wrap:balance;transition:color var(--transition)}.card:hover .card-title{color:var(--accent-hover)}.card-overview{font-size:var(--fs-small);color:var(--text-3);line-height:var(--lh-relaxed);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 65%,#00000059 100%);mask-image:linear-gradient(#000 65%,#00000059 100%)}.card-foot{padding-top:var(--space-2);justify-content:flex-start;align-items:center;gap:var(--space-2);margin-top:auto;padding-right:44px;display:flex}.card-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-fg);background:var(--accent);border-radius:3px;padding:2px 7px;font-size:.65rem;font-weight:500}.card-meta{align-items:center;gap:.55rem;display:inline-flex}.card-time{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;align-items:center;gap:.25rem;font-size:.7rem;display:inline-flex}.card-time svg{color:var(--text-faint)}.card-rating{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;align-items:center;gap:.2rem;font-size:.72rem;font-weight:500;display:inline-flex}.card-rating svg{color:var(--accent)}.card-serves{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;align-items:center;gap:.25rem;font-size:.7rem;display:inline-flex}.card-serves-icon{color:var(--text-faint);display:inline-block}.card-serves-label{display:none}.paginated-more{justify-content:center;margin:1.5rem 0 .5rem;display:flex}.paginated-more-btn{font-family:inherit;font-size:var(--fs-small);font-weight:var(--fw-medium);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-2);cursor:pointer;transition:border-color var(--transition), color var(--transition), background var(--transition), box-shadow var(--transition)}.paginated-more-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.paginated-more-btn:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-focus-ring);outline:none}.paginated-more-count{color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:.25rem}.paginated-more-btn:hover .paginated-more-count,.paginated-more-btn:focus-visible .paginated-more-count{color:var(--accent)}.paginated-prev-next{justify-content:center;align-items:center;gap:.75rem;margin:1.5rem 0 .5rem;font-size:.9rem;display:flex}.paginated-prev,.paginated-next{font-family:inherit;font-weight:var(--fw-medium);padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-2);transition:border-color var(--transition), color var(--transition), background var(--transition), box-shadow var(--transition);text-decoration:none}.paginated-prev:hover,.paginated-next:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.paginated-prev:focus-visible,.paginated-next:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-focus-ring);outline:none}.paginated-prev.is-disabled,.paginated-next.is-disabled{color:var(--text-faint);border-color:var(--border);cursor:not-allowed;pointer-events:none;background:0 0}.paginated-page-indicator{color:var(--text-3);font-variant-numeric:tabular-nums;padding:0 .5rem}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:2rem;display:grid}.cat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .22s ease, box-shadow var(--transition-lift), transform var(--transition-lift);flex-direction:column;padding:3px;text-decoration:none;display:flex;overflow:hidden}.cat-tile:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cat-tile:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-focus-ring);outline:none}.cat-tile:active{transition-duration:var(--transition-press);transform:translateY(-1px)scale(.997)}@media (prefers-reduced-motion:reduce){.cat-tile{transition:border-color .12s}.cat-tile:hover,.cat-tile:active{transform:none}}.cat-tile-media{background:var(--surface-2);border-radius:calc(var(--radius) - 3px);border-bottom-right-radius:0;border-bottom-left-radius:0;flex-shrink:0;width:100%;height:110px;position:relative;overflow:hidden}.cat-tile-media img{object-fit:cover;object-position:center;opacity:.85;width:100%;height:100%;transition:transform .3s,opacity .3s;display:block}.cat-tile:hover .cat-tile-media img{opacity:1;transform:scale(1.04)}.cat-tile-media.is-empty{background:linear-gradient(135deg, var(--surface-2), var(--surface-hover));justify-content:center;align-items:center;display:flex}.cat-tile-media.is-empty:after{content:"";opacity:.25;width:32px;height:32px;color:var(--text-faint);border:1.5px solid;border-radius:4px}.cat-tile-body{padding:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.cat-tile-name{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);color:var(--accent);text-wrap:balance;transition:color var(--transition)}.cat-tile:hover .cat-tile-name{color:var(--accent-hover)}.cat-tile-overview{font-size:var(--fs-small);color:var(--text-2);line-height:var(--lh-relaxed);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cat-tile-meta{font-size:var(--fs-caption);color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-wide);text-transform:uppercase;margin-top:auto;padding-top:.25rem}.subcategory-chips{flex-wrap:wrap;gap:.4rem;margin:0 0 1.25rem;display:flex}.subcategory-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-small);transition:border-color var(--transition), background var(--transition), color var(--transition);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-weight:500;text-decoration:none;display:inline-flex}.subcategory-chip:hover{border-color:var(--accent);background:var(--surface-2);color:var(--accent)}.subcategory-chip-count{font-size:var(--fs-caption);color:var(--text-3);font-variant-numeric:tabular-nums;background:var(--surface-2);border-radius:999px;padding:0 .25rem}.subcategory-chip:hover .subcategory-chip-count{background:var(--surface)}@media (pointer:coarse){.subcategory-chip{min-height:36px;padding:.5rem .8rem}}.recipe-detail{max-width:var(--recipe-max,760px)}.recipe-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.recipe-twocol>.recipe-section{min-width:0}@media (width>=1100px){.recipe-detail:has(.recipe-twocol){max-width:1180px}.recipe-twocol{grid-template-columns:minmax(280px,1fr) minmax(0,2fr);align-items:start;gap:2.5rem;margin-top:1rem;display:grid}.recipe-twocol>.recipe-section[data-section=ingredients]{border-right:1px solid var(--border);padding-right:.5rem}.recipe-twocol>.recipe-section[data-section=method]>h2:first-child,.recipe-twocol>.recipe-section[data-section=ingredients]>h2:first-child{margin-top:0}}.recipe-detail>.section:first-of-type{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}@media print{.recipe-twocol{display:block!important}.recipe-twocol>.recipe-section[data-section=ingredients]{border-right:none!important;max-height:none!important;padding-right:0!important;position:static!important;overflow:visible!important}}.recipe-hero-shell{border-radius:var(--radius-lg,10px);background:var(--surface-2);margin:0 0 1.5rem;position:relative;overflow:hidden;box-shadow:0 1px #0000000a}.recipe-hero-media{aspect-ratio:3/2;background-position:50%;background-size:cover;width:100%;max-height:520px;position:relative}.recipe-hero-media.has-blurhash{background-color:var(--surface-2)}.recipe-hero-shell .recipe-hero-media img{object-fit:cover;object-position:center center;border:none;border-radius:0;width:100%;height:100%;margin:0;display:block}@media (width<=600px){.recipe-hero-media{aspect-ratio:4/3;max-height:none}}@media print{.recipe-hero-shell{border-radius:0;box-shadow:none!important;background:0 0!important}.recipe-hero-media{aspect-ratio:auto;max-height:280px}}.recipe-editorial-meta{border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-serif);color:var(--text-2);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.4rem .85rem;margin:-.5rem 0 1.5rem;padding:.75rem .5rem;display:flex}.recipe-editorial-item{align-items:baseline;gap:.4rem;display:inline-flex}.recipe-editorial-label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);font-size:.7rem;font-weight:600}.recipe-editorial-value{color:var(--text);font-variant-numeric:tabular-nums lining-nums;font-size:.95rem}.recipe-editorial-sep{color:var(--text-faint);-webkit-user-select:none;user-select:none;font-size:.85rem}@media (width<=600px){.recipe-editorial-meta{gap:.35rem .65rem;padding:.6rem .4rem}.recipe-editorial-label{letter-spacing:.16em;font-size:.62rem}.recipe-editorial-value{font-size:.88rem}}.recipe-header{margin-bottom:2rem}.recipe-title{font-family:var(--font-serif);font-size:var(--fs-4xl,2.25rem);font-weight:var(--fw-medium,500);line-height:var(--lh-tight,1.1);letter-spacing:var(--ls-tighter,-.025em);color:var(--text);font-feature-settings:"kern", "liga", "dlig";margin:0 0 .75rem}@media (width>=880px){.recipe-title{font-size:2.625rem}}.recipe-overview{font-family:var(--font-serif);font-style:italic;font-size:var(--fs-lg,1.15rem);line-height:var(--lh-normal,1.5);color:var(--text-2);max-width:60ch;margin:0 0 1.25rem}.recipe-chips{top:var(--topbar-h,56px);z-index:25;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.55rem;margin:.4rem 0 1.25rem;padding:.6rem 0;display:flex;position:sticky}body.is-cooking-mode .recipe-chips{border-bottom:none;position:static}@media (width<=720px){.recipe-chips{border-bottom:none;position:static}}.recipe-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:stretch;font-size:.78rem;line-height:1.2;display:inline-flex;overflow:hidden}@media (pointer:coarse){.recipe-chip{min-height:44px;font-size:.85rem}.recipe-chip-label,.recipe-chip-value{padding-top:0;padding-bottom:0}}.recipe-chip-label{background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semibold,600);letter-spacing:var(--ls-wide,.04em);text-transform:uppercase;font-size:var(--fs-caption,.72rem);align-items:center;padding:.32rem .65rem;display:inline-flex}.recipe-chip-value{color:var(--text-2);font-variant-numeric:tabular-nums;align-items:center;padding:.32rem .7rem .32rem .55rem;display:inline-flex}.serves-chip{padding-right:0}.serves-chip .recipe-chip-value{justify-content:center;min-width:1.6rem;padding:.32rem .4rem}.serves-step{color:var(--accent);cursor:pointer;min-width:28px;transition:background var(--transition);background:0 0;border:none;border-radius:0;justify-content:center;align-self:stretch;align-items:center;padding:0 .55rem;font-family:inherit;font-size:1rem;line-height:1;display:inline-flex}.serves-step:hover:not(:disabled){background:var(--accent-soft)}.serves-step:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.serves-step:disabled{opacity:.45;cursor:not-allowed}@media (pointer:coarse){.serves-step{min-width:44px;padding:0 .8rem;font-size:1.25rem}.serves-chip .recipe-chip-value{min-width:2.6rem;padding:.5rem .65rem;font-size:.95rem}}@media print{.serves-step{display:none}}.rating-chip{padding-right:0}.rating-stars{align-self:stretch;align-items:center;gap:.05rem;padding:0 .4rem;display:inline-flex}.rating-star{cursor:pointer;color:var(--border-strong,var(--border));transition:color var(--transition), transform .1s ease;background:0 0;border:none;justify-content:center;align-items:center;padding:.15rem;display:inline-flex}.rating-star svg{width:18px;height:18px;display:block}.rating-star:hover{color:var(--accent);transform:scale(1.08)}.rating-star.is-on{color:var(--accent)}.rating-star:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}@media (pointer:coarse){.rating-star{padding:.6rem}.rating-star svg{width:22px;height:22px}}.rating-reset{color:var(--text-3);cursor:pointer;min-width:22px;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:0;justify-content:center;align-self:stretch;align-items:center;padding:0 .45rem;font-size:1rem;line-height:1;display:inline-flex}.rating-reset:hover{color:var(--text);background:var(--surface-2)}@media (pointer:coarse){.rating-reset{min-width:36px;font-size:1.2rem}}.units-chip{padding-right:0}.units-toggle{color:var(--text-3);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;align-self:stretch;align-items:center;padding:0 .7rem;font-family:inherit;font-size:.7rem;font-weight:500;display:inline-flex}.units-toggle[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);font-weight:600}.units-toggle:hover{color:var(--accent)}.units-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (pointer:coarse){.units-toggle{padding:0 .85rem;font-size:.85rem}}.recipe-tags{border-top:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}.recipe-tag{font-size:.7rem;font-weight:var(--fw-medium,500);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full,999px);padding:4px 10px}.markdown{font-size:var(--fs-body,1rem);color:var(--text-2);line-height:var(--lh-loose,1.75)}.markdown>*+*{margin-top:1rem}.markdown h1,.markdown h2,.markdown h3{scroll-margin-top:calc(var(--topbar-h,56px) + 12px)}.markdown h1{font-family:var(--font-serif);font-size:var(--fs-4xl,2.25rem);font-weight:var(--fw-medium,500);letter-spacing:var(--ls-tighter,-.025em);line-height:var(--lh-tight,1.1);color:var(--text);font-feature-settings:"kern", "liga", "dlig";margin:0 0 .75rem}.markdown h2{font-family:var(--font-serif);font-size:var(--fs-2xl,1.5rem);font-weight:var(--fw-medium,500);line-height:var(--lh-snug,1.25);color:var(--text);letter-spacing:var(--ls-tight,-.015em);border-bottom:1px solid var(--border);font-feature-settings:"kern", "liga";margin:2.2rem 0 .85rem;padding-bottom:.5rem}.markdown h3{font-size:var(--fs-small,.8125rem);font-weight:var(--fw-semibold,600);letter-spacing:var(--ls-wider,.08em);text-transform:uppercase;color:var(--text-3);margin:1.5rem 0 .6rem}.markdown p{line-height:var(--lh-loose,1.75);margin:0}.markdown ul,.markdown ol{margin:0;padding-left:1.5rem}.markdown li+li{margin-top:.4rem}.markdown ol li{padding-left:.25rem}.markdown ul li::marker{color:var(--accent)}.markdown ol li::marker{color:var(--accent);font-weight:var(--fw-semibold,600)}.markdown a{color:var(--accent);border-bottom:1px solid var(--accent-line,var(--accent))}.markdown a:hover{border-bottom-color:var(--accent)}.markdown code{background:var(--surface-2);border-radius:3px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.markdown img{border-radius:var(--radius,6px);border:1px solid var(--border);max-width:100%;height:auto;margin:1rem 0}.markdown hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.markdown table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.92rem}.markdown th{background:var(--surface-2);text-align:left;font-weight:var(--fw-semibold,600);border:1px solid var(--border);color:var(--text-2);padding:.55rem .8rem}.markdown td{border:1px solid var(--border);padding:.55rem .8rem}.markdown blockquote{border-left:3px solid var(--accent-line,var(--accent));color:var(--text-2);margin:1rem 0;padding:.25rem 0 .25rem 1rem;font-style:italic}.markdown em{color:var(--text-2);font-style:italic}.markdown strong{font-weight:var(--fw-semibold,600);color:var(--text)}.cook-mode-exit{z-index:200;font-family:var(--font-sans);color:var(--surface);background:var(--text);border:1px solid var(--text);cursor:pointer;box-shadow:var(--shadow-md,0 6px 18px #0000002e);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-width:96px;min-height:44px;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;display:none;position:fixed;top:16px;right:16px}.cook-mode-exit svg{width:18px;height:18px}.cook-mode-exit:hover{background:var(--text-2);border-color:var(--text-2)}body.is-cooking-mode .cook-mode-exit{display:inline-flex}body.is-cooking-mode #sidebar,body.is-cooking-mode .sidebar-scrim,body.is-cooking-mode #menu-toggle,body.is-cooking-mode .topbar,body.is-cooking-mode .recipe-chips,body.is-cooking-mode .recipe-allergens,body.is-cooking-mode .recipe-actions,body.is-cooking-mode .recipe-toc,body.is-cooking-mode .recipe-siblings,body.is-cooking-mode .mentioned-recipes,body.is-cooking-mode .similar-recipes{display:none!important}body.is-cooking-mode .main{margin-left:0}body.is-cooking-mode .content{max-width:800px;margin:0 auto;padding-top:3rem}body.is-cooking-mode .recipe-twocol{display:block!important}body.is-cooking-mode .recipe-twocol>.recipe-section[data-section=ingredients]{border-right:none!important;max-height:none!important;padding-right:0!important;position:static!important;overflow:visible!important}body.is-cooking-mode .markdown{font-size:1.15rem;line-height:1.85}body.is-cooking-mode .markdown h1{font-size:2.4rem}body.is-cooking-mode .markdown h2{font-size:1.55rem}body.is-cooking-mode .markdown li{padding:.15rem 0;font-size:1.1em}body.is-cooking-mode .markdown ol li{padding:.35rem 0}body.is-cooking-mode .recipe-chip{font-size:.95rem}body.is-cooking-mode .recipe-chip-label{font-size:.78rem}body.is-cooking-mode .method-step{cursor:pointer;transition:opacity .2s,transform .2s}body.is-cooking-mode .markdown ol:has(.method-step.is-active-step) .method-step:not(.is-active-step){opacity:.35}body.is-cooking-mode .method-step.is-active-step{opacity:1;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin-left:-.9rem;padding-left:.6rem;transform:translate(2px)}@media (prefers-reduced-motion:reduce){body.is-cooking-mode .method-step{transition:none}body.is-cooking-mode .method-step.is-active-step{transform:none}}.timer-btn{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);cursor:pointer;vertical-align:baseline;transition:background var(--transition), color var(--transition), border-color var(--transition);border-radius:999px;align-items:center;gap:.25rem;margin:0 .05rem;padding:.12rem .45rem .16rem;font-family:inherit;font-size:.92em;line-height:1;display:inline-flex}.timer-btn:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.timer-btn svg{flex-shrink:0}.timer-btn.is-running{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-variant-numeric:tabular-nums;animation:1.6s ease-in-out infinite timer-btn-pulse}.timer-btn.is-done{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);animation:.8s ease-in-out 5 timer-btn-flash}@keyframes timer-btn-pulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 3px var(--accent-soft)}}@keyframes timer-btn-flash{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.timer-btn.is-running,.timer-btn.is-done{animation:none}}.timer-panel{z-index:250;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg,10px);box-shadow:var(--shadow-md,0 6px 18px #0000002e);align-items:center;gap:.75rem;min-width:200px;max-width:calc(100vw - 32px);padding:.7rem .85rem;display:none;position:fixed;bottom:16px;right:16px}.timer-panel.is-open{display:inline-flex}.timer-panel.is-done{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);animation:.6s ease-in-out 3 timer-flash}@keyframes timer-flash{0%,to{box-shadow:var(--shadow-md,0 6px 18px #0000002e)}50%{box-shadow:0 0 0 6px #5b6e3a59}}.timer-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.timer-panel.is-done .timer-icon{color:var(--accent-fg);background:#fff3}.timer-info{flex:1;min-width:0}.timer-value{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;font-weight:600;line-height:1.1}.timer-label{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.72rem;overflow:hidden}.timer-panel.is-done .timer-label{color:#fffc}.timer-cancel{color:inherit;cursor:pointer;opacity:.7;width:28px;height:28px;transition:opacity var(--transition), background var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.timer-cancel:hover{opacity:1;background:var(--surface-2)}.timer-panel.is-done .timer-cancel:hover{background:#ffffff26}@media print{.timer-btn{color:inherit!important;background:0 0!important;border:none!important;padding:0!important}.timer-btn svg{display:none}.timer-panel{display:none!important}}.allergen-mark{color:inherit;font-weight:inherit;background:0 0;padding:0;text-decoration:none}html.allergens-highlighted .allergen-mark{color:var(--allergen-mark-color,#b8431f);background:0 0;font-weight:500}@media (prefers-reduced-motion:no-preference){@keyframes allergen-mark-pulse{0%{background:0 0}25%{background:var(--allergen-mark-pulse-bg,#e76f5138)}to{background:0 0}}html.allergens-highlighted .allergen-mark.is-pulsed{border-radius:2px;animation:1.4s ease-out both allergen-mark-pulse}}html[data-theme-family=dark].allergens-highlighted .allergen-mark{color:var(--allergen-mark-color,#f0a37e)}.allergen-footnote{display:none}html.allergens-highlighted .allergen-footnote{border:1px solid var(--border);border-left:3px solid var(--accent,#e76f51);border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);margin:1.5rem 0;padding:.85rem 1rem;font-size:.9rem;line-height:1.5;display:block}.allergen-footnote-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-bottom:.3rem;font-size:.7rem;font-weight:600;display:block}.allergen-footnote-list{display:inline}.allergen-footnote-item{color:var(--text);font-weight:700}.allergen-footnote-item+.allergen-footnote-item:before{content:", ";color:var(--text-2);font-weight:400}.ingredient-glossary-btn{width:1.4em;height:1.4em;color:var(--text-3);cursor:pointer;opacity:.7;transition:opacity var(--transition), color var(--transition), background var(--transition);vertical-align:middle;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:.4em;padding:0;display:inline-flex}.ingredient-glossary-btn:hover,.ingredient-glossary-btn.is-open{opacity:1;color:var(--accent);background:var(--accent-soft)}.ingredient-glossary-btn svg{display:block}.ingredient-glossary-panel{background:var(--surface-2);border-radius:var(--radius);font-size:.86em;line-height:var(--lh-normal,1.5);color:var(--text-2);margin:.5em 0 0;padding:.7em .9em;text-decoration:none;display:block}.ingredient-glossary-panel[hidden]{display:none}.ingredient-glossary-title{color:var(--accent);font-weight:var(--fw-semibold);margin-bottom:.35em;font-size:.95em;display:block}.ingredient-glossary-panel p{margin:.25em 0}.ingredient-glossary-panel .label{color:var(--accent-2,var(--accent));font-weight:var(--fw-semibold)}.ingredient-glossary-more{font-size:.88em;font-weight:var(--fw-medium);color:var(--accent);margin-top:.4em;text-decoration:none;display:inline-block}.ingredient-glossary-more:hover{text-decoration:underline}.ingredient-subs-btn{letter-spacing:.03em;color:var(--text-3);border:1px solid var(--border);cursor:pointer;vertical-align:1px;transition:color var(--transition), background var(--transition), border-color var(--transition);background:0 0;border-radius:999px;align-items:center;gap:.3rem;margin-left:.5rem;padding:1px 7px 1px 6px;font-family:inherit;font-size:.7rem;font-weight:500;display:inline-flex}.ingredient-subs-btn:hover,.ingredient-subs-btn[aria-expanded=true]{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.ingredient-subs-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin:.4rem 0 .6rem;padding:.5rem .7rem;font-size:.85rem;line-height:1.5}.ingredient-subs-panel[hidden]{display:none}.ingredient-subs-group+.ingredient-subs-group{border-top:1px dashed var(--border);margin-top:.5rem;padding-top:.5rem}.ingredient-subs-key{letter-spacing:.03em;text-transform:uppercase;color:var(--text-3);margin-bottom:.25rem;font-size:.7rem;font-weight:600;display:inline-block}.ingredient-subs-list{color:var(--text-2);margin:0 0 0 1.1rem;padding:0;list-style:outside}@media (pointer:coarse){.ingredient-subs-btn{vertical-align:0;margin-left:.4rem;padding:5px 11px 5px 10px;font-size:.78rem}.ingredient-subs-panel{padding:.65rem .8rem;font-size:.92rem}}.markdown ul li.is-tappable,.markdown ol li.is-tappable{cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration-color:#0000;transition:opacity .24s cubic-bezier(.2,.6,.2,1),color .24s,text-decoration-color .24s}.markdown ul li.is-tappable:hover,.markdown ol li.is-tappable:hover{color:var(--text)}.markdown ul li.is-struck,.markdown ol li.is-struck{text-decoration:line-through;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3);opacity:.45}.markdown ul li.is-struck::marker{opacity:.45}.markdown ol li.is-struck::marker{opacity:.45}.markdown ul li.is-struck .ingredient-glossary-panel,.markdown ul li.is-struck .ingredient-subs-panel{opacity:1;text-decoration:none}.markdown ul li.is-struck .ingredient-glossary-btn,.markdown ul li.is-struck .ingredient-subs-btn{opacity:.6}@media (prefers-reduced-motion:reduce){.markdown ul li.is-tappable,.markdown ol li.is-tappable{transition:none}}.recipe-siblings{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.85rem;margin-top:2rem;padding-top:1.5rem;display:grid}.recipe-sibling{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);transition:border-color var(--transition), background var(--transition), color var(--transition);align-items:center;gap:.7rem;padding:.85rem 1rem;text-decoration:none;display:flex}.recipe-sibling:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.recipe-sibling-empty{pointer-events:none;background:0 0;border-color:#0000}.recipe-sibling-next{text-align:right;justify-content:flex-end}.recipe-sibling-arrow{color:var(--text-3);transition:color var(--transition);flex-shrink:0;font-size:1.1rem}.recipe-sibling:hover .recipe-sibling-arrow{color:var(--accent)}.recipe-sibling-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.recipe-sibling-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:500;overflow:hidden}.recipe-sibling-title{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:500;overflow:hidden}@media (width<=600px){.recipe-siblings{gap:.5rem}.recipe-sibling{padding:.55rem .7rem}.recipe-sibling-cat,.recipe-sibling-title{display:none}}.recipe-toc{display:none}@media (width>=1340px){.recipe-toc{top:calc(var(--topbar-h,0px) + 1.75rem);left:calc(var(--sidebar-w) + var(--recipe-max) + 4.5rem);width:200px;max-height:calc(100vh - var(--topbar-h,0px) - 3.5rem);z-index:10;padding:.65rem 0;display:block;position:fixed;overflow-y:auto}body.sidebar-collapsed .recipe-toc{left:calc(var(--recipe-max) + 4.5rem)}.toc-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:.5rem;padding-left:.85rem;font-size:.66rem;font-weight:600}.toc-list{border-left:1px solid var(--border);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.toc-list li{margin:0}.toc-list a{color:var(--text-3);transition:color var(--transition), border-color var(--transition);border-left:2px solid #0000;margin-left:-1px;padding:.32rem .85rem;font-size:.83rem;text-decoration:none;display:block}.toc-list a:hover{color:var(--text)}.toc-list a.is-active{color:var(--accent);border-left-color:var(--accent);font-weight:500}}@media print{.recipe-toc{display:none!important}}@media (width>=1340px){body:has(.recipe-twocol) .recipe-toc{display:none}}@media (width>=1600px){body:has(.recipe-twocol) .recipe-toc{left:calc(var(--sidebar-w) + 1180px + 1.5rem);display:block}body.sidebar-collapsed:has(.recipe-twocol) .recipe-toc{left:calc(1180px + 1.5rem)}}.back-to-ingredients{z-index:60;color:var(--accent-fg);background:var(--accent);border:1px solid var(--accent);cursor:pointer;transition:transform var(--transition), background var(--transition);border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .95rem;font-family:inherit;font-size:.82rem;font-weight:500;display:inline-flex;position:fixed;bottom:4.75rem;right:1.25rem;box-shadow:0 2px 6px #0000002e}.back-to-ingredients:hover{background:var(--accent-hover);transform:translateY(-1px)}.back-to-ingredients svg{flex-shrink:0}@media (width<=600px){.back-to-ingredients{padding:.45rem .75rem;font-size:.76rem;bottom:4.25rem;right:.75rem}}body.is-cooking-mode .back-to-ingredients{display:none}.heading-anchor{color:var(--text-faint);opacity:0;transition:opacity var(--transition), color var(--transition);vertical-align:middle;align-items:center;margin-left:.5rem;text-decoration:none;display:inline-flex}.markdown h2:hover .heading-anchor,.markdown h2:focus-within .heading-anchor,.markdown h3:hover .heading-anchor,.markdown h3:focus-within .heading-anchor,.heading-anchor:focus{opacity:1}.heading-anchor:hover{color:var(--accent)}.heading-anchor.is-copied{color:var(--accent);opacity:1}.markdown h2:target,.markdown h3:target{background:var(--accent-soft);border-radius:var(--radius);padding:.25rem .5rem}.recipe-nutrition{background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius);font-size:var(--fs-small,.85rem);color:var(--text-2);cursor:help;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin:.5rem 0 1.5rem;padding:.55rem .75rem;display:flex}.recipe-nutrition-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-size:.7rem;font-weight:600}.recipe-nutrition-values{flex-wrap:wrap;gap:.25rem .85rem;display:inline-flex}.recipe-nutrition-item{font-variant-numeric:tabular-nums;align-items:baseline;gap:.25rem;display:inline-flex}.recipe-nutrition-value{color:var(--text);font-weight:600}.recipe-nutrition-key{color:var(--text-3);font-size:.78rem}@media print{.recipe-nutrition{border:1px solid var(--border);cursor:auto;background:0 0}}html.wine-pairings-hidden .wine-pairing{display:none}.wine-pairing{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--wine-accent,#7b1e3a);border-radius:var(--radius);margin:1rem 0 1.5rem;padding:.85rem 1rem .95rem;font-size:.92rem;line-height:1.45}.wine-pairing-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.7rem;font-weight:600;display:inline-flex}.wine-pairing-label svg{color:var(--wine-accent,#7b1e3a)}.wine-pairing-list{flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;display:flex}.wine-pairing-pill{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.18rem .6rem;font-size:.85rem;font-weight:500;display:inline-block}.wine-pairing-note{color:var(--text-2);margin:.3rem 0 0;font-size:.85rem;font-style:italic}@media (width<=600px){.wine-pairing{padding:.75rem .85rem .85rem}.wine-pairing-pill{padding:.22rem .7rem;font-size:.88rem}}html.side-pairings-hidden .side-pairing{display:none}.side-pairing{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--side-accent,#5a7a3a);border-radius:var(--radius);margin:1rem 0 1.5rem;padding:.85rem 1rem 1rem}.side-pairing-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:.4rem;margin-bottom:.55rem;font-size:.7rem;font-weight:600;display:inline-flex}.side-pairing-label svg{color:var(--side-accent,#5a7a3a)}.side-pairing-chips{flex-wrap:wrap;gap:.4rem;display:flex}.side-pairing-chip{color:var(--text);background:var(--surface);border:1px solid var(--border);transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:999px;padding:.22rem .7rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-block}.side-pairing-chip:hover{color:var(--side-accent,#5a7a3a);border-color:var(--side-accent,#5a7a3a);background:var(--surface-2)}.recipe-actions{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:inline-flex}.action-btn{color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);align-items:center;gap:.4rem;padding:.35rem .7rem;font-family:inherit;font-size:.8rem;display:inline-flex}.action-btn:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.save-btn,.cooked-btn{background:var(--surface-2);border-radius:999px}.save-btn:hover,.cooked-btn:hover{background:var(--surface-hover,var(--accent-soft))}.save-btn.is-on,.cooked-btn.is-on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.action-btn svg{transition:fill var(--transition);flex-shrink:0}.save-chevron{color:var(--text-3);margin-left:.05rem;transition:transform .15s}.save-btn[aria-expanded=true] .save-chevron{transform:rotate(180deg)}.save-btn.is-on .save-chevron{color:var(--accent)}@media (width<=480px){.action-btn .action-label{display:none}.action-btn{padding:.4rem .55rem}}.save-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md,0 6px 18px #0000001a);max-width:320px;max-height:70vh;padding:.45rem;overflow-y:auto}.save-picker-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-1) var(--space-3);display:flex}.save-picker-head-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3)}.save-picker-done{font-family:inherit;font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--accent);padding:var(--space-1) var(--space-2);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);background:0 0;border:none}.save-picker-done:hover{background:var(--accent-soft)}.save-picker-done:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}@media (pointer:coarse){.save-picker-done{min-width:56px;min-height:44px}}.save-picker-rows{border-bottom:1px solid var(--border);flex-direction:column;gap:1px;margin-bottom:.35rem;padding-bottom:.35rem;display:flex}.save-picker-row{border-radius:var(--radius);cursor:pointer;color:var(--text-2);transition:background var(--transition), color var(--transition);align-items:center;gap:.6rem;padding:.5rem .65rem;font-size:.9rem;display:flex}.save-picker-row:hover{background:var(--surface-2);color:var(--text)}.save-picker-row input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px}.save-picker-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.save-picker-row-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);border-radius:999px;padding:1px 6px;font-size:.62rem;font-weight:600}.save-picker-foot{padding:.15rem .15rem 0}.save-picker-new-btn{border:1px dashed var(--border);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;transition:background var(--transition), border-color var(--transition);background:0 0;align-items:center;gap:.45rem;padding:.55rem .65rem;font-family:inherit;font-size:.86rem;font-weight:500;display:inline-flex}.save-picker-new-btn:hover{background:var(--accent-soft);border-color:var(--accent-line)}.save-picker-new-btn svg{color:var(--accent)}.save-picker-new-form{gap:.4rem;padding:.15rem 0;display:flex}.save-picker-new-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);transition:border-color var(--transition);outline:none;flex:1;padding:.5rem .65rem;font-family:inherit;font-size:.88rem}.save-picker-new-input:focus{border-color:var(--accent)}.save-picker-new-add{color:var(--surface);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);padding:.5rem .85rem;font-family:inherit;font-size:.85rem;font-weight:500}.save-picker-new-add:hover{background:var(--accent-2)}.save-picker-new-cancel{color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;padding:.5rem .85rem;font-family:inherit;font-size:.85rem}.save-picker-new-cancel:hover{color:var(--accent);border-color:var(--accent-line)}.plan-btn{background:var(--surface-2);border-radius:999px}.plan-btn:hover{background:var(--surface-hover,var(--accent-soft))}.plan-btn.is-on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.plan-chevron{color:var(--text-3);margin-left:.05rem;transition:transform .15s}.plan-btn[aria-expanded=true] .plan-chevron{transform:rotate(180deg)}.plan-btn.is-on .plan-chevron{color:var(--accent)}.plan-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg,0 12px 30px #00000024);width:320px;max-width:calc(100vw - 1.5rem);max-height:80vh;padding:.85rem .9rem;overflow-y:auto}.plan-picker-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:.55rem;display:flex}.plan-picker-head-label{font-size:var(--fs-caption);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);font-weight:var(--fw-semibold)}.plan-picker-done{font-family:inherit;font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--accent);padding:var(--space-1) var(--space-2);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);background:0 0;border:none}.plan-picker-done:hover{background:var(--accent-soft)}.plan-picker-done:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}@media (pointer:coarse){.plan-picker-done{min-width:56px;min-height:44px}}.plan-picker-calendar{flex-direction:column;gap:.3rem;display:flex}.plan-picker-weekdays,.plan-picker-row{grid-template-columns:repeat(7,1fr);gap:.3rem;display:grid}.plan-picker-weekday{text-align:center;font-size:.62rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding-bottom:.15rem}.plan-picker-cell{color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition), transform .12s ease;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;padding:.4rem .1rem .45rem;font-family:inherit;display:flex;position:relative}.plan-picker-cell:hover:not(.is-empty){color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-1px)}.plan-picker-cell:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.plan-picker-cell.is-empty{cursor:default;background:0 0;border-color:#0000}.plan-picker-cell-month{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-size:.6rem;font-weight:var(--fw-semibold);line-height:1}.plan-picker-cell-day{font-family:var(--font-serif);font-size:1.15rem;font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1}.plan-picker-cell.is-today{border-color:var(--accent-line);background:linear-gradient(to bottom, color-mix(in srgb, var(--accent-soft) 50%, var(--surface)) 0%, var(--surface) 100%)}.plan-picker-cell.is-today .plan-picker-cell-month{color:var(--accent-2)}.plan-picker-cell.is-on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.plan-picker-cell.is-on .plan-picker-cell-month,.plan-picker-cell.is-on .plan-picker-cell-day{color:var(--accent)}.plan-picker-cell-tick{color:var(--accent);position:absolute;top:3px;right:4px}.plan-picker-cell:hover:not(.is-empty):not(.is-on){background:var(--accent-soft)}.plan-picker-foot{border-top:1px solid var(--border);margin-top:.7rem;padding-top:.55rem;font-size:.82rem}.plan-picker-foot a{color:var(--accent);font-weight:var(--fw-medium);text-decoration:none}.plan-picker-foot a:hover{text-decoration:underline}.page-header{margin-bottom:var(--space-8)}.page-seal{width:110px;height:110px;color:var(--text);margin:0 0 var(--space-3);opacity:.9;display:block}.page-seal svg{width:100%;height:100%;display:block}.page-eyebrow{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);margin-bottom:var(--space-2)}.page-title{font-family:var(--font-serif);font-size:var(--fs-4xl);font-weight:var(--fw-medium);line-height:var(--lh-tight);letter-spacing:var(--ls-tighter);color:var(--text);font-feature-settings:"kern", "liga", "dlig";margin:0}@media (width>=880px){.page-title{font-size:2.625rem}}.page-tagline{margin-top:var(--space-3);color:var(--text-2);font-family:var(--font-serif);font-size:var(--fs-lg);font-style:italic;line-height:var(--lh-normal);max-width:60ch}.page-tagline .tagline-colon{display:inline}.page-tagline .tagline-break{display:none}.page-sub{margin-top:var(--space-2);color:var(--text-3);font-size:var(--fs-small);max-width:60ch;line-height:var(--lh-relaxed)}.home-stats{gap:var(--space-2);margin:var(--space-2) 0 var(--space-8);flex-wrap:wrap;display:flex}.home-stat{min-width:88px;padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-2);transition:border-color .22s ease, color .22s ease, box-shadow var(--transition-lift,.22s ease), transform var(--transition-lift,.22s ease);flex-direction:column;justify-content:center;align-items:center;text-decoration:none;display:flex}.home-stat:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-md,0 6px 18px #00000014);transform:translateY(-2px)}.home-stat:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-focus-ring,0 0 0 3px var(--accent-soft));outline:none}.home-stat:active{transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.home-stat{transition:border-color .12s,color .12s}.home-stat:hover,.home-stat:active{transform:none}}.home-stat-count{font-family:var(--font-serif);font-size:var(--fs-3xl,2rem);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.home-stat:hover .home-stat-count{color:var(--accent)}.home-stat-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);margin-top:.4rem}.page-back{margin-bottom:1.25rem}.back-button{color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:color var(--transition), border-color var(--transition);align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.8rem;text-decoration:none;display:inline-flex}.back-button:hover{color:var(--accent);border-color:var(--accent-line)}.tag-filters{border-bottom:1px solid var(--border);flex-direction:column;gap:.6rem;margin:0 0 1.75rem;padding-bottom:1rem;display:flex}.tag-filter-group{grid-template-columns:minmax(7rem,max-content) 1fr;align-items:start;gap:.5rem .75rem;display:grid}.tag-filter-group-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;padding-top:.45rem;font-size:.7rem}.tag-filter-group-chips{flex-wrap:wrap;gap:.4rem;display:flex}.tag-chip{align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);transition:color var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);text-decoration:none;display:inline-flex}.tag-chip:hover{color:var(--accent);border-color:var(--accent-line)}.tag-chip:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-focus-ring);outline:none}.tag-chip.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.tag-chip[data-group=diet]{color:#2f6a44;border-color:#3a8c5a59}.tag-chip[data-group=diet]:hover{color:#2f6a44;border-color:#3a8c5a}.tag-chip[data-group=diet].is-active{color:#205934;background:#3a8c5a26;border-color:#3a8c5a}.tag-chip[data-group=diet].is-active .tag-chip-count{color:#205934}.tag-chip[data-group=course]{color:#3a5680;border-color:#4a6fa559}.tag-chip[data-group=course]:hover{color:#3a5680;border-color:#4a6fa5}.tag-chip[data-group=course].is-active{color:#2c4366;background:#4a6fa526;border-color:#4a6fa5}.tag-chip[data-group=course].is-active .tag-chip-count{color:#2c4366}.tag-chip[data-group=ingredient]{color:#842828;border-color:#9b383859}.tag-chip[data-group=ingredient]:hover{color:#842828;border-color:#9b3838}.tag-chip[data-group=ingredient].is-active{color:#6b1f1f;background:#9b383821;border-color:#9b3838}.tag-chip[data-group=ingredient].is-active .tag-chip-count{color:#6b1f1f}.tag-chip[data-group=culture]{color:#6b3a8c;border-color:#7b4d9c59}.tag-chip[data-group=culture]:hover{color:#6b3a8c;border-color:#7b4d9c}.tag-chip[data-group=culture].is-active{color:#4f2a6b;background:#7b4d9c21;border-color:#7b4d9c}.tag-chip[data-group=culture].is-active .tag-chip-count{color:#4f2a6b}html[data-theme-family=dark] .tag-chip[data-group=diet]{color:#7fc8a0;border-color:#7fc8a059}html[data-theme-family=dark] .tag-chip[data-group=diet].is-active{color:#b6e2c5;background:#7fc8a02e;border-color:#7fc8a0}html[data-theme-family=dark] .tag-chip[data-group=diet].is-active .tag-chip-count{color:#b6e2c5}html[data-theme-family=dark] .tag-chip[data-group=course]{color:#91b3df;border-color:#91b3df59}html[data-theme-family=dark] .tag-chip[data-group=course].is-active{color:#c8d8ec;background:#91b3df2e;border-color:#91b3df}html[data-theme-family=dark] .tag-chip[data-group=course].is-active .tag-chip-count{color:#c8d8ec}html[data-theme-family=dark] .tag-chip[data-group=ingredient]{color:#e08585;border-color:#e0858559}html[data-theme-family=dark] .tag-chip[data-group=ingredient].is-active{color:#f0b3b3;background:#e085852e;border-color:#e08585}html[data-theme-family=dark] .tag-chip[data-group=ingredient].is-active .tag-chip-count{color:#f0b3b3}html[data-theme-family=dark] .tag-chip[data-group=culture]{color:#b69bff;border-color:#b69bff59}html[data-theme-family=dark] .tag-chip[data-group=culture].is-active{color:#d3c4ff;background:#b69bff2e;border-color:#b69bff}html[data-theme-family=dark] .tag-chip[data-group=culture].is-active .tag-chip-count{color:#d3c4ff}.tag-chip.is-disabled{opacity:.45;cursor:not-allowed;background:var(--surface-2);color:var(--text-3)}.tag-chip.is-disabled:hover{color:var(--text-3);border-color:var(--border)}.tag-chip-count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.68rem}.tag-chip.is-active .tag-chip-count{color:var(--accent)}.toast{left:50%;bottom:var(--space-6);z-index:320;align-items:center;gap:var(--space-3);background:var(--text);color:var(--surface);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--fs-small);font-weight:var(--fw-medium);box-shadow:var(--shadow-lg,0 12px 30px #0000002e);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);transition:opacity .18s,transform .18s;display:inline-flex;position:fixed;transform:translate(-50%,16px)}.toast:not(.has-action){padding:var(--space-2) var(--space-4)}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast.has-action.is-visible{pointer-events:auto}.toast-message{white-space:normal;text-align:left}.toast-action{font:inherit;font-weight:var(--fw-semibold);color:var(--surface);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);cursor:pointer;letter-spacing:.01em;background:#ffffff29;border:1px solid #ffffff38;transition:background .14s,transform .12s}.toast-action:hover{background:#ffffff47}.toast-action:active{transform:scale(.96)}.toast-action:focus-visible{outline:2px solid var(--surface);outline-offset:2px}@media (prefers-reduced-motion:reduce){.toast-action{transition:background .14s}.toast-action:active{transform:none}}[data-theme-family=dark] .toast{background:var(--surface);color:var(--text);border:1px solid var(--border)}[data-theme-family=dark] .toast-action{color:var(--text);background:var(--surface-2);border-color:var(--border)}[data-theme-family=dark] .toast-action:hover{background:var(--surface-hover,var(--accent-soft))}@media print{.toast{display:none!important}}.share-modal-scrim{z-index:300;-webkit-backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:1rem;animation:.16s share-modal-fade;display:flex;position:fixed;inset:0}@keyframes share-modal-fade{0%{opacity:0}to{opacity:1}}.share-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg,0 16px 40px #0000002e);padding:1.25rem 1.4rem 1.4rem;animation:.2s cubic-bezier(.2,.7,.2,1) share-modal-rise;overflow-y:auto}@keyframes share-modal-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.share-modal-scrim,.share-modal{animation:none}}.share-modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:.7rem;display:flex}.share-modal-title{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text);margin:0}.share-modal-close{width:32px;height:32px;color:var(--text-2);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.share-modal-close:hover{color:var(--accent);background:var(--surface-2)}.share-blurb{color:var(--text-2);font-size:.92rem;line-height:var(--lh-relaxed,1.5);margin:0 0 1rem}.share-blurb strong{color:var(--text)}.share-url-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);margin-bottom:.4rem;display:block}.share-url-row{gap:.45rem;margin-bottom:1.1rem;display:flex}.share-url-input{min-width:0;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:.55rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.share-url-input:focus{border-color:var(--accent)}.share-copy-btn,.share-native-btn{font-family:inherit;font-size:var(--fs-small);font-weight:var(--fw-medium);border-radius:var(--radius);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);flex-shrink:0;padding:.55rem 1rem}.share-copy-btn{color:var(--surface);background:var(--accent);border:1px solid var(--accent);text-align:center;min-width:5.5rem}.share-copy-btn:hover{background:var(--accent-2);border-color:var(--accent-2)}.share-native-btn{color:var(--accent);background:var(--surface);border:1px solid var(--accent-line);align-items:center;gap:.4rem;display:inline-flex}.share-native-btn:hover{color:var(--accent-2);border-color:var(--accent-2);background:var(--accent-soft)}@media (width<=480px){.share-url-row{flex-wrap:wrap}.share-url-input{flex:100%;margin-bottom:.4rem}.share-copy-btn,.share-native-btn{flex:1}}.share-qr-section{border-top:1px solid var(--border);padding-top:.5rem}.share-qr-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);margin-bottom:.55rem}.share-qr-target{border:1px solid var(--border);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;min-height:200px;padding:.6rem;display:flex}.share-qr-target svg{width:200px;height:200px;display:block}.qr-loading{color:var(--text-3);font-size:.9rem;font-style:italic}.share-qr-fallback{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);font-size:.85rem;line-height:var(--lh-relaxed,1.5);margin:0;padding:.7rem .85rem}.shared-page{max-width:var(--content-max,1200px);margin:0 auto;padding:0 1rem 4rem}.shared-actions{margin-top:1rem;display:inline-flex}.shared-save-btn{font-family:inherit;font-size:.92rem;font-weight:var(--fw-medium);color:var(--surface);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;transition:background var(--transition), border-color var(--transition);padding:.55rem 1.1rem}.shared-save-btn:hover{background:var(--accent-2);border-color:var(--accent-2)}.shared-missing{color:var(--text-3);margin:2rem 0 0;font-size:.85rem;font-style:italic}.collection-share-btn{font-family:inherit;font-size:.85rem;font-weight:var(--fw-medium);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);align-items:center;gap:.4rem;padding:.4rem .85rem;display:inline-flex}.collection-share-btn:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.empty-state{text-align:center;max-width:520px;color:var(--text-2);line-height:var(--lh-relaxed,1.5);margin:3rem auto}.empty-state{text-align:center;color:var(--text-3);padding:4rem 1rem}.empty-state-title{font-family:var(--font-serif);color:var(--text-2);margin-bottom:.4rem;font-size:1.4rem}.empty-state-rich{text-align:center;color:var(--text-3);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:.85rem;padding:4rem 1.5rem 4.5rem;display:flex}.empty-state-icon{width:128px;height:128px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex;position:relative}.empty-state-icon-halo{background:radial-gradient(closest-side, var(--accent-soft) 60%, transparent 100%);opacity:.85;border-radius:50%;position:absolute;inset:0}.empty-state-icon-art{justify-content:center;align-items:center;width:84px;height:84px;display:inline-flex;position:relative}.empty-state-icon-art svg{width:100%;height:100%;display:block}.empty-state-rich .empty-state-title{font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;margin:0;font-size:1.55rem;font-weight:600}.empty-state-body{max-width:46ch;color:var(--text-2);margin:0;font-size:.96rem;line-height:1.6}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.5rem;display:flex}.empty-state-action{background:var(--surface);border:1px solid var(--border);color:var(--text-2);transition:border-color var(--transition), color var(--transition), background var(--transition), transform var(--transition);border-radius:999px;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex}.empty-state-action:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.empty-state-action.is-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg,#fff)}.empty-state-action.is-primary:hover{background:var(--accent);color:var(--accent-fg,#fff);filter:brightness(.95)}.empty-state-action-arrow{font-family:var(--font-sans);transition:transform var(--transition)}.empty-state-action:hover .empty-state-action-arrow{transform:translate(2px)}.glossary-page{max-width:880px}.glossary-loading{margin:var(--space-6) 0;color:var(--text-2);font-style:italic}.glossary-sticky-bar{top:var(--topbar-h);z-index:5;margin:var(--space-4) 0 var(--space-3);padding:var(--space-2) 0 var(--space-3);background:var(--bg);border-bottom:1px solid var(--border);position:sticky}.glossary-sticky-bar .page-back{margin:0 0 var(--space-2)}.glossary-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.glossary-search{min-width:200px;padding:var(--space-2) var(--space-3);font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md,8px);flex:240px}.glossary-search:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.glossary-result-count{margin:var(--space-3) 0 0;font-size:var(--fs-small);color:var(--text-2)}.glossary-result-count[hidden]{display:none}.glossary-jump{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.glossary-jump-top{align-items:center;gap:.3em;display:inline-flex;color:var(--accent-2)!important;padding:.15em .6em!important;font-weight:600!important}.glossary-jump-top:hover{color:var(--accent)!important;background:var(--accent-soft)!important}.glossary-jump-letter{min-width:1.6em;font:inherit;font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:.15em .45em;text-decoration:none;display:inline-flex}.glossary-jump-letter:hover{background:var(--surface-2);color:var(--text)}.glossary-jump-letter:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.glossary-jump-letter.is-empty{color:var(--text-faint);cursor:default;opacity:.55}.glossary-jump-letter.is-empty:hover{color:var(--text-faint);background:0 0}.glossary-group{margin-top:var(--space-6);scroll-margin-top:11rem}.glossary-letter{font-family:var(--font-serif);font-size:var(--fs-3xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:var(--space-2);margin:0 0 var(--space-4)}.glossary-list{gap:var(--space-5);margin:0;padding:0;display:grid}.glossary-entry{padding:var(--space-1) var(--space-3);margin-left:calc(var(--space-3) * -1);margin-right:calc(var(--space-3) * -1);border-radius:var(--radius);scroll-margin-top:13rem;transition:opacity .4s,background-color .4s}.glossary-entry.is-focused{background:var(--accent-soft)}.glossary-entry.is-dimmed{opacity:.3}.glossary-entry.is-stub{opacity:.55}.glossary-term{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--accent);margin:0 0 var(--space-1)}.glossary-anchor{width:1.6em;height:1.6em;color:var(--text-3);border-radius:var(--radius);cursor:pointer;opacity:0;vertical-align:middle;background:0 0;border:0;justify-content:center;align-items:center;margin-left:.4em;padding:0;transition:opacity .15s,color .15s,background .15s;display:inline-flex}.glossary-entry:hover .glossary-anchor,.glossary-anchor:focus-visible{opacity:1}.glossary-anchor:hover{color:var(--accent-2);background:var(--accent-soft)}.glossary-anchor.is-copied{opacity:1;color:var(--accent)}.glossary-anchor.is-error{opacity:1;color:var(--danger,#c93d3d)}.glossary-desc{color:var(--text-2);line-height:var(--lh-relaxed);margin:0}.glossary-recipe-link{margin:var(--space-2) 0 0}.glossary-recipe-link a{background:var(--accent-soft);color:var(--accent);transition:background var(--transition), color var(--transition), transform var(--transition);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .7rem .25rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.glossary-recipe-link a:hover{background:var(--accent);color:var(--surface);transform:translate(2px)}.glossary-recipe-link svg{transition:transform var(--transition)}.glossary-recipe-link a:hover svg{transform:translate(2px)}.glossary-field{margin:0 0 var(--space-2)}.glossary-field:last-child{margin-bottom:0}.glossary-field-label{color:var(--accent-2);margin-right:.25em;font-weight:600}.glossary-field.is-stub-text{font-style:italic}@media (width<=640px){.glossary-toolbar{position:static}.glossary-jump{width:100%}}.settings-page{max-width:760px;margin:0 auto;padding:0 1rem 4rem}.settings-section{margin-top:var(--space-8)}.settings-section-title{font-family:var(--font-serif);font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);color:var(--text);margin:0 0 var(--space-2)}.settings-section-meta{margin:0 0 var(--space-4);color:var(--text-3);font-size:var(--fs-small);line-height:var(--lh-relaxed)}.settings-block{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg)}.settings-block-title{font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text);margin:0 0 var(--space-2)}.settings-block-meta{margin:0 0 var(--space-3);color:var(--text-3);font-size:var(--fs-small);line-height:var(--lh-relaxed)}.settings-subsection-title{font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text);margin:5rem 0 var(--space-1)}.settings-subsection-title+.settings-section-meta{margin-bottom:var(--space-2)}.font-picker{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.font-picker-option{min-width:7rem;padding:var(--space-3) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color var(--transition), background var(--transition), color var(--transition);flex-direction:column;flex:8rem;justify-content:center;align-items:center;gap:.25rem;display:flex}.font-picker-option:hover{border-color:var(--accent-line)}.font-picker-option input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.font-picker-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.font-picker-sample{color:var(--text);letter-spacing:-.01em;font-size:1.6rem;font-weight:500;line-height:1}.font-picker-label{font-size:var(--fs-small);color:var(--text-3);font-family:var(--font-sans)}.font-picker-option.is-active .font-picker-label{color:var(--accent)}.settings-list{flex-direction:column;gap:.4rem;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-3);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);cursor:pointer;display:flex}.settings-row:hover{border-color:var(--accent-line)}.settings-row-label{color:var(--text);font-size:var(--fs-base,.95rem);line-height:1.35}.settings-toggle{flex-shrink:0;display:inline-flex;position:relative}.settings-toggle input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.settings-toggle-track{background:var(--surface-2);border:1px solid var(--border);width:36px;height:20px;transition:background var(--transition), border-color var(--transition);border-radius:999px;display:inline-block;position:relative}.settings-toggle-knob{background:var(--text-faint);width:16px;height:16px;transition:transform var(--transition), background var(--transition);border-radius:50%;position:absolute;top:1px;left:1px}.settings-toggle input:checked+.settings-toggle-track{background:var(--accent-soft);border-color:var(--accent)}.settings-toggle input:checked+.settings-toggle-track .settings-toggle-knob{background:var(--accent);transform:translate(16px)}.settings-toggle input:focus-visible+.settings-toggle-track{box-shadow:var(--shadow-focus-ring)}.settings-theme-group{margin-top:var(--space-4)}.settings-theme-group-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);margin-bottom:var(--space-2);display:inline-block}.settings-theme-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;display:grid}.settings-theme-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition), background var(--transition);align-items:center;gap:.6rem;padding:.55rem .8rem;display:flex}.settings-theme-chip:hover{border-color:var(--accent-line)}.settings-theme-chip.is-active{border-color:var(--accent);background:var(--accent-soft)}.settings-theme-chip input{opacity:0;width:0;height:0;position:absolute}.settings-theme-swatch{border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:18px;height:18px}.settings-theme-swatch[data-theme-swatch=linen]{background:linear-gradient(135deg,#fbfbf9 50%,#6e8b3d 50%)}.settings-theme-swatch[data-theme-swatch=mint]{background:linear-gradient(135deg,#f4faf6 50%,#4a8e76 50%)}.settings-theme-swatch[data-theme-swatch=sky]{background:linear-gradient(135deg,#f4f9fc 50%,#4a6fa5 50%)}.settings-theme-swatch[data-theme-swatch=rose]{background:linear-gradient(135deg,#fbf5f6 50%,#b66478 50%)}.settings-theme-swatch[data-theme-swatch=ochre]{background:linear-gradient(135deg,#fcf9f4 50%,#c79b3e 50%)}.settings-theme-swatch[data-theme-swatch=parchment]{background:linear-gradient(135deg,#f9f4ea 50%,#8a6f3a 50%)}.settings-theme-swatch[data-theme-swatch=cast-iron]{background:linear-gradient(135deg,#1a1815 50%,#d4a574 50%)}.settings-theme-swatch[data-theme-swatch=midnight]{background:linear-gradient(135deg,#0e1420 50%,#6b8fd0 50%)}.settings-theme-swatch[data-theme-swatch=forest]{background:linear-gradient(135deg,#131a16 50%,#7fc8a0 50%)}.settings-theme-swatch[data-theme-swatch=plum]{background:linear-gradient(135deg,#1a1216 50%,#d4a8c5 50%)}.settings-theme-swatch[data-theme-swatch=custom]{background:linear-gradient(135deg, var(--user-bg-light,#fbfbf9) 50%, var(--user-accent-light,#6e8b3d) 50%)}.settings-theme-swatch[data-theme-swatch=custom-dark]{background:linear-gradient(135deg, var(--user-bg-dark,#1a1815) 50%, var(--user-accent-dark,#d4a574) 50%)}.settings-theme-label{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text)}.settings-custom-theme{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);opacity:.85;transition:border-color var(--transition), opacity var(--transition)}.settings-custom-theme.is-active{border-style:solid;border-color:var(--accent-line);opacity:1}.settings-custom-theme-heading{font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text);margin:0 0 var(--space-2)}.settings-custom-theme-rows{margin:var(--space-3) 0 var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;display:grid}.settings-custom-theme-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.55rem;padding:.45rem .55rem;display:flex}.settings-custom-theme-label{font-size:var(--fs-small);color:var(--text);flex:1}.settings-custom-theme-row input[type=color]{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;width:36px;height:28px;padding:0}.settings-custom-theme-hex{color:var(--text-3);letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.settings-custom-theme-preview{background:var(--user-bg-light,var(--surface));border:1px solid var(--border);border-radius:var(--radius);color:var(--text);gap:.7rem;margin-top:.5rem;padding:.85rem;display:grid}[data-theme=custom-dark] .settings-custom-theme-preview{background:var(--user-bg-dark,var(--surface))}.settings-custom-theme-preview-label{font-size:.62rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.settings-custom-theme-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:stretch;gap:.65rem;padding:.4rem;display:flex;overflow:hidden}.settings-custom-theme-preview-card-media{border-radius:calc(var(--radius) - 2px);background:linear-gradient(135deg, var(--user-accent-light,var(--accent)), var(--user-accent-2-light,var(--accent-2)));flex-shrink:0;width:60px;height:60px}[data-theme=custom-dark] .settings-custom-theme-preview-card-media{background:linear-gradient(135deg, var(--user-accent-dark,var(--accent)), var(--user-accent-2-dark,var(--accent-2)))}.settings-custom-theme-preview-card-body{flex-direction:column;justify-content:center;gap:.15rem;display:flex}.settings-custom-theme-preview-card-title{font-family:var(--font-serif);font-size:.95rem;font-weight:var(--fw-medium);color:var(--text)}.settings-custom-theme-preview-card-overview{color:var(--text-2);font-size:.78rem}.settings-custom-theme-preview-controls{align-items:center;gap:.75rem;display:flex}.settings-custom-theme-preview-btn{font:inherit;font-size:.82rem;font-weight:var(--fw-medium);background:var(--user-accent-light,var(--accent));color:var(--user-accent-fg-light,#fff);border:1px solid var(--user-accent-light,var(--accent));cursor:default;pointer-events:none;border-radius:999px;padding:.35rem .9rem}[data-theme=custom-dark] .settings-custom-theme-preview-btn{background:var(--user-accent-dark,var(--accent));color:var(--user-accent-fg-dark,#fff);border-color:var(--user-accent-dark,var(--accent))}.settings-custom-theme-preview-link{font-size:.82rem;font-weight:var(--fw-medium);color:var(--user-accent-2-light,var(--accent-2))}[data-theme=custom-dark] .settings-custom-theme-preview-link{color:var(--user-accent-2-dark,var(--accent-2))}.settings-custom-theme-preview-chips{flex-wrap:wrap;gap:.35rem;display:flex}.settings-custom-theme-preview-chip{font-size:.74rem;font-weight:var(--fw-medium);background:var(--surface);color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem}.settings-custom-theme-preview-chip.is-active{color:var(--user-accent-light,var(--accent));background:color-mix(in srgb, var(--user-accent-light,var(--accent)) 12%, transparent);border-color:var(--user-accent-light,var(--accent))}[data-theme=custom-dark] .settings-custom-theme-preview-chip.is-active{color:var(--user-accent-dark,var(--accent));background:color-mix(in srgb, var(--user-accent-dark,var(--accent)) 18%, transparent);border-color:var(--user-accent-dark,var(--accent))}.settings-custom-theme-preview-step{color:var(--text-2);align-items:center;gap:.65rem;font-size:.84rem;display:flex}.settings-custom-theme-preview-step-num{width:26px;height:26px;font-family:var(--font-serif);font-weight:var(--fw-medium);color:var(--user-accent-fg-light,#fff);background:var(--user-accent-light,var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}[data-theme=custom-dark] .settings-custom-theme-preview-step-num{color:var(--user-accent-fg-dark,#fff);background:var(--user-accent-dark,var(--accent))}.settings-custom-theme-preview-soft{color:var(--text-2);background:color-mix(in srgb, var(--user-accent-light,var(--accent)) 8%, transparent);border:1px solid color-mix(in srgb, var(--user-accent-light,var(--accent)) 20%, transparent);border-radius:var(--radius);padding:.6rem .75rem;font-size:.8rem}[data-theme=custom-dark] .settings-custom-theme-preview-soft{background:color-mix(in srgb, var(--user-accent-dark,var(--accent)) 12%, transparent);border-color:color-mix(in srgb, var(--user-accent-dark,var(--accent)) 28%, transparent)}.settings-page-size{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.settings-page-size-option{min-width:3.5rem;font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text-2);cursor:pointer;border-right:1px solid var(--border);transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;padding:.45rem .85rem;display:inline-flex}.settings-page-size-option:last-child{border-right:0}.settings-page-size-option:hover{background:var(--surface-2)}.settings-page-size-option.is-active{background:var(--accent-soft);color:var(--accent)}.settings-page-size-option input{opacity:0;width:0;height:0;position:absolute}.pantry-page{max-width:var(--content-max,1200px);margin:0 auto;padding:0 1rem 4rem}.pantry-search{gap:.5rem;margin:0 0 1rem;display:flex}.pantry-search input{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);outline:none;flex:1;padding:.55rem .85rem;font-family:inherit;font-size:.95rem}.pantry-search input:focus{border-color:var(--accent)}.pantry-search button{color:var(--surface);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);padding:.55rem 1rem;font-family:inherit;font-size:.92rem;font-weight:500}.pantry-search button:hover{background:var(--accent-2);border-color:var(--accent-2)}.pantry-have,.pantry-quick{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 1rem;display:flex}.pantry-have{border-bottom:1px solid var(--border);padding-bottom:.85rem}.pantry-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-right:.25rem;font-size:.7rem;font-weight:500}.pantry-pill{color:var(--text-2);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:999px;align-items:center;gap:.4rem;padding:.32rem .75rem;font-family:inherit;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.pantry-pill:hover{color:var(--accent);border-color:var(--accent-line)}.pantry-pill.is-on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.pantry-pill-x{color:var(--text-3);font-size:1.1rem;line-height:.9}.pantry-pill.is-on .pantry-pill-x{color:var(--accent)}.pantry-pill-count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.68rem}.pantry-clear{color:var(--text-3);margin-left:auto;font-size:.78rem;text-decoration:none}.pantry-clear:hover{color:var(--accent);text-decoration:underline}.pantry-result{flex-direction:column;gap:.4rem;display:flex}.pantry-result-meta{flex-direction:column;gap:.15rem;padding:0 .25rem;display:flex}.pantry-result-score{letter-spacing:.03em;text-transform:uppercase;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.74rem}.pantry-result-missing{color:var(--text-2);font-size:.78rem;line-height:1.35}.pantry-result-missing.pantry-result-complete{color:var(--accent);font-weight:500}.pantry-tier{margin-top:1.25rem}.pantry-tier-count{background:var(--surface-2);color:var(--text-2);vertical-align:2px;border-radius:999px;margin-left:.45rem;padding:1px 8px;font-size:.7rem;font-weight:600;display:inline-block}.plan-page{max-width:1100px;margin:0 auto;padding:0 1rem 4rem}.plan-month-nav{align-items:center;gap:.5rem;margin:1.5rem 0 1rem;display:flex}.plan-month-label{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text);text-align:center;min-width:12ch;margin:0 .5rem}.plan-month-nav-btn{width:32px;height:32px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), border-color var(--transition);justify-content:center;align-items:center;display:inline-flex}.plan-month-nav-btn:hover{color:var(--accent);border-color:var(--accent-line)}.plan-month-today{background:var(--surface);color:var(--accent);border:1px solid var(--accent-line);cursor:pointer;transition:background var(--transition), border-color var(--transition);border-radius:999px;margin-left:auto;padding:.35rem .8rem;font-family:inherit;font-size:.82rem}.plan-month-today:hover{background:var(--accent-soft);border-color:var(--accent)}.plan-calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.6rem}.plan-calendar-weekdays{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);gap:.35rem;margin-bottom:.35rem;padding-bottom:.4rem;display:grid}.plan-calendar-weekday{text-align:center;font-size:.65rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.plan-calendar-cells{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.plan-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:4.6rem;color:var(--text-2);cursor:pointer;text-align:center;transition:color var(--transition), border-color var(--transition), background var(--transition), transform .12s ease;flex-direction:column;justify-content:flex-start;align-items:center;gap:.05rem;padding:.4rem .25rem .5rem;font-family:inherit;display:flex;position:relative}.plan-cell:hover:not(.is-out-of-month){color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-1px)}.plan-cell:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.plan-cell.is-out-of-month{color:var(--text-faint);background:0 0;border-color:#0000}.plan-cell.is-out-of-month:hover{background:var(--surface-2);transform:none}.plan-cell.is-today{border-color:var(--accent-line);background:linear-gradient(to bottom, color-mix(in srgb, var(--accent-soft) 50%, var(--surface)) 0%, var(--surface) 100%)}.plan-cell.is-today .plan-cell-label{color:var(--accent-2)}.plan-cell.has-recipes{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.plan-cell.has-recipes .plan-cell-day,.plan-cell.has-recipes .plan-cell-label{color:var(--accent)}.plan-cell.is-selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);color:var(--accent)}.plan-cell.is-selected .plan-cell-day{color:var(--accent)}.plan-cell-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-size:.6rem;font-weight:var(--fw-semibold);min-height:.6rem;line-height:1}.plan-cell-label.is-empty{visibility:hidden}.plan-cell-day{font-family:var(--font-serif);font-size:1.2rem;font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1}.plan-cell-count{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--surface);border:1px solid var(--accent);border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;right:5px}.plan-cell.is-selected .plan-cell-count{background:var(--accent);color:var(--surface)}.plan-day{padding:var(--space-5);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:1.5rem}.plan-day-head{margin-bottom:var(--space-4)}.plan-day-title{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text);margin:0 0 var(--space-1)}.plan-day-meta{font-size:var(--fs-small);color:var(--text-3);margin:0}.plan-day-list{margin:0 0 var(--space-4);flex-direction:column;gap:.4rem;padding:0;list-style:none;display:flex}.plan-day-item{align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;display:flex}.plan-day-link{color:var(--text);font-weight:var(--fw-medium);flex:1;font-size:.95rem;text-decoration:none}.plan-day-link:hover{color:var(--accent)}.plan-day-remove{width:28px;height:28px;color:var(--text-3);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.plan-day-remove:hover{color:var(--accent-2);background:var(--accent-2-soft)}.plan-day-empty{margin:0 0 var(--space-4);color:var(--text-3);font-style:italic;font-size:var(--fs-small)}.plan-day-add{border-top:1px solid var(--border);padding-top:var(--space-4)}.plan-day-add-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);margin-bottom:var(--space-2);display:block}.plan-day-add-input{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);outline:none;padding:.55rem .85rem;font-family:inherit;font-size:.95rem}.plan-day-add-input:focus{border-color:var(--accent)}.plan-day-results{flex-direction:column;gap:.25rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.plan-day-result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;transition:border-color var(--transition), background var(--transition);flex-direction:column;gap:.15rem;padding:.55rem .7rem;font-family:inherit;display:flex}.plan-day-result:hover{border-color:var(--accent);background:var(--accent-soft)}.plan-day-result-title{font-size:.92rem;font-weight:var(--fw-medium);color:var(--text)}.plan-day-result-overview{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.plan-day-results-empty{font-size:var(--fs-small);color:var(--text-3);margin:.6rem 0 0;font-style:italic}.plan-empty-hint{font-size:var(--fs-small);color:var(--text-3);text-align:center;margin-top:1.5rem;font-style:italic}@media (width<=540px){.plan-calendar{padding:.4rem}.plan-calendar-weekdays,.plan-calendar-cells{gap:.2rem}.plan-cell{min-height:3.4rem;padding:.28rem .15rem .32rem}.plan-cell-day{font-size:1rem}.plan-cell-label{font-size:.55rem}.plan-cell-count{min-width:14px;height:14px;font-size:.55rem;top:2px;right:3px}}.shopping-page{max-width:1100px;margin:0 auto;padding:0 1rem 4rem}.shopping-layout{grid-template-columns:minmax(220px,280px) 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=760px){.shopping-layout{grid-template-columns:1fr}}.shopping-sources{padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);align-self:flex-start}.shopping-pane-title{font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text);margin:0 0 var(--space-3)}.shopping-source-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.shopping-source-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);align-items:center;gap:.4rem;padding:.4rem .55rem;display:flex}.shopping-source-row:hover,.shopping-source-row.is-on{border-color:var(--accent-line)}.shopping-source-label{cursor:pointer;font-size:var(--fs-small);color:var(--text);flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.shopping-source-label input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px}.shopping-source-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.shopping-source-count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.72rem}.shopping-source-link{width:22px;height:22px;color:var(--text-3);border-radius:var(--radius);transition:color var(--transition), background var(--transition);justify-content:center;align-items:center;display:inline-flex}.shopping-source-link:hover{color:var(--accent);background:var(--accent-soft)}.shopping-list{min-width:0}.shopping-list-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.shopping-list-meta{font-size:var(--fs-small);color:var(--text-3);font-variant-numeric:tabular-nums;margin:0}.shopping-list-actions{gap:.5rem;display:inline-flex}.shopping-action{color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), border-color var(--transition);padding:.35rem .85rem;font-family:inherit;font-size:.82rem}.shopping-action:hover:not(:disabled){color:var(--accent);border-color:var(--accent-line)}.shopping-action:disabled{opacity:.45;cursor:not-allowed}.shopping-aisle{margin-bottom:var(--space-5)}.shopping-aisle-title{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--accent);margin:0 0 var(--space-3);padding-bottom:var(--space-1);border-bottom:1px solid var(--border)}.shopping-rows{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.shopping-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:opacity var(--transition);flex-direction:column;gap:.15rem;padding:.55rem .7rem;display:flex}.shopping-row.is-ticked{opacity:.55}.shopping-row-label{cursor:pointer;color:var(--text);align-items:center;gap:.6rem;font-size:.95rem;display:flex}.shopping-row-label input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px}.shopping-row.is-ticked .shopping-row-name{text-decoration:line-through}.shopping-row-name{font-weight:var(--fw-medium);flex:1}.shopping-row-qty{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:.5rem;font-size:.85rem}.shopping-row.is-ticked .shopping-row-qty{text-decoration:line-through}.shopping-row-sources{color:var(--text-3);flex-wrap:wrap;gap:.25rem;margin-left:calc(16px + .6rem);font-size:.72rem;display:flex}.shopping-row-recipe{color:var(--text-3);text-decoration:none}.shopping-row-recipe:hover{color:var(--accent);text-decoration:underline}.empty-state{text-align:center;max-width:520px;color:var(--text-2);margin:3rem auto}.empty-state-title{font-family:var(--font-serif);font-size:var(--fs-xl);color:var(--text);margin-bottom:var(--space-2)}@media print{.page-back,.shopping-sources,.shopping-list-actions{display:none}.shopping-layout{grid-template-columns:1fr}.shopping-row{page-break-inside:avoid;border-color:#ccc}}@page{margin:18mm 18mm 22mm}@media print{html,body{--bg:#fff;--surface:#fff;--surface-2:#fff;--surface-hover:#fff;--text:#000;--text-2:#000;--text-3:#333;--text-faint:#666;--accent:#000;--accent-hover:#000;--accent-soft:#fff;--accent-line:#999;--accent-2:#000;--accent-2-soft:#fff;--accent-2-line:#999;--border:#999;--border-strong:#666;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--shadow-xl:none;color:#000!important;background:#fff!important}body{display:block}.sidebar,.sidebar-scrim,#menu-toggle,.topbar,.recipe-toolbar,.skip-link,.toast,.ingredient-subs-btn,.ingredient-subs-panel,.recipe-toc,.back-to-ingredients,.side-pairing,.similar-section,.recipe-siblings,.mentioned-recipes,.editorial-meta{display:none!important}.main{margin-left:0!important}.content{max-width:none!important;padding:0!important}.recipe-detail{max-width:none!important}.recipe-hero-shell{page-break-inside:avoid;overflow:hidden;max-height:280px!important;box-shadow:none!important;border:none!important}.recipe-hero-media{background-image:none!important;max-height:280px!important}.recipe-hero-media img{object-fit:cover;max-height:280px!important}.recipe-chips{background:#fff!important;border-bottom:none!important;gap:.4rem 1rem!important;margin:.5rem 0 1rem!important;padding:0!important;position:static!important}.recipe-chip{color:#000!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.recipe-chip-label{color:#000!important;background:0 0!important;padding:0 .3rem 0 0!important;font-weight:700!important}.recipe-chip-value{color:#000!important;padding:0!important}.serves-step{display:none!important}.serves-chip .recipe-chip-value{min-width:0!important;padding:0!important}.units-chip{display:none!important}.rating-chip:not(:has(.rating-star.is-on)){display:none!important}.rating-reset{display:none!important}.rating-star{color:#ccc!important;cursor:default!important}.rating-star.is-on{color:#000!important}.nutrition-strip{page-break-inside:avoid;color:#000!important;background:#fff!important;border:1px solid #999!important}.nutrition-strip *{color:#000!important}.wine-pairing{page-break-inside:avoid;color:#000!important;background:#fff!important;border:1px solid #999!important;border-left:3px solid #000!important}.wine-pairing-label,.wine-pairing-note{color:#000!important}.wine-pairing-pill{color:#000!important;background:#fff!important;border:1px solid #999!important}.allergen-mark{color:#000!important;font-weight:600!important}.allergen-footnote{page-break-inside:avoid;border-radius:4px;font-size:9.5pt;line-height:1.5;color:#000!important;background:#fff!important;border:1px solid #999!important;border-left:3px solid #000!important;margin:1.5rem 0!important;padding:.75rem .9rem!important;display:block!important}.allergen-footnote-label,.allergen-footnote-item{color:#000!important}.page-eyebrow{color:#333!important}.page-title,.page-sub,.page-meta,.recipe-title,.recipe-overview{color:#000!important}.markdown{color:#000!important;font-size:10.5pt!important;line-height:1.5!important}.markdown h1{color:#000!important;margin-bottom:.4rem!important;font-size:22pt!important}.markdown h2{page-break-after:avoid;color:#000!important;border-bottom:1px solid #999!important;margin:1rem 0 .4rem!important;padding-bottom:.25rem!important;font-size:13pt!important}.markdown h3{page-break-after:avoid;color:#000!important;margin:.7rem 0 .3rem!important;font-size:9pt!important}.markdown p,.markdown li{color:#000!important}.markdown a{color:#000!important;border-bottom:0!important;text-decoration:none!important}.markdown img{object-fit:cover;page-break-inside:avoid;border:none!important;max-width:100%!important;max-height:60mm!important}.markdown ul,.markdown ol{page-break-inside:avoid}.markdown h2+p,.markdown h2+ul,.markdown h2+ol,.markdown h3+ul,.markdown h3+ol{page-break-before:avoid}.markdown p,.markdown li{orphans:2;widows:2}.markdown ul{padding-left:.6rem!important;list-style:none!important}.markdown ul li{page-break-inside:avoid;position:relative;padding-left:1.2rem!important}.markdown ul li.is-struck{color:#000!important;opacity:1!important;-webkit-text-decoration:none!important;text-decoration:none!important}.markdown ul li.is-struck::marker{opacity:1!important}.markdown ul li:before{content:"";border:1px solid #333;border-radius:1px;width:.7em;height:.7em;position:absolute;top:.35em;left:0}.markdown ol{padding-left:1.6rem!important}.markdown ol li{page-break-inside:avoid;padding-left:.2rem!important}body[data-print-url]:after{content:"Found at " attr(data-print-url);color:#555;word-break:break-all;border-top:1px solid #ccc;margin-top:12mm;padding-top:4mm;font-size:8.5pt;display:block}}
