:root{color-scheme:dark;--page:#0b1110;--panel:#121b1a;--panel-raised:#172321;--ink:#edf7f5;--muted:#a7bab6;--line:#2a3a37;--accent:#5eead4;--accent-soft:#123c37;--accent-warm:#f2ca72;--accent-warm-soft:#392f1d;--danger:#fca5a5}*{box-sizing:border-box}html{scroll-padding-top:5.25rem}body{margin:0;color:var(--ink);background:var(--page);font-family:avenir next,Avenir,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;line-height:1.5}a{color:var(--accent)}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:4.5rem;padding:.625rem max(clamp(1rem,4vw,2rem),calc((100vw - 72rem)/2 + 2rem));border-bottom:1px solid var(--line);background:var(--panel)}.site-title{display:inline-flex;align-items:center;gap:.65rem;min-width:0;min-height:3rem;color:var(--ink);font-weight:700;text-decoration:none}.site-title span{overflow:hidden;font-family:Baskerville,baskerville old face,hoefler text,iowan old style,Georgia,ui-serif,serif;font-size:clamp(1.25rem,4.2vw,1.55rem);font-style:italic;font-weight:600;letter-spacing:.01em;line-height:1;text-overflow:ellipsis;white-space:nowrap}.site-logo{flex:0 0 2.2rem;width:2.2rem;height:2.2rem;object-fit:contain;filter:brightness(0)invert(1)drop-shadow(0 0 .65rem rgb(94 234 212/.2))}.header-actions{display:flex;flex:none;align-items:center;gap:.5rem}.menu-button{min-height:3rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel)}.menu-button{display:inline-grid;place-items:center;width:3rem;padding:0;cursor:pointer}.menu-button:hover,.menu-button:focus-visible,.menu-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft)}.menu-button .icon svg{width:1.35rem;height:1.35rem}.site-nav{position:fixed;top:4.5rem;right:max(clamp(1rem,4vw,2rem),calc((100vw - 72rem)/2 + 2rem));z-index:40;display:none;width:min(22rem,calc(100% - 2rem));padding:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-raised);box-shadow:0 1rem 3rem rgb(0 0 0/.35)}.site-nav[data-open=true]{display:grid;gap:.25rem}.site-nav a{display:flex;align-items:center;min-height:3rem;padding:.75rem .8rem;border-radius:6px;color:var(--ink);text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current=page]{background:var(--accent-soft)}.site-nav a[aria-current=page]{color:var(--accent);font-weight:700}.site-nav-backdrop{position:fixed;inset:0;z-index:20;background:rgb(0 0 0/.56);backdrop-filter:blur(2px)}.site-nav-backdrop[hidden]{display:none}body.site-menu-open{overflow:hidden}.site-main{width:min(72rem,100%);margin:0 auto;padding:clamp(1rem,4vw,2rem)}h1,h2,h3{line-height:1.15;letter-spacing:-.018em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.55rem .8rem;border:1px solid var(--accent);border-radius:8px;color:var(--accent);background:var(--panel);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button-primary{color:#fff;background:var(--accent)}.home-search-panel{margin:.25rem 0 clamp(2rem,6vw,3.25rem);padding-bottom:clamp(1.5rem,4vw,2rem);border-bottom:1px solid var(--line)}.site-main.search-query-active>:not(.home-search-panel){display:none}.search-page-intro{max-width:44rem;margin-bottom:1.25rem}.search-page-intro h1{margin:.2rem 0 .5rem}.search-page-intro>:last-child{margin:0;color:var(--muted)}.search-page-kicker{margin:0;color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.search-page-panel{max-width:52rem}.home-search{max-width:52rem}.home-search .pagefind-ui{width:100%}.home-search .pagefind-ui__form{position:relative}.home-search .pagefind-ui__search-input{width:100%;min-height:3.35rem;padding:.75rem 4.5rem .75rem 1rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel);font:inherit;font-weight:700}.home-search .pagefind-ui__search-input:focus-visible{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));outline:2px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px}.home-search .pagefind-ui__search-input::placeholder{color:var(--muted)}.home-search .pagefind-ui__search-clear{position:absolute;top:.3rem;right:.125rem;min-height:2.75rem;padding:0 .75rem;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--page);font:inherit;font-size:.85rem;cursor:pointer}.home-search .pagefind-ui__drawer{margin-top:1rem}.home-search .pagefind-ui__hidden,.home-search [hidden]{display:none!important}.home-search .pagefind-ui__message{margin:0 0 .35rem;color:var(--muted);font-weight:700}.home-search .pagefind-ui__results{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.home-search .pagefind-ui__result{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.home-search .pagefind-ui__result-inner{padding:1rem}.home-search .pagefind-ui__result-title{margin:0 0 .35rem;font-weight:700}.home-search .pagefind-ui__result-link{display:block;min-height:3rem;color:var(--ink);text-decoration:none}.home-search .pagefind-ui__result-link:hover,.home-search .pagefind-ui__result-link:focus-visible{color:var(--ink);background:var(--accent-soft)}.home-search .pagefind-ui__result-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.home-search .pagefind-ui__result-link:active{background:var(--panel-raised)}.home-search .pagefind-ui__result-link:hover .pagefind-ui__result-title-text,.home-search .pagefind-ui__result-link:focus-visible .pagefind-ui__result-title-text{color:var(--accent)}.home-search .pagefind-ui__result-excerpt{margin:0;color:var(--muted)}.home-search .pagefind-ui__result-excerpt mark{border-radius:4px;color:var(--ink);background:color-mix(in srgb,var(--accent) 34%,transparent)}.home-search .pagefind-ui__button{width:100%;min-height:2.75rem;margin-top:.85rem;border:1px solid var(--accent);border-radius:8px;color:var(--accent);background:var(--panel);font:inherit;font-weight:700;cursor:pointer}.home-discovery,.home-all-recipes{max-width:68rem;margin-block:clamp(2.25rem,6vw,3.5rem)}.home-discovery>h2,.home-all-recipes>h2{margin:0 0 .45rem;font-size:clamp(1.4rem,4vw,1.85rem)}.home-all-recipes>a{display:inline-flex;align-items:center;min-height:3rem;padding:.65rem .9rem;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:8px;color:var(--ink);background:var(--accent-soft);font-weight:800;text-decoration:none}.home-discovery{padding:0;border:0;background:0 0}.home-discovery .index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-discovery .index-card{min-height:5.25rem;color:var(--ink);background:var(--panel-raised)}.home-discovery .index-card:hover,.home-discovery .index-card:focus-visible,.home-all-recipes>a:hover,.home-all-recipes>a:focus-visible{border-color:var(--accent);color:var(--accent);outline-offset:3px}.home-all-recipes{padding:clamp(1rem,4vw,1.5rem)0 0;border-top:1px solid var(--line)}.home-all-recipes p{color:var(--muted)}.recipe-grid{display:grid;gap:.85rem;grid-template-columns:1fr;max-width:52rem}.recipe-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);box-shadow:0 .55rem 1.5rem rgb(0 0 0/8%);transition:border-color 150ms ease,transform 150ms ease}.recipe-card-body{display:block;padding:1rem}.recipe-card-link{display:block;color:inherit;text-decoration:none}.recipe-card-link:hover h2,.recipe-card-link:focus-visible h2{color:var(--accent)}.recipe-card-link:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:4px}.icon{display:inline-flex;flex:none;align-items:center;justify-content:center}.icon svg{display:block;width:2rem;height:2rem}.recipe-card h2{margin:0 0 .35rem;font-size:1.1rem;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recipe-card p{margin:0 0 .75rem;color:var(--muted);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recipe-badges{display:flex;flex-wrap:wrap;gap:.35rem}.recipe-badge,.taxonomy-badge{display:inline-flex;align-items:center;gap:.25rem;border:1px solid;border-radius:8px;padding:.15rem .45rem;font-size:.78rem;opacity:.8}a.taxonomy-badge{min-height:2.75rem;padding:.4rem .6rem;color:inherit;text-decoration:none}a.taxonomy-badge:hover,a.taxonomy-badge:focus-visible{opacity:1;background:var(--accent-soft)}.taxonomy-badge .icon svg{width:.95rem;height:.95rem}.diet-adaptation-badge{border-color:color-mix(in srgb,var(--accent-warm) 62%,var(--line));color:var(--accent-warm);background:var(--accent-warm-soft);opacity:1}.recipe-card[hidden],.recipe-filter-status[hidden],.recipe-filter-empty[hidden]{display:none!important}.recipe-pagination{display:flex;align-items:stretch;width:max-content;max-width:100%;margin:1rem auto 0;overflow-x:auto;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 .75rem 2rem rgb(0 0 0/.22)}.recipe-pagination-item{display:inline-grid;flex:none;place-items:center;min-width:3rem;min-height:3rem;padding:0 .85rem;border-right:1px solid var(--line);color:var(--muted);font-size:1rem;font-weight:800;line-height:1;text-decoration:none}.recipe-pagination-item:last-child{border-right:0}a.recipe-pagination-item:hover,a.recipe-pagination-item:focus-visible{color:var(--ink);background:var(--accent-soft);outline-offset:-3px}.recipe-pagination-current{color:var(--ink);background:var(--panel-raised)}.recipe-pagination-disabled{opacity:.45}.recipe-pagination-arrow .icon svg{width:1.35rem;height:1.35rem}.recipe-pagination-ellipsis{min-width:2.8rem}.recipe-filter-status{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;max-width:68rem;margin:0 0 1rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.recipe-filter-status p{margin:0;color:var(--muted)}.recipe-filter-status strong{color:var(--ink);font-weight:700}.recipe-filter-status a{color:var(--accent);font-weight:700;text-decoration:none}.recipe-filter-empty{max-width:68rem;color:var(--muted)}.recipe-list-header{max-width:50rem;margin-bottom:1.25rem}.recipe-list-header h1{margin-bottom:.45rem;font-size:clamp(1.8rem,6vw,2.5rem)}.recipe-filter-panel{max-width:68rem;margin:0 0 1rem;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.recipe-filter-panel>summary{display:flex;align-items:center;min-height:3rem;padding:.75rem 1rem;color:var(--ink);font-weight:800;cursor:pointer}.recipe-filter-panel>summary:hover,.recipe-filter-panel>summary:focus-visible{color:var(--accent);background:var(--accent-soft)}.recipe-filters{border-top:1px solid var(--line)}.recipe-filters fieldset{margin:0;padding:1rem;border:0}.recipe-filters legend{padding:0;font-size:1.05rem;font-weight:800}.recipe-filter-controls{display:grid;gap:.8rem;margin-top:.8rem}.recipe-filter-controls label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:800}.recipe-filter-controls select{width:100%;min-height:3rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel-raised);font:inherit}.recipe-filter-controls select:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.recipe-filter-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.recipe-filter-actions button,.recipe-filter-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.6rem .9rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel-raised);font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.recipe-filter-actions button{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));color:var(--accent);background:var(--accent-soft)}.recipe-filter-actions button:hover,.recipe-filter-actions button:focus-visible,.recipe-filter-actions a:hover,.recipe-filter-actions a:focus-visible{border-color:var(--accent)}.recipe-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.recipe-summary{max-width:44rem;margin:0 0 .8rem;color:var(--muted)}.diet-adaptation-callout{display:flex;align-items:flex-start;gap:.8rem;max-width:52rem;margin:0 0 1.25rem;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--accent-warm) 58%,var(--line));border-radius:10px;color:var(--ink);background:linear-gradient(135deg,var(--accent-warm-soft),var(--panel))}.diet-adaptation-callout-icon{display:grid;flex:0 0 2.4rem;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;color:var(--accent-warm);background:rgb(0 0 0/.16)}.diet-adaptation-callout-icon .icon svg{width:1.35rem;height:1.35rem}.diet-adaptation-callout p{margin:.25rem 0 0;color:var(--muted)}.recipe-page{padding-bottom:5.5rem}.recipe-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem;padding-bottom:.2rem}.icon-action{display:inline-flex;flex:none;align-items:center;gap:.35rem;min-height:2.75rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.icon-action:hover,.icon-action:focus-visible{background:var(--accent-soft)}.icon-action .icon svg{width:1.05rem;height:1.05rem}.recipe-bottom-actions{position:fixed;right:auto;bottom:max(.85rem,env(safe-area-inset-bottom));left:50%;z-index:20;display:flex;align-items:stretch;width:min(34rem,calc(100vw - 1rem));overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 70%,var(--ink));border-radius:1.4rem;background:color-mix(in srgb,var(--page) 88%,#000000);box-shadow:0 .9rem 2.4rem rgb(0 0 0/.42);transform:translateX(-50%)}.recipe-bottom-action{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:.45rem;min-width:0;min-height:3.2rem;padding:.65rem clamp(.45rem,2.2vw,.95rem);border-right:1px solid color-mix(in srgb,var(--line) 80%,var(--ink));color:var(--ink);font-weight:800;text-decoration:none}.recipe-bottom-action:last-child{border-right:0}.recipe-bottom-action:hover,.recipe-bottom-action:focus-visible{background:var(--accent-soft)}.recipe-bottom-action .icon svg{width:1.25rem;height:1.25rem}.recipe-bottom-action-icon{flex:0 0 3rem;padding-inline:0}.recipe-bottom-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-bottom-anchor{scroll-margin-bottom:6rem}.recipe-panel{margin:0 0 1rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.recipe-panel h2:first-child,.recipe-panel h3:first-child{margin-top:0}.recipe-panel-method,.recipe-panel-ingredients{padding:0;border:0;background:0 0}.recipe-panel-method>h2,.recipe-panel-ingredients>h2{margin:0 0 .75rem}.method-steps{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.method-step-card{display:grid;align-items:start;grid-template-columns:2.75rem minmax(0,1fr);gap:.8rem;padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.method-step-number{display:grid;align-self:start;justify-self:start;place-items:center;width:2.35rem;height:2.35rem;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:1rem;font-weight:800;line-height:1}.method-step-content{min-width:0}.method-step-content h3{margin:0 0 .35rem;font-size:1rem}.method-step-text>:first-child,.method-fallback>:first-child{margin-top:0}.method-step-text>:last-child,.method-fallback>:last-child{margin-bottom:0}.method-fallback{padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.link-list,.shopping-items{padding-left:1.2rem}.related-card-list{display:grid;gap:.65rem}.related-card{display:grid;gap:.2rem;min-height:3.5rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel-raised);text-decoration:none}.related-card span{color:var(--muted);font-size:.9rem}.related-card:hover,.related-card:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline-offset:2px}.ingredient-groups{display:grid;gap:.85rem}.ingredient-group{display:grid;gap:.45rem}.ingredient-group h3{margin:0;font-size:1rem}.ingredient-list{margin:0;padding:.9rem .9rem .9rem 2rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.ingredient-list li,.shopping-items li{margin-bottom:.45rem}.ingredient-list li:last-child{margin-bottom:0}.shopping-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.shopping-group+.shopping-group{margin-top:1rem}.shopping-group h2{margin:0 0 .45rem;font-size:1rem}.item-remove{min-height:2rem;padding:.3rem .5rem;color:var(--danger)}.scale-widget{display:grid;gap:.6rem;margin:.75rem 0;padding:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-raised)}.scale-widget[hidden]{display:none}.scale-widget input[type=number]{width:min(12rem,100%);min-height:2.4rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:8px;font:inherit}.checkbox-row{display:flex;align-items:center;gap:.45rem}.index-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.index-summary{max-width:42rem;color:var(--muted)}.index-card{display:grid;gap:.25rem;padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);text-decoration:none;font-weight:700}.index-card small{color:var(--muted);font-weight:600}.cuisine-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem;max-width:44rem;margin-top:1.25rem}.cuisine-index-item{display:grid;justify-items:center;gap:.75rem;min-width:0;color:var(--ink);font-size:1.12rem;font-weight:800;line-height:1.15;text-align:center;text-decoration:none}.cuisine-icon-button{display:grid;place-items:center;width:7.5rem;height:7.5rem;border:1px solid color-mix(in srgb,var(--line) 78%,var(--ink));border-radius:50%;color:var(--ink);background:var(--panel-raised);box-shadow:inset 0 0 0 1px rgb(255 255 255/3%)}.cuisine-icon-button .icon svg{width:2.9rem;height:2.9rem}.cuisine-index-name{display:block;max-width:9rem;overflow-wrap:anywhere}.cuisine-index-item:hover .cuisine-icon-button,.cuisine-index-item:focus-visible .cuisine-icon-button{border-color:var(--accent);background:var(--accent-soft)}.cuisine-index-item:focus-visible{border-radius:8px;outline:2px solid var(--accent);outline-offset:.35rem}.taxonomy-details{display:grid;gap:.5rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.taxonomy-details div{display:grid;gap:.15rem}.taxonomy-details dt{color:var(--muted);font-size:.82rem;font-weight:700}.taxonomy-details dd{margin:0}.shopping-list{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(min-width:880px){.home-search{max-width:68rem}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:68rem}.home-discovery .index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-filter-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.related-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cuisine-index-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));max-width:60rem;gap:2.25rem 1.25rem}}@media(max-width:520px){.recipe-header{align-items:center}.method-step-card{grid-template-columns:2.35rem minmax(0,1fr);gap:.65rem;padding:.8rem}.method-step-number{width:2rem;height:2rem;font-size:.95rem}}