:root { color-scheme: dark; --bg:#08110d; --panel:#12241b; --gold:#e6c56a; --ink:#f6f1e4; --muted:#c9d5cc; --line:rgba(230,197,106,.38); --deep:#07110d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(1100px 520px at 85% -10%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 62%), var(--bg); color:var(--ink); font-family:Outfit, "Segoe UI", sans-serif; font-size:17px; line-height:1.6; }
body.lock { overflow:hidden; }
img { max-width:100%; display:block; }
a { color:var(--gold); }
button, input, select, textarea { font:inherit; color:inherit; }
:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.skip { position:absolute; left:12px; top:-48px; background:var(--gold); color:#241806; padding:8px 12px; z-index:20; }
.skip:focus { top:12px; }
.wrap { width:min(1120px, calc(100% - 32px)); margin:auto; }
.banner, .top, .footer { width:min(1120px, calc(100% - 32px)); margin:auto; }
.banner { padding:10px 0; color:var(--gold); font-size:14px; letter-spacing:.04em; }
.top { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-family:Fraunces, Georgia, serif; font-size:22px; }
.brand img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.nav { display:flex; align-items:center; gap:8px; }
.nav a, .menu { color:var(--muted); text-decoration:none; min-height:44px; display:inline-flex; align-items:center; padding:0 10px; }
.nav-cta { display:flex; gap:8px; align-items:center; }
.btn, .btn-line { min-height:48px; border-radius:999px; padding:0 18px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; border:0; cursor:pointer; }
.btn { background:var(--gold); color:#241806; font-weight:750; }
.btn-line { background:transparent; color:var(--ink); border:1px solid var(--line); }
.menu { display:none; background:transparent; border:1px solid var(--line); border-radius:12px; }
.hero, .section { padding:34px 0; }
.hero { display:grid; grid-template-columns:1.2fr .8fr; gap:32px; align-items:center; }
h1, h2, h3 { font-family:Fraunces, Georgia, serif; line-height:1.15; font-weight:620; }
h1 { font-size:clamp(42px, 6vw, 76px); margin:0 0 12px; }
h2 { font-size:clamp(32px, 4vw, 48px); margin:0 0 10px; }
.lede { font-size:20px; color:var(--muted); }
.actions { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
.fine { color:var(--muted); font-size:14px; }
.points { display:flex; gap:8px; flex-wrap:wrap; padding:0; margin:18px 0 0; list-style:none; }
.points li { border:1px solid var(--line); border-radius:999px; padding:8px 12px; }
.emblem { width:min(100%, 420px); border-radius:32px; margin-left:auto; }
.games, .steps, .answers { display:grid; gap:14px; }
.games { grid-template-columns:repeat(4, 1fr); }
.game, .step, .legal, .contact { background:var(--panel); border:1px solid var(--line); border-radius:22px; }
.game { overflow:hidden; transition:transform .2s ease; }
.game:hover { transform:translateY(-4px); }
.game img { aspect-ratio:1; object-fit:cover; width:100%; }
.game div, .step { padding:16px; }
.game p, .step p { color:var(--muted); margin:6px 0 12px; }
.kicker { color:var(--gold); letter-spacing:.14em; text-transform:uppercase; font-size:12px; }
.marquee { overflow:hidden; border-block:1px solid var(--line); }
.marquee p { display:flex; gap:28px; width:max-content; margin:0; padding:12px 0; animation:slide 28s linear infinite; }
@keyframes slide { to { transform:translateX(-50%); } }
.steps { grid-template-columns:repeat(3, 1fr); }
.faq button { width:100%; text-align:left; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:16px; min-height:56px; padding:12px 16px; }
.faq .a { padding:0 8px 12px; color:var(--muted); }
.footer { padding:28px 0 88px; color:var(--muted); }
.disclaimer { font-size:13px; line-height:1.55; }
.legal table { width:100%; border-collapse:collapse; font-size:14px; margin:12px 0; }
.legal th, .legal td { border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top; }
.legal th { color:var(--gold); font-weight:650; }
.legal code { font-size:13px; }
.cookie-bar { position:fixed; left:0; right:0; bottom:0; z-index:40; background:var(--panel); border-top:1px solid var(--line); padding:14px 16px; }
.cookie-bar[hidden] { display:none !important; }
.cookie-bar .inner { width:min(1120px, 100%); margin:auto; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.cookie-bar p { margin:0; flex:1 1 280px; color:var(--muted); font-size:14px; }
.footer-grid { display:grid; grid-template-columns:1.3fr repeat(3, 1fr); gap:18px; }
.footer a { display:block; color:var(--ink); text-decoration:none; min-height:32px; }
.footer strong { color:var(--gold); }
.gate, .notice, .modal { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:18px; background:rgba(0,0,0,.72); }
.gate[hidden], .notice[hidden], .modal[hidden], [hidden] { display:none !important; }
.card { width:min(560px, 100%); background:var(--panel); border:1px solid var(--line); border-radius:24px; padding:22px; }
label { display:block; margin:10px 0; }
input, select, textarea { width:100%; min-height:48px; border-radius:12px; border:1px solid var(--line); background:#07140f; padding:10px 12px; }
textarea { min-height:120px; }
.check { display:flex; gap:10px; align-items:flex-start; }
.check input { width:22px; height:22px; margin-top:4px; }
#join-status { border-radius:12px; padding:10px 12px; }
#join-status[data-ok="0"] { background:#3a1717; color:#ffd0d0; }
#join-status[data-ok="1"] { background:#143221; color:#d9ffe8; }
.hello { color:var(--gold); }
@media (max-width:900px) {
  .hero, .games, .steps, .footer-grid { grid-template-columns:1fr 1fr; }
  .menu { display:inline-flex; }
  .nav-cta .btn-line { display:none; }
  .top { flex-wrap:wrap; }
  .nav { display:none; position:absolute; left:16px; right:16px; top:124px; flex-direction:column; align-items:stretch; background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:10px; }
  body.nav-open .nav { display:flex; }
}
@media (max-width:640px) { .hero, .games, .steps, .footer-grid { grid-template-columns:1fr; } h1 { font-size:40px; } }
@media (prefers-reduced-motion: reduce) { .marquee p { animation:none; } html { scroll-behavior:auto; } }

:root{--bg:#0a0716;--panel:#170f2e;--gold:#ff5fd2;--ink:#f7f2ff;--muted:#d2c9ea;--line:rgba(255,95,210,.38);}
h1,h2,h3,.brand,.room-top h1,dialog h2{font-family:Unbounded,"Segoe UI",sans-serif;font-weight:600;letter-spacing:-.01em}h1{text-shadow:0 0 28px rgba(255,95,210,.45)}.kicker,.eyebrow,.who,.credit-pill span,.amount small{color:#5ff4ff}.brand{font-size:19px}input,select,textarea,.credit-pill,.amount{background:#0d0920}.back,.side-tools button,#clear,dialog{background:#1b1236}.reel-stage{background:linear-gradient(135deg,#ff5fd2,#5a2a9c 40%,#5ff4ff 70%,#3a1a6e)}#reels{background:#0b0718}.play{background:radial-gradient(circle at 50% 30%,#ffe3f7,var(--gold) 42%,#7a1f73)}.modal,.gate{overflow-y:auto;overscroll-behavior:contain}.modal .card,.gate .card{margin:auto}.legal th,.legal td{overflow-wrap:anywhere}@media (max-width:640px){.legal th,.legal td{padding:6px;font-size:13px}}
