:root{
  --bg: #fff6f6;
  --panel: #ffffff;
  --text: #0f0f0f;
  --muted: #5f5f5f;
  --brand: #a4161a;
  --brand-2:#d00000;
  --accent:#ffba08;
  --ring: rgba(164,22,26,0.3);
  --shadow: 0 10px 25px rgba(0,0,0,.08);
  --radius: 18px;
}
[data-theme="dark"]{
  --bg: #0e0a0a;
  --panel: #161214;
  --text: #f3f1f1;
  --muted: #b3acac;
  --brand: #ff4d4f;
  --brand-2:#ff6b6b;
  --accent:#ffd166;
  --ring: rgba(255,109,109,0.3);
  --shadow: 0 14px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: radial-gradient(1200px 600px at 80% -200px, rgba(255,186,8,.12), transparent 60%), var(--bg);
  color:var(--text);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
}
header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: saturate(1.2) blur(8px);
  background: color-mix(in oklab, var(--panel) 80%, transparent);
  border-bottom:1px solid color-mix(in oklab, var(--text) 12%, transparent);
}
.nav{max-width:1000px; margin:0 auto; display:flex; gap:14px; align-items:center; padding:10px 16px}
.logo{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.4px}
.logo-badge{ width:36px; height:36px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); box-shadow:var(--shadow); color:white; font-weight:800}
.nav a{color:var(--text); text-decoration:none; font-weight:500}
.nav .spacer{flex:1}
.btn{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:12px; border:1px solid color-mix(in oklab, var(--text) 12%, transparent); background:var(--panel); cursor:pointer; font-weight:600; box-shadow:var(--shadow); transition: transform .05s ease, background .2s ease, border-color .2s ease}
.btn:hover{ transform: translateY(-1px); border-color: color-mix(in oklab, var(--brand) 40%, transparent)}
.btn-primary{ background: linear-gradient(135deg,var(--brand),var(--brand-2)); color:white; border:none }
.hero{ max-width:1000px; margin:24px auto; padding:24px 16px; display:grid; grid-template-columns: 1.1fr .9fr; gap:22px }
.card{ background:var(--panel); border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid color-mix(in oklab, var(--text) 10%, transparent) }
.hero .copy{ padding:28px }
h1{ font-family: Merriweather, Georgia, serif; font-size: clamp(28px, 3.8vw, 42px); line-height:1.1; margin:0 0 10px }
.subtitle{ color:var(--muted); margin:0 0 18px }
.meta{ display:flex; gap:14px; flex-wrap:wrap; margin: 6px 0 16px }
.pill{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background: color-mix(in oklab, var(--accent) 24%, transparent); font-weight:600; border:1px dashed color-mix(in oklab, var(--accent) 40%, transparent) }
.hero .image{ position:relative; overflow:hidden }
.hero img{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius) }
.img-badge{ position:absolute; inset:auto 14px 14px auto; background:var(--panel); padding:8px 12px; border-radius:12px; border:1px solid color-mix(in oklab, var(--text) 14%, transparent); box-shadow:var(--shadow); font-weight:700 }
.grid{ max-width:1000px; margin:16px auto 40px; padding:0 16px; display:grid; grid-template-columns: 1fr 1fr; gap:22px }
section.card{ padding:22px }
h2{ font-size: clamp(20px, 2.6vw, 28px); margin:0 0 10px; font-family:Merriweather, Georgia, serif }
.muted{ color:var(--muted) }
.ingredients ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: 1fr 1fr; gap:10px }
.ingredients li{ display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid color-mix(in oklab, var(--text) 10%, transparent); border-radius:12px }
.ingredients input{ transform: translateY(2px) }
.switch{ display:flex; gap:10px; align-items:center; margin-bottom:12px }
.steps ol{ margin: 0; padding-left: 22px; display:flex; flex-direction:column; gap:14px }
.steps li{ background: color-mix(in oklab, var(--text) 4%, transparent); border-radius:14px; padding:12px 14px; border:1px solid color-mix(in oklab, var(--text) 12%, transparent) }
.step-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:8px }
.tips ul{ margin:0; padding-left: 20px }
footer{ max-width:1000px; margin:0 auto 40px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; color:var(--muted) }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0 }
.kbd{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; font-size:.9em; background: color-mix(in oklab, var(--text) 8%, transparent); padding:2px 6px; border-radius:6px; border:1px solid color-mix(in oklab, var(--text) 12%, transparent) }
@media (max-width: 900px){.hero{ grid-template-columns: 1fr; }.grid{ grid-template-columns: 1fr; }.ingredients ul{ grid-template-columns: 1fr; }}
