:root { color-scheme: dark; font-family: system-ui, sans-serif; color: #e9efff; background: #080b18; }
body { margin: 0; }
main { box-sizing: border-box; max-width: 940px; margin: 0 auto; padding: 6vh 20px; }
.eyebrow { color: #6fffe9; font-size: .78rem; font-weight: 700; letter-spacing: .14em; }
h1 { font-size: clamp(2.8rem, 10vw, 6.4rem); line-height: .9; letter-spacing: -.06em; margin: .25em 0; }
.lead { font-size: 1.25rem; line-height: 1.55; max-width: 62ch; }
.game-shell { position: relative; overflow: hidden; border: 1px solid #2b3557; border-radius: 16px; margin-top: 2rem; background: #0c1124; box-shadow: 0 24px 80px #0008; }
canvas { display: block; width: 100%; height: auto; touch-action: none; }
.overlay { position: absolute; inset: 0; display: grid; place-content: center; gap: 1rem; padding: 2rem; text-align: center; background: #080b18cc; }
.overlay.is-hidden, .overlay[hidden] { display: none !important; }
button { border: 0; border-radius: 999px; background: #6fffe9; color: #08111e; cursor: pointer; font: inherit; font-weight: 800; padding: .85rem 1.5rem; }
button:hover { background: #fff; }
.hint { color: #aab7d6; font-size: .92rem; }
