:root{--gold:#ffc94a;--ink:#0b1020;--paper:#f5efdf;--dim:#9aa6bd}*{box-sizing:border-box}html,body{height:100%;color:var(--paper);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;touch-action:none;background:#0b1020;margin:0;font-family:Trebuchet MS,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}#gl{width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#ui{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}#ui>*{pointer-events:auto}#boot{text-align:center;z-index:50;background:radial-gradient(at 50% 40%,#1b2a4a9e,#070b16e6 70%);place-content:center;transition:opacity .45s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#boot.gone{opacity:0;pointer-events:none}.bootart{opacity:.3;filter:saturate(.85)contrast(1.05);z-index:-1;background-position:50%;background-size:cover;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(at 50% 45%,#000 20%,#0000 78%);mask-image:radial-gradient(at 50% 45%,#000 20%,#0000 78%)}.bootlogo{letter-spacing:.1em;color:var(--gold);text-shadow:0 6px #8a5f00,0 14px 34px #000000b3;font-size:clamp(38px,9vw,104px);font-weight:900}.bootsub{color:var(--dim);letter-spacing:.22em;margin-top:14px;font-size:13px}.bootpress{letter-spacing:.18em;color:#eaf3ff;opacity:0;margin-top:40px;font-size:clamp(13px,2.2vw,19px);font-weight:800;transition:opacity .4s}.bootpress b{color:var(--gold)}#boot.ready .bootpress{opacity:1;animation:1s infinite alternate pulse}.screen{background:radial-gradient(at 50% 45%,#060a1680,#04070fdb 72%);place-items:center;padding:3vh 3vw;animation:.28s both fadein;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fadein{0%{opacity:0}to{opacity:1}}.card{text-align:center;background:linear-gradient(#121a30f2,#0a0f1ef7);border:2px solid #ffc94a57;border-radius:18px;width:min(660px,94vw);max-height:94vh;padding:26px 30px 20px;overflow:auto;box-shadow:0 26px 70px #000000a8,inset 0 1px #ffffff14}.card.wide{width:min(1020px,96vw)}.card .art{background:linear-gradient(120deg,#23345c,#12203c) 50% 42%/cover;border-radius:16px 16px 0 0;height:150px;margin:-26px -30px 14px;box-shadow:inset 0 -70px 55px -26px #0a0f1efc}.title{letter-spacing:.07em;color:var(--gold);text-shadow:0 4px #7c5500,0 12px 26px #0009;margin:2px 0 6px;font-size:clamp(26px,4.4vw,46px);font-weight:900}.sub{color:var(--dim);margin:0 0 16px;font-size:15px;line-height:1.5}.items{flex-direction:column;gap:8px;margin:10px 0 6px;display:flex}.item{font:inherit;color:var(--paper);cursor:pointer;text-align:left;background:#ffffff0b;border:2px solid #0000;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:11px 18px;font-size:18px;font-weight:700;transition:transform 90ms,background .12s,border-color .12s;display:flex}.item .hint{color:var(--dim);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:600}.item.sel{border-color:var(--gold);background:linear-gradient(90deg,#ffc94a38,#ffc94a12);transform:translate(5px);box-shadow:0 5px 20px #ffc94a29}.item.dis{opacity:.38}.foot{color:var(--dim);letter-spacing:.13em;text-transform:uppercase;margin:14px 0 0;font-size:12px}.card .foot{z-index:2;background:linear-gradient(#0a0f1e00,#0a0f1ef7 45%);margin-bottom:-6px;padding:9px 0 7px;position:sticky;bottom:-20px}.seats{grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 10px;display:grid}@media (max-width:720px){.seats{grid-template-columns:repeat(2,1fr)}}.seat{background:#ffffff08;border:2px dashed #ffffff2e;border-radius:13px;padding:14px 8px 12px;transition:all .16s}.seat.on{border-style:solid;border-color:var(--pc);background:linear-gradient(180deg, color-mix(in srgb, var(--pc) 24%, transparent), #ffffff08);box-shadow:0 0 26px -6px var(--pc)}.seatname{letter-spacing:.16em;color:var(--pc);font-size:12px;font-weight:900}.seatstate{color:var(--dim);letter-spacing:.06em;margin:8px 0 4px;font-size:21px;font-weight:900}.seatstate.ready{color:#6bff9c}.seatstate.cpu{color:var(--gold)}.seatdev{color:var(--paper);opacity:.85;font-size:12px}.seatkeys{color:var(--dim);letter-spacing:.07em;margin-top:5px;font-size:11px}.boardrow{letter-spacing:.04em;margin:6px 0 2px;font-size:16px}.boardrow .k{color:var(--gold);font-weight:900}.boardrow .dim{color:var(--dim);font-size:13px}.warn{color:#ffb64a;margin:8px 0 0;font-size:12px;line-height:1.5}.actbanner{border:2px solid var(--gold);letter-spacing:.06em;color:var(--gold);text-transform:uppercase;background:#ffc94a14;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;padding:10px 14px;font-size:15px;font-weight:900;display:flex}.actbanner kbd{height:30px;padding:0 12px;font-size:13px;display:inline-grid}.actbanner em{color:var(--dim);font-style:normal;font-weight:700}.actbanner span{text-transform:none;letter-spacing:0;color:var(--dim);flex:260px;font-size:13px;font-weight:400;line-height:1.45}.actbanner span b{color:var(--paper)}.howto{text-align:left;margin:0 0 8px;padding:0 0 0 22px}.howto li{color:var(--dim);margin:0 0 7px;font-size:13.5px;line-height:1.55}.howto li::marker{color:var(--gold);font-weight:900}.howto li b{color:var(--paper);letter-spacing:.04em}.howto li em{color:var(--gold);font-style:normal;font-weight:700}@media (max-height:780px){.howto li{margin-bottom:5px;font-size:12.5px}}.ctrlgrid{grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0;display:grid}@media (max-width:820px){.ctrlgrid{grid-template-columns:repeat(2,1fr)}}.ctrlbox{border:2px solid color-mix(in srgb, var(--pc) 55%, transparent);background:#ffffff08;border-radius:13px;padding:12px 8px}.ctrlname{letter-spacing:.1em;color:var(--pc);margin-bottom:10px;font-size:11.5px;font-weight:900}.keypad{grid-template-columns:repeat(3,40px);justify-content:center;gap:5px;display:grid}.spacer{display:block}kbd{height:38px;color:var(--paper);background:#1a2340;border:1px solid #ffffff29;border-bottom-width:3px;border-radius:8px;place-items:center;font:700 14px/1 Trebuchet MS,sans-serif;transition:all 50ms linear;display:grid}kbd.on{background:var(--pc);color:#0b1020;border-color:#fff;border-bottom-width:1px;transform:translateY(2px)}.actrow{justify-content:center;align-items:center;gap:8px;margin-top:10px;display:flex}kbd.act{min-width:74px;padding:0 10px;font-size:12px}.actlbl{color:var(--dim);letter-spacing:.08em;text-align:left;font-size:9.5px;line-height:1.3}.actlbl em{color:var(--gold);font-style:normal}.padline{color:#7fd1ff;margin:6px 0;font-size:13px}.tip{color:var(--dim);margin:8px 0 0;font-size:12.5px;line-height:1.6}.hud{pointer-events:none;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.hudtop{background:#060a16b8;border:2px solid #ffc94a4d;border-radius:999px;align-items:center;gap:16px;padding:6px 22px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000080}.dname{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-size:13px}.clock{color:var(--gold);font-variant-numeric:tabular-nums;font-size:27px;font-weight:900}.clock.low{color:#ff6b6b;animation:.55s infinite alternate pulse}@keyframes pulse{to{transform:scale(1.12)}}.hudhint{letter-spacing:.1em;color:var(--dim);text-transform:uppercase;white-space:nowrap;background:#060a1699;border-radius:999px;padding:3px 16px;font-size:12px;position:absolute;bottom:128px;left:50%;transform:translate(-50%)}.hudhint b{color:var(--gold)}.cards{flex-wrap:wrap;justify-content:center;gap:10px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.pcard{border:2px solid color-mix(in srgb, var(--pc) 70%, transparent);background:#060a16c2;border-radius:12px;flex:0 190px;min-width:156px;padding:7px 12px 9px;transition:opacity .2s,transform .2s;box-shadow:0 8px 26px #00000080}.pcard.lead{box-shadow:0 0 0 2px var(--gold), 0 10px 30px #ffc94a40}.pcard.dead{opacity:.42;filter:grayscale()}.pcard.broke .pcoins{color:#ff6b6b}.pname{letter-spacing:.14em;text-transform:uppercase;color:var(--pc);font-size:11px;font-weight:900}.pcoins{font-variant-numeric:tabular-nums;font-size:27px;font-weight:900;line-height:1.05}.pcoins .cu{color:var(--gold);margin-left:3px;font-size:15px}.pmeta{color:var(--dim);justify-content:space-between;font-size:11px;display:flex}.pbar{background:#ffffff1f;border-radius:3px;height:4px;margin:5px 0 4px;overflow:hidden}.pbar i{background:var(--pc);height:100%;transition:width .25s;display:block}.pact{letter-spacing:.11em;color:var(--dim);text-transform:uppercase;min-height:14px;font-size:10.5px}.pact.ring{color:#6bff9c;font-weight:900;animation:.4s infinite alternate pulse}.pact.arming{color:#9fb0c4;font-weight:700}.pact.slow{color:#ffb64a;font-weight:800;animation:.5s infinite alternate pulse}.pact.broke{color:#ff8a9a;font-weight:800}.pact.maxed{color:#7fd1ff;font-weight:800}.pact.locked{color:#ff6a7d;font-weight:800;animation:.35s infinite alternate pulse}.pact.rival{color:#ff8a5a;font-weight:700}.ringtip{color:#eaf3ff;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;background:#060a16db;border:2px solid #6bff9c;border-radius:12px;padding:9px 22px;font-size:clamp(13px,2.1vw,20px);font-weight:800;transition:all .2s;position:absolute;top:56%;left:50%;transform:translate(-50%)scale(.85);box-shadow:0 10px 34px #0009}.ringtip b{color:#6bff9c}.ringtip.show{opacity:1;transform:translate(-50%)scale(1)}.centre{color:var(--gold);text-shadow:0 6px #7c5500,0 18px 44px #000c;opacity:0;letter-spacing:.04em;white-space:nowrap;font-size:clamp(42px,10vw,128px);font-weight:900;transition:all .18s;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)scale(.7)}.centre.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.toasts{flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;top:74px;left:50%;transform:translate(-50%)}.toast{letter-spacing:.05em;opacity:0;background:#060a16d9;border:1px solid #ffffff24;border-radius:999px;padding:4px 16px;font-size:13px;font-weight:700;transition:all .2s;transform:translateY(-8px)}.toast.go{opacity:1;transform:none}.result{flex-direction:column;gap:6px;margin:12px 0 4px;display:flex}.rrow{border-left:4px solid var(--pc);background:#ffffff0a;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.rpos{color:var(--gold);width:18px;font-weight:900}.rname{color:var(--pc);text-align:left;min-width:96px;font-weight:900}.rstat{color:var(--dim);font-size:11.5px}.rworth{margin-left:auto;font-size:17px;font-weight:900}.rworth em{color:var(--gold);font-size:12px;font-style:normal}.rbust{color:#ff6b6b;letter-spacing:.1em;font-size:11px;font-weight:900}:root .cs-root{--cs-accent:#ffc94a;--cs-bar:11vh}.foot.tapback{width:100%;font:inherit;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);cursor:pointer;border:0;border-radius:8px;font-size:12px;display:block}.foot.tapback:hover{color:var(--gold)}.seat{font:inherit;color:inherit;text-align:center;cursor:pointer;width:100%}.boardrow .bk{font:inherit;color:var(--gold);cursor:pointer;background:#ffc94a1a;border:1px solid #ffc94a66;border-radius:8px;margin:0 4px;padding:2px 12px;font-size:19px;font-weight:900;line-height:1}.boardrow .bk:hover{background:#ffc94a42}.footbtn{font:inherit;letter-spacing:.13em;text-transform:uppercase;color:var(--paper);cursor:pointer;background:#ffffff0f;border:2px solid #ffffff29;border-radius:9px;margin:0 5px;padding:9px 18px;font-size:12px;font-weight:800}.footbtn.go{color:#0b1020;background:var(--gold);border-color:var(--gold)}.footbtn.go.dis{color:var(--dim);background:#ffffff0f;border-color:#ffffff29}.footbtn:hover{border-color:var(--gold)}.foothint{margin-top:8px;display:block}@media (max-height:470px){.card{padding:14px 18px 10px}.card .art{height:84px;margin:-14px -18px 10px}.sub{margin-bottom:10px;font-size:12.5px}.items{gap:6px;margin:6px 0 4px}.item{padding:8px 14px;font-size:15px}.cards{gap:6px;bottom:8px;left:8px;right:8px}.pcard{flex:0 132px;min-width:104px;padding:4px 8px 6px}.pname{letter-spacing:.1em;font-size:9px}.pcoins{font-size:19px}.pcoins .cu{font-size:11px}.pmeta{font-size:9.5px}.pbar{margin:3px 0}.pact{letter-spacing:.06em;font-size:9px}.hudhint{padding:2px 12px;font-size:10.5px;bottom:88px}.hudtop{gap:10px;padding:3px 16px}.clock{font-size:21px}.dname{font-size:11px}.toasts{top:52px}.seats{gap:7px;margin:8px 0 6px}.seat{padding:8px 6px 7px}.seatstate{margin:4px 0 2px;font-size:16px}.seatdev{font-size:10.5px}.seatkeys{margin-top:3px;font-size:9.5px}.boardrow{margin:2px 0;font-size:13.5px}.warn{margin-top:5px;font-size:10.5px}.foot{margin-top:8px}}
