:root{--bg:#f7f3ec;--fg:#1f1b16;--muted:#6b6257;--accent:#8a1c1c;--card:#fffdf9;--line:#e5ddd0}
@media (prefers-color-scheme:dark){:root{--bg:#151311;--fg:#efe9e0;--muted:#a79e91;--accent:#e2836f;--card:#1e1b18;--line:#34302a}}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 Georgia,"Times New Roman",serif;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}
.card{max-width:560px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:40px 28px;text-align:center}
.eyebrow{margin:0 0 8px;font:600 12px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
h1{margin:0;font-size:clamp(30px,7vw,44px);line-height:1.15;color:var(--accent)}
.lead{margin:10px 0 0;color:var(--muted)}
.rule{width:56px;height:2px;background:var(--accent);margin:26px auto;opacity:.7}
.soon{margin:0;font-size:22px}
.sub{margin:10px 0 0;color:var(--muted);font-size:16px}
footer{margin-top:22px;color:var(--muted);font:13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-align:center}

/* ---- play page (games) ---- */
body.play{justify-content:flex-start}
.top{width:100%;max-width:560px;margin:0 0 14px;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.top a,.play a{color:var(--accent)}
.games{width:100%;max-width:560px;display:grid;gap:16px}
.games .card{text-align:left;padding:28px 22px}
.games h1{font-size:clamp(24px,6vw,32px)}
.games h3{margin:14px 0 10px;font-size:19px}
.progress{margin:16px 0 0;color:var(--muted);font:600 12px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.opts{display:grid;gap:8px}
button{font:16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;border-radius:10px;padding:12px 14px;cursor:pointer;border:1px solid var(--line);background:var(--bg);color:var(--fg);text-align:left}
button:hover{border-color:var(--accent)}
button.right{border-color:#2e7d32;background:rgba(46,125,50,.14)}
button.wrong{border-color:#c62828;background:rgba(198,40,40,.12)}
button.ghost{margin-top:14px;text-align:center;background:transparent}
#age-yes{background:var(--accent);color:#fff;border-color:var(--accent);text-align:center;margin:6px}
#age-no{margin:6px;text-align:center}
.result{margin:6px 0 4px;color:var(--accent);font-size:28px}
.spirit{margin:8px 0;font-weight:600}
.recipe{margin:8px 0 0;padding-left:20px}
.gate{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}
.gate[hidden]{display:none}
.gate-box{text-align:center}
html.gate-open body>*:not(#age-gate){visibility:hidden}
.note{color:var(--muted)}
.play-link{display:inline-block;margin-top:18px;padding:10px 16px;border-radius:10px;background:var(--accent);color:#fff !important;text-decoration:none;font:600 15px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}