:root{--color-bg: #efede6;--color-surface: #e7e4da;--color-text: #241f31;--color-muted: #5a5a54;--color-accent: #c1272d;--color-line: #5e5c64;--font-heading: "Fraunces", Georgia, serif;--font-body: "Karla", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--radius: 0px;--gap: 16px;--font-scale: 1.1}*,*:before,*:after{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale));scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.5}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem}main.wrap{display:block;padding-top:2.5rem;padding-bottom:3rem}.masthead__top{display:flex;justify-content:space-between;align-items:baseline;padding:1.5rem 0 0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:var(--color-muted)}.masthead__top a{text-decoration:none;color:var(--color-muted)}.masthead h1{text-align:center;font-family:var(--font-heading);font-size:clamp(2.4rem,6vw,3.6rem);letter-spacing:.04em;text-transform:uppercase;margin:.5rem 0}.masthead h1 a{text-decoration:none;color:var(--color-text)}.masthead__sub{text-align:center;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-muted);margin:0 0 1.2rem}nav.tags{display:flex;flex-wrap:nowrap;overflow-x:auto;border-top:1px solid var(--color-line);scrollbar-width:thin;scrollbar-color:var(--color-line) transparent}nav.tags a{flex:0 0 auto;white-space:nowrap;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--color-text);padding:.9rem 1.1rem;border-right:1px solid var(--color-line)}nav.tags a.active{background:var(--color-line);color:var(--color-bg)}nav.tags a:hover:not(.active){background:var(--color-surface)}nav.tags a:last-child{border-right:none}.tags-more{border-top:1px solid var(--color-line)}.tags-more summary{cursor:pointer;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);padding:.9rem 0;list-style:none}.tags-more summary::-webkit-details-marker{display:none}.tags-more summary::marker{content:""}.tags-more summary:before{content:"+ ";color:var(--color-accent)}.tags-more[open] summary:before{content:"– "}.tags-more nav.tags{border-top:1px dashed var(--color-line)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid{grid-template-columns:1fr}}.card{border:1px solid var(--color-line);padding:1.6rem 1.4rem;display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--radius);transition:background-color .15s ease}.card:hover{background:var(--color-surface)}.card__no{font-family:var(--font-mono);font-size:.7rem;color:var(--color-accent);margin-bottom:.6rem}.card__photo{height:130px;border:1px solid var(--color-line);display:flex;align-items:center;justify-content:center;font-size:2.4rem;margin-bottom:1rem;background-size:cover;background-position:center;border-radius:var(--radius)}.card__photo.placeholder{background-image:repeating-linear-gradient(45deg,var(--color-line) 0,var(--color-line) 1px,transparent 1px,transparent 9px);opacity:.75}.card__tags{display:flex;flex-wrap:wrap;align-content:flex-start;min-height:2.9rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.03em;margin-bottom:.7rem}.card__tags span{border:1px solid var(--color-line);padding:.1rem .4rem;margin:0 .3rem .3rem 0;display:inline-block;border-radius:var(--radius)}.card h2,.card h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;margin:0 0 .5rem}.card p{font-size:.87rem;line-height:1.55;color:var(--color-muted);margin:0 0 1rem;flex:1}.card__meta{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;color:var(--color-text);border-top:1px dotted var(--color-line);padding-top:.6rem;display:flex;justify-content:space-between}.empty{padding:4rem 1.5rem;text-align:center;color:var(--color-muted);font-family:var(--font-mono)}.recipe-header{padding:0 0 2rem}.recipe-header__back{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--color-muted)}.recipe-header__no{font-family:var(--font-mono);font-size:.72rem;color:var(--color-accent);margin:1.2rem 0 .5rem}.recipe-header h1{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,3.2rem);font-weight:400;margin:0 0 .8rem}.recipe-header__desc{font-size:1.05rem;color:var(--color-muted);max-width:60ch;margin:0 0 1.4rem}.recipe-header__tags{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.03em}.recipe-header__tags a{text-decoration:none;color:inherit}.recipe-header__tags span{border:1px solid var(--color-line);padding:.15rem .5rem;margin:0 .4rem .4rem 0;display:inline-block;border-radius:var(--radius)}.recipe-photo{margin-top:2rem;height:320px;border:1px solid var(--color-line);display:flex;align-items:center;justify-content:center;font-size:5rem;background-size:cover;background-position:center;border-radius:var(--radius)}.recipe-photo.placeholder{background-image:repeating-linear-gradient(45deg,var(--color-line) 0,var(--color-line) 1px,transparent 1px,transparent 11px);opacity:.75}.recipe-intro{max-width:100%;padding:2.5rem 0;font-size:1.02rem;line-height:1.7}.recipe-intro p{margin:0 0 1.1rem}.recipe-body{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding-bottom:4rem;border-top:1px solid var(--color-line);padding-top:2.5rem}@media(max-width:720px){.recipe-body{grid-template-columns:1fr;gap:2rem}}.recipe-body h2{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin:0 0 1.2rem}.recipe-body__yield{font-family:var(--font-mono);font-size:.78rem;color:var(--color-muted);margin:-.6rem 0 1.4rem}.ingredients{list-style:none;margin:0;padding:0}.ingredients li{padding:.55rem 0;border-bottom:1px dotted var(--color-line);font-size:.95rem}.directions{list-style:none;margin:0;padding:0;counter-reset:step}.directions li{counter-increment:step;padding:1rem 0 1rem 2.6rem;position:relative;border-bottom:1px solid var(--color-line);font-size:1rem;line-height:1.6}.directions li:last-child{border-bottom:none}.directions li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:1rem;font-family:var(--font-mono);font-size:.8rem;color:var(--color-accent)}.ingredients a,.directions a,.notes a{color:var(--color-accent)}.recipe-notes{border-top:1px dashed var(--color-line);padding:2rem 0 3rem}.notes{list-style:none;margin:0;padding:0;font-size:.92rem;font-style:italic;color:var(--color-muted)}.notes li{padding:.4rem 0}.search-box{display:block;padding:1.6rem 0}.search-box input{width:100%;font-family:var(--font-mono);font-size:1rem;padding:.9rem 1rem;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.search-box input::placeholder{color:var(--color-muted)}footer.site{text-align:center;padding:2.5rem 1.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted)}footer.site a{color:var(--color-muted)}
