:root{--bg:#fffaf3;--surface:#fff;--text:#2b2118;--muted:#7a6a5c;--accent:#b5532c;--accent-text:#fff;--border:#ead9c6;--radius:12px;color:var(--text);background:var(--bg);font-family:system-ui,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}img{max-width:100%;display:block}.page{max-width:960px;margin:0 auto;padding:16px}.narrow{max-width:480px}.stack{flex-direction:column;gap:12px;display:flex}label{flex-direction:column;gap:4px;font-weight:600;display:flex}input,textarea,select{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px 12px}textarea{min-height:120px}button{font:inherit;border-radius:var(--radius);background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;padding:10px 16px}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}button:disabled{opacity:.6;cursor:default}.lang-switch{float:inline-end;color:var(--accent);border:1px solid var(--border);background:0 0}[role=alert]{color:#a12a1a}.site-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.site-header nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.site-header a{color:var(--accent);font-weight:600;text-decoration:none}.brand{font-size:1.1rem}.filters{grid-template-columns:1fr;gap:8px;margin-bottom:16px;display:grid}@media (width>=640px){.filters{grid-template-columns:2fr 1fr 1fr}}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.recipe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none;overflow:hidden}.recipe-card h3{margin:8px 12px 0;font-size:1rem}.recipe-card p{margin:4px 12px 12px}.card-photo{aspect-ratio:4/3;background:#f3e6d6;place-items:center;font-size:2.5rem;display:grid}.card-photo img{object-fit:cover;width:100%;height:100%}.muted{color:var(--muted)}.recipe h1{margin-bottom:4px}.recipe-photo{border-radius:var(--radius);background:#f3e6d6;margin:0 0 16px;overflow:hidden}.recipe-photo img{object-fit:cover;width:100%;max-height:420px}.recipe-photo figcaption{color:var(--muted);padding:6px 12px;font-size:.85rem}.recipe-photo.placeholder{aspect-ratio:16/9;text-align:center;align-content:center;place-items:center;gap:8px;padding:16px;font-size:1rem;display:grid}.recipe-photo.placeholder>span{font-size:2.5rem}.from{align-items:center;gap:8px;display:flex}.avatar{object-fit:cover;background:#f3e6d6;border-radius:50%;place-items:center;width:32px;height:32px;display:inline-grid}.author{align-items:center;gap:8px;display:inline-flex}.times{grid-template-columns:auto 1fr;gap:4px 12px;display:grid}.times dt{font-weight:600}.times dd{margin:0}.variation-card,.comment{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px}.is-hidden{opacity:.55}button.small{padding:4px 10px;font-size:.85rem}.wizard textarea{min-height:180px}.wizard-buttons{justify-content:space-between;gap:8px;margin-top:16px;display:flex}.wizard-buttons :last-child{margin-inline-start:auto}.review dt{margin-top:8px;font-weight:600}.review dd{margin:0}.pre{white-space:pre-line}.choice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;flex-direction:column;gap:4px;padding:16px;text-decoration:none;display:flex}.my-recipe{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px}.my-recipe h3{margin:0 0 4px}.status{color:var(--accent);margin:0 0 8px;font-weight:600}.notice{border-radius:var(--radius);background:#eef7ee;padding:12px}.question textarea{min-height:70px}.offscreen{width:760px;position:absolute;top:0;left:-10000px}.printable{color:#2b2118;background:#fff;width:760px;padding:24px;font-size:14px}.printable img{object-fit:cover;border-radius:8px;width:100%;max-height:320px}.printable .variation-card{border:1px solid #ead9c6;border-radius:8px;margin-bottom:8px;padding:8px}
