:root{--bg:#0b1f3a;--bg-2:#122a4d;--fg:#f5f7fb;--muted:#9fb0cc;--accent:#fc0;--accent-2:#2ec4b6;--danger:#e63946;--ok:#2ecc71;--radius:14px;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);-webkit-text-size-adjust:100%;margin:0}body{overscroll-behavior:none;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#root{height:100%}button{font:inherit;color:inherit;border-radius:var(--radius);background:var(--bg-2);cursor:pointer;touch-action:manipulation;border:0}button:disabled{opacity:.4;cursor:default}.player-body{cursor:none;background:#000;overflow:hidden}.player-viewport{place-items:center;width:100vw;height:100vh;display:grid;position:relative;overflow:hidden}.player-fit{position:relative}.player-viewport[data-anchored=yes]{display:block}.player-viewport[data-anchored=yes] .player-fit{position:absolute}.signal{transform-origin:0 0;position:absolute;top:0;left:0;overflow:hidden}.player-body.show-cursor,.player-viewport.show-cursor,.player-body.show-cursor *,.player-viewport.show-cursor *{cursor:default}.content{position:absolute;overflow:hidden}.selection{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4%;padding:3%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.selection h1{letter-spacing:-.01em;margin:0;font-size:5.5cqh;font-weight:800}.selection h2{color:var(--muted);margin:0;font-size:3cqh;font-weight:400}.cards{justify-content:center;gap:2.5%;width:100%;display:flex}.card{aspect-ratio:2/3;background:linear-gradient(160deg,#1d3b6b,#0e2245);border:.6cqh solid #0000;border-radius:6%;flex:0 18%;justify-content:center;align-items:flex-end;padding:6%;font-size:2.6cqh;font-weight:700;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.card.selected{border-color:var(--accent);transform:scale(1.06);box-shadow:0 0 4cqh #ffcc0073}.card.pulse{animation:.4s ease-in-out 2 pulse}@keyframes pulse{50%{transform:scale(1.12)}}.stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.stage .role{font-size:7cqh;font-weight:800}.stage .sub{color:var(--muted);font-size:3cqh}.stage .bar{background:#ffffff26;border-radius:1cqh;width:60%;height:1.4cqh;overflow:hidden}.stage .bar>div{background:var(--accent-2);height:100%}.stage.prize{background:radial-gradient(circle at 50% 40%, #3a2b00, var(--bg) 70%)}.stage.prize .role{color:var(--accent)}.stage.fallback,.stage.hold{background:var(--bg)}.player-hud{color:#ffffff8c;pointer-events:none;white-space:pre;background:#00000080;border-radius:6px;padding:6px 8px;font:12px/1.4 ui-monospace,monospace;position:fixed;bottom:8px;left:8px}.admin{gap:16px;max-width:1100px;margin:0 auto;padding:24px;display:grid}.admin pre{background:#06142a;border-radius:8px;max-height:50vh;padding:12px;font-size:12px;overflow:auto}.admin .actions{flex-wrap:wrap;gap:8px;display:flex}.admin .actions button{padding:10px 14px}
