:root { color-scheme: dark; font-family: system-ui, sans-serif; background: #080f1b; color: #f8fafc; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; }
main { width: min(100% - 2rem, 34rem); margin: 2rem auto; padding: clamp(1.25rem, 4vw, 2rem); background: linear-gradient(145deg, #1b293e, #101b2c); border: 1px solid #475569; border-radius: 1.5rem; box-shadow: 0 24px 100px #0005; }
.entry-mark { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 1rem; background: #fb923c; color: #0f172a; font-size: 2.5rem; margin-top: 1rem; }
a { color: #fdba74; }
h1 { overflow-wrap: anywhere; margin-bottom: .25rem; font-size: clamp(1.75rem, 6vw, 2.5rem); }
h2 { font-size: 1rem; margin-top: 0; color: #fdba74; }
p { line-height: 1.6; }
.eyebrow { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; margin-top: 1.5rem; }
label { display: block; font-weight: 700; margin-bottom: .5rem; }
.code-row { display: flex; gap: .5rem; }
input { min-width: 0; width: 100%; background: #0f172a; color: white; border: 1px solid #94a3b8; border-radius: .5rem; padding: .85rem; font-size: 1rem; }
button { cursor: pointer; background: #f97316; color: #0f172a; font: inherit; font-weight: 700; border: 0; border-radius: .5rem; padding: .85rem; }
button:disabled { opacity: .6; cursor: wait; }
:focus-visible { outline: 3px solid #38bdf8; outline-offset: 3px; }
#enter-game { width: 100%; }
#access-note, footer { font-size: .8rem; color: #cbd5e1; }
#access-error { color: #fda4af; }
footer { margin-top: 1.5rem; }
[hidden] { display: none !important; }
html:has(body.playing), body.playing { width: 100%; height: 100%; min-height: 0; overflow: hidden; background: #f1f5f9; }
body.playing { display: block; overscroll-behavior: none; }
#game-shell { position: fixed; top: var(--game-top, 0px); left: 0; width: 100%; height: 100%; height: var(--game-height, 100dvh); background: #f1f5f9; }
#game-shell:fullscreen { top: 0; width: 100%; height: 100%; }
iframe { display: block; width: 100%; height: 100%; border: 0; background: inherit; }
