@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(/assets/bricolage-grotesque-latin-wdth-normal-Dtb2a5nO.woff2)format("woff2-variations")}@font-face{font-family:Recipe Digits;font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+30-39;src:url(/assets/bricolage-grotesque-latin-wdth-normal-Dtb2a5nO.woff2)format("woff2-variations")}:root{--paper:#fff;--surface:#f4f6f1;--line:#dce2da;--line-strong:#7c8780;--ink:#20262a;--muted:#59635d;--green:#1f6b4a;--green-dark:#17553a;--green-tint:#e6f0ea;--saffron:#f2b705;--saffron-tint:#fdf3cf;--tomato:#c8372d;--tomato-tint:#fbeceb;--scrim:#20262a80;--ns-a:#038141;--ns-b:#85bb2f;--ns-c:#fecb02;--ns-d:#ee8100;--ns-e:#e63e11;--ns-none:#c9cec8;--r-control:6px;--r-card:12px;--r-sheet:20px;--r-pill:999px;--e-1:0 1px 2px #20262a14;--e-2:0 6px 20px -8px #20262a38;--e-3:0 -10px 40px -10px #20262a4d;--font-body:"Recipe Digits", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-display:"Bricolage Grotesque", "Atkinson Hyperlegible", system-ui, sans-serif;--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:clamp(2rem, 1.4rem + 2.6vw, 2.75rem);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--header-h:64px;--gutter:clamp(16px, 3vw, 32px);--max:1200px;--tap:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}html:has(dialog[open]){overflow:hidden}body{background:var(--paper);color:var(--ink);font:var(--fs-md) / 1.55 var(--font-body);padding-bottom:env(safe-area-inset-bottom);margin:0;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0 0 .5em;line-height:1.15}h1{font-size:var(--fs-3xl);letter-spacing:-.015em;font-weight:760;font-stretch:84%}h2{font-size:var(--fs-xl);letter-spacing:-.005em;font-weight:680;font-stretch:90%}h3{font-size:var(--fs-lg);font-weight:620}p{margin:0 0 1em}a{color:var(--green);text-underline-offset:.15em}a:hover{color:var(--green-dark)}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}svg{flex:none}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:var(--r-control)}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.num{font-variant-numeric:tabular-nums}.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{z-index:50;background:var(--ink);color:var(--paper);border-radius:var(--r-control);padding:10px 16px;font-weight:700;position:absolute;top:8px;left:-999px}.skip:focus{color:var(--paper);left:8px}.row-between{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);background:var(--green);color:var(--paper);border:1px solid var(--green);border-radius:var(--r-control);text-align:center;padding:10px 20px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--green-dark);border-color:var(--green-dark);color:var(--paper)}.btn[disabled]{opacity:.6;cursor:progress}.btn-secondary,.btn.secondary{background:var(--paper);color:var(--green);border-color:var(--green)}.btn-secondary:hover,.btn.secondary:hover{background:var(--green-tint);color:var(--green-dark)}.btn-small,.btn.small{min-height:36px;font-size:var(--fs-sm);padding:6px 14px}.btn-block{width:100%}.btn-on-dark{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-on-dark:hover{background:var(--surface);color:var(--ink)}.link{color:var(--green);text-underline-offset:.15em;padding:0 var(--s-1);min-height:var(--tap);font-size:var(--fs-sm);background:0 0;border:0;text-decoration:underline}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--r-control);color:var(--ink);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--surface)}.chips,.picked{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{min-height:var(--tap);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-control);max-width:100%;font-size:var(--fs-sm);text-align:left;align-items:center;gap:6px;padding:8px 14px;line-height:1.25;display:inline-flex}.chip:hover{border-color:var(--green);background:var(--green-tint)}.chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--paper);font-weight:700}.chip[aria-pressed=true]:hover{background:var(--green-dark)}.chip-picked{background:var(--green-tint);border-color:var(--green);color:var(--ink);padding-right:10px;font-weight:700}.chip-picked svg{color:var(--green)}.chip-picked:hover{background:var(--paper)}.chip-add{border-style:dashed;border-color:var(--green);color:var(--green);font-weight:700}.chip-add:hover{color:var(--green-dark)}.toggle-btn{align-items:center;gap:var(--s-2);min-height:var(--tap);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-control);font-size:var(--fs-sm);text-align:left;padding:8px 14px;line-height:1.25;display:inline-flex}.toggle-btn:hover{border-color:var(--green)}.toggle-btn[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--paper);font-weight:700}.toggle-btn.is-active{background:var(--green-tint);border-color:var(--green);font-weight:700}.toggle-btn.is-active svg{color:var(--green)}.field{position:relative}.field input,.header-search input{width:100%;min-height:var(--tap);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-control);padding:10px 12px 10px 42px}.field input:focus-visible,.header-search input:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.field-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.site-header{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);position:sticky;top:0}.header-inner{max-width:var(--max);height:var(--header-h);align-items:center;gap:var(--s-3);padding:0 var(--gutter);margin:0 auto;display:flex}.brand{min-height:var(--tap);min-width:var(--tap);color:var(--ink);font:780 1.375rem/1 var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;font-stretch:80%;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.header-search{align-items:center;gap:var(--s-1);flex:1;max-width:440px;display:flex;position:relative}.header-search input{background:var(--surface)}.header-search-btn{margin-left:auto}.header-nav{align-items:center;gap:var(--s-1);margin-left:auto;display:flex}.header-nav a{min-height:var(--tap);min-width:var(--tap);border-radius:var(--r-control);color:var(--ink);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:700;text-decoration:none;display:inline-flex}.header-nav a:hover{background:var(--surface);color:var(--ink)}.header-nav a[aria-current=page]{color:var(--green);box-shadow:inset 0 -3px 0 var(--green);border-radius:0}.count{background:var(--green);min-width:22px;height:22px;color:var(--paper);border-radius:var(--r-pill);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.header-search-btn+.header-nav{margin-left:0}.prefs{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.prefs select{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16' fill='none' stroke='%2320262A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;appearance:none;cursor:pointer;padding:6px 30px 6px 10px}.prefs-compact select{font-size:var(--fs-sm)}.prefs-compact .pref{display:contents}.prefs-full{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,12em));align-items:end;display:grid}.prefs-full .pref{gap:6px;min-width:0;display:grid}.prefs-full label{font-weight:700}.prefs-full select{width:100%}@media (width<=340px){.prefs-full{grid-template-columns:minmax(0,1fr)}}main{max-width:var(--max);padding:var(--s-5) var(--gutter) var(--s-7);margin:0 auto}.site-footer{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm)}.footer-inner{max-width:var(--max);padding:var(--s-5) var(--gutter) calc(var(--s-5) + env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin:0 auto;display:flex}.footer-inner p{max-width:44em;margin:0}.footer-inner .prefs label{color:var(--ink)}select:focus-visible{outline:2px solid var(--green);outline-offset:2px}.page-intro{margin-bottom:var(--s-5);max-width:44em}.page-intro p{color:var(--muted);font-size:var(--fs-lg);margin:0}.finder-narrow main,.finder-narrow{display:block}.needbar{top:calc(var(--header-h) + env(safe-area-inset-top));z-index:10;margin:calc(-1 * var(--s-5)) calc(-1 * var(--gutter)) var(--s-4);padding:var(--s-2) 0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--e-1);gap:var(--s-2);display:grid;position:sticky}.bar-row{align-items:center;gap:var(--s-2);min-width:0;display:flex}.bar-label{width:calc(var(--gutter) + 6.4em);padding-left:var(--gutter);-webkit-hyphens:auto;hyphens:auto;font:700 var(--fs-sm)/1.15 var(--font-body);color:var(--ink);letter-spacing:0;flex:none;margin:0}.fit-box{min-width:0;padding-right:var(--gutter);flex:1;position:relative;overflow:hidden}.picked.fit-row{flex-wrap:nowrap}.picked.fit-row .chip{white-space:nowrap}.fit-measure{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.chip-icon{justify-content:center;min-width:44px;padding-inline:0}.chip-more{color:var(--green);border-color:var(--green);background:var(--paper);justify-content:center;min-width:44px;font-weight:700}.finder-wide{gap:var(--s-6);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.sidebar{top:calc(var(--header-h) + var(--s-5));max-height:calc(100vh - var(--header-h) - var(--s-6));overscroll-behavior:contain;padding:var(--s-1) var(--s-2) var(--s-4) var(--s-1);margin-left:calc(-1 * var(--s-1));scrollbar-width:thin;position:sticky;overflow-y:auto}.side-section{padding-bottom:var(--s-5);margin-bottom:var(--s-5);border-bottom:1px solid var(--line)}.side-section:last-child{border-bottom:0;margin-bottom:0}.side-section h2{font-size:var(--fs-lg);margin-bottom:var(--s-3);font-weight:700;font-stretch:92%}.side-section .muted{margin-bottom:var(--s-3)}.results-head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.results-head h2{font-size:var(--fs-2xl);margin:0 auto 0 0;font-weight:740;font-stretch:86%}.finder-narrow .results-head h2{font-size:var(--fs-xl);flex-basis:100%}.filters{gap:var(--s-2);flex-wrap:wrap;display:flex}.finder-wide .filters{flex-direction:column;align-items:stretch}.ing-picker{gap:var(--s-3);display:grid}.ing-selected{padding-bottom:var(--s-3);border-bottom:1px solid var(--line)}.group-title{font:700 var(--fs-sm)/1.3 var(--font-body);margin:0}.ing-selected .row-between{margin-bottom:var(--s-1)}.ing-group{border-bottom:1px solid var(--line)}.ing-group:last-child{border-bottom:0}.ing-group summary{align-items:center;gap:var(--s-2);cursor:pointer;min-height:48px;font-weight:700;list-style:none;display:flex}.ing-group summary::-webkit-details-marker{display:none}.group-name{margin-right:auto}.group-count{white-space:nowrap;font-size:var(--fs-xs);color:var(--green);background:var(--green-tint);border-radius:var(--r-pill);padding:2px 8px;font-weight:700}.chev{color:var(--muted);transition:transform .15s}details[open]>summary .chev{transform:rotate(180deg)}.ing-group .chips{padding:var(--s-1) 0 var(--s-4)}.cuisine-picker{gap:var(--s-2);display:grid}.cuisine-picker .chip{position:relative}.chip-count{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.chip[aria-pressed=true] .chip-count{color:inherit;opacity:.85}.chip-empty{color:var(--muted);border-style:dashed}.side-collapse>summary h2{margin:0 auto 0 0}.side-collapse .cuisine-picker{padding:var(--s-1) 0 var(--s-2)}.side-collapse .chips{padding:0}.active-chips{margin:calc(-1 * var(--s-1)) 0 var(--s-4)}.meal-picker .chip{position:relative}.filter-section+.filter-section{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line)}.filter-title{font:700 var(--fs-lg)/1.2 var(--font-display);margin:0 0 var(--s-3);font-stretch:92%}.sheet-actions{gap:var(--s-2);display:flex}.sheet-actions .btn{white-space:nowrap;flex:auto;min-height:44px}.sheet-actions .btn-secondary{flex:none}.sheet-actions .btn[disabled]{cursor:default}.need-group{margin:0 0 var(--s-5);border:0;padding:0}.need-group:last-child{margin-bottom:0}.need-group legend{font:700 var(--fs-lg)/1.2 var(--font-display);margin-bottom:var(--s-3);padding:0;font-stretch:92%}.needs{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.need{align-items:center;gap:var(--s-3);text-align:left;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-control);grid-template-columns:auto 1fr auto;width:100%;min-height:56px;padding:10px 12px;display:grid}.need:hover{border-color:var(--green)}.need[aria-pressed=true]{background:var(--green-tint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.need-icon{color:var(--green)}.need-text strong{display:block}.need-text small{color:var(--muted);font-size:var(--fs-sm);margin-top:2px;line-height:1.4;display:block}.need-box{border:1.5px solid var(--line-strong);background:var(--paper);width:26px;height:26px;color:var(--paper);border-radius:4px;place-items:center;display:grid}.need[aria-pressed=true] .need-box{background:var(--green);border-color:var(--green)}.cards{gap:var(--s-5) var(--s-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.cards.is-loading{opacity:.55;transition:opacity .2s}.cards>li{min-width:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;height:100%;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--line-strong)}.card:has(h3 a:focus-visible){outline:3px solid var(--ink);outline-offset:2px}.card-body{gap:var(--s-3);padding:var(--s-3) var(--s-4) var(--s-4);flex-direction:column;flex:1;display:flex}.card-top{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.card h3{margin:6px 0 0;font-size:1.1875rem;font-weight:640;line-height:1.2}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:focus-visible{outline:none}.card h3 a:after{content:"";z-index:1;position:absolute;inset:0}.card:hover h3 a{text-decoration:underline;text-decoration-thickness:1px}.card .fav{z-index:2;margin:-2px -8px 0 0;position:relative}.meta{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 14px;margin:0;display:flex}.meta-time{align-items:center;gap:4px;display:inline-flex}.meta-diet{color:var(--green);font-weight:700}.ing-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ing-tags li{font-size:var(--fs-xs);background:var(--surface);color:var(--muted);border:1px solid #0000;border-radius:4px;padding:3px 8px;line-height:1.3}.ing-tags li.have{background:var(--green-tint);color:var(--green-dark);border-color:var(--green);font-weight:700}.ing-tags li.flag{background:var(--paper);border-color:var(--line)}.card .fit{margin-top:auto}.fav{width:var(--tap);height:var(--tap);border-radius:var(--r-pill);color:var(--tomato);background:0 0;border:0;flex:none;place-items:center;display:grid}.fav:hover{background:var(--tomato-tint)}.fit{border:2px solid var(--ink);border-radius:var(--r-control);background:var(--paper);font-variant-numeric:tabular-nums;overflow:hidden}.fit-head{font:800 var(--fs-sm)/1.25 var(--font-display);letter-spacing:.01em;border-bottom:3px solid var(--ink);color:var(--ink);align-items:center;gap:6px;margin:0;padding:4px 10px 3px;font-stretch:75%;display:flex}.fit-all .fit-head{background:var(--saffron)}.fit-some .fit-head{background:var(--surface)}.fit-items{font-size:var(--fs-sm);flex-wrap:wrap;gap:2px 14px;margin:0;padding:6px 10px 7px;line-height:1.35;list-style:none;display:flex}.fit-items li{align-items:flex-start;gap:4px;display:inline-flex}.fit-items li svg{margin-top:1px}.fit-items .pass svg{color:var(--green)}.fit-items .fail{color:var(--tomato);font-weight:700}.fit-why{font-weight:400}.fit-expanded{margin:var(--s-5) 0 0;border-radius:var(--r-control);border-width:2px}.fit-expanded .fit-head{border-bottom-width:4px;padding:8px 14px 6px;font-size:1.25rem}.fit-needs{margin:0;padding:0;list-style:none}.fit-needs>li{border-top:1px solid var(--line);padding:10px 14px 12px}.fit-needs>li:first-child{border-top:0}.fit-need{font-size:var(--fs-lg);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;display:flex}.fit-need>svg{color:var(--green)}.fit-verdict{font-weight:700;font-size:var(--fs-sm);border-radius:4px;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;display:inline-flex}.fit-needs .pass .fit-verdict{background:var(--saffron);color:var(--ink)}.fit-needs .fail .fit-verdict{background:var(--tomato-tint);color:var(--tomato)}.fit-rules{gap:2px;margin:0;padding:0 0 0 28px;list-style:none;display:grid}.fit-rules li{align-items:flex-start;gap:6px;display:flex}.fit-rules li svg{margin-top:3px}.fit-rules .pass svg{color:var(--green)}.fit-rules .fail,.fit-rules .fail strong{color:var(--tomato)}.fit-limit{color:var(--muted)}.empty{text-align:left;padding:var(--s-6) 0;color:var(--muted);max-width:36em}.empty-title{color:var(--ink);font-size:var(--fs-lg);margin-bottom:var(--s-2);font-weight:700}.empty-icon{color:var(--tomato);margin-bottom:var(--s-2)}.notice{gap:var(--s-2);background:var(--tomato-tint);color:var(--ink);border-left:4px solid var(--tomato);border-radius:var(--r-control);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);align-items:flex-start;display:flex}.hint{color:var(--muted);font-size:var(--fs-sm);margin-top:var(--s-4)}.loading{color:var(--muted);padding:var(--s-6) 0}.more{margin:var(--s-6) 0 var(--s-2)}dialog.sheet{color:var(--ink);background:var(--paper);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;max-width:100%;max-height:90dvh;box-shadow:var(--e-3);border:0;margin:auto 0 0;padding:0}dialog.sheet[open]{flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-up;display:flex}dialog.sheet::backdrop{background:var(--scrim);animation:.2s ease-out fade-in}.sheet-panel{flex-direction:column;flex:1;min-height:0;display:flex}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-4) var(--s-3) var(--s-3) var(--s-5);border-bottom:1px solid var(--line);display:flex}.sheet-head h2{font-size:var(--fs-xl);margin:8px 0 4px}.sheet-head p{color:var(--muted);font-size:var(--fs-sm);margin:0}.sheet-head:before{content:"";border-radius:var(--r-pill);background:var(--line);width:40px;height:4px;margin-left:-20px;position:absolute;top:8px;left:50%}.sheet-body{overscroll-behavior:contain;min-height:0;padding:var(--s-4) var(--s-5) var(--s-5);flex:1;overflow-y:auto}.sheet-foot{padding:var(--s-3) var(--s-5) calc(var(--s-3) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)}}.recipe-img{aspect-ratio:16/10;object-fit:cover;background:var(--surface);width:100%;height:auto;display:block}.recipe-figure,.recipe-figure.illustration{margin:var(--s-5) 0 0}.recipe-img-banner{aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-card);width:100%;height:auto;max-height:320px;display:block}.recipe-img-full{border-radius:var(--r-card);background:var(--surface);width:auto;max-width:100%;height:auto;max-height:70vh;margin:0 auto;display:block}.recipe-figure figcaption{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--s-2)}.recipe-figure figcaption a{color:inherit}.detail{max-width:820px;margin:0 auto}.back-row{margin:0 0 var(--s-3)}.back{min-height:var(--tap);align-items:center;gap:6px;margin-left:-4px;padding:0 4px;font-weight:700;text-decoration:none;display:inline-flex}.back:hover{text-decoration:underline}.detail-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.detail-title{min-width:0}.detail-head h1{margin-bottom:var(--s-2)}.lede{font-size:var(--fs-lg);color:var(--muted);max-width:40em;margin:0}.detail-head .fav{border:1px solid var(--line-strong);margin-top:6px}.english-only{font-size:var(--fs-sm);color:var(--ink);background:var(--surface);margin:var(--s-2) 0 0;border-radius:4px;padding:2px 8px;display:inline-block}.source-credit{margin:var(--s-2) 0 0;color:var(--muted)}.source-credit a{font-weight:700}.facts{margin:var(--s-5) 0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));padding:0;display:grid}.facts div{padding:var(--s-3) var(--s-4);border-left:1px solid var(--line);min-width:0}.facts div:first-child{border-left:0}.facts dt{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:6px;display:flex}.facts dt svg{color:var(--green)}.facts dd{font:700 var(--fs-lg)/1.2 var(--font-body);font-variant-numeric:tabular-nums;margin:2px 0 0}.detail-tags{margin-bottom:var(--s-2)}.detail section{margin-top:var(--s-6)}.detail section.fit{margin-top:var(--s-5)}.tips ul{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.tips li{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-control);background:var(--surface);align-items:flex-start;display:flex}.tips li>svg{color:var(--green);margin-top:2px}.tips li.relevant{background:var(--saffron-tint);box-shadow:inset 4px 0 0 var(--saffron)}.detail-cols{gap:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);display:grid}.ingredients,.steps{margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--line)}.ingredients label{gap:var(--s-3);min-height:var(--tap);cursor:pointer;align-items:flex-start;padding:10px 0;display:flex}.ingredients input,.steps input{width:22px;height:22px;accent-color:var(--green);flex:none;margin:2px 0 0}.ingredients li.done span{color:var(--muted);text-decoration:line-through}.steps li{margin-bottom:var(--s-4)}.steps label{gap:var(--s-3);cursor:pointer;font-size:var(--fs-lg);grid-template-columns:auto auto 1fr;align-items:start;line-height:1.6;display:grid}.steps input{margin-top:6px}.step-n{border-radius:var(--r-pill);background:var(--green-tint);width:34px;height:34px;color:var(--green-dark);font:800 1.05rem/1 var(--font-display);font-variant-numeric:tabular-nums;place-items:center;display:grid}.steps li.done .step-text{color:var(--muted);text-decoration:line-through}.steps li.done .step-n{background:var(--surface);color:var(--muted)}.source-method p{color:var(--muted)}.source-link{font-size:var(--fs-lg);padding:12px 22px}.nutrition-label{border:2px solid var(--ink);border-radius:var(--r-control);max-width:520px;overflow:hidden}.nutrition{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.nutrition th,.nutrition td{border-bottom:1px solid var(--line);text-align:left;padding:8px 12px}.nutrition thead th{font:800 var(--fs-sm)/1.25 var(--font-display);border-bottom:3px solid var(--ink);background:var(--surface);font-stretch:78%}.nutrition td,.nutrition thead th+th{text-align:right}.nutrition tbody th{font-weight:700}.nutrition tr.sub th{color:var(--muted);padding-left:28px;font-weight:400}.nutrition tbody tr:last-child th,.nutrition tbody tr:last-child td{border-bottom:0}.ri-note{font-size:var(--fs-xs);color:var(--muted);border-top:2px solid var(--ink);margin:0;padding:8px 12px}.nutrition-section>.muted{margin:-4px 0 var(--s-3)}.nutrition-source{color:var(--muted);margin:var(--s-2) 0 0}.note-box{background:var(--surface);border-radius:var(--r-card);padding:var(--s-4) var(--s-5)}.note-box h2{align-items:center;gap:var(--s-2);font-size:var(--fs-lg);margin-bottom:var(--s-2);display:flex}.note-box h2 svg{color:var(--green)}.note-box ul{margin:0;padding-left:1.2em}.note-box li{margin-bottom:4px}.note-box .small{color:var(--muted);margin:var(--s-3) 0 0}.inline-icon{vertical-align:-2px;margin-left:4px;display:inline}.collapse{margin-top:var(--s-6);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.collapse+.collapse{border-top:0;margin-top:0}.collapse>summary{align-items:center;gap:var(--s-2);cursor:pointer;min-height:56px;font:680 var(--fs-lg)/1.2 var(--font-display);font-stretch:92%;list-style:none;display:flex}.collapse>summary::-webkit-details-marker{display:none}.collapse>summary>span{margin-right:auto}.collapse[open]{padding-bottom:var(--s-5)}.checks{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));display:grid}.check{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-3) var(--s-4)}.check h3{font-size:var(--fs-md);margin-bottom:var(--s-2);flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.check h3>svg{color:var(--green)}.verdict{font:700 var(--fs-xs)/1.2 var(--font-body);background:var(--green-tint);color:var(--green-dark);border-radius:4px;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;display:inline-flex}.check.fail .verdict{background:var(--tomato-tint);color:var(--tomato)}.check ul{margin:0;padding:0;list-style:none}.check li{font-size:var(--fs-sm);align-items:flex-start;gap:6px;padding:3px 0;display:flex}.check li svg{margin-top:3px}.check li.pass svg{color:var(--green)}.check li.fail{color:var(--tomato)}.actual{padding-left:var(--s-2);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;margin-left:auto}.products-intro{color:var(--muted);font-size:var(--fs-sm);max-width:46em}.product-group,.detail .product-group{margin-top:var(--s-4)}.product-group h3{font-size:var(--fs-md);margin-bottom:var(--s-2);font-weight:700}.product-group h3 span{font:400 var(--fs-sm) var(--font-body);color:var(--muted)}.products{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));margin:0;padding:0;list-style:none;display:grid}.product a{gap:var(--s-3);height:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-control);align-items:flex-start;padding:10px 12px;text-decoration:none;display:flex}.product a:hover{border-color:var(--green);color:var(--ink)}.product a:hover .product-name{text-decoration:underline}.product-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.product-name{font-weight:700;line-height:1.3}.product-meta{font-size:var(--fs-xs);color:var(--muted)}.stores{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.store{background:var(--green-tint);color:var(--green-dark);border-radius:4px;padding:1px 6px;font-size:.75rem;font-weight:700}.product-nutri{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;display:flex}.product-nutri strong{color:var(--ink)}.nutriscore{border-radius:var(--r-control);width:32px;height:32px;font:800 1.2rem var(--font-display);color:var(--paper);background:var(--ns-none);flex:none;place-items:center;display:grid}.ns-none{color:var(--ink)}.ns-a{background:var(--ns-a)}.ns-b{background:var(--ns-b);color:var(--ink)}.ns-c{background:var(--ns-c);color:var(--ink)}.ns-d{background:var(--ns-d);color:var(--ink)}.ns-e{background:var(--ns-e);color:var(--ink)}.products-credit{font-size:var(--fs-xs);color:var(--muted);margin:var(--s-4) 0 0}.products-credit a{color:inherit}.disclaimer{font-size:var(--fs-sm);color:var(--muted);border-top:1px solid var(--line);padding-top:var(--s-4);margin-top:var(--s-6)}.collapse+.disclaimer{border-top:0}.prose{max-width:720px;margin:0 auto}.prose h2{margin-top:var(--s-6)}.prose>p:first-of-type{font-size:var(--fs-lg);color:var(--muted)}.prose .disclaimer{color:var(--ink);border:0;margin:0;padding:0}.guidelines{gap:var(--s-2);margin:0;display:grid}.guidelines div{background:var(--surface);border-radius:var(--r-card);padding:var(--s-3) var(--s-4)}.guidelines dt{align-items:center;gap:var(--s-2);font-weight:700;display:flex}.guidelines dt svg{color:var(--green)}.guidelines dd{color:var(--muted);margin:4px 0 0}.guidelines ul{color:var(--ink);margin:6px 0 0;padding-left:1.2em}.credits{font-size:var(--fs-sm);color:var(--muted);padding-left:1.2em}.credits a{color:inherit}.prose .prefs{margin-bottom:var(--s-3)}.toasts{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));gap:var(--s-2);z-index:30;width:min(100vw - 32px,460px);display:grid;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--s-3);background:var(--ink);color:var(--paper);padding:var(--s-3) var(--s-4);border-radius:var(--r-card);box-shadow:var(--e-2);flex-wrap:wrap;animation:.2s ease-out pop-in;display:flex}.toast span{flex:1;min-width:10em}.toast .link{color:var(--paper)}.toast :focus-visible{outline-color:var(--paper)}.admin{max-width:1000px;margin:0 auto}.admin label>span{font-weight:700;font-size:var(--fs-sm);margin-bottom:4px;display:block}.admin input:not([type=checkbox]),.admin select,.admin textarea{border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--paper);width:100%;color:var(--ink);padding:8px 10px}.admin h2 small,.admin label small{color:var(--muted);font-weight:400}.admin .panel{border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-4);margin-bottom:var(--s-4)}.admin-fetch{gap:var(--s-3);flex-wrap:wrap;align-items:flex-end;display:flex}.admin-fetch label{flex:200px}.admin-fetch .grow{flex:3 320px}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.admin-grid .wide{grid-column:1/-1}.field-hint{color:var(--muted);font-size:var(--fs-xs);overflow-wrap:anywhere;margin-top:3px;display:block}.table-scroll{margin-bottom:var(--s-3);overflow-x:auto}.admin-lines{border-collapse:collapse;width:100%;min-width:760px}.admin-lines th{text-align:left;font-size:var(--fs-xs);color:var(--muted);padding:6px}.admin-lines td{vertical-align:top;border-top:1px solid var(--line);padding:6px}.admin-lines td:first-child{width:36%}.admin-lines td:nth-child(2){width:26%}.admin-lines .qty{width:6em}.admin-lines .center{text-align:center}.admin-lines tr.doubt td{background:var(--saffron-tint)}.admin-lines tr.bad td{background:var(--tomato-tint)}.admin-mains{border:0;flex-wrap:wrap;gap:6px 16px;margin:0 0 10px;padding:0;display:flex}.admin-mains legend{font-weight:700;font-size:var(--fs-sm);color:var(--muted);margin-bottom:4px}.admin-mains label{font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.admin-mains label.backed{color:var(--green);font-weight:700}.admin-nutrition{grid-template-columns:minmax(220px,300px) 1fr;align-items:start;gap:20px;display:grid}.admin-nutrition .nutrition{border:1px solid var(--line)}.admin-notes{background:var(--saffron-tint);border-radius:var(--r-control);font-size:var(--fs-sm);margin:0 0 16px;padding:10px 16px 10px 32px}.admin-done{border-left:4px solid var(--green)}.notice ul{margin:6px 0 0}@media (width<=760px){:root{--header-h:60px}main{padding-top:var(--s-5)}.site-header.is-searching .brand,.site-header.is-searching .header-nav{display:none}.site-header.is-searching .header-search{max-width:none}.header-inner{gap:var(--s-1)}.header-nav{gap:0}.header-nav a{padding:0 8px}.detail-cols{grid-template-columns:1fr;gap:0}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts div:nth-child(3){border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--line)}.cards{gap:var(--s-4);grid-template-columns:1fr}.admin-nutrition{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}}@media (width<=400px){.header-nav .nav-text{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (width<=340px){.brand{gap:8px;font-size:1.25rem}.header-nav a{padding:0 4px}}@media (width>=761px){dialog.sheet{border-radius:var(--r-sheet);width:min(640px,100vw - 48px);max-height:min(86vh,900px);box-shadow:var(--e-2);margin:auto}dialog.sheet[open]{animation:.2s ease-out pop-in}.sheet-head:before{display:none}.sheet-head h2{margin-top:4px}}@media (width>=761px) and (width<=1023px){.site-header .prefs-compact,.header-nav .nav-find{display:none}.finder-wide{gap:var(--s-5);grid-template-columns:260px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after,::backdrop{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.lab-sentence{margin:calc(-1 * var(--s-5)) calc(-1 * var(--gutter)) var(--s-2);padding:14px var(--gutter) 16px;background:var(--surface);border-bottom:1px solid var(--line)}.sentence{color:var(--ink);font:650 clamp(1.3125rem, 1.05rem + 1.4vw, 1.625rem) / 1.3 var(--font-display);letter-spacing:-.01em;text-wrap-style:pretty;margin:0;font-stretch:84%}.slot{color:var(--green);cursor:pointer;text-underline-offset:5px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in srgb, var(--green) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--green) 55%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:7px 0}.slot:hover{color:var(--green-dark);text-decoration-style:solid}.slot.is-empty{color:var(--muted);-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 50%, transparent);font-weight:450}.slot:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.lab-pinned{left:0;right:0;top:calc(var(--header-h) + env(safe-area-inset-top));z-index:15;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--e-1);visibility:hidden;opacity:0;transition:opacity .15s,transform .15s,visibility 0s .15s;position:fixed;transform:translateY(-8px)}.lab-pinned.is-on{visibility:visible;opacity:1;transition:opacity .15s,transform .15s;transform:none}.lab-pinned-btn{width:100%;min-height:var(--tap);padding:10px var(--gutter);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;display:block;overflow:hidden}.lab-pinned .sentence{white-space:nowrap;font-size:1.0625rem;line-height:1.4}.lab-pinned .slot{text-underline-offset:3px;padding:0;text-decoration-thickness:1.5px}.finder-narrow .results-head{margin-bottom:var(--s-3);flex-wrap:nowrap}.finder-narrow .results-head h2{font:700 var(--fs-md)/1.3 var(--font-body);letter-spacing:0;flex:auto}.finder-narrow .results-head:has(.chip){flex-wrap:wrap}.cuisine-link{min-height:var(--tap);min-width:0;color:var(--green);font-size:var(--fs-sm);text-align:right;text-underline-offset:4px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:1.5px;-webkit-text-decoration-color:color-mix(in srgb, var(--green) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--green) 55%, transparent);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:0 auto;margin-right:-2px;padding:0 2px;font-weight:700;overflow:hidden}.cuisine-link.is-empty{color:var(--muted);-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 50%, transparent);font-weight:400}.cook-group+.cook-group{margin-top:var(--s-4);padding-top:var(--s-4);border-top:8px solid var(--surface)}.finder-narrow .cook-group+.cook-group{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}.cook-group-title{margin:0 0 var(--s-1);font:750 1.125rem/1.2 var(--font-display);font-stretch:85%}.cards.row-cards{gap:0 var(--s-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.row-card{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) 0;border:0;border-bottom:1px solid var(--line);border-radius:0;flex-direction:row;overflow:visible}.row-cards>li:last-child .row-card{border-bottom:0}.row-card:hover{border-color:var(--line)}.row-thumb{object-fit:cover;background:var(--surface);border-radius:10px;flex:none;width:88px;height:88px}.row-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.row-card h3{margin:2px 0 0;font-size:1.0625rem;font-weight:680;font-stretch:88%;line-height:1.22}.row-card .fav{margin:-10px -10px -8px 0}.tally{font-size:var(--fs-xs);flex-wrap:wrap;gap:4px 6px;margin:0;padding:0;line-height:1.3;list-style:none;display:flex}.tally li{border-radius:var(--r-pill);border:1px solid #0000;padding:2px 8px}.tally-have{background:var(--green-tint);color:var(--green-dark);font-weight:700}.tally-buy{color:var(--muted);border:1px dashed var(--line-strong)!important}.row-meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:2px 12px;margin:0;display:flex}.row-fit{color:var(--ink);align-items:center;gap:3px;display:inline-flex}.row-fit.is-all{color:var(--green-dark);font-weight:700}@media (width>=761px){.row-card{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-card)}.row-cards>li:last-child .row-card{border-bottom:1px solid var(--line)}.row-card:hover{border-color:var(--line-strong)}.cards.row-cards{gap:var(--s-3)}.cook-group-title{margin-bottom:var(--s-3)}}.finder-narrow .results-head h2{white-space:nowrap}.saved-tabs{margin-bottom:var(--s-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control);padding:3px;display:inline-flex}.saved-tabs [role=tab]{min-height:var(--tap);color:var(--muted);background:0 0;border:0;border-radius:4px;padding:8px 18px;font-weight:700}.saved-tabs [role=tab]:hover{color:var(--ink)}.saved-tabs [role=tab][aria-selected=true]{background:var(--paper);color:var(--green-dark);box-shadow:var(--e-1)}.shop{max-width:40rem}.shop-intro{color:var(--muted);font-size:var(--fs-lg);margin:0 0 var(--s-4)}.shop-recipes{margin:0 0 var(--s-5);border:0;min-width:0;padding:0}.shop-recipes ul{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.shop-recipe{align-items:center;gap:var(--s-2);min-height:var(--tap);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-control);max-width:100%;font-size:var(--fs-sm);text-align:left;padding:5px 12px 5px 5px;line-height:1.25;display:inline-flex}.shop-recipe img{object-fit:cover;background:var(--surface);border-radius:4px;flex:none;width:32px;height:32px}.shop-recipe-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.shop-recipe:hover{border-color:var(--green)}.shop-recipe[aria-pressed=true]{border-color:var(--green);background:var(--green-tint);font-weight:700}.shop-recipe[aria-pressed=false]{color:var(--muted);border-style:dashed}.shop-recipe[aria-pressed=false] img{opacity:.45;filter:grayscale()}.shop-recipe-check{color:var(--green)}.shop-hint{font-size:var(--fs-xs);color:var(--muted);margin:var(--s-2) 0 0}.shop-note{color:var(--muted)}.shop-actions{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.shop-left{margin:0;font-weight:700}.shop-buttons{gap:var(--s-2);flex-wrap:wrap;display:flex}.shop-buttons .btn{min-height:var(--tap)}.shop-buttons .btn[disabled]{cursor:default;opacity:.5}.shop-status{font-size:var(--fs-sm);color:var(--green-dark);margin:0 0 var(--s-2)}.shop-section{margin-top:var(--s-4)}.shop-section-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);border-bottom:2px solid var(--ink);padding-bottom:var(--s-1);display:flex}.shop-section-head h2{font-size:var(--fs-lg);margin:0}.shop-count{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.shop-section.is-pantry .shop-section-head{border-bottom-color:var(--line-strong)}.shop-section.is-pantry .shop-section-head h2{color:var(--muted)}.shop-lines{margin:0;padding:0;list-style:none}.shop-lines>li{border-bottom:1px solid var(--line);padding:var(--s-1) 0}.shop-line{grid-template-columns:var(--tap) minmax(0, 1fr) auto;align-items:start;column-gap:var(--s-1);display:grid}.shop-line input{appearance:none;width:var(--tap);height:var(--tap);cursor:pointer;background:0 0;border:0;place-items:center;margin:0;display:grid}.shop-line input:before{content:"";border:2px solid var(--line-strong);background:var(--paper);border-radius:5px;width:22px;height:22px}.shop-line input:checked:before{background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 16px no-repeat;border-color:var(--green)}.shop-line input:focus-visible{outline:none}.shop-line input:focus-visible:before{outline:3px solid var(--ink);outline-offset:2px}.shop-line label{min-height:var(--tap);cursor:pointer;flex-direction:column;justify-content:center;padding:10px 0 6px;display:flex}.shop-name{font-weight:700;line-height:1.3}.shop-optional{color:var(--muted);font-weight:400}.shop-for{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;line-height:1.35}.shop-qty{padding:10px 0 0 var(--s-2);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.shop-lines>li.is-done .shop-name,.shop-lines>li.is-done .shop-qty{color:var(--muted);font-weight:400;text-decoration:line-through}.shop-lines>li.is-done .shop-for{text-decoration:line-through}.shelf-tag{max-width:calc(100% - var(--tap) - var(--s-1));margin:0 0 var(--s-2) calc(var(--tap) + var(--s-1));font-size:var(--fs-xs);border-radius:3px;align-items:stretch;line-height:1.3;display:inline-flex;overflow:hidden;box-shadow:0 1px #c9a200}.shelf-store{background:var(--saffron);color:var(--ink);flex:none;padding:3px 8px;font-weight:700}.shelf-product{background:var(--saffron-tint);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:3px 8px;overflow:hidden}.shelf-ns{min-width:22px;font:800 .8125rem var(--font-display);color:var(--paper);flex:none;place-items:center;padding:0 5px;display:grid}.saved-empty{max-width:60rem}.saved-empty-title{font-size:var(--fs-2xl);margin-bottom:var(--s-2)}.saved-empty-text{color:var(--muted);font-size:var(--fs-lg);max-width:36em;margin-bottom:var(--s-5)}.saved-ideas-heading{font-size:var(--fs-md);font-family:var(--font-body);margin-bottom:var(--s-3);font-weight:700}.saved-ideas{margin-bottom:var(--s-5)}@media (width>=761px){.saved-ideas{grid-template-columns:repeat(3,minmax(0,1fr))}}.cook-start{margin:0 0 var(--s-5)}dialog.cook-mode{background:var(--green-dark);width:100%;max-width:none;height:100%;max-height:none;color:var(--paper);overscroll-behavior:contain;border:0;margin:0;padding:0;position:fixed;inset:0}dialog.cook-mode::backdrop{background:var(--green-dark)}dialog.cook-mode :focus-visible{outline-color:var(--saffron)}.cook-inner{width:min(100%,760px);height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;margin:0 auto;display:flex}.cook-top{grid-template-columns:var(--tap) 1fr auto;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4) var(--s-3);display:grid}.cook-top h2{color:var(--paper);font-family:var(--font-body);font-size:var(--fs-sm);text-align:center;margin:0;font-weight:700}.cook-awake{font-size:var(--fs-xs);opacity:.85;min-width:var(--tap);text-align:right}.cook-close{width:var(--tap);height:var(--tap);color:var(--paper);background:0 0;border:1.5px solid #ffffff8c;border-radius:50%;place-items:center;padding:0;display:grid}.cook-close:hover{background:#ffffff1a}.cook-progress{padding:0 var(--s-4);gap:5px;display:grid}.cook-progress i{background:#ffffff40;border-radius:2px;height:4px}.cook-progress i.on{background:var(--saffron)}.cook-running{margin:var(--s-3) 0 0;padding:0 var(--s-4);gap:var(--s-2);list-style:none;display:flex;overflow-x:auto}.cook-running button{align-items:center;gap:var(--s-2);min-height:var(--tap);white-space:nowrap;background:var(--paper);color:var(--ink);border-radius:var(--r-pill);font-size:var(--fs-sm);border:0;padding:6px 14px;display:inline-flex}.cook-running button.up{background:var(--saffron)}.cook-body{overscroll-behavior:contain;min-height:0;padding:var(--s-5) var(--s-4) var(--s-4);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.cook-uses{margin:0 0 var(--s-4);flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.cook-uses li{font-size:var(--fs-xs);border-radius:var(--r-pill);background:#ffffff21;padding:5px 11px;line-height:1.3}.cook-text{margin:0 0 var(--s-5);font-family:var(--font-display);letter-spacing:-.005em;text-wrap:pretty;overflow-wrap:break-word;font-size:1.625rem;font-weight:600;font-stretch:88%;line-height:1.3}.cook-timers{gap:var(--s-3);margin-top:auto;display:grid}.cook-timer{gap:var(--s-4);background:var(--paper);color:var(--ink);border-radius:var(--r-sheet);padding:var(--s-4);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.cook-timer.up{background:var(--saffron-tint);box-shadow:inset 0 0 0 3px var(--saffron)}.cook-dial{--p:1;background:conic-gradient(var(--saffron) calc(var(--p) * 360deg), var(--surface) 0);border-radius:50%;place-items:center;width:88px;height:88px;display:grid}.cook-dial span{background:var(--paper);width:72px;height:72px;font-family:var(--font-display);letter-spacing:-.01em;border-radius:50%;place-items:center;font-size:1.125rem;font-weight:760;display:grid}.cook-timer.up .cook-dial span{background:var(--saffron-tint)}.cook-timer-body{min-width:0}.cook-timer-label{font-weight:700;font-size:var(--fs-md);margin:0;line-height:1.3}.cook-timer-note{font-size:var(--fs-xs);color:var(--muted);margin:2px 0 0;line-height:1.35}.cook-timer-up{font-family:var(--font-display);font-weight:760;font-size:var(--fs-xl);margin:2px 0 0;line-height:1.1}.cook-timer-btns{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.cook-timer-btns button{min-height:var(--tap);background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-sm);align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.cook-timer-btns button.primary{background:var(--green);color:var(--paper);border-color:var(--green)}.cook-timer-btns button:hover{background:var(--surface)}.cook-timer-btns button.primary:hover{background:var(--green-dark)}.cook-timer-btns svg{width:16px;height:16px}.cook-timer-btns button.icon{width:var(--tap);justify-content:center;padding:0}.cook-timer-btns button.icon svg{width:20px;height:20px}.cook-nav{justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4) var(--s-5);display:flex}.cook-nav button{border-radius:var(--r-pill);min-height:56px;font-weight:700;font-size:var(--fs-lg);color:var(--paper);background:0 0;border:1.5px solid #ffffff8c;padding:12px 26px}.cook-nav button:hover{background:#ffffff1a}.cook-nav button:disabled{opacity:.4;cursor:default;background:0 0}.cook-nav .cook-next{background:var(--paper);color:var(--green-dark);border-color:var(--paper);flex:0 auto;min-width:9.5rem}.cook-nav .cook-next:hover{background:var(--surface)}@media (prefers-reduced-motion:no-preference){.cook-timer.up{animation:1s ease-in-out 3 cook-up}}@keyframes cook-up{50%{box-shadow:inset 0 0 0 6px var(--saffron)}}@media (width<=340px){.cook-timer{gap:var(--s-3);padding:var(--s-3)}.cook-dial{width:64px;height:64px}.cook-dial span{width:52px;height:52px;font-size:var(--fs-sm)}.cook-text{font-size:1.5rem}.cook-nav button{padding:12px 18px}}@media (width>=1024px){.cook-text{font-size:2rem}}.recipe-img-box{width:fit-content;max-width:100%;margin:0 auto;position:relative}.recipe-figure.illustration .recipe-img-box{width:100%}.recipe-figure.has-overlay figcaption{margin-top:26px}.recipe-figure.illustration.has-overlay{margin-bottom:26px}.shelf-tag{z-index:1;border-bottom:3px solid var(--ink);max-width:calc(100% - 24px);font-weight:700;font-size:var(--fs-sm);box-shadow:var(--e-1);border-radius:4px;align-items:center;gap:6px;margin:0;padding:7px 14px 7px 11px;line-height:1.25;display:inline-flex;position:absolute;bottom:0;left:12px;transform:translateY(50%)}.shelf-tag.fit-all{background:var(--saffron);color:var(--ink)}.shelf-tag.fit-some{background:var(--tomato-tint);color:var(--tomato);border-bottom-color:var(--tomato)}.recipe-top{gap:var(--s-4);margin:var(--s-5) 0 0;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:stretch;display:grid}.time-bar{min-width:0}.time-total{justify-content:space-between;align-items:baseline;gap:var(--s-3);color:var(--muted);margin:0 0 6px;display:flex}.time-total strong{font:760 var(--fs-2xl)/1 var(--font-display);color:var(--ink);font-stretch:88%}.time-split{gap:6px 3px;display:grid}.time-seg{border-radius:2px;height:10px}.time-seg.prep{background:var(--saffron)}.time-seg.cook{background:var(--green)}.time-label{font-size:var(--fs-sm);color:var(--muted);padding-right:8px;line-height:1.25}.time-label strong{font-size:var(--fs-lg);color:var(--ink);display:block}.time-none{font-size:var(--fs-sm);color:var(--muted);margin:4px 0 0}.stepper{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-card);display:flex}.stepper-text{min-width:0;margin:0;line-height:1.3;display:grid}.stepper-controls{flex:none;align-items:center;gap:4px;display:flex}.stepper-btn{width:var(--tap);height:var(--tap);border:1.5px solid var(--ink);border-radius:var(--r-pill);background:var(--paper);place-items:center;padding:0;display:inline-grid}.stepper-btn:hover:not(:disabled){background:var(--surface)}.stepper-btn:disabled{border-color:var(--line);color:var(--line-strong);cursor:not-allowed}.stepper-btn:focus-visible{border-radius:var(--r-pill)}.stepper-value{text-align:center;min-width:2ch;font:760 var(--fs-2xl)/1 var(--font-display);font-stretch:88%}.scaled-note{margin:-4px 0 var(--s-2);border-radius:var(--r-control);background:var(--saffron-tint);padding:6px 10px}.detail section.fop{margin-top:var(--s-4)}.fop-row{grid-template-columns:repeat(5,minmax(0,104px));gap:6px;margin:0;padding:0;list-style:none;display:grid}.fop-cell{text-align:center;border:1.5px solid var(--line-strong);background:var(--paper);min-width:0;font-size:var(--fs-xs);border-radius:26px 26px 12px 12px;flex-direction:column;align-items:center;gap:1px;padding:8px 2px 9px;line-height:1.25;display:flex}.fop-name{overflow-wrap:anywhere}.fop-amount{font:760 var(--fs-lg)/1.15 var(--font-display);font-stretch:88%}.fop-g{font-size:.8em}.fop-unit{color:var(--muted)}.fop-level{font-weight:700}.fop-ri{color:var(--muted)}.fop-low{background:#d6ead9;border-color:#3d8a5a}.fop-medium{background:#fbe2a6;border-color:#c98b00}.fop-high{border-color:var(--tomato);background:#f6cfcb}.fop-low .fop-ri,.fop-medium .fop-ri,.fop-high .fop-ri{color:var(--ink)}.fop-note{margin:var(--s-2) 0 0}.detail section.needs-bars{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--line)}.needs-intro{margin:-4px 0 var(--s-3)}.nb{padding:var(--s-3) 0 var(--s-4);border-top:1px solid var(--line)}.nb:last-child{padding-bottom:0}.nb-head{margin:0 0 var(--s-2);font-size:var(--fs-lg);align-items:center;gap:8px;display:flex}.nb-head>svg{color:var(--green)}.nb-pill{border-radius:var(--r-pill);font:700 var(--fs-sm)/1.5 var(--font-body);align-items:center;gap:4px;margin-left:auto;padding:2px 10px;display:inline-flex}.nb.pass .nb-pill{background:var(--green-tint);color:var(--green-dark)}.nb.fail .nb-pill{background:var(--tomato-tint);color:var(--tomato)}.nb-rules{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.nb-rule-text{justify-content:space-between;gap:var(--s-3);font-size:var(--fs-sm);margin:0 0 5px;display:flex}.nb-rule-value{color:var(--muted);white-space:nowrap}.nb-rule-value strong{color:var(--ink)}.measure{background:var(--surface);height:8px;box-shadow:inset 0 0 0 1px var(--line);border-radius:2px;position:relative}.measure-fill{background:var(--green);border-radius:2px;position:absolute;inset:0 auto 0 0}.measure-tick{background:var(--ink);width:2px;margin-left:-1px;position:absolute;top:-5px;bottom:-5px}.nb-rule.near .measure-fill{background:var(--saffron)}.nb-rule.over .measure-fill,.nb-rule.under .measure-fill{background:var(--tomato)}.nb-state{font-size:var(--fs-sm);align-items:center;gap:4px;margin:4px 0 0;font-weight:700;display:flex}.nb-rule.near .nb-state{color:var(--ink)}.nb-rule.over .nb-state,.nb-rule.under .nb-state,.nb-rule.over .nb-rule-value strong,.nb-rule.under .nb-rule-value strong{color:var(--tomato)}.nb-rule.text{font-size:var(--fs-sm);align-items:flex-start;gap:6px;display:flex}.nb-rule.text svg{margin-top:3px}.nb-rule.text.pass svg{color:var(--green)}.nb-rule.text.fail{color:var(--tomato)}.needs-empty{align-items:center;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-card);background:var(--surface);flex-wrap:wrap;display:flex}.detail section.needs-empty{padding-top:var(--s-4);border-top:0}.needs-empty p{flex:16em;margin:0}@media (width<=760px){.recipe-top{gap:var(--s-3);grid-template-columns:1fr}}@media (width<=360px){.fop-row{gap:3px}.fop-cell{padding-inline:0}.fop-amount{font-size:var(--fs-md)}.stepper{padding-left:var(--s-3)}}.needs-bars+.detail-tags{margin-top:var(--s-5)}.nb-pill{white-space:nowrap}
