@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2)format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/orbitron-latin-900-normal-DrIi7unX.woff2)format("woff2"),url(/assets/orbitron-latin-900-normal-BbJatbhp.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#05060d;--cyan:#22f3ff;--pink:#ff2e97;--lime:#7cff4d;--amber:#ffb020;--violet:#b388ff;--orange:#ff7a1a;--ice:#dff6ff;--coral:#ff3b5c;--text:#e8f4ff;--dim:#7d8db0;--red:#ff3b3b;--missile:#ff4d2e;--scissors:#ff7ad9;--flame:#ff7a1a;--ghost:#e8f4ff;--shield:#3dff7a;--dozer:#ff9f1c;--mine:#f5c518;--railgun:#ff3df0;--frost:#f53;--reflect:#a8f0ff;--armor:#2ee6c8;--blink:#b8ffd0;--scatter:#ff8a5c;--gravity:#d94dff;--lasso:#ffd27a;--rewind:#6e8bff;--overdrive:#c8ff5a;--decoy:#d0d8ff;--tailbomb:#f24;--brickfall:#d9773b;--emp:#f9f;--barrier:#8fb3c9;--graft:#5dff9e;--magnet:#4dc3ff;--hud-h:64px}html,body{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;background:var(--bg);height:100%;color:var(--text);margin:0;font-family:Orbitron,system-ui,sans-serif;overflow:hidden}#game{touch-action:none;position:fixed;inset:0}#hud{height:var(--hud-h);padding:0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left));pointer-events:none;visibility:hidden;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}#hud.on{visibility:visible}.side{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.side.p2{align-items:flex-end}.side .row{align-items:center;gap:12px;display:flex}.side.p2 .row{flex-direction:row-reverse}.board{letter-spacing:.1em;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;display:flex}.board .entry{opacity:.95;align-items:center;gap:8px;display:flex}.board .entry.dead{opacity:.35}.board .dot{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px}.board .score{text-align:right;min-width:2ch;font-weight:900}.board .item{color:var(--dim);text-align:right;min-width:7ch}.name{letter-spacing:.14em;text-shadow:0 0 8px,0 0 20px;font-weight:900}.hearts{text-shadow:0 0 8px;gap:2px;font-size:15px;display:flex}.heart.lost{opacity:.2;text-shadow:none}.effects{gap:4px;display:flex}.side.p2 .effects{flex-direction:row-reverse}.pips{gap:6px;display:flex}.pip{opacity:.45;border:2px solid;border-radius:50%;width:12px;height:12px}.points{letter-spacing:.1em;font-size:15px;font-weight:900}.pip.on{opacity:1;background:currentColor;box-shadow:0 0 10px}.boost{opacity:.9;border:1px solid;border-radius:4px;width:72px;height:8px;overflow:hidden}.boost .fill{background:currentColor;height:100%;box-shadow:0 0 10px}.center{flex-direction:column;align-items:center;gap:2px;display:flex}.ping{letter-spacing:.12em;min-height:12px;color:var(--dim);font-size:10px}.net{letter-spacing:.04em;color:var(--dim);white-space:nowrap;font-family:ui-monospace,Menlo,monospace;font-size:10px}.ping.slow{color:var(--dozer)}.ping.stalled{color:var(--red);animation:.6s ease-in-out infinite pulse}.clock{letter-spacing:.1em;text-shadow:0 0 10px #9fd8ff99;white-space:nowrap;font-size:26px;font-weight:700}.clock.long{font-size:17px}.clock.overtime{color:var(--red);text-shadow:0 0 12px var(--red);animation:.8s ease-in-out infinite pulse}#screens{inset:var(--hud-h) 0 0 0;pointer-events:none;text-align:center;place-items:center;padding:0 16px;display:grid;position:fixed}.big{text-shadow:0 0 18px,0 0 48px;font-size:clamp(64px,14vw,180px);font-weight:900;animation:.35s ease-out pop}.logo{letter-spacing:.06em;background:linear-gradient(90deg, var(--cyan), var(--pink));color:#0000;filter:drop-shadow(0 0 14px #ff2e978c);-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,9vw,120px);font-weight:900}.panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05060db8;border-radius:16px;padding:28px 40px}.controls{letter-spacing:.08em;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:28px;font-size:14px;display:grid}.controls h3{text-shadow:0 0 8px;margin:0 0 10px;font-size:16px}.controls .p1{color:var(--cyan)}.controls .p2{color:var(--pink)}.controls p{color:var(--text);margin:6px 0}.controls p.dim{color:var(--dim);font-size:12px}.selector+.selector{margin-top:10px}.selector .mode{text-shadow:0 0 10px;min-width:6em;font-size:16px;font-weight:900;display:inline-block}kbd{border:1px solid;border-radius:6px;min-width:1.6em;padding:2px 6px;font-family:inherit;font-size:12px;display:inline-block}.selector{letter-spacing:.14em;margin-top:22px;font-size:18px}.selector .wins{text-shadow:0 0 10px;min-width:1.6em;font-size:26px;font-weight:900;display:inline-block}.menu{letter-spacing:.14em;flex-direction:column;gap:8px;margin-top:22px;font-size:18px;display:flex}.menu .row{color:var(--dim);border-radius:10px;padding:6px 18px;transition:color .12s,background .12s}.menu .row kbd{visibility:hidden}.menu .row.active{color:var(--cyan);text-shadow:0 0 10px;background:#22f3ff14}.menu .row.active kbd{visibility:visible}.menu .mode,.menu .wins{min-width:5em;font-weight:900;display:inline-block}.menu .wins{min-width:1.6em;font-size:22px}.panel.form,.panel.lobby,.panel.games{pointer-events:auto}.name-input{border:1px solid var(--cyan);width:min(60vw,320px);color:var(--text);letter-spacing:.12em;text-align:center;text-transform:uppercase;background:#22f3ff0f;border-radius:10px;outline:none;margin:18px auto 0;padding:10px 14px;font-family:inherit;font-size:22px;display:block;box-shadow:0 0 14px #22f3ff59}.room-name-input{text-transform:lowercase}.room-name-input::placeholder{color:var(--dim);opacity:.6}.name-input.invalid{border-color:var(--red);box-shadow:0 0 14px #ff3b3b59}.form .dim{color:var(--dim);font-size:.7em}.form .problem{min-height:1.4em;color:var(--red)}.lobby .code{letter-spacing:.2em;color:var(--cyan);text-shadow:0 0 10px;font-size:1.4em;font-weight:900}.lobby .link{color:var(--dim);-webkit-user-select:text;user-select:text;justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.lobby .copy{border:1px solid var(--cyan);color:var(--cyan);letter-spacing:.14em;cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:11px}.lobby .copy:hover{background:#22f3ff1f}.lobby .seats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:24px;margin-top:24px;display:grid}.lobby .seat{letter-spacing:.1em;border:1px solid;border-radius:12px;padding:14px 10px;font-size:16px;font-weight:700}.lobby .seats.many{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lobby .seats.many .seat{padding:10px 8px;font-size:13px}.lobby .seat.empty{color:var(--dim);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;font-weight:400;display:flex}.lobby .seat[data-lobby]{cursor:pointer}.lobby .seat.active{outline:2px solid var(--cyan);outline-offset:2px;background:#22f3ff14}.lobby .seat.editing{outline:3px double var(--cyan);background:#22f3ff29}.lobby .seat .state{letter-spacing:.16em;opacity:.6;margin-top:8px;font-size:11px;display:block}.lobby .seat.ready .state{opacity:1;text-shadow:0 0 8px}.lobby .seat .dim{color:var(--dim);font-size:11px;font-weight:400}.caption{letter-spacing:.2em;color:var(--text);text-shadow:0 0 12px #9fd8ff99;font-size:clamp(16px,2.4vw,26px);animation:1.4s ease-in-out infinite blink}.hint{letter-spacing:.2em;margin-top:28px;animation:1.4s ease-in-out infinite blink}.small{color:var(--dim);letter-spacing:.12em;margin-top:12px;font-size:12px}.panel.keys{pointer-events:auto;min-width:min(640px,86vw)}.panel.keys h2{letter-spacing:.2em;margin:0 0 18px}.keymap{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.keycol h3{text-shadow:0 0 8px;margin:0 0 10px;font-size:16px}.bind{color:var(--dim);letter-spacing:.12em;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:4px 0;padding:6px 14px;font-size:14px;display:flex}.bind kbd{min-width:3.2em;color:var(--text);font-size:13px}.bind.active{color:var(--cyan);text-shadow:0 0 10px;background:#e8f4ff12}.bind.listening kbd{border-color:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:.9s ease-in-out infinite blink}.keycol .bind.active{color:inherit}.bind.reset{justify-content:center;margin-top:16px}.panel.keys .message{min-height:1.4em;color:var(--amber)}.install .share{color:var(--cyan);padding:0 4px;display:inline-block}#touch{inset:var(--hud-h) 0 0 0;pointer-events:none;visibility:hidden;touch-action:none;--touch-opacity:.35;position:fixed}#touch.on{pointer-events:auto;visibility:visible}#touch .zone{box-sizing:border-box;border:2px dashed #0000;border-radius:18px;transition:border-color .6s,box-shadow .15s;position:absolute}#touch .zone.hint{border-color:#e8f4ff59;transition:none}#touch .zone.left.held{box-shadow:inset 6px 0 18px -6px #22f3ff8c}#touch .zone.right.held{box-shadow:inset -6px 0 18px -6px #22f3ff8c}#touch .pad{box-sizing:border-box;color:var(--text);letter-spacing:.12em;opacity:var(--touch-opacity);background:#05060d73;border:2px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:900;transition:opacity 80ms;display:flex;position:absolute}#touch .pad.held{opacity:.8;box-shadow:0 0 18px}#touch .pad[hidden]{display:none}#touch .t-boost{color:var(--cyan)}#touch .t-fire .glyph{width:28px;height:28px}#touch .t-fire.empty .glyph{display:none}#touch .t-fire .glyph svg{width:100%;height:100%}#touch .t-fire.empty,#touch .t-select.empty{opacity:calc(var(--touch-opacity) * .5)}#touch .t-select .cycle{font-size:20px}#touch .t-select .count{font-size:10px}#touch .pad.small{border-radius:12px;font-size:16px}body.touch #screens .panel{pointer-events:auto}body.touch .menu .row{padding:10px 22px}body.touch .menu .row kbd{visibility:visible;padding:6px 12px;font-size:14px}body.touch #hud .slot[data-index]{pointer-events:auto}.taps{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.tap{border:1px solid var(--cyan);min-width:120px;min-height:48px;color:var(--cyan);letter-spacing:.16em;cursor:pointer;touch-action:manipulation;background:#22f3ff14;border-radius:12px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700}.tap:active{background:#22f3ff40}.portrait-card{z-index:20;background:var(--bg);color:var(--text);letter-spacing:.16em;text-align:center;touch-action:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:18px;display:none;position:fixed;inset:0}.portrait-card.on{display:flex}.portrait-card .rotate{color:var(--cyan);text-shadow:0 0 18px;font-size:64px}.safe-probe{visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed}body.touch #screens{-webkit-overflow-scrolling:touch;overflow-y:auto}.short-only{display:none}#hud:not(.on)~#screens{inset:0}body.touch #screens{place-items:safe center}@media (height<=560px){.logo{font-size:clamp(28px,5vw,44px)}body.touch .menu .row kbd{padding:1px 10px;font-size:12px}body.touch .menu .row{padding:3px 18px}.short-hide{display:none}.tap{min-height:40px;padding:6px 18px}.side .row{gap:6px}.slot{min-width:30px;padding:1px 3px;font-size:8px}.slot.locked{display:none}.clock{font-size:18px}.clock.long{font-size:12px}.panel{padding:12px 24px}.panel .controls{display:none}.short-only{display:block}.menu{gap:2px;margin-top:10px;font-size:15px}.hint,.taps{margin-top:12px}.small{margin-top:6px}}body.admin-page #game,body.admin-page #hud{display:none}body.admin-page #screens{pointer-events:auto;place-items:start center;inset:0;overflow-y:auto}.admin{text-align:left;width:min(960px,94vw);padding:28px 0 60px}.admin h1{letter-spacing:.2em;background:linear-gradient(90deg, var(--cyan), var(--pink));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:clamp(22px,3.5vw,34px)}.admin .lead{letter-spacing:.02em;max-width:70ch;color:var(--dim);margin:8px 0 4px;font-size:13px;line-height:1.55}.admin .status{letter-spacing:.02em;color:var(--dim);margin:8px 0 0;font-size:12px}.admin .status:empty{display:none}.admin .status.ok{color:var(--shield)}.admin .status.bad{color:var(--red)}.admin .row{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.admin .row>label{letter-spacing:.14em;color:var(--dim);font-size:11px}.admin input.token{border:1px solid var(--dim);width:260px;color:var(--text);background:#05060d99;border-radius:8px;margin-left:8px;padding:6px 8px;font-family:inherit;font-size:12px}.admin button,.admin a.back{border:1px solid var(--cyan);color:var(--cyan);letter-spacing:.14em;cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:11px;text-decoration:none}.admin button.publish{border-color:var(--shield);color:var(--shield)}.admin [hidden]{display:none!important}.admin button:disabled{opacity:.35;cursor:default}.admin .admin-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.admin .admin-head a.back{color:var(--dim);border:none;padding:0}.admin .admin-head a.back:hover{color:var(--cyan)}.admin .card{background:#22f3ff0a;border:1px solid #22f3ff59;border-radius:10px;margin:16px 0;padding:14px 16px}.admin .card-head{letter-spacing:.16em;color:var(--cyan);justify-content:space-between;gap:12px;font-size:11px;display:flex}.admin .card .summary{letter-spacing:.02em;color:var(--text);margin:10px 0 6px;font-size:13px;line-height:1.5}.admin .card .summary.pending{color:var(--amber)}.admin .card .list{color:var(--text);margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.7}.admin .card .list:empty{display:none}.admin .change-list .setting{color:var(--text)}.admin .change-list .was{color:var(--dim)}.admin .change-list .now{color:var(--amber);font-weight:700}.admin .card-head .dim{color:var(--dim)}.admin .card.changes{background:#ffb0200a;border-color:#ffb02066}.admin .card.changes .card-head>span:first-child{color:var(--amber)}.admin .card .actions{gap:10px;margin-top:12px;display:flex}.admin .card .token-saved{color:var(--dim);letter-spacing:.04em}.admin .card .token-row{margin:10px 0 4px}.admin button.link{color:var(--cyan);border:none;padding:0;text-decoration:underline}.admin details.more{letter-spacing:.14em;color:var(--dim);margin:10px 0;font-size:11px}.admin details.more summary{cursor:pointer;color:var(--cyan)}.admin .more-row{align-items:center;gap:12px;margin:10px 0;display:flex}.admin .more-row .dim{letter-spacing:.04em}.admin .panel-host{margin-top:16px}.admin textarea.snippet{box-sizing:border-box;border:1px solid var(--dim);width:100%;color:var(--text);resize:vertical;background:#05060d99;border-radius:8px;margin-top:6px;padding:8px 10px;font:12px/1.5 ui-monospace,Menlo,monospace;display:block}.admin .panel-host .lil-gui.root{--width:100%;width:100%}.small.tuned,.small.house-rules{color:var(--amber)}.version{color:var(--dim);letter-spacing:.12em;opacity:.7;-webkit-user-select:all;user-select:all;font-size:11px;position:absolute;bottom:10px;left:14px}.powers{pointer-events:auto;max-width:min(1100px,92vw);max-height:calc(100vh - var(--hud-h) - 32px);text-align:left;padding:22px 28px;overflow-y:auto}.powers::-webkit-scrollbar{width:12px}.powers::-webkit-scrollbar-track{background:linear-gradient(90deg,#0000 5px,#7d8db02e 5px 7px,#0000 7px);border-radius:6px;margin:16px 0}.powers::-webkit-scrollbar-thumb{background:linear-gradient(90deg, transparent 2px, #ffffffd9 2px, #ffffffd9 4px, transparent 4px) padding-box, linear-gradient(180deg, var(--cyan), var(--pink)) padding-box;border:3px solid #0000;border-radius:6px;box-shadow:0 0 8px #22f3ff8c,0 0 14px #ff2e9759}.powers::-webkit-scrollbar-thumb:hover{border-width:2px;box-shadow:0 0 10px #22f3ffd9,0 0 20px #ff2e9799}.powers::-webkit-scrollbar-thumb:active{border-width:2px;box-shadow:0 0 10px #22f3ffd9,0 0 20px #ff2e9799}.powers::-webkit-scrollbar-corner{background:0 0}@supports not selector(::-webkit-scrollbar){.powers{scrollbar-width:thin;scrollbar-color:var(--cyan) #7d8db01f}}.powers h2{letter-spacing:.12em;text-align:center;background:linear-gradient(90deg, var(--cyan), var(--pink));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:clamp(22px,3.5vw,34px)}.powers .lead{text-align:center;color:var(--dim);letter-spacing:.1em;margin:0 0 16px;font-size:12px}.powers .grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px 16px;display:grid}.power{background:#05060d99;border:1px solid;border-radius:12px;grid-template-columns:56px 1fr;align-content:start;gap:0 14px;padding:12px 14px;display:grid;box-shadow:inset 0 0 24px -12px}.power .glyph{background:var(--bg);border:2.5px solid;border-radius:12px;grid-row:span 3;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 0 12px}.power .glyph svg{width:34px;height:34px}.power h3{letter-spacing:.14em;text-shadow:0 0 8px;margin:0;font-size:15px}.power .stats{letter-spacing:.08em;opacity:.85;margin:4px 0 6px;font-size:11px}.power p{color:var(--text);letter-spacing:.02em;margin:0;font-size:12px;line-height:1.5}.power[data-kind=missile]{color:var(--missile)}.power[data-kind=scissors]{color:var(--scissors)}.power[data-kind=flame]{color:var(--flame)}.power[data-kind=ghost]{color:var(--ghost)}.power[data-kind=shield]{color:var(--shield)}.power[data-kind=dozer]{color:var(--dozer)}.power[data-kind=mine]{color:var(--mine)}.power[data-kind=railgun]{color:var(--railgun)}.power[data-kind=frost]{color:var(--frost)}.power[data-kind=reflect]{color:var(--reflect)}.power[data-kind=armor]{color:var(--armor)}.power[data-kind=blink]{color:var(--blink)}.power[data-kind=scatter]{color:var(--scatter)}.power[data-kind=gravity]{color:var(--gravity)}.power[data-kind=lasso]{color:var(--lasso)}.power[data-kind=rewind]{color:var(--rewind)}.power[data-kind=overdrive]{color:var(--overdrive)}.power[data-kind=decoy]{color:var(--decoy)}.power[data-kind=tailbomb]{color:var(--tailbomb)}.power[data-kind=brickfall]{color:var(--brickfall)}.power[data-kind=emp]{color:var(--emp)}.power[data-kind=barrier]{color:var(--barrier)}.power[data-kind=graft]{color:var(--graft)}.power[data-kind=magnet]{color:var(--magnet)}.power .beaten{letter-spacing:.08em;opacity:.75;grid-column:2;margin-top:6px;font-size:10px}.powers h4.group{letter-spacing:.3em;color:var(--text);opacity:.7;grid-column:1/-1;margin:6px 0 0;font-size:12px}.powers .footer{text-align:center;margin-top:16px}.banner-title{letter-spacing:.06em;text-shadow:0 0 16px,0 0 40px;font-size:clamp(36px,7vw,92px);font-weight:900;animation:.35s ease-out pop}.banner-detail{color:var(--text);letter-spacing:.08em;margin-top:12px;font-size:clamp(14px,2vw,22px)}.slots{gap:4px;display:flex}.side.p2 .slots{flex-direction:row-reverse}.slot{white-space:nowrap;letter-spacing:.08em;text-align:center;opacity:.3;border:1px solid;border-radius:6px;min-width:50px;padding:2px 5px;font-size:10px;font-weight:700}.slot.full{opacity:.7}.slot.locked{opacity:.12;border-style:dashed}.slot.selected,.slot.chip{opacity:1;text-shadow:0 0 8px;box-shadow:0 0 10px}.slot.selected{outline-offset:1px;outline:1px solid}.slot[data-kind=missile]{color:var(--missile)}.slot[data-kind=scissors]{color:var(--scissors)}.slot[data-kind=flame]{color:var(--flame)}.slot[data-kind=ghost]{color:var(--ghost)}.slot[data-kind=shield]{color:var(--shield)}.slot[data-kind=dozer]{color:var(--dozer)}.slot[data-kind=mine]{color:var(--mine)}.slot[data-kind=railgun]{color:var(--railgun)}.slot[data-kind=frost]{color:var(--frost)}.slot[data-kind=reflect]{color:var(--reflect)}.slot[data-kind=armor]{color:var(--armor)}.slot[data-kind=blink]{color:var(--blink)}.slot[data-kind=scatter]{color:var(--scatter)}.slot[data-kind=gravity]{color:var(--gravity)}.slot[data-kind=lasso]{color:var(--lasso)}.slot[data-kind=rewind]{color:var(--rewind)}.slot[data-kind=overdrive]{color:var(--overdrive)}.slot[data-kind=decoy]{color:var(--decoy)}.slot[data-kind=tailbomb]{color:var(--tailbomb)}.slot[data-kind=brickfall]{color:var(--brickfall)}.slot[data-kind=emp]{color:var(--emp)}.slot[data-kind=barrier]{color:var(--barrier)}.slot[data-kind=graft]{color:var(--graft)}.slot[data-kind=magnet]{color:var(--magnet)}.fatal{text-align:center;color:var(--text);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@media (width<=640px){.controls{grid-template-columns:1fr;gap:20px}.lobby .seats{grid-template-columns:1fr}.boost{width:60px}}@keyframes pop{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes pulse{50%{opacity:.55}}@keyframes blink{50%{opacity:.35}}.panel.games{width:min(92vw,720px)}.panel.games h2{letter-spacing:.2em;color:var(--cyan);text-shadow:0 0 12px;margin:0 0 18px}.games-head,.game{text-align:left;grid-template-columns:1.4fr 1fr 1.3fr .9fr;align-items:center;gap:12px;display:grid}.games-head{letter-spacing:.2em;color:var(--dim);padding:0 14px 6px;font-size:10px}.games-list{scrollbar-width:thin;scrollbar-color:var(--cyan) transparent;max-height:min(52vh,420px);overflow-y:auto}.game{letter-spacing:.08em;cursor:pointer;border:1px solid #22f3ff40;border-radius:10px;margin-bottom:8px;padding:12px 14px;font-size:14px}.game:hover,.game.active{border-color:var(--cyan);background:#22f3ff14;box-shadow:0 0 14px #22f3ff4d}.game-room{color:var(--cyan);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.game-host{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-seats{align-items:center;gap:8px;display:flex}.game-seats .pips{gap:3px;display:inline-flex}.game-seats .pip{border:1px solid var(--cyan);opacity:.5;border-radius:50%;width:8px;height:8px}.game-seats .pip.taken{background:var(--cyan);box-shadow:0 0 6px var(--cyan);opacity:1}.game-wins{color:var(--dim);font-size:11px}.games-empty{color:var(--dim);letter-spacing:.12em;padding:28px 0}.games-empty .small{margin-top:8px;display:block}@media (width<=560px){.games-head{display:none}.game{grid-template-columns:1fr auto}}.replays .games-head,.replay-row{grid-template-columns:1.1fr 1.4fr 1.1fr 1fr .7fr}.panel.games.replays{width:min(92vw,820px)}.replay-row .star{color:var(--amber)}.replay-players{flex-wrap:wrap;gap:4px 10px;font-weight:700;display:flex}.replay-players .ai-tag{color:var(--dim);margin-left:3px;font-size:9px}.replay-row.refused{opacity:.5}.replay-actions{grid-column:1/-1;gap:8px;display:flex}.replay-actions .small-tap{min-width:0;min-height:30px;padding:4px 12px;font-size:10px}@media (width<=560px){.replay-row{grid-template-columns:1fr auto}}.respawn{color:var(--dim);letter-spacing:.16em;font-size:11px}.powers .crown-rule{color:#ffc43d;text-shadow:0 0 8px #ffc43d80}.panel.setup h2{letter-spacing:.2em;color:var(--cyan);text-shadow:0 0 12px;margin:0 0 14px}.panel.setup .rule,.panel.setup .seats-note{margin-top:10px}.menu .row .playing-as{letter-spacing:.12em;opacity:.85;font-size:.8em}.rooms-actions{margin-bottom:16px}.rooms-actions .dim{font-size:.75em}.rooms-heading{letter-spacing:.24em;color:var(--dim);margin:8px 0 10px;font-size:11px}.room-settings{margin-top:18px}.room-title-input{text-align:center;text-transform:none;cursor:text;background:0 0;border:1px solid #0000;border-radius:8px;outline:none;width:13ch;padding:2px 8px;font-family:inherit}.room-title.active .room-title-input,.room-title-input:hover{border-color:#22f3ff59}.room-title-input:focus{border-color:var(--cyan);background:#22f3ff0f;box-shadow:0 0 14px #22f3ff59}.room-title-input.invalid{border-color:var(--red)}.listed-tag{letter-spacing:.14em;vertical-align:middle;border:1px solid;border-radius:8px;margin-left:.6em;padding:2px 10px;font-size:.7em;font-weight:900}.listed-tag.listed{color:var(--lime)}.listed-tag.private{color:var(--amber);text-shadow:0 0 10px}.listed-tag[data-listed]{cursor:pointer}.rename-hint{min-height:1.4em;margin-top:4px}.bind.set-all{letter-spacing:.14em;justify-content:center;margin-bottom:8px;font-weight:700}.bind.set kbd{border-color:currentColor;box-shadow:0 0 8px}#replay-bar{max-width:720px;color:var(--text);letter-spacing:.1em;z-index:5;background:#050814d1;border:1px solid #22f3ff59;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 auto;padding:8px 14px;font-size:12px;display:flex;position:fixed;bottom:12px;left:16px;right:232px}#replay-bar button{min-width:30px;min-height:30px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #22f3ff66;border-radius:8px;padding:2px 8px;font-weight:700}#replay-bar .rb-play{color:var(--cyan);min-width:44px}#replay-bar .rb-time{font-variant-numeric:tabular-nums}#replay-bar .rb-speed,#replay-bar .rb-follows{align-items:center;gap:4px;display:inline-flex}#replay-bar .rb-follow.on{background:#22f3ff2e;border-color:currentColor}#replay-bar .rb-who{font-weight:900}#replay-bar .rb-exit{margin-left:auto}#replay-bar .rb-row{flex-wrap:wrap;align-items:center;gap:6px 14px;width:100%;display:flex}#replay-bar .rb-items.on{background:#22f3ff2e}#replay-bar .rb-track{cursor:pointer;touch-action:none;background:#22f3ff0f;border-radius:6px;flex-basis:100%;height:26px;position:relative}#replay-bar .rb-track canvas{width:100%;height:100%;position:absolute;inset:0}#replay-bar .rb-indexed{pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff0d 0 4px,#0000 4px 8px);border-radius:0 6px 6px 0;position:absolute;top:0;bottom:0;right:0}#replay-bar .rb-head{background:var(--text);width:2px;box-shadow:0 0 6px var(--text);pointer-events:none;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}#replay-bar .rb-tip{white-space:nowrap;pointer-events:none;background:#050814f2;border:1px solid #22f3ff66;border-radius:6px;padding:3px 8px;font-size:10px;display:none;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}#replay-bar .rb-note{color:var(--amber);flex-basis:100%;font-size:10px}#replay-bar .rb-note:empty{display:none}#replay-bar .rb-keys{color:var(--dim);flex-basis:100%;font-size:9px}body.touch #replay-bar{right:16px}body.touch #replay-bar .rb-keys{display:none}.lil-gui .lil-controller .reset-row{width:18px;color:var(--amber);font:inherit;cursor:pointer;visibility:hidden;background:0 0;border:none;flex:none;margin-left:4px;padding:0}.lil-gui .lil-controller.changed .reset-row{visibility:visible}.lil-gui.grouped .lil-controller:not(.has-help):not(.item-switch)>.lil-widget{margin-right:22px}.lil-gui .lil-controller.changed .lil-name{color:var(--amber);font-weight:700}.lil-gui.grouped>.lil-children>.lil-gui{margin-top:16px}.lil-gui.grouped .lil-title{border-radius:0}.lil-gui.lil-root.grouped>.lil-children{padding:6px 0 4px}.lil-gui.lil-root.grouped>.lil-children>.lil-controller,.lil-gui.lil-root.grouped>.lil-children>.lil-gui>.lil-children>.lil-controller{margin-left:var(--folder-indent)}.lil-gui.lil-root.grouped,.lil-gui.lil-root.grouped .lil-gui{--folder-indent:6px}.lil-gui.grouped>.lil-children>.lil-gui>.lil-title{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;border:none;font-size:1.15em}.lil-gui.grouped>.lil-children>.lil-gui>.lil-children>.lil-gui{margin-top:10px}.lil-gui.grouped>.lil-children>.lil-gui>.lil-children>.lil-gui>.lil-title{pointer-events:none;cursor:default;color:var(--text);letter-spacing:.04em;background:#ffffff0f;font-weight:700}.lil-gui.grouped>.lil-children>.lil-gui>.lil-children>.lil-gui>.lil-title:before{display:none}.lil-gui.grouped>.lil-children>.lil-gui>.lil-children>.lil-gui>.lil-children{border-left:none;padding-top:6px;padding-bottom:4px}.lil-gui .item-glyph svg{width:1.1em;height:1.1em}.lil-gui .lil-controller.finder .lil-name{color:var(--cyan)}.lil-gui .lil-controller.has-help{grid-template-columns:var(--name-width) minmax(0, 1fr) 22px;align-items:center;padding-bottom:5px;display:grid}.lil-gui .lil-controller.has-help>.lil-name{white-space:normal;width:auto;line-height:1.25}.lil-gui .lil-controller.has-help>.reset-row{grid-area:1/3}.lil-gui .lil-controller .row-help{color:var(--dim);white-space:normal;grid-area:2/1/auto/-1;padding:2px 0 0;font-size:10.5px;line-height:1.35}.lil-gui .lil-gui.item-group{position:relative}.lil-gui .item-about{padding:4px var(--padding) 6px;color:var(--dim);font-size:10.5px;line-height:1.35}.lil-gui .item-about p{margin:0}.lil-gui .item-about .beaten{margin-top:3px;font-style:italic}.lil-gui .lil-gui.item-group>.item-switch{height:var(--title-height);background:0 0;align-items:center;gap:6px;margin:0;padding:0;display:flex;position:absolute;top:0;right:4px}.lil-gui .item-switch>.lil-widget{flex:none;order:1;width:auto;min-width:0}.lil-gui .item-switch>.lil-name{order:2;width:auto;padding:0;line-height:1}.lil-gui .lil-gui.item-group>.lil-title{align-items:center;gap:5px;line-height:1;display:flex}.lil-gui .lil-gui.item-group>.lil-title .item-glyph{display:flex}.lil-gui .item-switch>.reset-row{order:3}
