:root{--bg:#faf6f0;--surface:#fff;--fg:#2a211c;--muted:#7a6a5f;--line:#e8ddd0;--accent:#b4532a;--accent-soft:#f6e4d8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1a1613;--surface:#241f1b;--fg:#f0e8e0;--muted:#a8988b;--line:#3a322c;--accent:#e5835a;--accent-soft:#3a2a21}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;line-height:1.5}a{color:var(--accent)}.wrap{max-width:880px;margin:0 auto;padding:0 1rem}.masthead{border-bottom:1px solid var(--line);max-width:880px;margin:0 auto;padding:.9rem 1rem}.brand{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:700;text-decoration:none}h1,h2{font-family:Georgia,Times New Roman,serif;line-height:1.2}h1{margin:0 0 .5rem;font-size:clamp(2rem,6vw,2.75rem)}h2{margin:0 0 .75rem;font-size:1.3rem}.intro{padding:2.5rem 0 1rem}.intro p{color:var(--muted);margin:0}.filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0 2rem;display:flex}.search{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;flex:240px;padding:.6rem .9rem}.search:focus{outline:2px solid var(--accent);outline-offset:1px}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.9rem}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.group{margin-bottom:2rem}.group h2{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-family:inherit;font-size:1rem}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);height:100%;color:var(--fg);border-radius:12px;flex-direction:column;gap:.25rem;padding:1.1rem 1.2rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-title{font-family:Georgia,serif;font-size:1.2rem;font-weight:700}.card-meta{color:var(--muted);font-size:.875rem}.empty{color:var(--muted)}.recipe{padding:1.5rem 0 1rem}.back{margin-bottom:1.5rem;font-size:.95rem;text-decoration:none;display:inline-block}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.8rem;font-weight:600}.recipe-body{grid-template-columns:minmax(220px,1fr) 2fr;align-items:start;gap:2rem;margin-top:1.5rem;display:grid}@media (width<=680px){.recipe-body{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem}.ingredients{margin:0;padding:0;list-style:none}.ingredients li+li{border-top:1px solid var(--line)}.ingredients label{cursor:pointer;align-items:flex-start;gap:.6rem;padding:.5rem 0;display:flex}.ingredients input{accent-color:var(--accent);flex-shrink:0;margin-top:.3rem}.ingredients .checked span{color:var(--muted);text-decoration:line-through}.steps{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.step{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;gap:.9rem;padding:.6rem .5rem;display:flex}.step:hover{background:var(--accent-soft)}.step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:1.8rem;height:1.8rem;font-size:.9rem;font-weight:700;display:grid}.step.done{color:var(--muted)}.step.done .step-num{background:var(--line);color:var(--muted)}.note{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;margin:1.25rem 0 0;padding:.8rem 1rem}.source{color:var(--muted);margin-top:1.25rem}.footer{border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding-top:1rem;padding-bottom:2rem;font-size:.85rem}@media print{.masthead,.back,.footer{display:none}.recipe-body{grid-template-columns:1fr 2fr}}
