@font-face{font-family:Book;src:url('./assets/reference/source-serif-4-latin-wght-normal-DMe4EKeb.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{color-scheme:light;--ink:#243a31;--muted:#5c6559;--paper:#fffdf6;--rule:#dfd7c6;--ground:#eae4d7}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--ground);color:var(--ink);font:1.08rem/1.58 Book,Georgia,serif}
a{color:inherit;text-underline-offset:.2em}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8a673b;outline-offset:3px}
button,input,select{font:inherit;color:inherit}
button,select,input[type=search]{background:#fffdf7;border:1px solid #a69f90;border-radius:.4rem;padding:.35rem .7rem}
button,summary{cursor:pointer}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(1rem,calc((100vw - 72rem)/2));background:var(--paper);border-bottom:1px solid var(--rule)}
.brand{text-decoration:none;font-size:1.22rem;font-weight:650;line-height:1.2}
.brand small,.eyebrow{display:block;font:650 .72rem/1.4 system-ui,sans-serif;letter-spacing:.13em}
.brand small{margin-top:.24rem}
.masthead nav{display:flex;flex-wrap:wrap;gap:.24rem;justify-content:flex-end;border:1px solid var(--rule);border-radius:1rem;padding:.2rem;font:600 .85rem/1.3 system-ui,sans-serif}
.masthead nav>*{padding:.44rem .65rem;border-radius:.75rem;white-space:nowrap;text-decoration:none}
.masthead nav [aria-current]{background:var(--ink);color:white}
main{max-width:74rem;margin:auto;padding:1rem 1rem 3rem}
.library{background:var(--paper);border:1px solid var(--rule);border-radius:.5rem;margin-bottom:1rem;padding:.5rem 1rem}
.library summary{font-weight:650}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.7rem;margin-top:1rem}
.filters label,.saved-filter{font:600 .84rem/1.45 system-ui,sans-serif}
.filters input,.filters select{display:block;width:100%;margin-top:.3rem}
.saved-filter{display:block;margin-top:.75rem}
#results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.45rem;padding:0;list-style:none}
#results a{display:block;border:1px solid var(--rule);border-radius:.3rem;padding:.35rem .55rem}
#results a[aria-current]{background:#e8ede3}
#result-count{font-size:.9rem;color:var(--muted);margin-bottom:0}
#more{margin-bottom:.5rem}
article{background:var(--paper);border:1px solid var(--rule);border-radius:.5rem;box-shadow:0 8px 24px #57421f12}
.title-block{padding:clamp(1.25rem,3vw,2.5rem) clamp(1.2rem,4vw,3rem);border-bottom:1px solid var(--rule)}
.eyebrow{text-transform:uppercase;color:#745337;margin:0 0 .8rem}
h1{font-size:clamp(2rem,4.6vw,3.65rem);font-weight:650;line-height:1.05;letter-spacing:-.035em;margin:0;max-width:22ch}
#facts{color:var(--muted);margin:.65rem 0}
.spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.spread section{padding:clamp(1.2rem,4vw,3rem)}
.ingredients{border-right:1px solid var(--rule)}
figure{margin:0 0 1.35rem}
figure img{display:block;width:100%;max-height:33rem;object-fit:contain;background:#f0ebe0;border-radius:.25rem}
h2{font-size:1.68rem;font-weight:650;line-height:1.2;margin:0 0 .8rem}
.ingredients ul,.method ol{margin:0;padding-left:1.4em}
.ingredients li{margin-bottom:.45rem}
.method li{padding-left:.4rem;margin-bottom:1.05rem}
.method li::marker{font-weight:700;color:#745337}
.page-nav{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-top:1px solid var(--rule);padding:1rem;font-size:.92rem}
.page-nav a:not([href]){visibility:hidden}
@media(max-width:670px){.spread{grid-template-columns:1fr}.ingredients{border-right:0;border-bottom:1px solid var(--rule)}.filters{grid-template-columns:1fr}.masthead{gap:.5rem}.masthead nav>*{padding:.42rem .48rem}}
@media print{body{background:white}main{max-width:none;padding:0}.masthead,.library,.page-nav,#bookmark{display:none}article{box-shadow:none;border:0}.spread{grid-template-columns:1fr 1fr}}
