:root{--bg: #fbfaf8;--fg: #1c1a17;--muted: #6f6a62;--line: #e6e2db;--accent: #8a4b2a;--warn: #8a5a12;--warn-bg: #fdf6e6;--never: #b03a2e;--ok: #2f7a4d;--edit-bg: #eaeff5;--edit-line: #a8b8c8}@media(prefers-color-scheme:dark){:root{--bg: #16150f;--fg: #ece7dd;--muted: #9a9287;--line: #2e2b24;--accent: #d8a07a;--warn: #d8b061;--warn-bg: #241f14;--never: #e0796b;--ok: #6cc08a;--edit-bg: #191f28;--edit-line: #3f4b5b}}*{box-sizing:border-box}body{margin:0;padding:1.5rem 1.1rem 4rem;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}main{max-width:38rem;margin:0 auto}a{color:inherit;text-decoration-color:var(--line);text-underline-offset:3px}a:hover{text-decoration-color:var(--accent)}h1{font-size:1.7rem;line-height:1.25;margin:0 0 .4rem}h2{font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:2.4rem 0 .8rem;font-weight:600}h3{font-size:1.05rem;margin:1.2rem 0 .4rem}p.summary{color:var(--muted);margin:0 0 1.2rem}p.back{margin:0 0 1.5rem;font-size:.9rem;color:var(--muted)}p.empty{color:var(--muted)}header.site h1{margin-bottom:1.5rem}nav.categories{display:flex;flex-wrap:wrap;gap:.5rem}nav.categories a{border:1px solid var(--line);border-radius:2rem;padding:.35rem .85rem;text-decoration:none;font-size:.95rem}nav.categories .count{color:var(--muted);font-variant-numeric:tabular-nums}nav.times{margin:.9rem 0 1.4rem}nav.times a{font-size:.9rem}nav.times a[aria-current]{background:var(--fg);border-color:var(--fg);color:var(--bg)}p.empty{margin:1.4rem 0;color:var(--muted)}.cards{display:grid;gap:1.6rem}.card h3{margin:0 0 .2rem;font-size:1.15rem}.card .summary{margin:0 0 .3rem;font-size:.95rem}.card .needs{margin:0 0 .2rem;font-size:.85rem;color:var(--muted);text-transform:lowercase}h2.aside{margin:1.6rem 0 .6rem;font-size:.9rem;font-weight:500;color:var(--muted)}.card .meta,p.step-meta{display:flex;flex-wrap:wrap;gap:0 .9rem;margin:0;font-size:.88rem;color:var(--muted)}dl.facts{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.2rem;margin:1.2rem 0 0;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.95rem}dl.facts dt{color:var(--muted);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;align-self:baseline}dl.facts dd{margin:0}section.variants{margin-top:1.8rem}section.variants fieldset{border:0;margin:0 0 1rem;padding:0}section.variants legend{padding:0;margin-bottom:.3rem}section.variants label{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;cursor:pointer}section.variants input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}section.variants label.unsure{color:var(--muted)}span.recommended,span.condition,p.condition{justify-self:start;border:1px solid var(--accent);border-radius:.9rem;padding:0 .5rem;font-size:.78rem;color:var(--accent)}p.condition{display:inline-block;margin:0 0 .35rem}p.affects{margin:.15rem 0 0;color:var(--muted);font-size:.85rem}div.more{min-height:2rem;padding:.5rem 0;text-align:center;color:var(--muted)}div.search{position:relative;margin:0 0 1.8rem}div.search form{display:flex;gap:.5rem}div.search input{flex:1;min-width:0;font:inherit;padding:.6rem .8rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--fg)}div.search input:focus{outline:none;border-color:var(--accent)}div.search form button{font:inherit;padding:.6rem 1rem;border:0;border-radius:.5rem;background:var(--accent);color:var(--bg);cursor:pointer}p.chosen{margin:0 0 .5rem}p.chosen button{font:inherit;font-size:.9rem;margin:0 .35rem .35rem 0;padding:.15rem .6rem;border:1px solid var(--accent);border-radius:.9rem;background:none;color:var(--accent);cursor:pointer}ul.suggest{position:absolute;z-index:2;left:0;right:0;margin:.3rem 0 0;padding:.25rem 0;list-style:none;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);box-shadow:0 6px 24px #0000001f}ul.suggest button{display:block;width:100%;font:inherit;text-align:left;padding:.5rem .8rem;border:0;background:none;color:var(--fg);cursor:pointer}ul.suggest button:hover{background:var(--line)}ul.suggest .form{color:var(--muted);font-size:.9rem}ul.suggest li.by-text{border-top:1px solid var(--line);margin-top:.25rem;padding-top:.25rem}ul.suggest li.by-text button{color:var(--muted);font-size:.92rem}p.query{margin:.2rem 0 1.6rem;color:var(--muted)}p.query span+span:before{content:"·";color:var(--line);margin:0 .5rem}p.missing{margin:.5rem 0 0;font-size:.92rem}p.missing .label{color:var(--muted);margin-right:.4rem}p.missing button{font:inherit;margin:0 .35rem .35rem 0;padding:.1rem .6rem;border:1px solid var(--line);border-radius:.9rem;background:none;color:var(--fg);cursor:pointer}p.missing button.main{border-color:var(--never);color:var(--never)}p.missing button.seasoning{color:var(--muted)}p.missing button:hover{border-color:var(--accent)}p.have-all{margin:.5rem 0 0;color:var(--ok);font-size:.92rem}p.rerank{position:sticky;bottom:1rem;margin:1.5rem 0 0;text-align:center}p.rerank button{font:inherit;padding:.6rem 1.2rem;border:0;border-radius:1.4rem;background:var(--accent);color:var(--bg);cursor:pointer}ul.components,ul.equipment,ul.ingredients,ul.notes,ul.substitutes{list-style:none;margin:0;padding:0}ul.ingredients li{display:grid;grid-template-columns:1fr auto;gap:0 1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}ul.ingredients .how-much{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}ul.ingredients .prep,ul.ingredients .typical,ul.ingredients .grams{color:var(--muted)}ul.ingredients .typical{white-space:normal}ul.ingredients .note{grid-column:1 / -1;color:var(--muted);font-size:.87rem}ul.ingredients .condition{grid-column:1 / -1;margin-top:.15rem}ul.ingredients li.optional .what{color:var(--muted)}ul.components>li{padding:.5rem 0;border-bottom:1px solid var(--line)}ul.components a{margin-right:.5rem}ul.components p{margin:.15rem 0 0;color:var(--muted);font-size:.87rem}section.component h2 .required{color:var(--muted);font-weight:400}section.component p.note,section.component p.empty{color:var(--muted);font-size:.87rem}ul.equipment>li{padding:.45rem 0;border-bottom:1px solid var(--line)}ul.equipment .optional{color:var(--muted)}ul.substitutes{margin-top:.25rem;font-size:.88rem;color:var(--muted)}ul.substitutes li:before{content:"→ "}ul.substitutes li.never{color:var(--never)}ul.substitutes li.ok::marker{color:var(--ok)}ol.steps{list-style:none;margin:0;padding:0;counter-reset:step}ol.steps>li{position:relative;padding-left:1.9rem}ol.steps>li+li{margin-top:1.6rem}ol.steps>li:before{position:absolute;left:0;color:var(--muted);font-variant-numeric:tabular-nums}ol.steps>li:not(.nested){counter-increment:step}ol.steps>li:not(.nested):before{content:counter(step) "."}ol.steps>li.nested{margin-left:1.9rem}ol.steps>li+li.nested{margin-top:.8rem}ol.steps>li.nested:before{content:"•";left:.5rem}p.text{margin:0 0 .3rem}p.within{display:inline-block;margin:0 0 .35rem;padding:.1rem .5rem;border-radius:.9rem;background:var(--line);color:var(--fg);font-size:.82rem}ul.uses{list-style:none;margin:0 0 .5rem;padding:0;color:var(--muted);font-size:.9rem}ul.uses li{display:grid;grid-template-columns:1fr auto;gap:0 .75rem;line-height:1.45}ul.uses .qty{white-space:nowrap;text-align:right}ul.uses b{color:var(--fg);font-weight:500;font-variant-numeric:tabular-nums}p.cue{margin:0 0 .3rem;color:var(--accent)}p.step-meta span+span:before{content:"·";color:var(--line);margin-right:.9rem}p.warn{margin:.5rem 0 0;padding:.55rem .75rem;background:var(--warn-bg);border-left:2px solid var(--warn);font-size:.92rem}p.note,span.note{color:var(--muted);font-size:.9rem}ol.steps p.note{margin:.35rem 0 0}ul.notes li{padding:.3rem 0}ul.keeping{list-style:none;margin:0 0 .6rem;padding:0}ul.keeping li{padding:.3rem 0;border-bottom:1px solid var(--line)}.estimated{color:var(--muted)}@media(min-width:44rem){body{padding-top:3rem}.cards{grid-template-columns:1fr 1fr;gap:1.8rem 2rem}}main.failure{padding-top:3rem}main.failure h1{margin-bottom:.6rem}main.failure p{color:var(--muted);margin:0 0 1.2rem}main.failure pre{overflow-x:auto;padding:.9rem;border:1px solid var(--line);font-size:.8rem;color:var(--muted)}.admin{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin:0 0 1.4rem;padding-bottom:.7rem;border-bottom:1px solid var(--line);font-size:.85rem;color:var(--muted)}.admin form{display:contents}.admin button,.save button{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.badge{font-size:.75rem;letter-spacing:.02em;color:var(--muted)}.badge.hidden:before{content:"○ "}.badge.shown:before{content:"● ";color:var(--ok)}h3 .badge{margin-left:.45rem;font-weight:400}.findings{flex-basis:100%;margin:.2rem 0 0;padding-left:1.1rem;line-height:1.5}.findings code{color:var(--muted);font-size:.9em}.findings .problem{color:var(--never)}.edit-field{font:inherit;color:inherit;width:100%;padding:.15rem .3rem;border:none;border-bottom:1px solid var(--edit-line);border-radius:0;background:var(--edit-bg);resize:vertical}.edit-field:focus{outline:none;border-bottom-color:var(--accent)}.editing .overrides{margin:.5rem 0 0;padding-left:.8rem;border-left:2px solid var(--line)}.editing .overrides .condition{display:block;font-size:.75rem;color:var(--muted)}.save{position:sticky;bottom:0;display:flex;gap:1rem;align-items:baseline;margin:2rem 0 0;padding:.8rem 0;border-top:1px solid var(--line);background:var(--bg)}.saved{color:var(--ok)}.rejected{border-left:3px solid var(--never);padding-left:.8rem;color:var(--never)}div.scale{margin-top:.9rem}div.scale .label{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}div.scale .ratios{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-top:.4rem}div.scale button{min-width:3rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:.4rem;background:transparent;color:var(--fg);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer}div.scale button:hover{border-color:var(--accent)}div.scale button[aria-current]{border-color:var(--accent);background:var(--accent);color:var(--bg)}div.scale .unit{margin-left:.15rem;color:var(--muted);font-size:.9rem}div.scale p.note{margin:.5rem 0 0}
