:root{--paper:#f6f5ee;--ink:#202a25;--muted:#72776e;--line:#dedfd4;--lime:#d6f763;--purple:#bcb0e0;--display:'Bricolage Grotesque',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:default;opacity:.5}svg{display:block}button svg,.searchbox svg,.pantry-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}:focus-visible{outline:3px solid #6154af;outline-offset:5px}button,input,select,a{outline-offset:4px}::selection{background:var(--lime)}[hidden]{display:none!important}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-1.7px;white-space:nowrap}.brand-flower{font-family:Arial,sans-serif;font-size:45px;line-height:1;letter-spacing:0}.brand-dot{font:11px var(--body);align-self:flex-start;margin:9px 0 0 -5px}.desktop-nav{display:flex;align-items:center;gap:33px;font-size:13px;font-weight:500}.desktop-nav a{position:relative;padding:14px 0}.desktop-nav .active:after{content:'';position:absolute;height:2px;background:var(--ink);bottom:4px;left:0;right:0}.desktop-nav a:hover{color:#626652}.tiny-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8eab43;margin:0 0 2px 3px}.saved-nav{background:transparent;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;padding:12px 0}.saved-nav b{background:#e8e9e0;border-radius:100px;min-width:22px;height:22px;display:grid;place-items:center;font-size:11px}.saved-nav[aria-pressed=true] svg{fill:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding-top:58px;padding-bottom:78px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 22px;display:flex;gap:8px;align-items:center}.small-spark{font-size:19px;line-height:10px;letter-spacing:0}.hero h1{font:600 clamp(62px,6.3vw,94px)/.98 var(--display);letter-spacing:-5.2px;margin:0 0 29px;max-width:600px}.magic{position:relative;z-index:0;display:inline-block}.magic:before{content:'';position:absolute;z-index:-1;background:var(--lime);left:-5px;right:-9px;top:10%;bottom:0;transform:rotate(-4deg);border-radius:2px}.magic svg{position:absolute;bottom:-14px;left:-6px;width:103%;height:18px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.hero-description{font-size:14px;line-height:1.85;color:#656d63;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:50px;padding:14px 22px;border-radius:6px;font-weight:600;font-size:13px;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button span{font-size:22px;line-height:1;font-weight:400}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#3b493b}.text-button{background:none;display:inline-flex;align-items:center;gap:8px;padding:10px 0;font-weight:600;font-size:12px}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.dice-icon{font-size:27px;line-height:1;transform:rotate(-15deg)}.hero-footnote{display:flex;gap:11px;margin-top:38px;align-items:center}.hero-footnote p{font-size:10px;line-height:1.75;margin:0;color:var(--muted)}.hero-footnote strong{font-weight:500;color:var(--ink)}.mini-glasses{display:flex;padding-left:0}.mini-glasses span{width:31px;height:31px;border:2px solid var(--paper);border-radius:50%;display:grid;place-items:center;font-size:19px;background:#cdbfea;margin-left:-5px}.mini-glasses span:first-child{margin-left:0;background:#ecc390}.mini-glasses span:last-child{background:#d7e4bf}.hero-visual{position:relative;padding-top:3px}.hero-photo{position:relative;aspect-ratio:1/1.055;border-radius:14px;overflow:hidden;background:#c7b8e4}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:51% 50%;display:block}.photo-label{position:absolute;left:24px;right:24px;top:23px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:9px;letter-spacing:1.8px;color:#282a2d}.photo-label span{font-size:21px}.photo-caption{position:absolute;bottom:21px;left:22px;right:22px;display:flex;flex-direction:column;gap:6px;color:white;text-shadow:0 1px 7px #18252266}.photo-caption span:first-child{font-size:8px;font-weight:600;letter-spacing:1.7px}.photo-caption span:last-child{font:500 27px var(--display);letter-spacing:-.6px}.round-sticker{position:absolute;width:110px;height:110px;border-radius:50%;top:-24px;right:-25px;background:var(--lime);transform:rotate(15deg);display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #202a2522;box-shadow:0 6px 0 #202a2510}.round-sticker span{font-size:8px;letter-spacing:1.2px;font-weight:700}.round-sticker b{font:54px/.95 Arial,sans-serif;margin:4px 0}.scribble{position:absolute;bottom:-39px;left:42px;display:flex;align-items:center;gap:12px;font:italic 16px Georgia,serif;transform:rotate(-4deg)}.scribble svg{height:35px;width:80px;stroke:var(--ink);stroke-width:1.7;fill:none}.ticker{background:var(--lime);border-block:1px solid #283329;overflow:hidden}.ticker>div{height:48px;display:flex;align-items:center;justify-content:center;gap:36px;white-space:nowrap;width:max-content;min-width:100%}.ticker span{font-size:11px;letter-spacing:2px;font-weight:700}.ticker i{font:25px Arial,sans-serif;font-style:normal}.catalog{padding-top:68px;padding-bottom:64px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:31px;gap:20px}.section-top .eyebrow{margin-bottom:12px}.section-top h2{font:600 clamp(30px,3.3vw,47px)/1.1 var(--display);letter-spacing:-1.9px;margin:0}.lime-question{display:inline-block;transform:rotate(9deg);margin-left:4px}.section-note{font-size:12px;color:var(--muted);line-height:1.75;margin:0 0 3px}.search-toolbar{display:flex;gap:14px;margin-bottom:21px}.searchbox{display:flex;align-items:center;flex:1;gap:12px;background:#fffefa;border:1px solid var(--line);border-radius:7px;padding:0 16px;height:56px}.searchbox:focus-within{border-color:var(--ink)}.searchbox input{height:100%;width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:12px}.searchbox svg{flex-shrink:0;color:#747b6f;width:19px}.searchbox kbd{border:1px solid var(--line);border-radius:3px;color:#999f94;font-size:11px;padding:1px 6px}.pantry-button{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:7px;background:#eceee3;font-size:11px;font-weight:600;min-width:230px}.pantry-button:hover{background:var(--lime)}.pantry-button>span{font-size:21px;margin-left:6px}.filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:25px;border-bottom:1px solid var(--line)}.categories{display:flex;gap:8px;flex-wrap:wrap}.category{display:flex;gap:8px;align-items:center;border:1px solid #d9dccf;background:transparent;border-radius:50px;padding:10px 17px;font-size:11px;font-weight:500;white-space:nowrap;transition:background .18s}.category.active{background:var(--ink);color:white;border-color:var(--ink)}.category:not(.active):hover{background:#e9eddd}.category>span{font-size:9px;opacity:.6}.category[data-category=simple]>span{font-size:17px;line-height:9px;opacity:1}.taste-select select{border:0;background:transparent;font-size:11px;min-height:40px;cursor:pointer}.results-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;margin:20px 0 21px}.results-meta p{margin:0}.results-meta label{display:flex;gap:3px;align-items:center}.results-meta select{border:0;background:transparent;font-size:10px;font-weight:600;max-width:150px;cursor:pointer}.active-filters{display:flex;gap:8px;flex-wrap:wrap}.active-filters:not(:empty){padding-bottom:20px}.filter-pill{display:inline-flex;gap:8px;align-items:center;font-size:11px;background:#e4e9d5;border-radius:4px;padding:8px 10px}.filter-pill button{background:none;padding:0;font-size:16px;line-height:12px}.recipe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:31px 22px}.recipe-card{min-width:0;position:relative}.card-image-button{display:block;width:100%;padding:0;background:var(--card-bg,#e6e4d9);position:relative;aspect-ratio:1.13;border-radius:9px;overflow:hidden;text-align:left}.card-image-button>svg{width:100%;height:100%;transition:transform .35s ease}.card-image-button:hover>svg{transform:scale(1.06) rotate(-2deg)}.card-image-button:after{content:'';position:absolute;inset:0;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.card-badge{position:absolute;left:13px;top:13px;font-size:8px;text-transform:uppercase;letter-spacing:1.1px;background:#fff9;border-radius:3px;padding:6px 8px;font-weight:600;z-index:1}.card-favorite{position:absolute;top:11px;right:11px;z-index:2;background:#ffffffa8;border:1px solid #fff8;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;transition:transform .15s}.card-favorite svg{width:15px;height:15px}.card-favorite:hover{transform:scale(1.1);background:white}.card-favorite[aria-pressed=true]{background:var(--ink);color:var(--lime)}.card-favorite[aria-pressed=true] svg{fill:currentColor}.card-art-label{position:absolute;bottom:14px;left:14px;font:italic 14px Georgia,serif;transform:rotate(-6deg);opacity:.65}.card-body{padding:15px 1px 0}.card-topline{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:8px;color:#697467;letter-spacing:.8px;text-transform:uppercase;font-weight:600;margin-bottom:7px}.card-topline span:last-child{color:#858c7f;font-weight:400;font-size:8px;letter-spacing:0;text-transform:none}.card-title{font:600 22px/1.12 var(--display);letter-spacing:-.65px;margin:0 0 9px;background:none;padding:0;text-align:left}.card-title:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;gap:8px}.card-ingredients{font-size:10px;color:#757c71;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-arrow{font-size:19px}.load-more-wrap{text-align:center;margin-top:38px}.outline{border:1px solid #87917f;background:transparent;min-height:45px;padding:12px 24px;font-size:11px}.outline:hover{background:#e7ecdb}.load-more-wrap p{font-size:10px;color:var(--muted);margin:12px 0 0}.bar-banner{position:relative;display:grid;grid-template-columns:1fr 1.25fr;gap:45px;min-height:322px;background:#283c31;color:var(--paper);border-radius:11px;overflow:hidden;padding:45px 76px}.banner-copy .eyebrow{color:#d5ebad;font-size:9px;margin-bottom:15px}.banner-copy h2{font:500 35px/1.12 var(--display);letter-spacing:-1px;margin:0 0 15px}.banner-copy>p:not(.eyebrow){color:#c0cdbd;font-size:12px;line-height:1.75;margin:0 0 20px}.lime{background:var(--lime);color:var(--ink);min-height:44px;font-size:11px;padding:12px 18px}.banner-art{position:relative;align-self:center;height:225px;width:300px;max-width:100%;margin:auto}.banner-star{position:absolute;top:-10px;left:0;font:54px Arial,sans-serif;color:var(--lime);transform:rotate(12deg)}.banner-doodle{position:absolute;right:32px;bottom:38px;font:italic 19px Georgia,serif;transform:rotate(-12deg);color:#c7e79c}.footer{padding-top:64px;display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:20px}.footer .wordmark{font-size:27px}.footer .brand-flower{font-size:35px}.footer p{font-size:11px;color:var(--muted);margin-top:9px}.footer-links{display:grid;grid-template-columns:auto auto;gap:18px 30px;font-size:11px;padding-top:8px}.footer-links>span{grid-column:1/-1;font-size:10px;color:#8a9084;text-align:right}.footer-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:21px 0;margin-top:22px;font-size:9px;color:var(--muted)}.footer-bottom>span:last-child{display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:1px}.footer-bottom i{font:25px Arial,sans-serif;color:var(--ink)}dialog{color:var(--ink);border:0;background:var(--paper);padding:0;border-radius:15px;box-shadow:0 20px 100px #101d1644}dialog::backdrop{background:#13231db0;backdrop-filter:blur(6px)}.recipe-dialog{width:min(940px,calc(100% - 36px));max-height:90dvh;overflow:auto}.close-dialog{position:absolute;top:16px;right:16px;z-index:5;background:var(--paper);width:37px;height:37px;display:grid;place-items:center;border-radius:50%;font:25px var(--body);border:1px solid #b8c0ae66;line-height:1}.detail-layout{display:grid;grid-template-columns:.8fr 1.2fr;min-height:560px}.detail-visual{background:var(--card-bg);padding:70px 20px 35px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.detail-visual>svg{width:100%;max-width:340px;height:auto}.detail-visual .eyebrow{position:absolute;top:35px;left:30px;font-size:9px}.detail-visual>p{font:italic 25px Georgia,serif;text-align:center;margin:0}.detail-content{padding:45px 35px 35px}.detail-content h2{font:600 42px/1.03 var(--display);letter-spacing:-1.7px;margin:8px 25px 14px 0}.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px}.detail-tags span{font-size:9px;border:1px solid var(--line);border-radius:30px;padding:5px 9px}.detail-actions{display:flex;gap:16px;align-items:center;margin-bottom:24px}.detail-save{display:flex;gap:8px;background:none;padding:0;font-size:11px;align-items:center}.detail-save[aria-pressed=true] svg{fill:var(--ink)}.detail-share{background:none;font-size:11px;padding:0}.servings-bar{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}.servings-bar h3,.steps-title{font:600 21px var(--display);margin:0}.servings-control{display:flex;align-items:center;gap:10px;font-size:10px;background:#e9ecdf;border-radius:5px;padding:3px}.servings-control button{background:var(--paper);border-radius:3px;min-width:28px;min-height:28px;font-size:19px;line-height:1}.ingredient-list{list-style:none;padding:0;margin:0}.ingredient-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;gap:12px}.ingredient-list strong{font-weight:500;white-space:nowrap}.parts-note{font-size:10px;color:var(--muted);line-height:1.6}.steps-title{margin-top:23px}.steps-list{padding:0;list-style:none;counter-reset:steps;margin:12px 0 0}.steps-list li{position:relative;padding:0 0 12px 28px;font-size:12px;line-height:1.75}.steps-list li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:1px;width:19px;height:19px;background:var(--lime);border-radius:50%;font-size:10px;display:grid;place-items:center}.glass-note{font-size:10px;color:var(--muted);margin-top:20px}.pantry-dialog{padding:38px;width:min(600px,calc(100% - 30px));max-height:90dvh}.pantry-dialog .eyebrow{font-size:9px;margin-bottom:15px}.pantry-dialog h2{font:600 42px/1.05 var(--display);letter-spacing:-1.6px;margin:0 0 15px}.pantry-intro{font-size:12px;line-height:1.7;color:var(--muted);max-width:440px}.pantry-search input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:6px;background:white;font-size:12px;margin:10px 0 18px}.ingredient-choices{display:flex;flex-wrap:wrap;gap:7px;max-height:250px;overflow:auto;padding:5px 4px 10px}.ingredient-choice{position:relative;display:flex}.ingredient-choice input{position:absolute;opacity:0}.ingredient-choice span{border:1px solid #ced3c2;border-radius:5px;display:block;padding:9px 12px;font-size:11px;cursor:pointer}.ingredient-choice input:checked+span{background:var(--lime);border-color:#65782e}.ingredient-choice input:focus-visible+span{outline:3px solid #6154af;outline-offset:2px}.pantry-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:14px}.pantry-bottom>span{font-size:10px}.pantry-bottom .button{font-size:11px;min-height:40px;padding:10px 15px}.empty-state{grid-column:1/-1;text-align:center;padding:60px 20px;background:#eceee3;border:1px dashed #c6ceba;border-radius:9px}.empty-state .empty-spark{font:55px Arial;color:#899b62}.empty-state h3{font:600 28px var(--display);letter-spacing:-.8px;margin:14px 0 9px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.8;max-width:400px;margin:0 auto 20px}.loading-card{aspect-ratio:.85;background:#e6e9de;border-radius:9px;animation:pulse 1s ease-in-out infinite alternate}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;border:1px solid #d6f76344;padding:14px 22px;border-radius:7px;box-shadow:0 7px 25px #14291e33;font-size:12px;z-index:10;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:var(--lime);padding:15px}.skip-link:focus{top:15px}@keyframes pulse{to{opacity:.4}}@media(min-width:1600px){.hero h1{font-size:104px}.hero{padding-top:74px;padding-bottom:92px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:20px}.hero{gap:35px;padding-top:45px}.hero h1{font-size:73px;letter-spacing:-4px}.round-sticker{width:92px;height:92px;right:-13px;top:-20px}.round-sticker span{font-size:7px}.round-sticker b{font-size:46px}.hero-footnote{margin-top:24px}.hero-photo{aspect-ratio:1/1.17}.recipe-grid{gap:28px 16px}.card-title{font-size:20px}.bar-banner{padding:40px;gap:30px}.banner-doodle{display:none}.banner-copy h2{font-size:31px}.card-topline{font-size:7px}.photo-caption span:last-child{font-size:23px}}@media(max-width:850px){.wrap{width:calc(100% - 40px)}.site-header{height:83px}.desktop-nav{display:none}.hero{gap:24px;align-items:start;padding-top:40px;padding-bottom:63px}.hero h1{font-size:59px;letter-spacing:-3.1px}.hero .eyebrow{font-size:7px;letter-spacing:1.4px}.hero-description{font-size:12px}.hero-actions{gap:18px}.hero-actions .button{font-size:11px;gap:15px;padding:12px 16px;min-height:44px}.hero-photo{aspect-ratio:1/1.28}.hero-footnote{display:none}.photo-label{font-size:7px;left:16px;right:16px;top:15px}.photo-caption{left:16px;bottom:17px}.photo-caption span:first-child{font-size:6px}.round-sticker{width:78px;height:78px;right:-8px;top:-17px}.round-sticker span{font-size:6px}.round-sticker b{font-size:38px}.scribble{font-size:13px;left:15px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-note{font-size:10px}.category{padding:9px 12px;font-size:10px}.pantry-button{min-width:195px;font-size:10px;gap:8px}.bar-banner{grid-template-columns:.9fr 1.1fr;padding:35px 30px}.banner-copy h2{font-size:26px}.banner-art{transform:scale(.8);transform-origin:center;min-width:240px}.footer-links{gap:15px;font-size:10px}.detail-content{padding:42px 25px 25px}.detail-content h2{font-size:34px}.detail-visual{padding-inline:5px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{height:76px;gap:10px}.wordmark{font-size:25px}.brand-flower{font-size:36px}.brand-dot{font-size:8px}.saved-nav>span{display:none}.saved-nav{gap:6px;padding:12px 3px}.saved-nav svg{width:19px}.saved-nav b{font-size:10px;min-width:20px;height:20px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:55px;gap:31px}.hero .eyebrow{font-size:8px;margin-bottom:20px;letter-spacing:1.7px}.hero h1{font-size:clamp(62px,14vw,84px);letter-spacing:-3.7px;line-height:.97;margin-bottom:28px}.hero h1 br:nth-child(2){display:none}.hero h1 .magic{margin-left:5px}.hero-description{font-size:12px;line-height:1.8;margin-bottom:22px}.hero-actions{gap:25px}.hero-actions .button{min-height:46px;padding:13px 21px;font-size:12px;gap:25px}.hero-visual{margin:0 6px 0 0}.hero-photo{aspect-ratio:1.15;border-radius:10px}.hero-photo>img{object-position:50% 58%}.round-sticker{width:83px;height:83px;top:-20px;right:-10px}.round-sticker span{font-size:6px}.round-sticker b{font-size:40px}.photo-label{top:16px;left:18px;right:18px;font-size:7px}.photo-caption span:first-child{font-size:7px}.photo-caption span:last-child{font-size:23px}.scribble{left:auto;right:5px;bottom:-30px;font-size:12px}.scribble svg{width:55px;height:25px}.ticker>div{height:41px;gap:25px;justify-content:flex-start;padding-left:20px}.ticker span{font-size:9px;letter-spacing:1.6px}.ticker i{font-size:22px}.catalog{padding-top:43px;padding-bottom:40px}.section-top{margin-bottom:23px;align-items:start}.section-top .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:13px}.section-top h2{font-size:33px;letter-spacing:-1.4px}.section-note{display:none}.search-toolbar{display:block;margin-bottom:16px}.searchbox{height:51px;padding:0 13px;gap:9px}.searchbox input{font-size:11px}.searchbox kbd{display:none}.pantry-button{width:100%;height:42px;min-width:0;margin-top:9px;font-size:11px}.pantry-button svg{width:17px;height:17px}.filter-toolbar{display:block;padding-bottom:13px}.categories{flex-wrap:nowrap;overflow:auto;margin-right:-18px;padding:1px 18px 8px 0;gap:6px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category{padding:9px 13px;font-size:10px}.taste-select{display:block;text-align:right;margin-top:2px}.taste-select select{font-size:10px;min-height:30px}.results-meta{font-size:9px;margin:15px 0}.results-meta select{font-size:9px;max-width:108px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.card-badge{top:9px;left:9px;font-size:6px;padding:5px 6px;letter-spacing:.7px}.card-favorite{top:7px;right:7px;width:29px;height:29px}.card-favorite svg{width:13px;height:13px}.card-art-label{font-size:12px;bottom:11px;left:10px}.card-image-button{aspect-ratio:.94}.card-image-button>svg{width:110%;max-width:none;position:absolute;left:-5%;bottom:0}.card-body{padding-top:12px}.card-title{font-size:21px;line-height:1.06;letter-spacing:-.6px}.card-topline{font-size:6px;letter-spacing:.5px;gap:5px;margin-bottom:7px}.card-topline span:last-child{font-size:7px}.card-ingredients{font-size:9px}.card-bottom{padding-bottom:10px}.card-arrow{font-size:17px}.load-more-wrap{margin-top:28px}.outline{font-size:10px}.bar-banner{grid-template-columns:1fr;gap:10px;padding:30px 26px 33px;text-align:left}.banner-art{height:125px;width:235px;transform:scale(.65);transform-origin:top center;margin-bottom:-22px;justify-self:center}.banner-star{top:-25px}.banner-copy{position:relative}.banner-copy h2{font-size:28px}.banner-copy .eyebrow{font-size:7px;letter-spacing:1.6px}.banner-copy>p:not(.eyebrow){font-size:11px}.footer{padding-top:39px;gap:25px}.footer .wordmark{font-size:25px}.footer p{font-size:10px}.footer-links{display:flex;flex-wrap:wrap;gap:17px 23px;font-size:10px}.footer-links>span{text-align:left;width:100%;font-size:9px}.footer-bottom{font-size:8px;gap:12px;margin-top:0;padding-top:17px}.footer-bottom>span:last-child{font-size:6px;letter-spacing:.7px;gap:8px}.footer-bottom i{font-size:19px}.detail-layout{display:block}.detail-visual{padding:25px 15px 20px;height:240px}.detail-visual>svg{height:195px;width:245px}.detail-visual .eyebrow{top:23px;left:23px;font-size:8px}.detail-visual>p{position:absolute;bottom:19px;left:22px;font-size:18px;transform:rotate(-7deg)}.detail-content{padding:25px}.detail-content h2{font-size:37px;margin-top:0}.recipe-dialog{max-height:94dvh;width:calc(100% - 24px)}.detail-tags{margin-bottom:19px}.detail-actions{margin-bottom:22px}.pantry-dialog{padding:29px 22px}.pantry-dialog h2{font-size:36px}.pantry-dialog .eyebrow{font-size:7px;letter-spacing:1px;max-width:80%}.pantry-intro{font-size:11px}.ingredient-choices{max-height:210px}.pantry-bottom>span{font-size:9px}.pantry-bottom .text-button{font-size:10px}.pantry-bottom .button{width:100%;margin-top:4px}.empty-state{padding:40px 20px}.empty-state h3{font-size:26px}.empty-state p{font-size:11px}.wide-only{display:none}.filter-pill{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Language names stay in their own language and fit touch screens. */
/* One shared card and recipe detail for the catalogue, bar and generators. */
.recipe-card{display:flex;flex-direction:column}.card-image-button{flex-shrink:0}.card-body{display:flex;flex-direction:column;flex:1}.card-title{align-self:flex-start}.card-bottom{margin-top:auto}
.card-description{font-size:12px;line-height:1.65;color:#626c61;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.recipe-timing{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11px;line-height:1.5;margin:0 0 12px;font-weight:600}.time-icon{width:15px;height:15px;flex-shrink:0}.time-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.prep-time{white-space:nowrap}.wait-time{font-size:10px;font-weight:400;color:#636e59}
.detail-content .recipe-description{font-size:14px;line-height:1.85;color:#5c675b;margin:0 0 23px}
.recipe-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;background:#e9eddf;border:1px solid #dce2ce;border-radius:9px;padding:17px 16px;margin:0 0 9px}.recipe-facts:has(.fact-wait){grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-facts dt{font-size:10px;color:#68735d;margin-bottom:5px}.recipe-facts dd{font:600 19px/1.3 var(--display);letter-spacing:-.4px;margin:0;overflow-wrap:anywhere}.fact-wait dd{font-size:17px}
.preparation-note{font-size:10px;line-height:1.6;color:#72776e;margin:0 0 18px}.detail-tags{margin-top:17px}
.detail-visual.has-photo>.eyebrow{bottom:auto;font:700 9px/1.4 var(--body);letter-spacing:1.5px}
#generatorResult .card-description{display:none}
.card-variants{align-self:flex-start;background:#e9eddf;border:1px solid #d5ddc8;border-radius:5px;font-size:11px;font-weight:600;min-height:36px;padding:7px 10px;margin:0 0 11px}.card-variants:hover{background:var(--lime)}
.variant-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center;border:1px solid #d4ddc6;border-radius:9px;background:#edf1e4;padding:12px;margin:0 0 21px}
.variant-arrow{display:grid;place-items:center;min-height:44px;width:44px;background:var(--paper);border:1px solid #c9d3bc;border-radius:50%;font-size:23px;line-height:1}.variant-arrow:hover{background:var(--lime);border-color:#98ac72}.variant-copy{display:flex;flex-direction:column;gap:4px;text-align:center;min-width:0;overflow-wrap:anywhere}.variant-family{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#69765d}.variant-label{font:600 17px/1.35 var(--display)}.variant-counter{font-size:10px;color:#65725b}
@media(max-width:600px){.variant-navigation{gap:7px;padding:10px}.variant-label{font-size:15px}.card-variants{font-size:10px}}
@media(max-width:600px){.card-description{font-size:11px;line-height:1.6;margin-bottom:10px}.recipe-timing{font-size:10px;margin-bottom:10px}.wait-time{font-size:9px}.detail-content .recipe-description{font-size:13px;line-height:1.8}.recipe-facts{gap:14px 8px;padding:14px 12px}.recipe-facts dd{font-size:18px}.fact-wait dd{font-size:16px}}
.language-picker{display:flex;align-items:center;gap:5px;font-size:15px;white-space:nowrap}
.language-picker select{font:inherit;border:1px solid #c9cbbf;border-radius:30px;background:transparent;color:inherit;padding:9px 7px;max-width:120px;cursor:pointer}
.site-header{gap:14px}.desktop-nav{gap:20px}
@media(max-width:1100px){.desktop-nav{gap:12px}.saved-nav>span{display:none}}
@media(max-width:600px){.site-header{gap:8px}.language-picker{font-size:12px}.language-picker>span{display:none}.language-picker select{max-width:91px;padding:8px 4px}.saved-nav{padding:9px!important}.wordmark{font-size:24px}.pantry-result-tabs{flex-wrap:wrap}}
@media(max-width:600px){.site-header .brand-flower{font-size:32px}.site-header .wordmark{font-size:22px}.site-header .saved-nav{padding:5px!important;gap:3px;flex-shrink:0}.site-header .saved-nav b{width:14px;height:14px;min-width:14px;font-size:10px}.site-header .saved-nav svg{width:17px}}

/* Static material and light treatments; no extra assets or layout changes. */
:root{
  --surface-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch' seed='8'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.065' filter='url(%23grain)'/%3E%3C/svg%3E");
  --surface-lift:inset 0 1px 0 #ffffffa3,0 18px 40px -22px #243c2966;
  --page-inset:max(56px,calc((100vw - 1320px)/2));
}
body{
  background-color:#f4efdf;
  background-image:var(--surface-grain),linear-gradient(115deg,#eee7d6 0%,#faf7ee 44%,#e8e9d7 100%);
  background-size:180px 180px,100% 100%;
}
.site-header{border-bottom-color:#c4c4af}
.hero,.catalog{position:relative;isolation:isolate}
.hero::before,.catalog::before{
  content:'';position:absolute;z-index:-1;inset:0 calc(-1 * var(--page-inset));pointer-events:none;
}
.hero::before{
  background-color:#f2dfbd;
  background-image:var(--surface-grain),
    linear-gradient(126deg,transparent 0 48%,#796e4c13 48.2% 52%,transparent 52.2% 60%,#796e4c13 60.2% 64%,transparent 64.2% 72%,#796e4c13 72.2% 76%,transparent 76.2%),
    radial-gradient(ellipse at 3% 12%,#fffbef 4%,#fff9e9bd 30%,transparent 70%),
    linear-gradient(115deg,#f5e6c7,#efcba5 63%,#d7dfa9);
  background-size:180px 180px,100% 100%,100% 100%,100% 100%;
  box-shadow:inset 0 -1px 0 #97764226;
}
.hero-photo{box-shadow:0 26px 45px -22px #413a32a1,0 2px 0 #ffffff9c}
.hero-footnote .mini-glasses{filter:drop-shadow(0 3px 2px #5541291a)}
.ticker{
  background-color:#d6f763;
  background-image:var(--surface-grain),linear-gradient(90deg,#bad64f50,transparent 45%,#f2ffb177);
  background-size:180px 180px,100% 100%;
  box-shadow:0 8px 18px -12px #30402577;
}
.catalog::before{
  background-color:#f7f5ed;
  background-image:var(--surface-grain),radial-gradient(ellipse at 0 0,#dbe4d5 0,transparent 48%);
  background-size:180px 180px,100% 850px;background-repeat:repeat,no-repeat;
}
.card-image-button{box-shadow:0 10px 18px -14px #293b2c99,inset 0 0 0 1px #27372b14}
.generator-shortcut{
  background-color:#e1d6ed;
  background-image:var(--surface-grain),linear-gradient(115deg,#f2eaf7,transparent 65%),repeating-linear-gradient(120deg,transparent 0 25px,#7963970a 25px 27px);
  background-size:180px 180px,100% 100%,100% 100%;
  box-shadow:inset 0 1px 0 #ffffffa3,0 10px 25px -20px #513d6777;
}
.bar-banner,.pantry-workspace .pantry-hero{
  background-color:#1e3d35;
  background-image:var(--surface-grain),
    radial-gradient(ellipse at 85% 0,#b9be6580,transparent 53%),
    repeating-linear-gradient(90deg,#ffffff03 0 2px,#0a1d1a16 3px 5px,transparent 6px 16px),
    linear-gradient(115deg,#142f2b,#2f5140 70%,#44503b);
  background-size:180px 180px,100% 100%,100% 100%,100% 100%;
  box-shadow:inset 0 1px 0 #eff5c54d,0 25px 40px -22px #163b2b80;
}
.generator-workspace .generator-controls,.pantry-workspace .stock-discovery{
  background-color:#e3e9d3;
  background-image:var(--surface-grain),linear-gradient(140deg,#f5f8e9,#d5dfbd);
  background-size:180px 180px,100% 100%;
  box-shadow:var(--surface-lift),inset 0 0 0 1px #b5c79c66;
}
.generator-workspace .generator-result{
  background-color:#f8eedc;
  background-image:var(--surface-grain),linear-gradient(125deg,#fffaf0,#eedcbf);
  background-size:180px 180px,100% 100%;
  border-color:#d3c5aa;
  box-shadow:var(--surface-lift);
}
.generator-workspace .generator-result:not(.has-result){
  color:#faf5e6;
  background-color:#193c34;
  background-image:var(--surface-grain),
    radial-gradient(circle at 100% 100%,transparent 0 160px,#cfdaaa21 161px 163px,transparent 164px 205px,#cfdaaa18 206px 208px,transparent 209px),
    radial-gradient(ellipse at 92% 0,#a8b97370,transparent 60%),
    repeating-linear-gradient(90deg,#ffffff03 0 2px,#091d171c 3px 5px,transparent 6px 16px),
    linear-gradient(120deg,#142e2a,#315442);
  background-size:180px 180px,100% 100%,100% 100%,100% 100%,100% 100%;
  border-color:#304c3b;
  box-shadow:inset 0 1px 0 #ebf0c133,0 22px 40px -24px #142e2a99;
}
.generator-workspace .generator-waiting p{color:#d1ddc7}
.generator-workspace .generator-dice{color:var(--ink);box-shadow:9px 9px 0 #0b211c,0 20px 38px #071c1b4d}
.pantry-workspace .stock-panel,.pantry-workspace .shopping-panel,.pantry-workspace .pantry-suggestion{
  background-image:var(--surface-grain),linear-gradient(135deg,#ffffff70,transparent 75%);
  background-size:180px 180px,100% 100%;
  box-shadow:var(--surface-lift);
}
.pantry-workspace .stock-panel{background-color:#f7f0dc;border-color:#ded2b6}
.pantry-workspace .shopping-panel{background-color:#e5daef;border-color:#d5c6df}
.pantry-workspace .pantry-suggestion{background-color:#deebbd;border-color:#c6d59f}
.recipe-dialog,.pantry-dialog,#bottleDialog{
  background-image:var(--surface-grain),linear-gradient(125deg,#fffef980,#fffef900 70%);
  background-size:180px 180px,100% 100%;
  box-shadow:0 30px 100px #10282066,0 2px 12px #10282033;
}
@media(max-width:1100px){:root{--page-inset:32px}}
@media(max-width:850px){:root{--page-inset:20px}}
@media(max-width:600px){
  :root{--page-inset:18px}
  .hero::before{background-size:180px 180px,160% 100%,100% 100%,100% 100%}
}
/* Photographic environment is decorative; recipe and bottle photos stay separate. */
.bar-banner,.pantry-workspace .pantry-hero,
.generator-workspace .generator-result:not(.has-result){
  background-image:linear-gradient(90deg,#102d25c9,#16362b70 60%,#142d2438),url("atmosphere/bar-light-20261022.jpg");
  background-size:cover;background-position:center;
}
.bar-banner{background-position:center 62%}
.generator-workspace .generator-result:not(.has-result){background-position:center 55%}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .hero-photo,.card-image-button,.button{transition:box-shadow .28s ease,transform .28s ease}
  .hero-photo:hover{transform:translateY(-4px);box-shadow:0 34px 55px -22px #413a32a1,0 2px 0 #ffffff9c}
  .card-image-button:hover{transform:translateY(-3px);box-shadow:0 18px 25px -13px #293b2c66}
  .button:hover{transform:translateY(-2px);box-shadow:0 8px 16px -8px #213c3277}
}
@media(prefers-reduced-motion:no-preference){
  .button:active{transform:translateY(1px)}
}
@media(forced-colors:active){
  .hero::before,.catalog::before{display:none}
  body,.ticker,.hero-photo,.card-image-button,.generator-shortcut,
  .bar-banner,.pantry-workspace .pantry-hero,
  .generator-workspace .generator-controls,.generator-workspace .generator-result,
  .generator-workspace .generator-result:not(.has-result),
  .pantry-workspace .stock-discovery,.pantry-workspace .stock-panel,
  .pantry-workspace .shopping-panel,.pantry-workspace .pantry-suggestion,
  .recipe-dialog,.pantry-dialog,#bottleDialog{background-image:none;box-shadow:none}
  .generator-workspace .generator-result:not(.has-result),.generator-workspace .generator-waiting p{color:CanvasText}
}

/* Touch inputs need at least 16px to avoid iOS focus zoom. Keep pinch zoom available.
   The selector also covers controls in the later pantry/generator stylesheets. */
@media(max-width:850px),(pointer:coarse){
 body :is(input:not([type="checkbox"],[type="radio"],[type="range"]),select,textarea){font-size:16px}
 /* WebKit can otherwise include a long native option in the page's scroll width. */
 body select{overflow:hidden}
 body .generator-controls>label{min-width:0;grid-template-columns:minmax(0,1fr)}
 body .generator-controls select{min-width:0;max-width:100%}
}
@media(max-width:600px){
 .site-header{gap:4px}
 .site-header .wordmark{gap:5px}
 .language-picker select{max-width:120px}
 .results-meta{flex-wrap:wrap;gap:8px}
 .results-meta select{max-width:100%;min-height:40px}
 body .pantry-result-search{flex-direction:column}
 body .pantry-result-search label:last-child{max-width:none}
 body .generator-controls{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){
 .site-header .wordmark{font-size:20px}
 .site-header .brand-flower{font-size:28px}
}

/* Discovery and recipe reading: one clear next step on every screen. */
.hero-search{display:flex;align-items:center;max-width:470px;margin:0 0 20px;padding:5px;background:#fffdf6;border:1px solid #bdc5b3;border-radius:10px;box-shadow:0 8px 22px #253b2010}
.hero-search input{min-width:0;flex:1;border:0;background:transparent;padding:12px;font:inherit;font-size:14px;color:var(--ink);outline-offset:-2px}
.hero-search button{flex:none;width:46px;height:46px;border-radius:7px;background:var(--ink);color:var(--lime);font-size:26px}
.hero{padding-top:36px;padding-bottom:50px}
.hero h1{font-size:clamp(60px,5.6vw,86px)}
.hero-photo{aspect-ratio:1.08}
.card-topline{font-size:10px;letter-spacing:.5px;line-height:1.5;flex-wrap:wrap}
.card-topline span:last-child{font-size:10px;color:#5d6957}
.card-ingredients{font-size:12px;line-height:1.6;white-space:normal;overflow:visible}
.card-body{padding:16px 2px 0;gap:4px}
.card-title{line-height:1.15}
.card-badge{font-size:10px}
.card-favorite{width:40px;height:40px}
.recipe-timing{font-size:12px}
.card-variants{font-size:12px}
.recipe-dialog{width:min(1040px,calc(100% - 32px))}
.recipe-dialog .detail-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:0;align-items:start}
.detail-summary{padding:34px 38px 24px;min-width:0}
.detail-summary h2{font:600 clamp(32px,3.4vw,45px)/1.08 var(--display);letter-spacing:-1.4px;margin:0 28px 14px 0;overflow-wrap:anywhere}
.detail-summary .recipe-description{font-size:14px;line-height:1.75;color:#53614f;margin:0 0 18px}
.detail-summary .recipe-facts{margin-block:15px 8px}
.detail-summary .preparation-note{font-size:10px;line-height:1.5;margin-bottom:14px}
.detail-summary .detail-tags{margin:10px 0 16px}
.detail-summary .detail-actions{flex-wrap:wrap;gap:12px 18px;margin-bottom:0}
.detail-summary .detail-actions button{min-height:36px;font-size:12px}
.detail-jumps{display:flex;gap:8px;margin:14px 0 18px}
.detail-jumps button{background:#e8eddd;border:1px solid #cbd5bd;padding:9px 13px;border-radius:6px;font-size:12px;font-weight:600;min-height:40px}
.detail-jumps button:hover{background:var(--lime)}
.recipe-dialog .detail-content{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;padding:28px 38px 38px;border-top:1px solid var(--line)}
.detail-ingredients-panel,.detail-method{min-width:0}
.detail-content .servings-bar{margin-top:0;gap:12px;flex-wrap:wrap}
.detail-content .steps-title{margin-top:0}
.detail-content h3{scroll-margin-top:24px}
.detail-content .ingredient-list li{padding-block:10px}
.detail-content .steps-list{font-size:14px;line-height:1.8}
.detail-content .steps-list li{margin-bottom:18px}
@media(max-width:850px){
 .detail-summary{padding:28px 24px 24px}
 .recipe-dialog .detail-content{gap:26px;padding:26px}
 .hero h1{font-size:59px}
 .hero-search input{font-size:12px;padding:10px 6px}
}
@media(max-width:600px){
 .hero{padding-top:25px;padding-bottom:30px;gap:22px}
 .hero h1{font-size:clamp(45px,12vw,66px);letter-spacing:-2.5px;margin-bottom:17px;line-height:1.02}
 .hero .eyebrow{margin-bottom:14px;font-size:8px}
 .hero-description{font-size:12px;line-height:1.65;margin-bottom:16px;max-width:340px}
 .hero-search{margin-bottom:12px;max-width:none}
 .hero-search input{font-size:13px;padding:11px 9px}
 .hero-actions .button{min-height:42px;font-size:11px;padding:10px 15px}
 .hero-actions{gap:22px}
 .hero-visual{margin:0}
 .hero-photo{height:180px;aspect-ratio:auto}
 .hero-photo>img{object-position:center 54%}
 .hero-visual .round-sticker{width:70px;height:70px;right:9px;bottom:-10px;font-size:6px}
 .hero-visual .round-sticker b{font-size:23px}
 .hero-visual .scribble,.hero-visual .photo-caption{display:none}
 .hero-visual .photo-label{font-size:8px}
 .ticker{margin-top:0}
 .catalog{padding-top:32px}
 .catalog .section-top{margin-bottom:15px}
 .catalog .section-top h2{font-size:34px}
 .catalog .section-note{display:none}
 .recipe-grid .card-topline{font-size:9px;letter-spacing:0;margin-bottom:3px}
 .recipe-grid .card-topline span:last-child{font-size:9px}
 .recipe-grid .card-title{font-size:21px;line-height:1.15}
 .recipe-grid .card-ingredients{font-size:11px;line-height:1.5}
 .recipe-grid .card-badge{font-size:8px}
 .recipe-grid .card-favorite{width:36px;height:36px}
 .recipe-grid .card-variants{font-size:11px}
 .recipe-dialog{width:calc(100% - 20px)}
 .recipe-dialog .detail-layout{display:block}
 .detail-summary{padding:20px}
 .detail-summary h2{font-size:34px;margin-bottom:10px}
 .detail-summary .recipe-description{font-size:13px;line-height:1.65;margin-bottom:12px}
 .detail-summary .variant-navigation{margin-bottom:12px}
 .detail-summary .preparation-note{margin:8px 0}
 .recipe-dialog .detail-content{display:block;padding:24px 20px}
 .detail-method{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
 .detail-jumps{margin:10px 0 16px}
}

/* Editorial status describes the review without hiding recipes. */
.quality-notice{padding:14px 18px;border:1px solid #a07736;border-radius:12px;background:#fff2d8;color:#533a19;font-size:14px;line-height:1.55}.quality-notice[hidden]{display:none}.quality-explanation{font-size:13px;line-height:1.6;color:#52604c;max-width:75ch}.quality-badge{font-size:12px;font-weight:700;color:#6a491c;background:#fff2d8;padding:5px 9px;border-radius:6px;align-self:flex-start}.detail-report{font-size:13px;text-decoration:underline;padding:10px 0}.detail-actions{flex-wrap:wrap}.mobile-section-nav{overflow-x:auto}.mobile-section-nav a{flex-shrink:0}

/* Full collection, with an explicit editorial filter. */
.collection-choice{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:18px 0 8px}
.collection-choice label{position:relative;cursor:pointer}
.collection-choice input{position:absolute;left:12px;top:50%;transform:translateY(-50%);margin:0;width:16px;height:16px;accent-color:#536c30;z-index:1}
.collection-choice span{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px 10px 36px;border:1px solid #c4cdb8;border-radius:8px;font-size:13px}
.collection-choice b{font-weight:500;font-size:12px}
.collection-choice input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.collection-choice input:focus-visible+span{outline:3px solid #6154af;outline-offset:3px}
.collection-explanation{font-size:12px;color:#52604c;margin-bottom:16px}
.collection-explanation summary,.quality-details summary,.recipe-story summary{cursor:pointer;padding:10px 0;min-height:44px}
.empty-state .button{margin:8px 5px}
.search-suggestion{display:block;background:var(--lime);border-radius:6px;padding:12px 16px;margin:12px auto;font-weight:600}

/* The dialog itself scrolls; its close action stays in the visible header. */
.recipe-dialog-header{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;background:var(--paper);border-bottom:1px solid var(--line);min-height:60px}
.recipe-dialog-header span{font-weight:600;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.recipe-dialog-header .close-dialog{position:static;flex:none;width:44px;height:44px}
.recipe-dialog .detail-content h3{scroll-margin-top:80px}
.detail-summary .recipe-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.quality-details{font-size:13px;color:#614514}
.quality-details summary{font-weight:600}
.quality-details .quality-notice{margin:0 0 12px}
.recipe-story{grid-column:1/-1;border-top:1px solid var(--line);font-size:14px;line-height:1.75;color:#53614f}
.recipe-story summary{font-weight:600}
.recipe-story .preparation-note{font-size:12px}
.servings-control button{min-width:40px;min-height:40px}
@media(max-width:600px){
 .recipe-dialog{max-height:96dvh}
 .recipe-dialog .detail-visual{height:144px;min-height:0;padding:0;overflow:hidden}
 .recipe-dialog .detail-layout .detail-visual.has-photo>img{height:144px;max-height:144px;width:100%;object-fit:contain}
 .recipe-dialog .detail-visual>.eyebrow,.recipe-dialog .detail-visual>p{display:none}
 .recipe-dialog .detail-visual>svg{height:144px;width:190px}
 .detail-summary{padding:16px 20px 14px}
 .detail-summary h2{font-size:29px;margin:0 0 10px}
 .detail-summary .recipe-facts{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px;gap:10px;margin:10px 0 4px}
 .detail-summary .fact-ingredients{display:none}
 .detail-summary .recipe-facts dd{font-size:16px}
 .detail-summary .detail-tags{margin:6px 0}
 .detail-summary .variant-navigation{padding:6px;margin-bottom:8px}
 .detail-jumps{margin:8px 0}
 .detail-summary .detail-actions{gap:4px 14px}
 .detail-actions .detail-report{font-size:12px;padding:4px 0}
 .recipe-dialog .detail-content{padding:18px 20px}
 .recipe-story{margin-top:24px;padding-top:8px}
}
