:root{color-scheme:dark;--void: #080a10;--panel: #10151f;--panel-2: #161d2b;--line: rgba(255, 255, 255, .1);--text: #e8edf7;--dim: #8b96ad;--red: #ff4d5e;--blue: #3d8bff;--gold: #ffd166;--radius: 14px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--void);color:var(--text);font-family:var(--font);overscroll-behavior:none}body{background-image:radial-gradient(900px 500px at 12% -10%,rgba(255,77,94,.14),transparent 60%),radial-gradient(900px 500px at 88% 110%,rgba(61,139,255,.14),transparent 60%)}#app{height:100%}.hidden{display:none!important}.screen{height:100%}.screen--menu{display:grid;grid-template-columns:minmax(340px,460px) minmax(0,380px);gap:48px;align-content:center;justify-content:center;padding:40px 24px;overflow-y:auto}.menu{display:flex;flex-direction:column;gap:18px}.brand__kicker{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--dim)}.brand__title{margin:6px 0 10px;font-size:clamp(38px,6vw,62px);line-height:.95;letter-spacing:-.03em;font-weight:800}.brand__title span{background:linear-gradient(100deg,var(--red),var(--gold) 55%,var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.brand__blurb{margin:0;max-width:42ch;color:var(--dim);line-height:1.55}.settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.field-row{display:flex;flex-direction:column;gap:6px}.label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-family:var(--mono)}.input{appearance:none;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;font-size:15px;font-family:inherit;width:100%}.input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.input--code{font-family:var(--mono);letter-spacing:.34em;text-transform:uppercase;text-align:center}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{flex:1 1 auto;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:11px;padding:13px 18px;font-size:15px;font-weight:650;font-family:inherit;cursor:pointer;transition:transform .08s ease,border-color .15s ease,background .15s ease}.btn:hover{border-color:#ffffff47}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(120deg,var(--red),#ff7a4d);border-color:transparent;color:#16060a}.btn--ghost{background:transparent;flex:0 0 auto}.btn--small{padding:8px 14px;font-size:13px;align-self:center}.btn:disabled{opacity:.45;cursor:not-allowed}.join{display:flex;gap:10px}.hint{margin:0;color:var(--dim);font-size:13px}.rules{align-self:center;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.rules h2{margin:0 0 14px;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-family:var(--mono);font-weight:600}.rules ol{margin:0;padding-left:20px;display:grid;gap:12px;color:var(--dim);line-height:1.5;font-size:14px}.rules b{color:var(--text);font-weight:650}.screen--lobby{display:grid;place-content:center;padding:24px}.lobby{display:flex;flex-direction:column;gap:14px;width:min(460px,92vw);padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:18px;text-align:center}.code{font-family:var(--mono);font-size:54px;font-weight:700;letter-spacing:.22em;color:var(--gold)}.status{margin:0;color:var(--dim);font-size:13px}.roster{list-style:none;margin:0;padding:0;display:grid;gap:8px;text-align:left}.roster li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-size:14px}.roster .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.roster .tag{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.screen--game{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}#stage{width:100%;height:100%;display:block;touch-action:none}.hud{display:flex;align-items:center;gap:16px;padding:12px 20px}.hud--top{justify-content:center}.score{display:flex;align-items:baseline;gap:10px;min-width:150px}.score--red{justify-content:flex-end;color:var(--red)}.score--blue{color:var(--blue)}.score__team{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.85}.score__value{font-size:34px;font-weight:800;line-height:1}.clock{display:grid;justify-items:center;gap:2px;font-family:var(--mono);min-width:110px}.clock span:first-child{font-size:26px;font-weight:700;letter-spacing:.05em}.clock__mode{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}.hud--bottom{justify-content:space-between;min-height:62px}.slot{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);min-width:190px}.slot--ready{border-color:var(--gold);box-shadow:0 0 22px #ffd16638}.slot__glyph{font-size:22px;color:var(--gold);width:24px;text-align:center}.slot__label{font-size:13px;color:var(--dim)}.slot--ready .slot__label{color:var(--text);font-weight:650}.toasts{display:flex;flex-direction:column-reverse;gap:6px;align-items:center;flex:1 1 auto;pointer-events:none}.toast{font-size:14px;padding:6px 14px;border-radius:999px;background:#10151fe6;border:1px solid var(--line);animation:rise .25s ease}.toast--gold{color:var(--gold);border-color:#ffd16666}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.state-chip{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);min-width:190px;text-align:right}.state-chip--jailed{color:var(--red)}.state-chip--carrying{color:var(--gold)}.countdown{position:absolute;inset:0;display:grid;place-content:center;font-size:clamp(80px,18vw,190px);font-weight:800;color:var(--text);text-shadow:0 0 60px rgba(255,209,102,.35);pointer-events:none}.overlay{position:absolute;inset:0;display:grid;place-content:center;background:#080a10db;backdrop-filter:blur(6px);padding:20px}.overlay__card{width:min(520px,92vw);padding:30px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:20px;display:grid;gap:12px;justify-items:center}.overlay__kicker{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}.trophy{color:var(--gold);filter:drop-shadow(0 0 26px rgba(255,209,102,.4))}.overlay__title{margin:0;font-size:32px;letter-spacing:-.02em}.overlay__sub{margin:0;color:var(--dim)}.board{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}.board th{text-align:right;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:600;padding-bottom:6px}.board th:first-child,.board td:first-child{text-align:left}.board td{padding:7px 0;border-top:1px solid var(--line);text-align:right}.board tr.is-champion td{color:var(--gold);font-weight:700}@media(max-width:900px){.screen--menu{grid-template-columns:minmax(0,1fr);gap:26px}.rules{order:2}.hud{padding:8px 12px}.state-chip,.slot,.score{min-width:0}}
