:root{--ink: #eaf2ff;--ink-dim: #9db2d6;--panel: rgba(13, 20, 38, .82);--panel-solid: #0d1426;--edge: rgba(122, 162, 255, .25);--accent: #ffd35c;--team0: #4da3ff;--team1: #ff6a5e;--good: #7fe08c;--bad: #ff5e6c;font-size:15px}*{box-sizing:border-box;margin:0;padding:0;user-select:none}html,body{height:100%;overflow:hidden;background:#070b16;color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,sans-serif}#app,#overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:30}#app{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;padding:clamp(12px,3vh,40px) 16px}#app>*{margin:auto 0;flex-shrink:0}#overlay{pointer-events:none;z-index:40}#overlay>*{pointer-events:auto}#game{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;background:#070b16;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}#hud{position:fixed;inset:0;z-index:20;pointer-events:none;font-size:14px}#hud>*{pointer-events:auto}button{font:inherit;color:var(--ink);background:linear-gradient(180deg,#2c3d66,#1c2947);border:1px solid var(--edge);border-radius:8px;padding:8px 18px;cursor:pointer;transition:filter .12s,transform .06s}button:hover:not(:disabled){filter:brightness(1.25)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.primary{background:linear-gradient(180deg,#ffcf5e,#d99a26);color:#241a04;font-weight:700;border-color:#ffe9a8}input[type=text],input[type=number],select{font:inherit;color:var(--ink);background:#0a1020;border:1px solid var(--edge);border-radius:8px;padding:8px 12px;outline:none}input:focus,select:focus{border-color:var(--accent)}.screen{display:flex;flex-direction:column;align-items:center;gap:18px;animation:fadein .25s ease-out}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.logo{font-size:64px;font-weight:900;letter-spacing:4px;background:linear-gradient(180deg,#cfe4ff,#5d8fe0);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 24px rgba(80,140,255,.35)}.logo small{display:block;font-size:14px;letter-spacing:6px;color:var(--ink-dim);-webkit-text-fill-color:var(--ink-dim);text-align:center;font-weight:500}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:20px 24px;backdrop-filter:blur(6px);box-shadow:0 12px 40px #00000073}.title-form{display:flex;flex-direction:column;gap:12px;min-width:340px}.title-form .row{display:flex;gap:10px}.title-form .row>*{flex:1}.title-form .code-input{text-transform:uppercase;letter-spacing:8px;font-size:20px;text-align:center;max-width:150px}.muted{color:var(--ink-dim);font-size:13px}.error-line{color:var(--bad);min-height:18px;font-size:13px;text-align:center}.divider{display:flex;align-items:center;gap:10px;color:var(--ink-dim);font-size:12px;text-transform:uppercase;letter-spacing:2px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--edge)}.lobby{display:grid;grid-template-columns:300px 300px 320px;gap:14px;align-items:stretch;max-width:1000px}.lobby-col{display:flex;flex-direction:column;gap:10px;min-height:380px}.lobby h3{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-dim);text-align:center}.team-list{display:flex;flex-direction:column;gap:6px;flex:1}.player-chip{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;background:#ffffff0d;border:1px solid transparent;cursor:pointer}.player-chip:hover{border-color:var(--edge)}.player-chip.t0{border-left:3px solid var(--team0)}.player-chip.t1{border-left:3px solid var(--team1)}.player-chip.disconnected{opacity:.5}.player-chip .crown{color:var(--accent)}.player-chip .mob{margin-left:auto;color:var(--ink-dim);font-size:12px}.player-chip .kick{margin-left:4px;color:var(--bad);font-weight:700;padding:0 4px}.mobile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mobile-card{border:1px solid var(--edge);border-radius:10px;padding:10px;cursor:pointer;text-align:center;background:#ffffff0a}.mobile-card:hover{border-color:var(--accent)}.mobile-card.selected{border-color:var(--accent);background:#ffd35c1f}.mobile-card .mname{font-weight:700}.mobile-card .mdesc{font-size:11px;color:var(--ink-dim);margin-top:4px;line-height:1.3}.settings-grid{display:flex;flex-direction:column;gap:10px;font-size:13px}.settings-grid label{display:flex;justify-content:space-between;align-items:center;gap:10px}.ban-list{display:flex;flex-wrap:wrap;gap:5px}.ban-chip{font-size:11px;padding:3px 8px;border-radius:20px;border:1px solid var(--edge);cursor:pointer;background:#ffffff0d}.ban-chip.banned{background:#ff5e6c33;border-color:var(--bad);text-decoration:line-through}.loadout-list{display:flex;flex-wrap:wrap;gap:5px}.loadout-chip{font-size:11px;padding:4px 9px;border-radius:20px;border:1px solid var(--edge);cursor:pointer;background:#ffffff0d}.loadout-chip.in{background:#7fe08c26;border-color:var(--good)}.loadout-chip.banned{opacity:.35;pointer-events:none}.chatbox{display:flex;flex-direction:column;gap:6px;min-height:0}.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px;font-size:13px;padding:6px;background:#00000040;border-radius:8px;min-height:80px;max-height:220px}.chat-log .line{word-break:break-word}.chat-log .name{font-weight:700;margin-right:5px}.chat-log .name.t0{color:var(--team0)}.chat-log .name.t1{color:var(--team1)}.hud-panel{position:absolute;background:var(--panel);border:1px solid var(--edge);border-radius:12px;padding:10px 14px;backdrop-filter:blur(4px)}#wind-widget{top:14px;left:14px;display:flex;align-items:center;gap:12px;min-width:150px}#wind-widget .wind-dial{width:64px;height:64px;flex:none}#wind-widget .wind-text{display:flex;flex-direction:column;line-height:1.15}#wind-widget .val{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}#wind-widget .coupling{font-size:11px;color:var(--ink-dim);white-space:nowrap}#turn-banner{top:14px;left:50%;transform:translate(-50%);text-align:center;min-width:300px}#turn-banner .who{font-weight:800;font-size:16px}#turn-banner .timerbar{height:6px;border-radius:3px;background:#ffffff1f;margin-top:7px;overflow:hidden}#turn-banner .timerbar>div{height:100%;background:var(--accent);border-radius:3px;transition:width .2s linear,background-color .3s}#turn-banner .timerbar>div.warn{background:#ff9f43}#turn-banner .timerbar>div.crit{background:var(--bad);animation:timer-crit .6s steps(2) infinite}@keyframes timer-crit{0%,to{opacity:1}50%{opacity:.45}}#turn-banner .score{font-size:13px;margin-top:4px;color:var(--ink-dim)}#weather-widget{top:14px;right:14px;display:flex;align-items:center;gap:12px}#weather-widget .disc{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;background:radial-gradient(circle at 35% 30%,#3a4a75,#141c33);border:1px solid var(--edge)}#weather-widget .next{font-size:12px;color:var(--ink-dim);line-height:1.5}#weather-widget .next b{color:var(--ink);display:block;font-size:13px}#weather-widget .thorbar{display:none;height:5px;margin-top:3px;border-radius:3px;background:#ffffff1f;overflow:hidden}#weather-widget .thorbar>div{height:100%;background:#b48cff;border-radius:3px}#delay-queue{top:90px;left:14px;display:flex;flex-direction:column;gap:5px;min-width:170px;padding:8px}#delay-queue .qtitle{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-dim);text-align:center}.qrow{display:flex;align-items:center;gap:8px;padding:4px 7px 4px 5px;border-radius:8px;background:#ffffff0a;font-size:12px;border-left:3px solid var(--team, var(--edge))}.qrow.active{outline:1px solid var(--accent);background:#ffd35c1a}.qrow.you .qname{color:var(--accent)}.qrow.dead{opacity:.32;filter:grayscale(1)}.qrow .qpic{width:30px;height:30px;flex:none;display:grid;place-items:center}.qrow .qmid{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.qrow .qname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qrow .qhp{height:5px;border-radius:3px;background:#00000073;overflow:hidden}.qrow .qhp .fill{height:100%;width:100%;border-radius:3px;background:linear-gradient(90deg,var(--good),#b8f0c0);transition:width .25s ease-out}.qrow .qhp .fill.low{background:linear-gradient(90deg,var(--bad),#ff9aa2)}.qrow .qdelay{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:11px;flex:none}#delay-queue .qtitle{display:flex;align-items:center;justify-content:center;gap:6px}#delay-queue .qhelp{width:15px;height:15px;border-radius:50%;border:1px solid var(--edge);background:transparent;color:var(--ink-dim);font-size:10px;cursor:pointer;line-height:1}#delay-queue .qhelp:hover{border-color:var(--accent);color:var(--accent)}#item-bar{bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:7px;align-items:center}.slot{width:52px;height:52px;border-radius:10px;border:1px solid var(--edge);background:#ffffff0d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;position:relative;font-size:20px}.slot:hover{border-color:var(--accent)}.slot.selected{border-color:var(--accent);background:#ffd35c24}.slot.armed{outline:2px solid var(--good)}.slot.used{opacity:.3;pointer-events:none}.slot.locked{opacity:.45;pointer-events:none}.slot .key{position:absolute;top:2px;left:5px;font-size:9px;color:var(--ink-dim)}.slot .slabel{font-size:8px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px}.slot-sep{width:1px;height:40px;background:var(--edge);margin:0 4px}#feed{position:absolute;top:90px;right:14px;display:flex;flex-direction:column;gap:4px;max-width:260px;align-items:flex-end}#feed .fline{background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:5px 10px;font-size:12px;animation:fadein .2s ease-out}#hud-chat{position:absolute;bottom:14px;right:14px;width:300px;display:flex;flex-direction:column;gap:5px}#hud-chat .chat-log{max-height:140px;min-height:0;background:var(--panel);border:1px solid var(--edge);display:none}#hud-chat.open .chat-log{display:flex}#hud-chat input{display:none}#hud-chat.open input{display:block}#hud-chat .hint{font-size:11px;color:var(--ink-dim);text-align:right;text-shadow:0 1px 2px #000;white-space:nowrap}@media (max-width: 980px){#hud-chat .hint{font-size:10px}}#big-banner{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);font-size:44px;font-weight:900;letter-spacing:3px;text-shadow:0 4px 30px rgba(0,0,0,.8);animation:banner 2.4s ease-out forwards;pointer-events:none;text-align:center}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}20%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-56%)}}#aim-readout{position:absolute;transform:translate(-50%,-100%);font-size:13px;font-weight:700;text-shadow:0 1px 3px #000;background:var(--panel);border:1px solid var(--edge);padding:4px 9px;border-radius:8px;pointer-events:none;display:none}.results{display:flex;flex-direction:column;gap:14px;min-width:420px;text-align:center}.results h1{font-size:36px;letter-spacing:2px}.results .trophy{font-size:52px}.results table{margin:0 auto;border-collapse:collapse;font-size:14px}.results td,.results th{padding:5px 16px;border-bottom:1px solid var(--edge)}.rank-title{color:var(--accent);font-weight:700}.hidden{display:none!important}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#2c3d66;border-radius:4px}::-webkit-scrollbar-track{background:transparent}#self-panel{position:fixed;left:14px;bottom:14px;display:flex;align-items:center;gap:12px;min-width:240px;padding:10px 14px;transition:box-shadow .3s}#self-panel.your-turn{box-shadow:0 0 0 1px var(--accent),0 12px 40px #00000073}#self-panel .self-portrait{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:10px;background:#0000004d}#self-panel .self-info{display:flex;flex-direction:column;gap:3px;min-width:0}#self-panel .self-name{font-weight:800;font-size:15px}#self-panel .self-mob{font-size:11px;color:var(--ink-dim)}#self-panel .hpbar{position:relative;height:14px;min-width:160px;border-radius:7px;background:#00000080;overflow:hidden;margin-top:2px}#self-panel .hpbar .fill{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--good),#b8f0c0);transition:width .3s ease-out}#self-panel .hpbar .fill.low{background:linear-gradient(90deg,var(--bad),#ff9aa2)}#self-panel .hpbar .hptext{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.9)}#self-panel .self-aim{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;margin-top:2px}#self-panel.critical{animation:hp-critical 1.1s ease-in-out infinite}@keyframes hp-critical{0%,to{box-shadow:0 0 0 1px var(--bad),0 12px 40px #00000073}50%{box-shadow:0 0 22px 2px #ff5e6c8c,0 12px 40px #00000073}}#item-bar .slot{background:#ffffff0d;padding:0}#item-bar .slot:disabled{cursor:default}#item-bar .slot.help{opacity:.75}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#hud.large-text{font-size:17px}#hud.large-text .qrow{font-size:14px}#hud.large-text .qrow .qdelay{font-size:13px}#hud.large-text #self-panel .self-name{font-size:17px}#hud.large-text #self-panel .self-mob,#hud.large-text #self-panel .self-aim{font-size:13px}#hud.large-text .slot .slabel{font-size:10px}.help-overlay{position:fixed;inset:0;background:#040812c7;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:60;padding:16px;animation:fadein .18s ease-out}.help-panel{width:min(860px,96vw);max-height:min(78vh,720px);display:flex;flex-direction:column;background:var(--panel-solid);border:1px solid var(--edge);border-radius:16px;box-shadow:0 24px 70px #0009;overflow:hidden}.help-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--edge)}.help-head h2{font-size:20px;letter-spacing:1px}.help-close{background:transparent;border:1px solid var(--edge);border-radius:8px;padding:4px 12px}.help-body{display:grid;grid-template-columns:180px 1fr;min-height:0;flex:1}.help-nav{display:flex;flex-direction:column;gap:2px;padding:12px;border-right:1px solid var(--edge);overflow-y:auto}.help-tab{background:transparent;border:1px solid transparent;border-radius:8px;padding:9px 12px;text-align:left;color:var(--ink-dim);font-size:13px}.help-tab:hover{color:var(--ink)}.help-tab.on{background:#ffd35c1f;border-color:var(--accent);color:var(--accent)}.help-content{padding:20px 24px;overflow-y:auto;overscroll-behavior:contain;user-select:text}.help-content h3{font-size:19px;margin-bottom:12px;color:var(--accent)}.help-p{font-size:14px;line-height:1.6;color:var(--ink);margin-bottom:12px;max-width:62ch}.help-list{margin:0 0 14px 20px;font-size:14px;line-height:1.65}.help-list li{margin-bottom:5px}.help-diagram{display:block;margin:6px 0 16px;border-radius:10px;background:#00000047}.help-key-row{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:14px}.help-keys{display:flex;gap:4px;min-width:160px}.help-key-what{color:var(--ink-dim)}kbd{display:inline-block;padding:2px 8px;border-radius:6px;border:1px solid var(--edge);border-bottom-width:2px;background:#131c33;font:600 12px/1.5 Segoe UI,system-ui,sans-serif;color:var(--ink)}.touch-pad{position:fixed;inset:0;pointer-events:none;z-index:25;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.touch-pad.off{opacity:.3}.touch-pad.off .tbtn{pointer-events:none}.touch-left,.touch-right{position:absolute;bottom:calc(96px + env(safe-area-inset-bottom));display:flex;gap:10px;pointer-events:auto}.touch-left{left:14px}.touch-right{right:14px;align-items:flex-end}.touch-fine{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.tbtn{width:58px;height:58px;border-radius:50%;font-size:17px;font-weight:700;padding:0;background:#141e37d9;border:1px solid var(--edge);touch-action:none;-webkit-tap-highlight-color:transparent}.tbtn.held{background:#ffd35c47;border-color:var(--accent)}.tbtn.fire{width:78px;height:78px;font-size:15px;letter-spacing:1px;background:linear-gradient(180deg,#ffcf5e,#d99a26);color:#241a04;border-color:#ffe9a8;margin-left:10px}.tbtn.walk{font-size:22px}#hud.touch #item-bar{bottom:calc(14px + env(safe-area-inset-bottom));gap:6px}#hud.touch #item-bar .slot{min-width:52px;min-height:52px}#hud.touch #self-panel{min-width:0;padding:8px 10px}#hud.touch #hud-chat .hint{display:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (max-width: 820px){#wind-widget{min-width:0;padding:6px 8px;gap:8px}#wind-widget .wind-dial{width:46px;height:46px}#wind-widget .val{font-size:19px}#delay-queue{top:78px;min-width:148px;font-size:11px}#turn-banner{min-width:0;max-width:46vw}#turn-banner .score{font-size:11px}#self-panel .hpbar{min-width:120px}#weather-widget{padding:6px 10px}}@media (max-height: 560px){#delay-queue{max-height:42vh;overflow-y:auto}}.title-cols{display:grid;grid-template-columns:360px 340px;gap:14px;align-items:start}.room-browser{display:flex;flex-direction:column;gap:10px;min-height:380px}.room-browser h3{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-dim)}.mini{padding:2px 8px;font-size:13px;border-radius:6px;line-height:1.2}.room-list{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto;max-height:320px}.room-empty{text-align:center;padding:28px 8px;line-height:1.6}.room-row{display:grid;grid-template-columns:54px 1fr auto auto;align-items:center;gap:10px;text-align:left;padding:8px 10px;background:#ffffff0d;border:1px solid var(--edge);border-radius:10px}.room-row .rcode{font-weight:800;letter-spacing:2px;font-size:15px;color:var(--accent)}.room-row .rmid{display:flex;flex-direction:column;min-width:0}.room-row .rmap{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-row .rmaster{font-size:11px;color:var(--ink-dim)}.room-row .rteams{font-size:12px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.room-row .rstatus{font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:2px 7px;border-radius:20px;background:#7fe08c29;color:var(--good)}.room-row.live .rstatus{background:#ffd35c29;color:var(--accent)}.mobile-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-height:196px;overflow-y:auto;padding-right:2px}.mobile-card{padding:7px 4px;display:flex;flex-direction:column;align-items:center;gap:3px}.mobile-card .mpic{width:46px;height:46px;display:grid;place-items:center;font-size:24px}.mobile-card .mname{font-weight:700;font-size:12px}.mobile-card .mrole{font-size:10px;color:var(--ink-dim)}.mobile-detail{margin-top:10px;padding:10px 12px;border-radius:10px;background:#00000047;border:1px solid var(--edge);min-height:150px}.md-head{display:flex;align-items:baseline;gap:8px}.md-head b{font-size:15px}.md-role{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px}.md-rare{font-size:9px;letter-spacing:1px;padding:1px 6px;border-radius:20px;background:linear-gradient(180deg,#ffcf5e,#d99a26);color:#241a04;font-weight:800}.md-desc{font-size:12px;color:var(--ink-dim);line-height:1.45;margin:6px 0 8px}.md-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.md-stat{display:flex;flex-direction:column;font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px}.md-stat b{font-size:13px;color:var(--ink);text-transform:none;letter-spacing:0}.md-weapon{display:grid;grid-template-columns:26px 88px 1fr 34px;gap:7px;align-items:baseline;font-size:11px;padding:3px 0;border-top:1px solid rgba(122,162,255,.12)}.md-weapon-head{color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;font-size:9px;border-top:0}.md-slot{font-weight:800;color:var(--accent)}.md-wname{font-weight:600}.md-wdesc{color:var(--ink-dim);line-height:1.35}.md-wdelay{text-align:right;color:var(--ink-dim);font-variant-numeric:tabular-nums}.settings-panel{width:min(600px,96vw)}.set-body{padding:8px 22px 18px;overflow-y:auto;overscroll-behavior:contain}.set-section{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-dim);margin:18px 0 6px}.set-row{display:flex;align-items:center;gap:16px;padding:9px 0;border-top:1px solid rgba(122,162,255,.12)}.set-text{flex:1;min-width:0}.set-label{font-size:14px}.set-hint{font-size:11px;color:var(--ink-dim);line-height:1.4;margin-top:2px}.set-control{display:flex;align-items:center;gap:10px;flex:none}.set-value{font-size:12px;color:var(--ink-dim);min-width:38px;text-align:right;font-variant-numeric:tabular-nums}.set-control input[type=range]{width:150px;accent-color:var(--accent)}.set-toggle{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.set-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--edge)}@media (max-width: 780px){.title-cols{grid-template-columns:minmax(0,1fr)}.room-browser{min-height:0}.room-list{max-height:200px}.title-form{min-width:0}.logo{font-size:44px}.help-body{grid-template-columns:minmax(0,1fr)}.help-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--edge)}.help-tab{white-space:nowrap}.lobby{grid-template-columns:minmax(0,1fr)}.mobile-grid{grid-template-columns:repeat(3,1fr)}}.first-run{font-size:12px;line-height:1.45;color:var(--accent);background:#ffd35c1a;border:1px solid rgba(255,211,92,.35);border-radius:9px;padding:8px 10px;text-align:center}button.nudge{border-color:var(--accent);animation:nudge-pulse 2s ease-in-out infinite}@keyframes nudge-pulse{0%,to{box-shadow:0 0 #ffd35c00}50%{box-shadow:0 0 0 4px #ffd35c38}}.results table{border-collapse:collapse}.results td.rpic{width:40px;padding-right:2px}.results td.rpic canvas{display:block}.results tr.fallen{opacity:.55}.results tr.fallen td{filter:grayscale(.6)}.connecting{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:280px;text-align:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--edge);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
