:root{--ink: #1a2430;--foam: #e8f0e6;--gold: #e8b84a;--lantern: #f0c070;--panel: rgba(18, 32, 42, .92);--stroke: #0d161c;--you: #ffd75e;--ally: #5fd8c8;--foe: #ff5a48}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{color:var(--foam);font-family:"Press Start 2P",monospace;background:#05090c;overflow:hidden;-webkit-tap-highlight-color:transparent}button,a,input,[role=button]{touch-action:manipulation}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:8px 8px}#stage{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;background:#05090c}#game{display:block;width:100vw;height:100dvh;image-rendering:pixelated;image-rendering:crisp-edges;cursor:crosshair;background:#132430}#game.result-punch{animation:gamePunch .55s ease-out}@keyframes gamePunch{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.035);filter:brightness(1.3)}to{transform:scale(1);filter:brightness(1)}}#game.result-lose{filter:grayscale(.6) brightness(.52) contrast(1.05);transition:filter 1.3s ease-out}.result-flash{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}.result-flash.show{background:radial-gradient(circle at 50% 40%,rgba(255,225,150,.55),transparent 62%);animation:resultFlashPulse 1s ease-out forwards}@keyframes resultFlashPulse{0%{opacity:0}12%{opacity:1}to{opacity:0}}.result-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 48%,transparent 28%,rgba(0,0,0,.82) 100%);transition:opacity 1.4s ease-in}.result-vignette.show{opacity:1}.battle-hud{position:absolute;inset:0 0 auto;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:10px;padding:8px 10px;pointer-events:none}.battle-hud.hidden{display:none}.battle-hud.solo{grid-template-columns:1fr}.battle-hud.solo .vs-badge,.battle-hud.solo .team-col[data-team=foe]{display:none}.team-col{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0}.team-col[data-team=foe]{align-items:flex-end}.vs-badge{align-self:start;margin-top:6px;padding:5px 9px;font-size:12px;letter-spacing:2px;color:var(--gold);background:#080e14cc;border:3px solid #000;box-shadow:inset 0 0 0 2px #4a3a18;text-shadow:2px 2px 0 #000}.fcard{display:flex;align-items:center;gap:8px;padding:5px 8px;min-width:172px;max-width:46vw;background:#091117c7;border:3px solid #000;box-shadow:inset 0 0 0 2px var(--accent, #3a5a48)}.fcard.role-player{--accent: var(--you)}.fcard.role-ally{--accent: var(--ally)}.fcard.role-foe{--accent: var(--foe)}.fcard.foe{flex-direction:row-reverse}.fc-sigil{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;background:#0b1319;border:2px solid #000;box-shadow:inset 0 0 0 1px #ffffff1f}.fc-sigil .pix{display:block}.fc-body{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.fc-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.fcard.foe .fc-head{flex-direction:row-reverse}.fc-name{font-size:9px;letter-spacing:1px;color:var(--accent);text-shadow:1px 1px 0 #000;white-space:nowrap}.fc-role{font-size:6px;font-style:normal;letter-spacing:1px;color:#8eaa9c;white-space:nowrap}.fc-ping{font-size:6px;font-style:normal;letter-spacing:.5px;margin-inline-start:auto;font-variant-numeric:tabular-nums;white-space:nowrap;color:#7fd8a4}.fc-ping[hidden]{display:none}.fc-ping[data-q=ok]{color:#ffd06a}.fc-ping[data-q=bad]{color:#ff7a68}.fcard.foe .fc-ping{margin-inline-start:0;margin-inline-end:auto}.fc-bar{display:block;height:9px;background:#0d181e;border:2px solid #000;overflow:hidden}.fc-bar.hp{background:#b8c0c8}.fc-bar i{display:block;height:100%;width:100%;transform-origin:left center;transform:scaleX(1);background:linear-gradient(180deg,#7ecf7a,#3d8a52);transition:transform .12s linear}.fcard.foe .fc-bar i{transform-origin:right center}.fcard.role-foe .fc-bar.hp i{background:linear-gradient(180deg,#ff8a76,#a8302c)}.fc-bar.chg{height:6px}.fc-bar.chg i{background:linear-gradient(180deg,#ffe08a,#e8a020 55%,#7ec8ff);transition:none}.fc-missiles{display:flex;gap:3px;margin-top:1px}.fc-missiles i{display:block;width:7px;height:7px;background:linear-gradient(180deg,#ffb060,#d85a1e);border:2px solid #000;box-shadow:inset 0 0 0 1px #ffffff2e}.fc-missiles i.spent{background:#141c22;box-shadow:inset 0 0 0 1px #ffffff0d}.fcard.low .fc-bar.hp i{animation:hpFlash .5s steps(2) infinite}.fcard.bot .fc-role:after{content:" \b7  AI";color:#7ec8ff}.fcard.down{opacity:.45;filter:grayscale(1)}@keyframes hpFlash{0%{filter:brightness(1)}to{filter:brightness(1.9)}}.you-row{display:flex;flex-direction:row;align-items:flex-start;gap:6px;max-width:100%;min-width:0}.player-chips{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-top:1px;pointer-events:none}.player-chips.hidden{display:none}.chip{display:flex;align-items:center;gap:5px;padding:3px 6px;font-size:8px;background:#091117d1;border:2px solid #000;text-shadow:1px 1px 0 #000;letter-spacing:1px}.chip.hidden{display:none}.chip-label{font-size:5px;color:#8eaa9c}.combo-hud{color:#f0d070}.combo-hud strong{color:#fff4a8}.combo-hud.combo-max{color:#9ad8ff;box-shadow:inset 0 0 0 1px #7ec8ff}.weapon-hud{color:#c8e8f8;gap:4px;padding:2px 5px}.weapon-hud .chip-label{display:none}.weapon-hud strong{color:#e8f8ff;font-size:8px}.weapon-hud kbd{font-size:6px;padding:1px 3px;color:#0d181e;background:#9ad8ff;border:2px solid #000;box-shadow:none}.weapon-hud.spray{box-shadow:inset 0 0 0 1px #7ec8ff}.weapon-hud.plasma{color:#f0d070;box-shadow:inset 0 0 0 1px #ffe08a}.weapon-hud.plasma strong{color:#fff4a8}.weapon-hud.plasma kbd{background:#ffe08a}.fs-btn{position:absolute;right:20px;bottom:20px;z-index:9;width:26px;height:26px;font-family:inherit;font-size:11px;line-height:1;color:#9bb0a4;background:#091117cc;border:2px solid #000;cursor:pointer}.fs-btn:hover{color:var(--lantern)}html[data-standalone=on][data-fullscreen-cap=unusable] .fs-btn{display:none}#stage:has(.footer.in-match) .fs-btn{right:12px;bottom:52px}.footer{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:7px 12px 8px;font-size:7px;color:#9bb0a4;background:linear-gradient(180deg,#05090c00,#05090cd9 55%);pointer-events:none}.footer:not(.in-match){display:none}.footer b{color:var(--foam)}.foot-brand{justify-self:start;font-size:11px;letter-spacing:3px;color:var(--gold);text-shadow:2px 2px 0 #000}.foot-gap{pointer-events:none}.foot-contact{justify-self:end;display:flex;align-items:center;gap:7px;padding:5px 10px;font-size:9px;color:#eaf4ff;text-decoration:none;white-space:nowrap;background:#0a1a28d1;border:2px solid #000;box-shadow:inset 0 0 0 2px #2f6fa8;pointer-events:auto;transition:color .14s ease,box-shadow .14s ease,transform .12s ease,background .14s ease}.foot-contact:hover,.foot-contact:focus-visible{color:#fff;background:#123a5eeb;box-shadow:inset 0 0 0 2px #61b6f5,0 0 18px #3c96e673;transform:translateY(-1px)}.foot-contact:active{transform:translateY(1px)}.contact-mark{display:grid;place-items:center;line-height:0}.contact-body{display:grid;gap:2px;text-align:left;line-height:1.3}.contact-label{font-size:6px;font-style:normal;letter-spacing:1px;color:#8eaa9c}.foot-contact:hover .contact-label,.foot-contact:focus-visible .contact-label{color:#b8dcea}.contact-handle{font-size:9px;letter-spacing:.5px}.overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(80,140,160,.35),transparent 50%),#081016d1;backdrop-filter:blur(2px)}.overlay.hidden{display:none}.panel{width:min(600px,94%);max-height:92%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:22px 20px;background:linear-gradient(180deg,#2a484ef2,#14242afa);border:4px solid #0a1014;box-shadow:0 0 0 3px #6a8a72 inset;text-align:center}.panel-step.hidden{display:none}#panelResult{animation:panelPopIn .45s cubic-bezier(.2,.9,.3,1.25)}#panelResult.lose{animation:panelSinkIn .75s ease-out;border-color:#1a0e0e;box-shadow:0 0 0 3px #5a3230 inset,0 0 34px 4px #0000008c}#panelResult.win{box-shadow:0 0 0 3px var(--gold) inset,0 0 42px 8px #ffd75e66}@keyframes panelPopIn{0%{opacity:0;transform:scale(.8)}65%{opacity:1;transform:scale(1.045)}to{transform:scale(1)}}@keyframes panelSinkIn{0%{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.panel h2{font-size:22px;color:var(--gold);text-shadow:3px 3px 0 #000;margin-bottom:12px}.eyebrow{font-size:8px;color:#9ec4b0;margin-bottom:14px;letter-spacing:1px}.blurb{font-size:9px;line-height:1.8;color:#d7e6dc;margin-bottom:14px}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 4px}.mode-card{position:relative;display:grid;gap:8px;justify-items:center;padding:18px 12px;font-family:inherit;color:#b8d0c4;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;cursor:pointer}.mode-card:hover:not(.soon){color:#e8f0e6;box-shadow:inset 0 0 0 2px #6a8a72}.mode-card.soon{opacity:.55;cursor:not-allowed}.mode-icon{font-size:22px;line-height:1}.mode-name{font-size:10px;letter-spacing:1px;color:var(--gold)}.mode-desc{font-size:7px;line-height:1.5;color:#8eaa9c}.mode-badge{position:absolute;top:8px;right:8px;padding:3px 5px;font-size:6px;color:#1a2018;background:#c8a040;border:2px solid #000}.mode-badge.sm{position:static;margin-top:6px}.mode-badge.new{color:#06120c;background:#6ff2a8;animation:badge-pulse 1.6s steps(2,end) infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 #6ff2a800}50%{box-shadow:0 0 0 3px #6ff2a859}}.diff-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 4px}.diff-card{position:relative;display:grid;gap:7px;justify-items:center;align-content:start;padding:14px 10px;font-family:inherit;color:#b8d0c4;text-align:center;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;cursor:pointer}.diff-card:hover{color:#e8f0e6;box-shadow:inset 0 0 0 2px #6a8a72}.diff-card.active{color:#1a2018;background:linear-gradient(180deg,#f0d070,#d09040);box-shadow:inset 0 0 0 2px #fff4a8,0 3px #6a4820}.diff-card.active .diff-desc{color:#4a3a12}.diff-pips{display:flex;gap:3px}.diff-pips i{width:9px;height:9px;background:#0b1216;border:2px solid #000;box-shadow:inset 0 0 0 1px #2e4a3c}.diff-card[data-difficulty=easy] .diff-pips i.on{background:#6ff2a8}.diff-card[data-difficulty=normal] .diff-pips i.on{background:#f0d070}.diff-card[data-difficulty=hard] .diff-pips i.on{background:#ff6a6a}.diff-card.active .diff-pips i{background:#1a100229;border-color:#3a2a08;box-shadow:inset 0 0 0 1px #a87a28}.diff-card.active .diff-pips i.on{background:#241a04}.diff-name{font-size:10px;letter-spacing:1px;color:var(--gold)}.diff-card.active .diff-name{color:#241a04}.diff-desc{font-size:7px;line-height:1.6;color:#8eaa9c}.diff-note{margin:10px 0 2px;font-size:6px;line-height:1.8;color:#7c9a8c;text-align:center}.match-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0 16px}.arena-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 16px}.arena-card{position:relative;display:grid;gap:5px;justify-items:center;padding:7px 6px 9px;font-family:inherit;color:#b8d0c4;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;cursor:pointer}.arena-card:hover{color:#e8f0e6;box-shadow:inset 0 0 0 2px #6a8a72}.arena-card.active{color:#1a2018;background:linear-gradient(180deg,#f0d070,#d09040);box-shadow:inset 0 0 0 2px #fff4a8,0 3px #6a4820}.arena-card.active .arena-tag{color:#4a3a12}.arena-thumb{display:grid;place-items:center;width:100%;aspect-ratio:20 / 11;overflow:hidden;background:#05090c;border:2px solid #0a1014}.arena-thumb canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.arena-dice{font-size:22px;color:var(--gold);text-shadow:2px 2px 0 #000}.arena-name{font-size:8px;letter-spacing:.5px;line-height:1.4}.arena-tag{font-size:6px;color:#86a894;line-height:1.4}.match-btn{position:relative;display:grid;gap:5px;justify-items:center;align-content:center;padding:12px 8px;font-family:inherit;color:#b8d0c4;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;cursor:pointer}.match-btn:hover:not(.disabled){color:#e8f0e6;box-shadow:inset 0 0 0 2px #6a8a72}.match-btn.active{color:#1a2018;background:linear-gradient(180deg,#f0d070,#d09040);box-shadow:inset 0 0 0 2px #fff4a8,0 3px #6a4820}.match-btn.active .match-desc{color:#4a3a12}.match-btn.disabled{opacity:.4;cursor:not-allowed}.match-name{font-size:9px;letter-spacing:1px}.match-desc{font-size:6px;color:#8eaa9c}.result-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0 4px}.result-stats.hidden{display:none}.rs-row{display:grid;gap:5px;justify-items:center;padding:8px 4px;background:#101a20;border:3px solid #000;box-shadow:inset 0 0 0 2px #2c3f36}.rs-row i{font-size:5px;font-style:normal;letter-spacing:1px;color:#7e968a}.rs-row b{font-size:10px;color:var(--gold);text-shadow:2px 2px 0 #000}.panel-step.win .rs-row{box-shadow:inset 0 0 0 2px #4a6a3c}@media(max-width:560px){.result-stats{grid-template-columns:repeat(3,1fr)}}.panel-step.solo-pick .roster{display:none}.roster{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:4px 0 16px}.roster-side{display:grid;gap:6px;justify-items:center}.roster-title{font-size:6px;letter-spacing:1px;color:#8eaa9c}.roster-title.ally{color:var(--ally)}.roster-title.foe{color:var(--foe)}.roster-vs{font-size:11px;color:var(--gold);text-shadow:2px 2px 0 #000}.slot-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.slot{display:grid;gap:4px;justify-items:center;padding:6px 8px;min-width:66px;font-family:inherit;color:#b8d0c4;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #33505f;cursor:pointer}.slot:hover{box-shadow:inset 0 0 0 2px #6a8a72}.slot.focus{background:#1d3040;box-shadow:inset 0 0 0 2px var(--you)}.slot .s-name{font-size:6px;letter-spacing:1px}.slot .s-role{font-size:5px;opacity:.7}.slot .pix{display:block}.hero-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.hero-btn{display:grid;gap:6px;justify-items:center;padding:12px 8px;font-family:inherit;color:#b8d0c4;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;cursor:pointer}.hero-btn:hover{color:#e8f0e6;box-shadow:inset 0 0 0 2px #6a8a72}.hero-btn.active{color:#1a2018;background:linear-gradient(180deg,#f0d070,#d09040);box-shadow:inset 0 0 0 2px #fff4a8,0 3px #6a4820}.hero-btn[data-hero=ironchest].active{background:linear-gradient(180deg,#e05050,#a82028);box-shadow:inset 0 0 0 2px #f0d070,0 3px #501018;color:#fff4e8}.hero-btn[data-hero=redblue].active{background:linear-gradient(180deg,#4a6ec8,#2a4e9c);box-shadow:inset 0 0 0 2px #e8ecf0,0 3px #1a3268;color:#f0f4f8}.hero-btn[data-hero=beast].active{background:linear-gradient(180deg,#6ec44e,#3d7d31);box-shadow:inset 0 0 0 2px #c8ff70,0 3px #1d4a1c;color:#12240f}.hero-icon{display:grid;place-items:center;line-height:0}.hero-icon .pix{display:block}.hero-name{font-size:8px;letter-spacing:1px}.hero-tag{font-size:6px;opacity:.75}.controls{list-style:none;text-align:left;display:grid;gap:8px;margin-bottom:14px;font-size:7px;line-height:1.6;color:#b8d0c4}.controls.hidden{display:none}kbd{display:inline-block;padding:3px 5px;margin:0 2px;background:#1a2a30;border:2px solid #000;box-shadow:1px 1px #6a8a78;color:var(--lantern);font-family:inherit;font-size:8px}.panel-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin-top:8px}.nav-btn{font-family:inherit;font-size:9px;padding:10px 14px;color:#d7e6dc;background:#1a2a30;border:3px solid #000;box-shadow:0 3px #2a3a40;cursor:pointer}.nav-btn.primary{color:#1a2018;background:linear-gradient(180deg,#f0d070,#d09040);box-shadow:0 3px #6a4820}.nav-btn:hover{transform:translateY(1px)}#startBtn{font-family:inherit;font-size:10px;padding:12px 18px;color:#1a2018;background:linear-gradient(180deg,#f0d070,#d09040);border:3px solid #000;box-shadow:0 4px #6a4820;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}#startBtn:hover:not(:disabled){transform:translateY(1px);box-shadow:0 3px #6a4820}#startBtn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #6a4820}#startBtn:disabled{opacity:.4;cursor:not-allowed;box-shadow:0 2px #3a3020}.toast{position:absolute;left:50%;top:22%;z-index:3;transform:translate(-50%);padding:10px 14px;font-size:9px;background:#0c161ce6;border:3px solid #000;color:var(--lantern);pointer-events:none}.toast.hidden,.hidden{display:none}.field{position:relative;display:grid;gap:6px;margin:10px 0;text-align:left}.field-label{font-size:6px;letter-spacing:2px;color:#8eaa9c}.field input{width:100%;padding:11px 44px 11px 12px;font-family:inherit;font-size:10px;color:var(--foam);background:#0e181e;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;outline:none}.field input:focus{box-shadow:inset 0 0 0 2px var(--gold)}.field input::placeholder{color:#55706a}.field-count{position:absolute;right:10px;bottom:12px;font-size:6px;color:#55706a;pointer-events:none}.code-field input{font-size:16px;letter-spacing:6px;text-align:center;padding-right:12px;color:var(--gold)}.mp-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:14px 0 6px}.mp-col{display:grid;gap:8px}.mp-or{font-size:7px;color:#55706a;letter-spacing:2px}.mp-note{font-size:6px;line-height:1.7;color:#8eaa9c}.nav-btn.wide{width:100%}.mp-error{margin:10px 0 0;padding:9px 10px;font-size:8px;line-height:1.6;color:#ffd2cc;background:#c8342e2e;border:3px solid #000;box-shadow:inset 0 0 0 2px #8a3028}.mp-error.hidden{display:none}.nav-btn:disabled{opacity:.5;filter:grayscale(.7);cursor:not-allowed}.code-badge{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 12px;padding:10px 12px;background:#0e181e;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48}.code-badge-label{font-size:6px;letter-spacing:2px;color:#8eaa9c}.code-badge b{font-size:20px;letter-spacing:6px;color:var(--gold)}.code-copy{padding:6px 8px;font-family:inherit;font-size:6px;letter-spacing:1px;color:#b8d0c4;background:#142028;border:2px solid #000;cursor:pointer}.code-copy:hover{color:var(--foam);background:#1c2c36}.lobby-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;margin:6px 0 12px}.lobby-team{display:grid;gap:8px;justify-items:center}.seat-col{display:grid;gap:8px;width:100%}.seat{position:relative;display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;font-family:inherit;text-align:left;color:#b8d0c4;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;cursor:pointer}.seat:hover{box-shadow:inset 0 0 0 2px #6a8a72}.seat.fill-empty{color:#55706a;border-style:dashed;background:#0d151a}.seat.mine{box-shadow:inset 0 0 0 2px var(--you);cursor:default}.seat.fill-ai{box-shadow:inset 0 0 0 2px #4a6a8a}.seat.offline{opacity:.6}.seat.offline .seat-name:after{content:" \2301";color:var(--foe)}.seat-sigil{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto}.seat-sigil.cyclable{cursor:pointer;box-shadow:0 0 0 2px #2a3a44}.seat-sigil.cyclable:hover{box-shadow:0 0 0 2px var(--gold)}.seat-sigil .pix{display:block;image-rendering:pixelated}.seat-body{display:grid;gap:4px;min-width:0}.seat-name{font-size:8px;letter-spacing:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat.mine .seat-name{color:var(--you)}.seat-role{font-size:6px;font-style:normal;letter-spacing:1px;color:#8eaa9c}.seat-ai{position:absolute;top:5px;right:6px;padding:3px 5px;font-size:6px;color:#9fc4d8;background:#16242e;border:2px solid #000;cursor:pointer}.seat-ai:hover{color:#fff;background:#24404e}.lobby-pool{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;padding:8px 10px;background:#c8a0401f;border:3px solid #000;box-shadow:inset 0 0 0 2px #6a5a28}.lobby-pool.hidden{display:none}.pool-label{font-size:6px;letter-spacing:2px;color:var(--lantern)}.pool-list{display:flex;flex-wrap:wrap;gap:6px}.pool-chip{padding:4px 7px;font-size:7px;color:#d7e6dc;background:#142028;border:2px solid #000}.pool-chip.mine{color:var(--you)}.lobby-heroes,.lobby-arena{display:grid;gap:8px;margin-bottom:12px}.lobby-row-label{font-size:6px;letter-spacing:2px;color:#8eaa9c;text-align:left}.lobby-heroes .hero-pick{margin:0}.lobby-heroes .hero-btn{padding:8px 6px;gap:5px}#panelLobby{width:min(760px,96%)}.lobby-arena-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.lobby-arena-card{position:relative;display:grid;gap:0;padding:0;overflow:hidden;font-family:inherit;text-align:left;color:#b8d0c4;background:#142028;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48;cursor:pointer;transition:box-shadow 90ms steps(2,end)}.lobby-arena-card:hover:not(:disabled){box-shadow:inset 0 0 0 2px #6a8a72}.lobby-arena-card.active{box-shadow:inset 0 0 0 2px var(--gold)}.lobby-arena-card:disabled{cursor:default}.la-thumb{display:block;position:relative;aspect-ratio:132 / 73;background:#0b1218;border-bottom:2px solid #000}.la-thumb canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.la-dice{display:grid;place-items:center;width:100%;height:100%;font-size:22px;color:var(--gold);background:repeating-linear-gradient(-45deg,#16242e,#16242e 6px,#121d25 6px 12px)}.la-meta{display:grid;gap:3px;padding:6px 7px}.la-meta b{font-size:7px;letter-spacing:1px;color:#d7e6dc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.la-meta i{font-size:6px;font-style:normal;color:#7d9a8d}.lobby-arena-card.active .la-meta b{color:var(--gold)}.la-check{position:absolute;top:5px;right:5px;display:none;place-items:center;width:15px;height:15px;font-size:8px;color:#10202a;background:var(--gold);border:2px solid #000}.lobby-arena-card.active .la-check{display:grid}.lobby-arena.read-only .lobby-arena-card:not(.active){opacity:.35;filter:saturate(.4)}.lobby-link{display:block;margin:-6px 0 10px;font-size:6px;letter-spacing:2px;color:#6ff2a8}.lobby-link.down{color:var(--foe);animation:badge-pulse 1s steps(2,end) infinite}@media(max-width:900px){.fcard{min-width:138px;padding:4px 6px;gap:6px}.fc-sigil{width:22px;height:22px}.fc-name{font-size:7px}.fc-role{font-size:5px}.vs-badge{font-size:10px;padding:4px 6px}.foot-brand{font-size:8px;letter-spacing:2px}.foot-contact,.contact-handle{font-size:8px}}@media(max-width:640px){.battle-hud{gap:4px;padding:5px}.fcard{min-width:0;gap:4px;padding:3px 5px}.fc-body{min-width:54px}.fc-sigil{width:18px;height:18px}.fc-role{display:none}.fc-name{font-size:6px}.fc-bar{height:6px}.fc-bar.chg{height:4px}.fc-missiles i{width:5px;height:5px}.vs-badge{margin-top:3px;padding:3px 4px;font-size:8px}}@media(max-width:720px){.mode-cards{grid-template-columns:1fr}.diff-cards{gap:6px}.diff-card{padding:10px 5px;gap:5px}.diff-desc{font-size:6px;line-height:1.5}.hero-pick,.match-grid,.arena-grid{grid-template-columns:1fr 1fr}.panel h2{font-size:18px}.mp-actions,.lobby-teams{grid-template-columns:1fr}.lobby-teams .roster-vs{justify-self:center}.code-badge{flex-wrap:wrap;gap:8px}.code-badge b{font-size:16px;letter-spacing:4px}.lobby-arena-grid{grid-template-columns:repeat(2,1fr)}}.main-card:focus-visible,.main-row:focus-visible,.pxswitch:focus-visible,.lang-btn:focus-visible,.tut-skip:focus-visible,.tut-next:focus-visible,.contact-card:focus-visible,.link-btn:focus-visible,.nav-btn:focus-visible,.mode-card:focus-visible,.diff-card:focus-visible,.match-btn:focus-visible,.hero-btn:focus-visible,.arena-card:focus-visible,#startBtn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.intro{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:20px;overflow:hidden;text-align:center;background:#04080b}.intro.out{animation:introOut .52s cubic-bezier(.4,0,.9,.5) forwards;pointer-events:none}@keyframes introOut{0%{opacity:1;transform:scale(1);filter:brightness(1)}60%{filter:brightness(1.35)}to{opacity:0;transform:scale(1.08);filter:brightness(1)}}.intro-sky{position:absolute;inset:-10%;pointer-events:none;background:radial-gradient(ellipse 52% 38% at 50% 26%,rgba(86,178,190,.4),transparent 72%),radial-gradient(ellipse 60% 42% at 50% 88%,rgba(150,106,44,.2),transparent 74%),radial-gradient(ellipse 80% 60% at 50% 50%,rgba(24,60,84,.34),transparent 78%),linear-gradient(180deg,#071219,#04080b 62%,#03060a);animation:skyBreathe 9s ease-in-out infinite alternate}.intro-sky:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 62% 62% at 50% 44%,transparent 40%,rgba(2,5,8,.72) 100%)}@keyframes skyBreathe{0%{transform:scale(1) translateY(0);opacity:.9}to{transform:scale(1.08) translateY(-1.5%);opacity:1}}.intro-rays{position:absolute;inset:-30% -30% 20%;pointer-events:none;opacity:.09;background:repeating-linear-gradient(98deg,rgba(255,236,186,.85) 0px,rgba(255,236,186,.85) 3px,transparent 3px,transparent 72px);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 42%,transparent 74%);-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 42%,transparent 74%);animation:raySweep 18s linear infinite}@keyframes raySweep{0%{transform:translate(-72px)}to{transform:translate(0)}}.intro-grid{position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:6px 6px;mask-image:radial-gradient(ellipse 75% 70% at 50% 45%,#000 20%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 45%,#000 20%,transparent 85%)}.intro-stage{position:relative;display:grid;justify-items:center;gap:12px;max-width:560px}.intro-stage.hidden{display:none}.intro:not(.play) .st-line,.intro:not(.play) .splash-rule,.intro:not(.play) .splash-tagline,.intro:not(.play) .splash-badge,.intro:not(.play) .splash-by,.intro:not(.play) .splash-avatar,.intro:not(.play) .splash-link,.intro:not(.play) .intro-hint{opacity:0}.splash-title{display:grid;gap:2px;font-size:clamp(30px,10vw,68px);line-height:1.05;letter-spacing:5px;color:var(--gold);text-shadow:5px 5px 0 #000,0 0 34px rgba(232,184,74,.5),0 0 68px rgba(232,184,74,.25)}.st-line{display:block}.intro.play .st-line{animation:splashDrop .62s cubic-bezier(.2,.9,.28,1.35) both}.st-line-2{color:#f2f8ff;text-shadow:5px 5px 0 #000,0 0 30px rgba(180,226,255,.5),0 0 62px rgba(120,190,255,.22)}.intro.play .st-line-2{animation-delay:.14s}@keyframes splashDrop{0%{opacity:0;transform:translateY(-26px) scale(.86)}70%{transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.splash-rule{width:min(320px,72%);height:3px;background:linear-gradient(90deg,transparent,var(--gold) 18%,#fff2c0 50%,var(--gold) 82%,transparent);transform-origin:center}.intro.play .splash-rule{animation:ruleDraw .55s cubic-bezier(.2,.9,.3,1.1) .34s both}@keyframes ruleDraw{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.splash-tagline{font-size:clamp(7px,1.6vw,9px);letter-spacing:3px;color:#9ec4b0}.intro.play .splash-tagline{animation:badgeRise .5s ease-out .44s both}.splash-badge{margin-top:2px;padding:8px 15px;font-size:clamp(8px,1.7vw,10px);letter-spacing:2px;color:#0d1a12;background:linear-gradient(180deg,#8ff0b4,#34a86a);border:3px solid #000;box-shadow:0 4px #1c5c38,0 0 26px #50e29659}.intro.play .splash-badge{animation:badgeRise .5s ease-out .54s both,badge-pulse 2.6s ease-in-out 1.2s infinite}@keyframes badgeRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.splash-by{margin-top:14px;font-size:7px;letter-spacing:4px;color:#55706a}.intro.play .splash-by{animation:badgeRise .5s ease-out .62s both}.splash-avatar{position:relative;display:grid;place-items:center;padding:7px;line-height:0;background:#0b1319;border:4px solid #000;box-shadow:inset 0 0 0 3px var(--gold),0 0 0 3px #0b1319,0 0 46px #e8b84a4d,0 8px #00000073}.intro.play .splash-avatar{animation:avatarIn .7s cubic-bezier(.2,.9,.28,1.3) .7s both}.splash-avatar:after{content:"";position:absolute;inset:-22px;z-index:-1;background:radial-gradient(circle,rgba(232,184,74,.22),transparent 68%)}.intro.play .splash-avatar:after{animation:lampPulse 3.4s ease-in-out infinite}@keyframes lampPulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}.splash-avatar .pix,.pix-avatar-img{display:block;image-rendering:pixelated}@keyframes avatarIn{0%{opacity:0;transform:scale(.55) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}.splash-link{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;font-size:clamp(9px,1.9vw,12px);color:#eaf4ff;text-decoration:none;background:linear-gradient(180deg,#123a5e,#0a2338);border:3px solid #000;box-shadow:inset 0 0 0 2px #2f6fa8,0 4px #061626;transition:color .15s ease,box-shadow .15s ease,transform .12s ease}.intro.play .splash-link{animation:badgeRise .5s ease-out .88s both}.splash-link:hover,.splash-link:focus-visible{color:#fff;box-shadow:inset 0 0 0 2px #61b6f5,0 4px #061626,0 0 26px #3c96e680;transform:translateY(-2px)}.splash-link:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #61b6f5,0 1px #061626}.sl-mark{display:grid;place-items:center;line-height:0}.intro-hint{margin-top:8px;font-size:7px;letter-spacing:2px;color:#55706a}.intro.play .intro-hint{animation:hintFade 1.8s ease-in-out 1.4s infinite}@keyframes hintFade{0%,to{opacity:.45}50%{opacity:1}}@media(max-height:760px){.intro-stage{gap:8px}.splash-title{font-size:clamp(24px,7vh,44px)}.splash-by{margin-top:6px}.splash-avatar{padding:5px}.splash-avatar .pix,.pix-avatar-img{width:96px;height:96px}.splash-badge{padding:6px 12px}.splash-link{padding:8px 14px}}@media(max-height:560px){.splash-tagline,.splash-by,.intro-hint{display:none}.splash-avatar .pix,.pix-avatar-img{width:64px;height:64px}}.intro.no-motion,.intro.no-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important}.panel-main{position:relative;width:min(680px,95%);padding:26px 24px 22px;overflow:visible;background:linear-gradient(180deg,#2e5258f5,#0e1c22fc);border:4px solid #05090c;box-shadow:0 0 0 3px var(--gold) inset,0 0 0 6px #05090ce6,0 0 56px 10px #e8b84a29,0 18px #00000059;animation:mainIn .5s cubic-bezier(.2,.9,.3,1.15)}@keyframes mainIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.main-crest{position:absolute;left:50%;top:-6%;z-index:-1;width:70%;height:46%;transform:translate(-50%);pointer-events:none;background:radial-gradient(ellipse at 50% 40%,rgba(232,184,74,.34),transparent 68%);animation:lampPulse 4.2s ease-in-out infinite}.main-welcome{margin-bottom:8px;font-size:clamp(8px,1.8vw,11px);letter-spacing:2px;color:#b6e0c6;text-transform:none}.main-title{display:flex;justify-content:center;gap:clamp(10px,2.4vw,22px);margin-bottom:10px;font-size:clamp(22px,5.4vw,40px);line-height:1.05;letter-spacing:3px;color:var(--gold);text-shadow:4px 4px 0 #000,0 0 26px rgba(232,184,74,.35)}.main-title .mt-line{animation:splashDrop .5s cubic-bezier(.2,.9,.28,1.3) both}.main-title .mt-line-2{color:#f2f8ff;animation-delay:.1s;text-shadow:4px 4px 0 #000,0 0 22px rgba(180,226,255,.4)}.main-rule{display:block;width:min(280px,62%);height:3px;margin:0 auto 12px;background:linear-gradient(90deg,transparent,var(--gold) 20%,#fff2c0 50%,var(--gold) 80%,transparent);animation:ruleDraw .5s cubic-bezier(.2,.9,.3,1.1) .24s both}.main-blurb{margin-bottom:18px;font-size:clamp(7px,1.6vw,9px);color:#b8ccc0}.main-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.main-card{position:relative;padding:18px 12px;overflow:hidden;transition:transform .16s cubic-bezier(.2,.9,.3,1.2),box-shadow .16s ease,background .16s ease}.main-card .mode-icon{font-size:24px}.main-card:after{content:"";position:absolute;inset:0 auto 0 -60%;width:45%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,240,200,.14),transparent);transition:transform .55s ease;transform:translate(0)}.main-card:hover:after{transform:translate(360%)}.main-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--gold),0 6px #0006,0 0 30px #e8b84a38}.main-rows{display:grid;gap:8px;margin-bottom:16px}.main-row{position:relative;display:flex;align-items:center;gap:10px;padding:11px 12px;font-family:inherit;text-align:left;color:#d7e6dc;background:#16262c;border:3px solid #000;box-shadow:inset 0 0 0 2px #2c4a44;cursor:pointer;transition:transform .14s cubic-bezier(.2,.9,.3,1.2),box-shadow .14s ease,background .14s ease}.main-row:hover{background:#1d3238;box-shadow:inset 0 0 0 2px var(--gold);transform:translate(3px)}.mr-icon{flex:0 0 auto;width:24px;font-size:14px;text-align:center;color:var(--lantern)}.mr-body{display:grid;gap:5px;min-width:0}.mr-body b{font-size:10px;letter-spacing:1px;color:var(--foam)}.mr-body i{font-size:6px;font-style:normal;line-height:1.7;color:#8eaa9c}.main-row.soon,.mode-card.soon{cursor:not-allowed;opacity:.5}.main-row.soon:hover{transform:none;background:#16262c;box-shadow:inset 0 0 0 2px #4a4a2c}.mode-card.soon:hover{transform:none;box-shadow:inset 0 0 0 2px #4a4a2c}.main-row.soon:hover .mode-badge.sm,.mode-card.soon:hover .mode-badge.sm{background:var(--gold);color:#1a2018}.main-row .mode-badge.sm{margin-inline-start:auto;flex:0 0 auto}.mode-card.soon .mode-badge.sm{position:absolute;top:6px;right:6px}.mode-card{position:relative}.link-btn{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;text-decoration:none;transition:color .15s ease,box-shadow .15s ease,transform .12s ease}.link-btn:hover{color:var(--lantern);transform:translateY(-1px);box-shadow:0 3px #2a3a40,inset 0 0 0 2px var(--gold)}.lb-mark{display:grid;place-items:center;line-height:0}.lb-body{display:grid;gap:4px;text-align:left}.lb-body i{font-size:6px;font-style:normal;letter-spacing:1px;color:#8eaa9c}.lb-body b{font-size:10px;letter-spacing:.5px;color:var(--foam)}.link-btn:hover .lb-body b{color:var(--lantern)}.overlay:has(#panelMain:not(.hidden)){background:radial-gradient(ellipse 46% 52% at 50% 45%,rgba(3,8,12,.86) 30%,rgba(3,8,12,.34) 72%,transparent 100%),radial-gradient(ellipse 80% 60% at 50% 8%,rgba(120,190,210,.16),transparent 70%),radial-gradient(ellipse 90% 45% at 50% 100%,rgba(180,130,60,.16),transparent 72%),#050a0e47;backdrop-filter:blur(1.5px)}.settings-overlay,.pause-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 50% 35%,rgba(60,120,140,.28),transparent 55%),#060c11db;backdrop-filter:blur(2px);animation:overlayIn .22s ease-out}.settings-overlay{z-index:7}.pause-overlay{z-index:6}.settings-overlay.hidden,.pause-overlay.hidden{display:none}.pause-overlay.online{background:#060c1194;backdrop-filter:none}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.settings-panel,.pause-panel{animation:panelPopIn .32s cubic-bezier(.2,.9,.3,1.2)}.settings-panel{width:min(520px,96%);text-align:left}.settings-panel .eyebrow,.settings-panel h2,.settings-panel>.blurb{text-align:center}.set-group{display:grid;gap:9px;margin-bottom:16px;padding:12px;background:#0a141a8c;border:3px solid #000;box-shadow:inset 0 0 0 2px #24413c}.set-legend{font-size:7px;letter-spacing:2px;color:var(--gold)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.set-label{font-size:9px;color:var(--foam)}.set-note{font-size:6px;line-height:1.8;color:#7d968c}.set-note.hidden{display:none}.pxswitch{display:inline-flex;align-items:center;gap:8px;padding:0;font-family:inherit;background:none;border:none;cursor:pointer}.pxs-track{position:relative;display:block;width:42px;height:20px;background:#0e181e;border:3px solid #000;box-shadow:inset 0 0 0 2px #43302c;transition:box-shadow .16s ease,background .16s ease}.pxs-knob{position:absolute;top:1px;left:1px;width:14px;height:12px;background:linear-gradient(180deg,#8a9aa2,#5a6a72);transition:transform .16s cubic-bezier(.3,.9,.35,1.25),background .16s ease}.pxswitch.on .pxs-track{background:#14302a;box-shadow:inset 0 0 0 2px #2f7a5a}.pxswitch.on .pxs-knob{transform:translate(20px);background:linear-gradient(180deg,#9ff0b8,#3d9a66)}.pxswitch:hover .pxs-track{box-shadow:inset 0 0 0 2px var(--gold)}.pxs-text{min-width:46px;font-size:7px;letter-spacing:1px;color:#8eaa9c}.pxswitch.on .pxs-text{color:#7ee3a8}.lang-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.lang-btn{display:grid;gap:5px;padding:10px 8px;font-family:inherit;text-align:center;background:#16262c;border:3px solid #000;box-shadow:inset 0 0 0 2px #2c4a44;cursor:pointer;transition:transform .12s ease,box-shadow .14s ease,background .14s ease}.lang-btn b{font-size:9px;color:var(--foam)}.lang-btn i{font-size:6px;font-style:normal;letter-spacing:2px;color:#7d968c}.lang-btn:hover{background:#1d3238;transform:translateY(-1px)}.lang-btn.active{background:linear-gradient(180deg,#2a4a3e,#1b3128);box-shadow:inset 0 0 0 2px var(--gold)}.lang-btn.active b{color:var(--gold)}.lang-btn.active i{color:var(--lantern)}.contact-card{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:9px;color:#cfe0d6;text-decoration:none;background:#0e181e;border:3px solid #000;box-shadow:inset 0 0 0 2px #23404c;transition:color .15s ease,box-shadow .15s ease,transform .12s ease}.contact-card:hover{color:var(--lantern);box-shadow:inset 0 0 0 2px var(--gold);transform:translateY(-1px)}.cc-mark{display:grid;place-items:center;line-height:0}.pause-panel{width:min(420px,94%)}.pause-actions{display:grid;gap:9px;margin:14px 0 10px}.pause-hint{font-size:6px;letter-spacing:1px;color:#55706a}.pause-hint kbd{font-family:inherit;font-size:6px;padding:2px 4px;background:#0e181e;border:2px solid #000}.install-gate{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:calc(var(--safe-t, 0px) + 14px) calc(var(--safe-r, 0px) + 14px) calc(var(--safe-b, 0px) + 14px) calc(var(--safe-l, 0px) + 14px);background:radial-gradient(circle at 50% 32%,rgba(60,120,140,.3),transparent 58%),#050a0ee6;backdrop-filter:blur(2px);animation:overlayIn .22s ease-out}.install-gate.hidden{display:none}.install-panel{width:min(400px,100%);padding:18px 18px 14px;animation:panelPopIn .34s cubic-bezier(.2,.9,.3,1.2)}.ip-mark{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 12px;color:var(--gold);background:#16262c;border:3px solid #000;box-shadow:inset 0 0 0 2px #2c4a44}.install-panel .eyebrow{margin-bottom:8px}.install-panel h2{font-size:15px;line-height:1.5;margin-bottom:10px}.install-panel .blurb{font-size:8px;line-height:1.9;margin-bottom:14px}.ip-steps{display:grid;gap:8px;margin:0 0 14px;padding:0;counter-reset:ipstep;list-style:none;text-align:left}.ip-steps.hidden{display:none}.ip-step{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:9px 10px;background:#0a141a8c;border:3px solid #000;box-shadow:inset 0 0 0 2px #24413c}.ip-step:before{counter-increment:ipstep;content:counter(ipstep);font-size:8px;color:var(--gold)}.ip-step-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--lantern);background:#0e181e;border:2px solid #000}.ip-step-text{font-size:7px;line-height:1.9;color:#d7e6dc}.ip-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:0}.ip-foot{margin-top:10px;font-size:6px;line-height:1.8;letter-spacing:1px;color:#55706a}.ip-key{display:inline-grid;place-items:center;width:15px;height:15px;vertical-align:-4px;color:#7d968c;background:#0e181e;border:2px solid #000}.tut-ui{position:absolute;inset:0;z-index:5;pointer-events:none}.tut-ui.hidden{display:none}.tut-card{position:absolute;left:50%;top:clamp(62px,11vh,104px);transform:translate(-50%);width:min(430px,88%);padding:12px 14px 10px;text-align:center;background:#0a141ae6;border:3px solid #000;box-shadow:inset 0 0 0 2px #3a5a48,0 4px #0006}.tut-card.in{animation:tutIn .34s cubic-bezier(.2,.9,.3,1.3)}@keyframes tutIn{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.tut-card.done{box-shadow:inset 0 0 0 2px var(--gold),0 0 28px 2px #e8b84a4d;animation:tutDone .4s ease-out}@keyframes tutDone{0%{transform:translate(-50%) scale(1)}35%{transform:translate(-50%) scale(1.035)}to{transform:translate(-50%) scale(1)}}.tut-step{display:block;margin-bottom:7px;font-size:6px;letter-spacing:2px;color:#7d968c}.tut-title{display:block;margin-bottom:8px;font-size:12px;letter-spacing:2px;color:var(--gold);text-shadow:2px 2px 0 #000}.tut-card.done .tut-title{color:#7ee3a8}.tut-hint{font-size:8px;line-height:2;color:#d7e6dc}.tut-hint kbd,.tut-hint b{font-family:inherit;font-size:8px;color:var(--lantern)}.tut-hint kbd{padding:2px 5px;color:var(--foam);background:#0e181e;border:2px solid #000}.tut-track{display:block;height:6px;margin-top:10px;background:#0d181e;border:2px solid #000;overflow:hidden}.tut-track i{display:block;height:100%;width:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(180deg,#f0d070,#d09040);transition:transform .12s linear}.tut-card.done .tut-track i{background:linear-gradient(180deg,#9ff0b8,#3d9a66)}.tut-next{margin-top:10px;padding:7px 12px;font-family:inherit;font-size:7px;color:#d7e6dc;background:#1a2a30;border:3px solid #000;box-shadow:0 3px #2a3a40;cursor:pointer;pointer-events:auto}.tut-next.hidden{display:none}.tut-next:hover{color:var(--lantern)}.tut-skip{position:absolute;left:50%;bottom:clamp(38px,11vh,84px);transform:translate(-50%);padding:13px 26px;font-family:inherit;font-size:10px;letter-spacing:1px;color:var(--gold);background:#0a1218e6;border:3px solid #000;box-shadow:inset 0 0 0 2px var(--gold),0 4px #00000073;cursor:pointer;pointer-events:auto;transition:transform .12s ease,box-shadow .14s ease,color .14s ease}.tut-skip:hover{color:#1a2018;background:linear-gradient(180deg,#f0d070,#d09040);box-shadow:inset 0 0 0 2px #000,0 4px #6a4820;transform:translate(-50%) translateY(-1px)}.tut-skip:active{transform:translate(-50%) translateY(2px);box-shadow:inset 0 0 0 2px #000,0 2px #6a4820}@media(max-width:720px){.main-modes{grid-template-columns:1fr}.tut-card{top:clamp(56px,10vh,92px);padding:10px 11px 9px}.tut-title{font-size:10px}.tut-hint{font-size:7px;line-height:1.9}.tut-hint kbd,.tut-hint b{font-size:7px}.tut-skip{font-size:9px;padding:11px 18px;bottom:34px}.set-row{flex-wrap:wrap}}@media(max-height:620px){.tut-card{top:54px}.tut-skip{bottom:30px;padding:9px 16px}.splash-avatar .pix,.pix-avatar-img{width:52px;height:52px}}@media(prefers-reduced-motion:reduce){.st-line,.splash-badge,.splash-avatar,.splash-link,.intro-hint,.splash-rule,.splash-tagline,.splash-by,.intro-sky,.intro-rays,.main-title .mt-line,.main-rule,.panel-main,.settings-panel,.pause-panel,.tut-card.in,.tut-card.done,.install-panel,#panelResult{animation:none!important}.intro.play .st-line,.intro.play .splash-rule,.intro.play .splash-tagline,.intro.play .splash-badge,.intro.play .splash-by,.intro.play .splash-avatar,.intro.play .splash-link,.intro.play .intro-hint{opacity:1;transform:none}.intro,.intro.out,.settings-overlay,.pause-overlay,.install-gate{animation-duration:.01ms!important}}:root{--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-x: max(var(--safe-l), var(--safe-r));--tc-cell: clamp(54px, 16vmin, 84px);--tc-gap: clamp(7px, 2vmin, 13px);--tc-stick-base: 108px;--tc-stick-knob: 44px;--tc-sys-size: 38px;--tc-sys-gap: 7px;--oct: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%)}html[data-device=handheld] #stage{height:var(--app-h, 100dvh);width:var(--app-w, 100vw)}html[data-device=handheld] #game{position:absolute;inset:0;cursor:none;touch-action:none}html[data-pointer=touch] #game{cursor:none;touch-action:none}html[data-device=handheld] body:before{display:none}html[data-device=handheld] .overlay,html[data-device=handheld] .settings-overlay,html[data-device=handheld] .pause-overlay{backdrop-filter:none;-webkit-backdrop-filter:none}html[data-device=handheld] .overlay{background:#060c11f0}html[data-device=handheld] .pause-overlay.online{background:#060c11b8}html[data-device=handheld] #stage{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,#05090c}html[data-pointer=touch] .battle-hud{padding:calc(var(--safe-t) + 5px) calc(var(--safe-r) + var(--tc-sys-size) + var(--tc-sys-gap) * 2) 0 calc(var(--safe-l) + 5px)}html[data-pointer=touch] .footer.in-match{display:none}html[data-device=handheld] .footer{padding-bottom:calc(var(--safe-b) + 6px);padding-left:calc(var(--safe-l) + 10px);padding-right:calc(var(--safe-r) + 10px)}html[data-pointer=touch] .fs-btn{top:calc(var(--safe-t) + var(--tc-sys-gap));right:calc(var(--safe-r) + var(--tc-sys-gap));bottom:auto;width:var(--tc-sys-size);height:var(--tc-sys-size);font-size:14px}.rotate-gate{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at 50% 45%,#0d1a22,#04080b 70%)}.rotate-gate.hidden{display:none}.rg-card{display:grid;justify-items:center;gap:18px;max-width:320px}.rg-phone{position:relative;display:block;width:54px;height:92px;border:4px solid var(--gold);background:#0d1a22;box-shadow:inset 0 0 0 2px #000;animation:rgTip 2.4s ease-in-out infinite}.rg-phone i{position:absolute;left:50%;bottom:5px;width:18px;height:3px;transform:translate(-50%);background:var(--gold)}@keyframes rgTip{0%,30%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(-90deg)}}.rg-title{font-size:13px;line-height:1.6;letter-spacing:1px;color:var(--gold);text-shadow:3px 3px 0 #000}.rg-hint{font-size:8px;line-height:1.9;color:#9ec4b0}@media(prefers-reduced-motion:reduce){.rg-phone{animation:none;transform:rotate(-90deg)}.pk{animation:none}.tc-btn.charging:after{animation:none}}.touch-ui{position:absolute;inset:0;z-index:5;pointer-events:none;transition:opacity .35s ease}.touch-ui.hidden{display:none}.touch-ui.idle{opacity:.42}.touch-ui.collapsed .tc-stick,.touch-ui.collapsed .tc-actions{display:none}.tc-stick{position:absolute;left:0;bottom:0;width:min(44%,300px);height:min(66%,250px);pointer-events:auto;touch-action:none}.tc-stick-base,.tc-stick-knob{position:absolute;left:0;top:0;display:block;pointer-events:none;opacity:.34;transition:opacity .16s ease}.tc-stick-knob{opacity:.5}.tc-stick.active .tc-stick-base,.tc-stick.active .tc-stick-knob{opacity:1;transition:opacity .1s ease}.tc-stick-base{width:var(--tc-stick-base);height:var(--tc-stick-base);margin:calc(var(--tc-stick-base) / -2) 0 0 calc(var(--tc-stick-base) / -2);border-radius:50%;background:radial-gradient(circle,#0c1a2280,#0c1a2229 70%);box-shadow:inset 0 0 0 3px #000000b3,inset 0 0 0 5px #6a8a7280}.tc-stick-knob{width:var(--tc-stick-knob);height:var(--tc-stick-knob);border-radius:50%;background:#182c38f0;box-shadow:inset 0 0 0 3px #000,inset 0 0 0 5px var(--gold),0 0 12px #e8b84a59;transform:translate(-50%,-50%)}.tc-actions{position:absolute;right:calc(var(--safe-r) + 10px);bottom:calc(var(--safe-b) + 10px);display:grid;grid-template-columns:repeat(2,var(--tc-cell));grid-template-rows:repeat(3,var(--tc-cell));gap:var(--tc-gap);pointer-events:none}.tc-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;padding:0;font-family:inherit;color:#cfe4d6;background:transparent;border:0;pointer-events:auto;touch-action:none;cursor:pointer;transition:transform .06s ease,color .12s ease}.tc-face{position:absolute;inset:0;background:#000;clip-path:var(--oct)}.tc-face:before{content:"";position:absolute;inset:3px;background:linear-gradient(180deg,#2a484eeb,#101e26f2);clip-path:var(--oct)}.tc-btn[data-tone=storm]{color:#cfe9f8}.tc-btn[data-tone=storm] .tc-face:before{background:linear-gradient(180deg,#22425ceb,#0e1c28f2)}.tc-btn[data-tone=util]{color:#b8d0c4}.tc-btn[data-tone=util] .tc-face:before{background:linear-gradient(180deg,#1e3034e6,#0d181ef2)}.tc-primary{width:calc(var(--tc-cell) + var(--tc-gap));height:calc(var(--tc-cell) + var(--tc-gap));justify-self:end;align-self:end;color:#fff4d0}.tc-primary .tc-face:before{background:linear-gradient(180deg,#604a1af2,#261c0cf5)}.tc-glyph,.tc-label,.tc-sub{position:relative}.tc-glyph{display:grid;place-items:center;line-height:0}.tc-label{font-size:7px;line-height:1;letter-spacing:0;color:inherit;opacity:.72;max-width:94%;overflow:hidden;white-space:nowrap}.tc-sub{margin-top:1px;padding:0 3px;font-size:6px;line-height:1.35;color:var(--gold);background:#060c118c;opacity:.9;max-width:100%;overflow:hidden;white-space:nowrap}.tc-btn.down{transform:scale(.94);color:var(--gold)}.tc-btn.down .tc-sub{opacity:1}.tc-btn.down .tc-face:before{background:linear-gradient(180deg,#e8b84a6b,#3c2c10f2)}.tc-btn.charging:after{content:"";position:absolute;inset:-5px;border:3px solid var(--gold);border-radius:50%;opacity:.85;animation:tcCharge .7s steps(2,end) infinite}@keyframes tcCharge{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.1);opacity:.4}}.tc-aim-arrow{position:absolute;left:50%;top:50%;width:calc(var(--tc-cell) * .78);height:4px;transform-origin:0 50%;transform:rotate(var(--aim-a, 0deg));background:linear-gradient(90deg,rgba(255,215,94,0),var(--gold));opacity:0;pointer-events:none}.tc-btn.aiming .tc-aim-arrow{opacity:.9}.tc-sys{position:absolute;top:calc(var(--safe-t) + var(--tc-sys-gap) + var(--tc-sys-size) + var(--tc-sys-gap));right:calc(var(--safe-r) + var(--tc-sys-gap));display:flex;flex-direction:column;gap:var(--tc-sys-gap);pointer-events:none}.tc-sys-btn{display:grid;place-items:center;width:var(--tc-sys-size);height:var(--tc-sys-size);padding:0;color:#9bb0a4;background:#091117d1;border:2px solid #000;box-shadow:inset 0 0 0 1px #3a5a48;pointer-events:auto;cursor:pointer}.tc-sys-btn:active{color:var(--gold)}.touch-ui.collapsed #tcHide{color:#55696a}.pk{position:absolute;left:0;right:0;bottom:0;z-index:8;display:grid;gap:6px;padding:8px calc(var(--safe-r) + 10px) calc(var(--safe-b) + 8px) calc(var(--safe-l) + 10px);background:linear-gradient(180deg,#0a141af0,#060c11fc);border-top:3px solid #000;box-shadow:0 -2px #3a5a48,0 -18px 34px #00000080;touch-action:none;animation:pkRise .16s ease-out}.pk.hidden{display:none}@keyframes pkRise{0%{transform:translateY(60%);opacity:0}}.pk-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.pk-title{font-size:6px;letter-spacing:1px;color:#8eaa9c}.pk-echo{min-height:14px;font-size:11px;letter-spacing:2px;color:var(--gold);text-shadow:2px 2px 0 #000;overflow:hidden;white-space:nowrap}.pk-echo:after{content:"_";animation:pkCaret 1s steps(2,end) infinite}.pk-echo.empty{color:#55696a}@keyframes pkCaret{50%{opacity:0}}.pk-close{width:24px;height:24px;font-family:inherit;font-size:10px;color:#9bb0a4;background:#091117e6;border:2px solid #000;cursor:pointer}.pk-keys{display:grid;gap:5px;justify-items:center}.pk-row{display:flex;gap:5px}.pk-key{display:grid;place-items:center;width:clamp(26px,6.4vw,42px);height:clamp(24px,5.2vh,36px);font-family:inherit;font-size:10px;color:var(--foam);background:linear-gradient(180deg,#2a484e,#16262e);border:2px solid #000;box-shadow:inset 0 0 0 1px #3a5a48;cursor:pointer;touch-action:none}.pk-key:active{color:#0d181e;background:var(--gold)}.pk-keys[data-mode=numeric] .pk-key{width:clamp(44px,11vw,68px);height:clamp(26px,6vh,40px);font-size:13px}.pk-space{width:clamp(52px,13vw,96px)}.pk-done{color:#06120c;background:linear-gradient(180deg,#7fe0a8,#3f9c68);box-shadow:inset 0 0 0 1px #b8f5cf}.pk-back{color:#ffd0c8}.pk-shift{color:#c8d8e8}.pk-shift.on{color:#0d181e;background:var(--gold);box-shadow:inset 0 0 0 1px #ffe7a0}html[data-device=handheld][data-keyboard=on] .overlay{--menu-pad-b: var(--pk-h, 46vh)}html[data-device=handheld] .overlay,html[data-device=handheld] .settings-overlay{padding:calc(var(--safe-t) + 16px) calc(var(--safe-x) + 16px) var(--menu-pad-b, calc(var(--safe-b) + 16px)) calc(var(--safe-x) + 16px);background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,radial-gradient(ellipse 70% 60% at 50% 0%,rgba(90,150,170,.16),transparent 70%),linear-gradient(180deg,#2a484ef7,#0e1c22fc)}html[data-device=handheld] .settings-overlay{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,radial-gradient(ellipse 70% 60% at 50% 0%,rgba(90,150,170,.16),transparent 70%),linear-gradient(180deg,#264248,#0c181e)}html[data-device=handheld] .overlay:has(#panelMain:not(.hidden)){background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 8px,radial-gradient(ellipse 80% 60% at 50% 4%,rgba(120,190,210,.18),transparent 70%),radial-gradient(ellipse 90% 45% at 50% 100%,rgba(180,130,60,.16),transparent 72%),linear-gradient(180deg,#2e5258f7,#0c181efc);backdrop-filter:none}html[data-device=handheld] .overlay .panel,html[data-device=handheld] .settings-panel{padding:0;background:none;border:0;box-shadow:none}html[data-device=handheld] #panelResult.win,html[data-device=handheld] #panelResult.lose{box-shadow:none}html[data-device=handheld] .main-crest{opacity:.5}html[data-device=handheld] .panel{max-height:none;overflow:visible;transform:translateY(var(--fit-y, 0px)) scale(var(--fit, 1));transform-origin:top center;width:min(760px,calc(100% / var(--fit, 1)))}html[data-device=handheld] .pause-panel,html[data-device=handheld] .settings-panel,html[data-device=handheld] .install-panel{max-height:none;overflow:visible}html[data-device=handheld] .install-panel{width:min(460px,calc(100% / var(--fit, 1)))}@keyframes panelPopInFit{0%{opacity:0;transform:translateY(var(--fit-y, 0px)) scale(calc(var(--fit, 1) * .8))}65%{opacity:1;transform:translateY(var(--fit-y, 0px)) scale(calc(var(--fit, 1) * 1.045))}to{transform:translateY(var(--fit-y, 0px)) scale(var(--fit, 1))}}html[data-device=handheld] .settings-panel,html[data-device=handheld] .pause-panel,html[data-device=handheld] .install-panel,html[data-device=handheld] #panelResult,html[data-device=handheld] #panelResult.lose{animation-name:panelPopInFit}@keyframes mainInFit{0%{opacity:0;transform:translateY(calc(var(--fit-y, 0px) + 14px)) scale(calc(var(--fit, 1) * .96))}to{opacity:1;transform:translateY(var(--fit-y, 0px)) scale(var(--fit, 1))}}html[data-device=handheld] .panel-main{animation-name:mainInFit}@media(min-width:700px){html[data-device=handheld] .settings-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:start}html[data-device=handheld] .settings-panel>.eyebrow,html[data-device=handheld] .settings-panel>h2,html[data-device=handheld] .settings-panel>.blurb,html[data-device=handheld] .settings-panel>.panel-nav{grid-column:1 / -1}}@media(orientation:landscape)and (max-height:460px){html[data-device=handheld] .panel{padding:12px 14px}html[data-device=handheld] .panel h2{font-size:15px;margin-bottom:6px}html[data-device=handheld] .eyebrow,html[data-device=handheld] .blurb{margin-bottom:7px;line-height:1.6}html[data-device=handheld] .blurb{font-size:7px}html[data-device=handheld] .mode-cards,html[data-device=handheld] .hero-pick,html[data-device=handheld] .main-modes{gap:6px}html[data-device=handheld] .mode-cards{grid-template-columns:repeat(3,1fr)}html[data-device=handheld] .hero-pick{grid-template-columns:repeat(4,1fr)}html[data-device=handheld] .main-modes{grid-template-columns:repeat(2,1fr)}html[data-device=handheld] .panel-nav{margin-top:14px}html[data-device=handheld] .mode-card{padding:8px 5px;gap:4px}html[data-device=handheld] .mode-icon{font-size:15px}html[data-device=handheld] .mode-name{font-size:8px}html[data-device=handheld] .mode-desc{font-size:6px;line-height:1.4}html[data-device=handheld] .match-grid,html[data-device=handheld] .arena-grid{grid-template-columns:repeat(4,1fr);gap:5px}html[data-device=handheld] .diff-cards{grid-template-columns:repeat(3,1fr);gap:5px;margin:4px 0 2px}html[data-device=handheld] .diff-card{padding:7px 4px;gap:4px}html[data-device=handheld] .diff-pips i{width:7px;height:7px}html[data-device=handheld] .diff-name{font-size:8px}html[data-device=handheld] .diff-desc{font-size:6px;line-height:1.4}html[data-device=handheld] .diff-note{margin:5px 0 0;line-height:1.6}html[data-device=handheld] .controls{font-size:6px}html[data-device=handheld] .splash-title{font-size:clamp(22px,8vh,40px)}html[data-device=handheld] .intro-stage{gap:6px}html[data-device=handheld] .splash-avatar{padding:4px;border-width:3px}html[data-device=handheld] .splash-avatar .pix-avatar-img,html[data-device=handheld] .splash-avatar .pix{width:clamp(46px,17vh,86px);height:clamp(46px,17vh,86px)}.pk{gap:4px;padding-top:5px}.pk-key,.pk-keys[data-mode=numeric] .pk-key{height:26px}.pk-keys,.pk-row{gap:4px}.pk-echo{font-size:10px}html[data-device=handheld] .install-panel{width:min(560px,calc(100% / var(--fit, 1)));padding:12px 14px 10px}html[data-device=handheld] .ip-mark{width:32px;height:32px;margin-bottom:8px}html[data-device=handheld] .ip-steps{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}html[data-device=handheld] .ip-step{grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:start;gap:4px 7px;padding:7px 8px}html[data-device=handheld] .ip-step-text{grid-column:1 / -1;line-height:1.7}html[data-device=handheld] .ip-actions{grid-template-columns:1fr 1fr}html[data-device=handheld] .ip-foot{margin-top:7px}}html[data-pointer=touch] .nav-btn,html[data-pointer=touch] #startBtn,html[data-pointer=touch] .match-btn,html[data-pointer=touch] .diff-card,html[data-pointer=touch] .hero-btn,html[data-pointer=touch] .seat,html[data-pointer=touch] .code-copy,html[data-pointer=touch] .slot{min-height:40px}html[data-pointer=touch] .field input{min-height:40px;font-size:16px}@media(hover:none){.mode-card:hover:not(.soon),.diff-card:hover,.hero-btn:hover,.nav-btn:hover,.seat:hover,.fs-btn:hover{color:inherit}}
