:root{--amber:#ffb547;--holo:#46e0ff;--rift:#ff3a5c;--ok:#5cff9a;--ink:#e9f1ff;--dim:#8a97b2;--glass:#080c18c7;--edge:#46e0ff59;--mono:"JetBrains Mono", ui-monospace, monospace;--head:"Chakra Petch", sans-serif;--body:"Inter", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font:15px/1.4 var(--body);-webkit-user-select:none;user-select:none;background:#05070e;margin:0;overflow:hidden}#stage,#stage canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#tags{pointer-events:none;position:fixed;inset:0;overflow:hidden}.tag{font:700 11px var(--mono);letter-spacing:.06em;color:#0a0d16;background:var(--c);box-shadow:0 0 10px color-mix(in srgb, var(--c) 60%, transparent);white-space:nowrap;border-radius:3px;padding:2px 8px;position:absolute;top:0;left:0}.tag.out{opacity:.35}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}.panel{background:var(--glass);border:1px solid var(--edge);border-radius:10px;box-shadow:0 0 0 1px #0006,0 12px 40px #00000080}.h{font:700 13px var(--head);letter-spacing:.28em;color:var(--holo);text-transform:uppercase}.title{font:700 64px/1 var(--head);letter-spacing:.12em;color:var(--ink);text-shadow:0 0 24px #46e0ff73}.title b{color:var(--rift);text-shadow:0 0 24px #ff3a5c99}button{font:700 13px var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);cursor:pointer;border:1px solid var(--edge);background:linear-gradient(#18223a,#0e1426);border-radius:7px;padding:11px 18px}button:hover{border-color:var(--holo);box-shadow:0 0 14px #46e0ff4d}button.go{color:#1a0f00;background:linear-gradient(#ffcc6a,#ff9f2a);border-color:#ffd58a}button.ghost{background:0 0}button:disabled{opacity:.4;cursor:default}input,select{font:600 14px var(--body);color:var(--ink);border:1px solid var(--edge);background:#0b1122;border-radius:6px;padding:9px 11px}.menu{gap:14px;width:min(460px,88vw);padding:30px;display:grid;position:absolute;top:50%;left:6vw;transform:translateY(-50%)}.menu .sub{color:var(--dim);font:500 13px var(--mono);letter-spacing:.08em;margin-top:-4px}.menu .row{gap:10px;display:flex}.menu .row>*{flex:1}.lobby{gap:12px;width:min(520px,92vw);padding:24px;display:grid;position:absolute;top:50%;right:4vw;transform:translateY(-50%)}.seats{gap:6px;display:grid}.seat{background:#ffffff08;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.seat i{background:var(--c);width:12px;height:12px;box-shadow:0 0 8px var(--c);border-radius:50%}.seat .lv{color:var(--dim);font:500 12px var(--mono);margin-left:auto}.code{font:700 22px var(--mono);letter-spacing:.3em;color:var(--amber)}.bar{align-items:center;gap:18px;padding:8px 18px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.bar .phase{font:700 14px var(--head);letter-spacing:.3em;color:var(--amber)}.bar .clock{font:700 22px var(--mono);text-align:center;min-width:54px}.scores{gap:4px;min-width:210px;padding:10px 12px;display:grid;position:absolute;top:14px;left:14px}.score{font:600 13px var(--body);grid-template-columns:12px 1fr auto;align-items:center;gap:8px;display:grid}.score i{background:var(--c);border-radius:50%;width:10px;height:10px}.score .bar2{background:#ffffff14;border-radius:3px;grid-column:2/4;height:5px;overflow:hidden}.score .bar2 b{background:var(--c);height:100%;display:block}.crate{gap:12px;width:min(1100px,96vw);padding:16px 18px;display:grid;position:absolute;bottom:7vh;left:50%;transform:translate(-50%)}.cards{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.card{cursor:pointer;text-align:center;background:linear-gradient(#141c33,#0a0f1e);border:1px solid #ffffff1a;border-radius:9px;gap:6px;width:132px;padding:10px;display:grid}.card img{aspect-ratio:1;object-fit:cover;background:#070a14;border-radius:6px;width:100%}.card b{font:700 12px var(--head);letter-spacing:.14em}.card span{font:500 11px var(--body);color:var(--dim)}.card.trap{border-color:#ff3a5c73}.card.taken{opacity:.2;cursor:default}.card.mine{outline:2px solid var(--amber)}.card:not(.taken):hover{border-color:var(--holo);transform:translateY(-4px)}.turn{text-align:center;font:700 13px var(--head);letter-spacing:.2em;color:var(--ink)}.hand{align-items:center;gap:14px;padding:10px 16px;display:flex;position:absolute;bottom:4vh;left:50%;transform:translate(-50%)}.keys{color:var(--dim);font:500 12px var(--mono)}.results{gap:10px;min-width:min(560px,92vw);padding:24px 28px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.verdict{font:700 34px var(--head);letter-spacing:.14em;text-align:center;color:var(--rift)}.award{font:600 14px var(--body);align-items:baseline;gap:10px;display:flex}.award em{color:var(--amber);font-style:normal;font:700 12px var(--mono)}.big{font:700 120px var(--head);letter-spacing:.1em;color:var(--ink);text-shadow:0 0 40px #46e0ff99;pointer-events:none;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.toast{font:600 13px var(--body);padding:8px 16px;position:absolute;top:80px;left:50%;transform:translate(-50%)}.feed{pointer-events:none;justify-items:end;gap:6px;display:grid;position:absolute;top:14px;right:14px}.feed div{font:600 12px var(--body);padding:5px 10px}@media (width<=820px){.title{font-size:40px}.card{width:98px}.big{font-size:72px}}.freecam{z-index:30;pointer-events:none;font:600 13px/1 var(--mono,monospace);letter-spacing:.08em;color:#bfefff;background:#060c18b8;border:1px solid #46e0ff73;border-radius:4px;padding:8px 14px;position:fixed;top:14px;left:50%;transform:translate(-50%)}.menu.locker{width:min(560px,92vw);max-height:86vh;overflow:auto}.locker .tabs{flex-wrap:wrap;gap:6px;display:flex}.locker .tabs button{padding:7px 10px;font-size:12px}.locker .tabs button.on{border-color:var(--holo,#46e0ff);color:var(--holo,#46e0ff)}.locker .cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.locker .card{text-align:left;gap:4px;padding:10px 12px;display:grid;position:relative}.locker .card b{letter-spacing:.06em;font-size:13px}.locker .card span{font:500 11px var(--mono,monospace);color:var(--dim);text-transform:uppercase;letter-spacing:.04em}.locker .card em{font:700 10px var(--mono,monospace);color:var(--rift,#ff3a5c);font-style:normal;position:absolute;top:8px;right:8px}.locker .card.on,.locker .sw.on{border-color:#ffcc6a;box-shadow:inset 0 0 0 1px #ffcc6a}.locker .locked{opacity:.45;cursor:default}.locker .sw{place-items:center;height:46px;padding:0;display:grid}.locker .sw i{background:var(--c);border-radius:50%;width:26px;height:26px}.locker .sw i.glow{border:3px solid var(--c);box-shadow:0 0 10px var(--c);background:0 0}.locker .need{font:500 11px var(--mono,monospace);color:var(--dim);grid-column:1/-1}.menu .season{background:#281a0673;border:1px solid #ffcc6a66;gap:4px;padding:10px 12px;display:grid}.menu .season b{font:700 13px var(--mono,monospace);letter-spacing:.08em;color:#ffcc6a}.menu .season span{font:500 11px var(--mono,monospace);letter-spacing:.04em;color:var(--dim);line-height:1.4}.card{position:relative}.card .insea{font:700 9px var(--mono,monospace);letter-spacing:.06em;color:#1a0f00;background:#ffcc6a;padding:2px 5px;font-style:normal;position:absolute;top:6px;left:6px}.card.locked{opacity:.4;cursor:default}.card .lk{font:700 9px var(--mono,monospace);color:#ff5c7a;font-style:normal;position:absolute;top:4px;right:4px}
