:root{--bg:#fffdf8;--surface:#fff;--ink:#2a1f3d;--muted:#6e6486;--accent:#ff4f7b;--accent-strong:#d6285a;--teal-strong:#00776d;--accent-2:#00b8a9;--accent-3:#ffc233;--accent-soft:#ffe9ef;--line:#f0e6dc;--radius:18px;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);margin:0}a{color:inherit;text-decoration:none}.container{width:min(1100px,92%);margin-inline:auto}h1,h2,h3{font-family:var(--serif);letter-spacing:.005em;font-weight:600;line-height:1.1}h2{font-size:2rem}.site-header{border-top:5px solid;border-image:linear-gradient(90deg, var(--accent), var(--accent-3), var(--accent-2)) 1;z-index:10;background:color-mix(in srgb, var(--bg) 85%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar{align-items:center;gap:1.5rem;padding:.8rem 0;display:flex}.brand{font-family:var(--serif);white-space:nowrap;color:var(--accent);font-size:1.7rem;font-weight:700}nav{scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}nav a{color:var(--muted);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.35rem .8rem;font-size:.78rem;font-weight:500}nav a:hover{background:var(--accent-strong);color:#fff}.hero{text-align:center;padding:4rem 0 2rem}.hero:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-3), var(--accent-2));border-radius:4px;width:90px;height:4px;margin:1.5rem auto 0;display:block}.hero.small{padding:2.5rem 0 1rem}.hero h1{margin:0 0 .5rem;font-size:clamp(2.8rem,7vw,5.2rem);font-weight:500}.hero em{color:var(--accent);font-style:italic}.hero p{color:var(--muted);margin:0;font-size:1.15rem}.cat-grid,.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin:1.5rem 0 2.5rem;display:grid}.cat,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.25rem;padding:1.25rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.cat:hover,.card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 10px 30px -12px #00000040}.cat .emoji{font-size:2rem}.cat small,.card small{color:var(--muted)}.card h3{margin:.4rem 0 0;font-size:1.25rem}.card p{color:var(--muted);margin:0}.chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-self:flex-start;padding:.15rem .7rem;font-size:.8rem;font-weight:600;display:inline-block}.recipe{max-width:720px;margin:3rem auto}.recipe h1{margin:.75rem 0 .5rem;font-size:clamp(2rem,5vw,3rem)}.lead{color:var(--muted);font-size:1.2rem}.meta{gap:1.25rem;font-weight:500;display:flex}.ingredients{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1.5rem 0;padding:1rem 1.5rem}.ingredients h2{margin:.25rem 0;font-size:1.3rem}.prose h2{margin-top:2rem}.prose li{margin:.5rem 0}.empty{color:var(--muted)}code{background:var(--accent-soft);border-radius:6px;padding:.1rem .35rem}.site-footer{color:var(--muted);padding:3rem 0;font-size:.9rem}.card{padding:0 0 1.25rem;overflow:hidden}.card>:not(.thumb){margin-inline:1.25rem}.thumb{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;margin-bottom:.75rem}.hero-img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);width:100%;height:auto;margin:1rem 0}.cat{text-align:center;align-items:center}.cat:nth-child(3n+1){background:#fff0f4}.cat:nth-child(3n+2){background:#e3f8f5}.cat:nth-child(3n){background:#fff6dc}.cat strong{font-family:var(--serif);font-size:1.4rem;font-weight:600}.card h3{font-size:1.5rem}.chip{background:var(--accent-strong);color:#fff;letter-spacing:.03em}.recipe h1{font-weight:500}.ingredients{background:#e3f8f5;border-color:#0000}.prose h2{color:var(--accent)}.utensils{border-radius:var(--radius);background:#fff6dc;margin:1.5rem 0;padding:1rem 1.5rem}.utensils h2{margin:.25rem 0;font-size:1.5rem}.utensils ul{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.utensils li{border:1px solid var(--accent-3);background:#fff;border-radius:999px;padding:.15rem .9rem;font-size:.95rem}.sources{border-top:1px solid var(--line);margin-top:3rem;padding-top:1rem}.source{margin:1rem 0}.source iframe{aspect-ratio:16/9;border-radius:var(--radius);border:0;width:100%;display:block}.source iframe.ig{aspect-ratio:auto;border:1px solid var(--line);max-width:420px;height:640px}.source-link{color:var(--accent-strong);margin-top:.5rem;font-weight:500;display:inline-block}.source-link:hover{text-decoration:underline}.ingredients ul+ul{margin-top:1.5rem}.ingredients h3{color:var(--teal-strong);margin:1rem 0 .25rem;font-size:1.2rem}.ing-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.scale{background:#fff;border-radius:999px;gap:.25rem;padding:.2rem;display:inline-flex}.scale button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.2rem .8rem;font-weight:500}.scale button:hover{color:var(--accent-strong)}.scale button[aria-pressed=true]{background:var(--accent-strong);color:#fff}.tags,.tag-cloud{flex-wrap:wrap;gap:.5rem;display:flex}.tag-cloud{margin:1.5rem 0 3rem}.tag{color:var(--teal-strong);background:#e3f8f5;border-radius:999px;padding:.15rem .8rem;font-size:.9rem;font-weight:500}.tag:hover{background:var(--teal-strong);color:#fff}.tag small{opacity:.7}.tags-link{letter-spacing:.04em;text-transform:uppercase;color:var(--teal-strong);white-space:nowrap;margin-left:auto;font-size:.78rem;font-weight:500}.hero.small a{color:var(--accent-strong)}.thumb.placeholder{background:linear-gradient(135deg,#ffe9ef,#e3f8f5 55%,#fff6dc);place-items:center;font-size:3rem;display:grid}.search{position:relative}.search input{border:1px solid var(--line);width:200px;font:inherit;color:var(--ink);background:#fff;border-radius:999px;padding:.4rem .9rem;font-size:.9rem;transition:width .2s,border-color .2s}.search input:focus{border-color:var(--accent);outline:none;width:280px}.results{border:1px solid var(--line);border-radius:var(--radius);z-index:20;background:#fff;width:min(340px,90vw);margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 16px 40px -12px #2a1f3d40}.results[hidden]{display:none}.results a{border-radius:10px;padding:.5rem .7rem;display:block}.results a:hover,.results a.active{background:var(--accent-soft)}.results small{color:var(--muted);display:block}.results .none{color:var(--muted);padding:.6rem .8rem}@media (width<=800px){.bar{flex-wrap:wrap}.search{order:3;width:100%}.search input,.search input:focus{width:100%}.results{width:100%;left:0;right:auto}.tags-link{margin-left:0}}.recipe-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.print-btn{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:.3rem .9rem;font-size:.85rem;font-weight:500}.print-btn:hover{border-color:var(--accent-strong);color:var(--accent-strong)}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px;border-radius:6px}.search input:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px;border-radius:999px}h1,h2,.hero p{text-wrap:balance}.lead,.card p,.prose li{text-wrap:pretty}.scale button{min-width:3rem;min-height:2.5rem}.print-btn{min-height:2.25rem}.tag{align-items:center;min-height:2.25rem;display:inline-flex}.recipe-top,.meta{margin-bottom:.25rem}.meta{font-variant-numeric:tabular-nums;flex-wrap:wrap}.recipe .tags{margin:1rem 0 .5rem}.recipe .tags+.lead{margin-top:.5rem}.card h3{text-wrap:balance}.cat-grid{margin-top:2rem}@media (width<=800px){.site-header{position:static}.hero{padding:2.5rem 0 1.5rem}.recipe{margin:1.5rem auto 3rem}.bar{gap:.6rem 1rem}nav{flex-wrap:wrap;order:4;gap:.3rem;width:100%;overflow:visible}nav a{border:1px solid var(--line);padding:.45rem .75rem}}@media (hover:none){.cat:hover,.card:hover{box-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.cat:hover,.card:hover{transform:none}}@media print{@page{margin:1.5cm}body{color:#000;background:#fff;font-size:11pt;line-height:1.5}.site-header,.site-footer,.print-btn,.scale,.tags,.recipe-top .chip,.source iframe{display:none!important}.container{width:100%}.recipe{max-width:none;margin:0}.recipe h1{margin:0 0 .3rem;font-size:24pt}.lead{color:#333;margin:0 0 .5rem;font-size:12pt}.hero-img{aspect-ratio:auto;object-fit:cover;border-radius:0;max-height:7cm;margin:.5rem 0}.meta{color:#333;margin:.25rem 0 .75rem}.ingredients,.utensils{break-inside:avoid;background:0 0;border:1px solid #999;border-radius:6px;margin:.75rem 0;padding:.5rem 1rem}.ingredients h2,.utensils h2,.ingredients h3{color:#000;margin:.2rem 0;font-size:14pt}.ingredients h3{font-size:12pt}.recipe-body{grid-template-columns:5.8cm 1fr;align-items:start;gap:0 .8cm;display:grid}.recipe-side .ingredients:first-child{margin-top:0}.utensils ul{display:block}.utensils li{background:0 0;border:0;border-radius:0;padding:0;list-style:inside;display:list-item}.prose,.prose>:first-child{margin-top:0}.prose h2{color:#000;break-after:avoid;margin-top:1rem;font-size:14pt}.prose li{break-inside:avoid}.sources{break-inside:avoid;border-top:1px solid #999;margin-top:1rem;padding-top:.5rem}.sources h2{font-size:13pt}.source{margin:.25rem 0}.source-link{color:#000;word-break:break-all;margin:0}.source-link span{display:none}.source-link:after{content:" – " attr(href);color:#555;font-size:9pt;font-weight:400}}
