:root,[data-theme=light]{--bg:oklch(99% .002 90);--ink:oklch(17% .005 90);--muted:oklch(44% .006 90);--rule:oklch(88% .004 90);--surface:#fff;--surface2:oklch(96.5% .004 90);--accent:oklch(84% .15 85);--accent-ink:oklch(18% .01 80);--accent-text:oklch(47% .1 70);--btn:oklch(17% .005 90);--btn-ink:#fff;--ph1:oklch(91% .02 85);--ph2:oklch(95% .012 85);--band:oklch(86% .14 88);--band-ink:oklch(17% .005 90);--band-rule:oklch(70% .11 80);--band-accent:oklch(32% .06 70);--focus:oklch(50% .17 255);--hl:oklch(95% .07 92);--scrim:#14120a73;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:oklch(21% .02 255);--ink:oklch(95% .01 90);--muted:oklch(77% .015 250);--rule:oklch(35% .02 255);--surface:oklch(25% .022 255);--surface2:oklch(26% .024 255);--accent:oklch(85% .14 95);--accent-ink:oklch(20% .02 255);--accent-text:oklch(86% .14 95);--btn:oklch(85% .14 95);--btn-ink:oklch(20% .02 255);--ph1:oklch(30% .025 255);--ph2:oklch(26% .02 255);--band:oklch(26% .025 255);--band-ink:oklch(95% .01 90);--band-rule:oklch(37% .02 255);--band-accent:oklch(85% .14 95);--focus:oklch(85% .14 95);--hl:oklch(31% .045 255);--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--serif:"Source Serif 4", Georgia, serif;--sans:"Work Sans", system-ui, sans-serif;--mono:"JetBrains Mono", monospace;--gutter:clamp(16px, 4vw, 56px);--section-gap:clamp(40px, 5vw, 64px);--content-width:1280px;--radius:6px}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:oklch(21% .02 255);--ink:oklch(95% .01 90);--muted:oklch(77% .015 250);--rule:oklch(35% .02 255);--surface:oklch(25% .022 255);--surface2:oklch(26% .024 255);--accent:oklch(85% .14 95);--accent-ink:oklch(20% .02 255);--accent-text:oklch(86% .14 95);--btn:oklch(85% .14 95);--btn-ink:oklch(20% .02 255);--ph1:oklch(30% .025 255);--ph2:oklch(26% .02 255);--band:oklch(26% .025 255);--band-ink:oklch(95% .01 90);--band-rule:oklch(37% .02 255);--band-accent:oklch(85% .14 95);--focus:oklch(85% .14 95);--hl:oklch(31% .045 255);--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}body{color:var(--ink);background:var(--bg);font:1rem/1.5 var(--sans);margin:0}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--accent-text)}button,input,select{font:inherit;color:inherit}button,select,summary{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3,p,dl,dd,fieldset{margin:0}h1{font:400 clamp(2rem, 4.4vw, 3.375rem)/1.08 var(--serif);letter-spacing:-.02em;text-wrap:pretty}h2{font:600 1.625rem/1.15 var(--serif)}ul,ol{padding-inline-start:1.3rem}img{max-width:100%;display:block}[hidden]{display:none!important}.sr,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--btn);color:var(--btn-ink);border-radius:var(--radius);padding:10px 14px;position:fixed;top:8px;left:8px}.print-only{display:none}.site{flex-direction:column;min-height:100vh;display:flex}.site>main{flex:1}.container{width:100%;max-width:var(--content-width);padding-inline:var(--gutter);margin-inline:auto}.stack{flex-direction:column;gap:20px;display:flex}.stack.compact{gap:12px}.row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.small-actions{gap:6px}.meta{color:var(--muted);font-size:.875rem}.eyebrow{color:var(--accent-text);font:600 .8125rem/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}.intro{font-size:1.125rem;line-height:1.6}.button{border:1px solid var(--rule);min-height:44px;color:var(--ink);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{background:var(--surface2);color:var(--ink)}.button.primary,.button[aria-pressed=true],.button[data-selected],.button[aria-current=step]{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}.button:disabled{opacity:.55;cursor:default}.small-actions .button{padding-inline:12px;font-size:.875rem}.input{border:1px solid var(--rule);background:var(--surface);border-radius:8px;width:100%;min-width:0;min-height:44px;padding:9px 12px}.section-heading{border-top:2px solid var(--ink);padding-top:14px}.notice{background:var(--hl);border-radius:8px;padding:12px 16px}.check-label{cursor:pointer;align-items:center;gap:10px;min-height:40px;display:flex}.check-label>span:last-child{flex:1}.checkbox{border:1px solid var(--muted);background:var(--surface);border-radius:4px;flex:0 0 20px;place-items:center;height:20px;padding:0;display:inline-grid}.checkbox[data-checked]{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}.share-action{position:relative}.share-feedback{z-index:4;background:var(--btn);color:var(--btn-ink);white-space:nowrap;pointer-events:none;border-radius:8px;padding:8px 12px;font-size:.875rem;position:absolute;top:calc(100% + 8px);right:0}.site-header,.demo-banner{border-bottom:1px solid var(--rule)}.demo-banner{background:var(--surface2);color:var(--muted);text-align:center;font:.75rem/1.4 var(--mono);padding:6px 16px}.header-bar{align-items:center;gap:24px;min-height:68px;display:flex;position:relative}.brand{color:var(--ink);font:600 1.25rem/1.2 var(--serif);letter-spacing:-.01em;text-decoration:none}.brand span{color:var(--accent-text)}.desktop-nav{flex:1;align-items:center;gap:12px;display:flex}.site-header nav{align-items:center;gap:4px;display:flex}.site-header nav a{border-radius:var(--radius);padding:10px 12px;text-decoration:none}.site-header nav a[aria-current=page]{background:var(--surface2);font-weight:600}.search{border:1px solid var(--rule);background:var(--surface);border-radius:999px;align-items:center;gap:4px;display:flex}.search input{outline-offset:-3px;background:0 0;border:0;border-radius:999px;flex:1;min-width:0;min-height:44px;padding:10px 16px}.search .button{flex-shrink:0}.header-search{width:min(320px,32vw);margin-left:auto}.header-search .button{border:0;font-size:1.25rem}.mobile-nav{margin-left:auto;display:none}.mobile-panel{z-index:5;padding:12px var(--gutter) 18px;background:var(--bg);border-bottom:1px solid var(--rule);position:absolute;top:100%;left:0;right:0}.mobile-panel>*+*{margin-top:8px}.site-footer{border-top:1px solid var(--rule);padding-block:28px}.home-lead,.recipe-hero{grid-template-columns:1fr 1.4fr;align-items:end;gap:clamp(24px,4vw,56px);padding-block:clamp(28px,5vw,64px) clamp(32px,4vw,56px);display:grid}.home-section{padding-bottom:var(--section-gap)}.home-section>.section-heading{margin-bottom:20px}.home-section:last-child{padding-bottom:80px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,216px),1fr));gap:clamp(16px,2.4vw,28px);display:grid}.featured{grid-template-columns:repeat(4,minmax(0,1fr))}.collections{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.recipe-card{flex-direction:column;gap:10px;min-width:0;text-decoration:none;display:flex}.recipe-card:hover .card-title{text-decoration:underline}.card-copy{gap:4px;min-width:0;display:grid}.card-title{font:600 1.1875rem/1.25 var(--serif);text-wrap:pretty}.recipe-image{aspect-ratio:4/3;border-radius:var(--radius);background:var(--surface2);display:grid;position:relative;overflow:hidden}.recipe-image.lead{aspect-ratio:3/2}.recipe-image.square{aspect-ratio:1}.recipe-image img{object-fit:cover;width:100%;height:100%;position:absolute}.recipe-initial{font:400 clamp(2rem, 5vw, 5rem)/1 var(--serif);color:var(--muted);place-self:center}.photo-placeholder{background:repeating-linear-gradient(135deg, var(--ph1) 0 10px, var(--ph2) 10px 20px);color:var(--muted);font:.6875rem/1.3 var(--mono);align-items:end;padding:10px;display:flex}.pick{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:600;position:absolute;top:10px;left:10px}.card-lead .card-copy{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.card-lead .card-title{font-size:clamp(1.25rem,2vw,1.625rem)}.card-row,.card-list .recipe-card{border-bottom:1px solid var(--rule);flex-direction:row;align-items:center;gap:16px;padding-block:12px}.card-row .recipe-image,.card-list .recipe-image{border-radius:4px;flex:0 0 72px;width:72px}.card-row .photo-placeholder,.card-list .photo-placeholder{padding:0;font-size:0}.card-row .pick,.card-list .pick{display:none}.collage{aspect-ratio:16/10;border-radius:var(--radius);grid-template-rows:repeat(2,1fr);grid-template-columns:2fr 1fr;gap:3px;display:grid;overflow:hidden}.collage .recipe-image{aspect-ratio:auto;border-radius:0;height:100%}.collage>:first-child{grid-row:span 2}.collage:has(>:nth-child(2):last-child)>:last-child{grid-row:span 2}.situation-band{background:var(--band);color:var(--band-ink);margin-bottom:var(--section-gap)}.situation-inner{padding-block:var(--section-gap);grid-template-columns:minmax(220px,.8fr) 1.5fr;gap:clamp(24px,4vw,48px);display:grid}.situation-inner h2{text-wrap:balance;font-size:clamp(1.75rem,3vw,2.375rem);font-weight:400}.situation-inner ul{border-top:1px solid var(--band-rule);margin:0;padding:0;list-style:none}.situation-inner a{border-bottom:1px solid var(--band-rule);color:inherit;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;text-decoration:none;display:flex}.situation-inner a:hover strong{text-decoration:underline}.situation-inner strong{font:600 1.25rem/1.2 var(--serif);display:block}.situation-inner small{color:var(--band-accent);margin-top:3px;display:block}.situation-inner a>span:last-child{white-space:nowrap;font-size:.875rem}.finder{padding-block:var(--section-gap)}.finder-intro{margin-bottom:28px}.finder-search{width:min(100%,650px)}.finder-search .button:last-child{margin:3px}.finder-layout{grid-template-columns:228px minmax(0,1fr);gap:clamp(24px,3vw,44px);display:grid}.finder-results{min-width:0}.filter-sidebar h2{font-size:1.25rem}.filter-fields{gap:18px;margin-top:16px;display:grid}.filter-group{border:0;gap:4px;min-width:0;padding:0;display:grid}.filter-group legend,.time-filters label{margin-bottom:4px;font-weight:600}.filter-group .input{margin:6px 0}.time-filters{gap:10px;display:grid}.time-filters select{margin-top:4px}.option-count{float:right;color:var(--muted);padding-inline-start:4px}.chips{margin-bottom:16px}.results-toolbar{border-top:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 20px;display:flex}.results-toolbar .input{width:auto;max-width:100%}.quick-filters{margin-bottom:16px;display:none}.refreshing{opacity:.45}.empty{align-items:flex-start;padding-block:28px}.load-more{justify-items:center;gap:8px;padding-top:32px;display:grid}.backdrop{z-index:20;background:var(--scrim);position:fixed;inset:0}.modal,.popover{background:var(--bg);color:var(--ink);border:1px solid var(--rule)}.modal{z-index:21;border-radius:14px;flex-direction:column;width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000040}.modal.sheet{border-radius:0;width:min(460px,100%);max-height:100dvh;inset:0 0 0 auto;transform:none}.modal.cook{width:min(760px,100% - 32px)}.modal-header,.modal-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 20px;display:flex}.modal-header{border-bottom:1px solid var(--rule)}.modal-header h2{font-size:1.375rem}.modal-footer{border-top:1px solid var(--rule);padding-bottom:max(14px, env(safe-area-inset-bottom))}.modal-content{overscroll-behavior:contain;padding:16px 20px;overflow:auto}.popover-positioner{z-index:12}.popover{width:min(320px,100vw - 32px);max-height:min(500px, var(--available-height));border-radius:10px;padding:16px;overflow:auto;box-shadow:0 12px 40px #00000029}.popover h2{margin-bottom:10px;font-size:1.25rem}.recipe-detail{padding-block:28px var(--section-gap)}.recipe-hero{grid-template-columns:1.1fr .9fr;align-items:start;padding-block:24px 28px}.recipe-hero:not(:has(.recipe-image)){grid-template-columns:1fr}.recipe-hero .stack{min-width:0}.facts{border-block:1px solid var(--rule);flex-wrap:wrap;gap:12px 24px;padding-block:12px;display:flex}.facts dt{color:var(--muted)}.facts dd{font:600 1.125rem/1.4 var(--serif)}.tags{margin-bottom:18px}.tags .button{font-size:.875rem}.jump-links{background:var(--bg);border-block:1px solid var(--rule);gap:16px;margin-bottom:24px}.jump-links a{padding-block:10px}.recipe-body{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.recipe-body section,.recipe-section{scroll-margin-top:64px}.ingredients-panel{background:var(--surface2);border-radius:10px;padding:clamp(18px,2.4vw,28px)}.ingredient-groups,.method-groups{gap:16px;display:grid}.ingredient-list,.method-list{margin:0;padding:0;list-style:none}.ingredient-list li+li{border-top:1px solid var(--rule)}.ingredient-list .check-label{min-height:44px;padding-block:7px}.ingredient-checked .ingredient-text{color:var(--muted);text-decoration:line-through}.method-list li{border-radius:8px;align-items:flex-start;gap:14px;padding:12px 8px;display:flex}.method-list p{font-size:1.125rem;line-height:1.6}.current-step{background:var(--hl)}.step-number{flex-shrink:0;min-width:44px;padding-inline:6px}.recipe-section{margin-top:var(--section-gap)}.cook-tabs{margin-block:10px}.cook-step{background:var(--surface2);border-radius:14px;gap:16px;padding:16px;display:grid}.cook-step>p[aria-live]{font-size:clamp(1.25rem,3vw,2rem);line-height:1.5}.cook-step li+li{margin-top:8px}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:16px;display:grid}@media (width>=900px){.ingredients-panel.sticky{position:sticky;top:16px}}@media (width<=1099px){.finder-layout{display:block}.filter-sidebar{display:none}.quick-filters{display:flex}}@media (width<=759px){.desktop-nav,.tablet-filters{display:none}.mobile-nav{display:block}.mobile-panel .header-search{width:100%;margin-inline:0}.home-lead,.recipe-hero,.recipe-body,.situation-inner{grid-template-columns:1fr}.featured,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jump-links{z-index:2;position:sticky;top:0}.modal.sheet{inset:max(24px, env(safe-area-inset-top)) 0 0;border-radius:16px 16px 0 0;width:100%}}@media (width<=400px){.card-grid{gap:16px}.collections{grid-template-columns:1fr}.results-toolbar .actions{max-width:100%}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media print{[data-noprint],.backdrop,.modal,.recipe-hero .recipe-image,.checkbox,.step-number{display:none!important}.print-only{display:block}:root,:root[data-theme],:root:not([data-theme]){--bg:white;--ink:black;--muted:#333;--surface2:white;--rule:#bbb;--hl:white;--accent-text:#333}.site,.recipe-detail,.recipe-hero,.recipe-body{display:block}.container,.recipe-hero,.ingredients-panel{padding:0}.ingredients-panel{margin-block:16px;position:static!important}.ingredient-checked .ingredient-text{color:inherit;text-decoration:none}.method-list li,.ingredient-list li,h2,h3{break-inside:avoid}h2,h3{break-after:avoid}}.library-page{padding-block:var(--section-gap)}.sign-in,.library-editor{max-width:780px}.sign-in{max-width:420px}.editor-fields{border:0;padding:0}.editor-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;display:grid}.editor-grid fieldset{border:0;padding:0}.editor-line{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:8px;display:grid}.library-list{margin:0;padding:0;list-style:none}.library-list li{border-top:1px solid var(--rule);padding:8px 0}@media (width<=520px){.editor-line{grid-template-columns:minmax(0,1fr) auto}.editor-line>:first-child{grid-column:1/-1}}
