.audio-mute{z-index:40;color:#fff;cursor:pointer;opacity:.42;background:#0c0e148c;border:0;border-radius:50%;width:44px;height:44px;font-size:20px;line-height:1;transition:opacity .14s,background .14s;position:fixed;bottom:16px;right:18px}.audio-mute:hover,.audio-mute:focus-visible{opacity:1;background:#0c0e14cc}.audio-mute[data-muted=true]{opacity:.85;color:#ff8c8c}.audio-credits{color:#ffffff61;letter-spacing:.01em;max-width:62ch;margin-top:10px;font-size:11px;line-height:1.45}.audio-credits__label{color:#ffffff8c;letter-spacing:.14em;text-transform:uppercase;font-size:10px;display:block}:root{--solo-panel-w:420px;--solo-strip-h:132px;--solo-slide:.2s}body.is-solo #app,body.is-solo .arena,body.is-solo .game{right:var(--solo-panel-w);transition:right var(--solo-slide) ease, bottom var(--solo-slide) ease;bottom:0}body.is-solo.is-solo-strip #app,body.is-solo.is-solo-strip .arena,body.is-solo.is-solo-strip .game{right:0;bottom:var(--solo-strip-h)}.solo-panel{width:var(--solo-panel-w);z-index:20;height:auto;transition:width var(--solo-slide) ease, height var(--solo-slide) ease, top var(--solo-slide) ease;background:#0b0c11;border-top:2px solid #0000;border-left:2px solid #2a2c38;flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto;box-shadow:-14px 0 40px #00000073}body.is-solo-strip .solo-panel{width:auto;height:var(--solo-strip-h);border-top:2px solid #2a2c38;border-left:0;top:auto;left:0;box-shadow:0 -14px 40px #00000073}@media (prefers-reduced-motion:reduce){:root{--solo-slide:0s}}.solo-panel__frame{border:0;flex:1;width:100%;display:block}@media (max-width:900px){:root{--solo-panel-w:340px}}@font-face{font-family:Derby Display;src:url(/fonts/bungee-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Derby Text;src:url(/fonts/archivo-black-latin.woff2)format("woff2");font-weight:400 900;font-style:normal;font-display:swap}.game__bar[hidden],.game__cards[hidden],.game__banner[hidden],.game__clock[hidden],.game__round[hidden],.game__strip[hidden],.game__podium[hidden]{display:none}.arena{position:fixed;inset:0}.arena__labels{pointer-events:none;position:absolute;inset:0}.arena__follow{box-sizing:border-box;border:2px solid var(--player,#fff);pointer-events:none;border-radius:3px;position:absolute;box-shadow:0 6px 26px #0000008c}.arena__follow[hidden]{display:none}.stats-hud{z-index:90;color:#7cff9a;font-variant-numeric:tabular-nums;letter-spacing:.02em;pointer-events:none;white-space:nowrap;background:#0000009e;border-radius:4px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;position:fixed;top:8px;left:8px}.arena__label{text-align:center;white-space:nowrap;font-family:var(--font-text);position:absolute;top:0;left:0}.arena__label-name{letter-spacing:.04em;color:#10131a;background:var(--player,#fff);text-shadow:0 1px #ffffff59;border-radius:7px;padding:3px 10px 4px;font-size:19px;font-weight:900;display:inline-block;box-shadow:0 3px #00000059,0 6px 14px #00000073}.arena__label-pips{justify-content:center;align-items:center;gap:4px;min-height:16px;margin-top:4px;display:flex}.arena__pip{background:#ffe9a8;border-radius:50%;width:9px;height:9px;box-shadow:0 0 8px #ffd878f2}.arena__note{letter-spacing:.16em;color:#10131a;border-radius:4px;padding:1px 6px;font-size:13px;font-weight:900}.arena__note--wrecked{color:#2a0805;background:#ff5a4d}.arena__note--out{color:#2a1400;background:#ffa53d}.arena__note--stalled{color:#2a1d02;background:#f0b429}.arena__note--finished{color:#06210f;background:#2ecc71}.arena__label--dim{opacity:.5}.game{pointer-events:none;font-family:var(--font-text);color:var(--ink);position:fixed;inset:0}.game>*{pointer-events:auto}.game__bar{pointer-events:none;background:linear-gradient(#090b1099,#090b1000);align-items:flex-start;gap:18px;padding:18px 26px 40px;display:flex;position:absolute;top:0;left:0;right:0}.game__tag{background:linear-gradient(#ffd400,#f0a500);border-radius:4px 12px;padding:8px 20px 10px;transform:skew(-7deg);box-shadow:0 5px #8c5c00,0 12px 22px #00000073}.game__phase,.game__blurb{transform:skew(7deg)}.game__phase{font-family:var(--font-display);color:#241a00;letter-spacing:.01em;font-size:30px;line-height:1}.game__blurb{letter-spacing:.13em;text-transform:uppercase;color:#241a00ad;margin-top:4px;font-size:13px;font-weight:700}.game__round{font-family:var(--font-display);background:var(--panel);color:var(--ink);border:2px solid #ffffff1f;border-radius:10px;padding:10px 14px;font-size:22px}.game__clock{place-items:center;width:92px;height:92px;margin-left:auto;display:grid;position:relative}.game__clock-ring{width:92px;height:92px;position:absolute;inset:0;transform:rotate(-90deg)}.game__clock-track{fill:#0c0e14b8;stroke:#ffffff29;stroke-width:7px}.game__clock-arc{fill:none;stroke:#ffd400;stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .12s linear}.game__clock-number{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:34px;line-height:1;position:relative}.game__clock--hot .game__clock-arc{stroke:#ff5a4d}.game__clock--hot .game__clock-number{color:#ff8a7d;animation:1s ease-out infinite clock-beat}@keyframes clock-beat{0%{transform:scale(1.16)}40%{transform:scale(1)}}.game__banner{pointer-events:none;justify-content:center;max-width:max(320px,100% - 640px);display:flex;position:absolute;top:18px;left:50%;overflow:hidden;transform:translate(-50%)}.game__banner-text{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;color:#12131a;background:var(--player,#ffd400);text-shadow:0 2px #ffffff47;border-radius:6px 20px;max-width:100%;padding:12px 36px 14px;font-size:clamp(22px,2.3vw,40px);line-height:1;overflow:hidden;transform:skew(-7deg);box-shadow:0 7px #0006,0 18px 40px #0000008c}.game__banner--in .game__banner-text{animation:.5s cubic-bezier(.16,1.2,.3,1) banner-in}@keyframes banner-in{0%{opacity:0;transform:skew(-7deg)translate(-140%)scale(.9)}to{opacity:1;transform:skew(-7deg)translate(0)scale(1)}}.game__cards{--cards-pad:clamp(10px, 1.2vw, 24px);--cards-gap:clamp(6px, .6vw, 12px);--card-max:300px;--avail:100vw;--cols:3;--card-w:min(var(--card-max), calc((var(--avail) - 2 * var(--cards-pad) - (var(--cols) - 1) * var(--cards-gap)) / var(--cols)));--u:clamp(9px, calc(var(--card-w) / 17.5), 18px);grid-template-columns:repeat(var(--cols,3), minmax(0, var(--card-max)));justify-content:center;align-items:end;gap:var(--cards-gap);padding:clamp(18px, 3vh, 34px) var(--cards-pad) clamp(8px, 1.4vh, 16px);pointer-events:none;background:linear-gradient(#090b1000,#090b109e 55%);display:grid;position:absolute;bottom:0;left:0;right:0}.game__cards[data-count="1"]{--cols:1}.game__cards[data-count="2"]{--cols:2}.game__cards[data-count="3"]{--cols:3}.game__cards[data-count="4"]{--cols:4}.game__cards[data-count="5"]{--cols:5}.game__cards[data-count="6"]{--cols:6}@media (max-width:1560px){.game__cards[data-count="6"]{--cols:3}}body.is-solo:not(.is-solo-strip) .game__cards{--avail:calc(100vw - var(--solo-panel-w,420px))}.game__card{--tilt:-5deg;background:linear-gradient(170deg, var(--player,#888), #0000008c);min-width:0;transform:skewX(var(--tilt));border-radius:12px 4px;padding:3px;transition:transform .25s,box-shadow .25s;box-shadow:0 6px #00000052}.game__card-inner{padding:calc(var(--u) * .44) calc(var(--u) * .6) calc(var(--u) * .55);background:linear-gradient(#1e222cf0,#0d0f15f0);border-radius:10px 3px}.game__card-head,.game__card-body,.game__card-night{transform:skewX(calc(-1 * var(--tilt)))}.game__card--away{opacity:.42}.game__card--leading{transform:skewX(var(--tilt)) translateY(-10px);box-shadow:0 10px 0 #00000052, 0 0 26px color-mix(in srgb, var(--player) 55%, transparent)}.game__card--first{transform:skewX(var(--tilt)) translateY(-8px)}.game__card-head{align-items:baseline;gap:calc(var(--u) * .4);grid-template-columns:auto minmax(0,1fr);display:grid}.game__card-slot{font-size:calc(var(--u) * .7);letter-spacing:.08em;color:#10131a;background:var(--player,#fff);border-radius:4px;padding:1px 5px 2px;font-weight:900}.game__card-name{font-size:calc(var(--u) * 1.12);letter-spacing:.01em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.game__card-body{align-items:end;gap:calc(var(--u) * .4);margin-top:calc(var(--u) * .25);grid-template-columns:minmax(0,1fr) auto;display:grid}.game__card-line{align-items:center;gap:calc(var(--u) * .34);font-size:calc(var(--u) * .85);letter-spacing:.02em;color:var(--ink-dim);min-height:calc(var(--u) * 1.3);white-space:nowrap;min-width:0;font-weight:700;display:flex}.game__card-points{font-size:calc(var(--u) * 1.42);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;font-weight:900;line-height:1.2}.game__card-night{margin-top:calc(var(--u) * .25);font-size:calc(var(--u) * .6);letter-spacing:.05em;text-transform:uppercase;text-align:right;color:#ffd400;opacity:.8;text-overflow:ellipsis;white-space:nowrap;font-weight:800;display:block;overflow:hidden}.game__won{font:900 calc(var(--u) * .95) / 1 var(--font-ui,inherit);color:#57e08e;font-variant-numeric:tabular-nums}.game__count{color:var(--ink)}.game__tick{font-size:calc(var(--u) * .62);letter-spacing:.08em;color:#06210f;background:#2ecc71;border-radius:4px;padding:2px 5px;font-weight:900}.game__tick--soft{color:#b9b6ad;background:#2a2c38}.game__card--ready{box-shadow:0 0 0 2px #2ecc71}.game__state{font-size:calc(var(--u) * .8);letter-spacing:.07em;text-transform:uppercase;font-weight:900}.game__state--wrecked{color:#ff6b5d}.game__state--out{color:#ffa53d}.game__state--stalled{color:#f0b429}.game__state--finished{color:#57e08e}.game__place{font-family:var(--font-display);font-size:calc(var(--u) * 1.2);color:var(--player,#fff)}.game__pips{gap:calc(var(--u) * .3);display:flex}.game__pip{width:calc(var(--u) * .7);height:calc(var(--u) * .7);background:#ffffff24;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff24}.game__pip--lit{background:#ffe08a;box-shadow:0 0 10px #ffd66ee6,inset 0 0 0 2px #ffffff80}.game__podium{pointer-events:none;background:linear-gradient(#0a0c1200 0% 46%,#0a0c128c 68%,#0a0c12db 100%);flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0}.game__podium-stack{--pu:clamp(15px, min(2.4vh, 1.4vw), 26px);align-items:center;gap:calc(var(--pu) * .5);padding:0 clamp(12px, 1.4vw, 24px) calc(var(--pu) * .9);box-sizing:border-box;pointer-events:auto;flex-direction:column;width:100%;display:flex}.game__podium-title{font-family:var(--font-display);font-size:calc(var(--pu) * 1.35);color:#ffd400;text-shadow:0 5px #00000080;margin:0;line-height:1.1}.game__podium-list{filter:drop-shadow(0 8px 18px #0009);gap:calc(var(--pu) * .32);grid-template-columns:minmax(0,1fr);width:min(760px,92vw);margin:0;padding:0;list-style:none;display:grid}.game__podium-row{grid-template-columns:calc(var(--pu) * 1.5) minmax(0, 1fr) auto auto auto;min-height:calc(var(--pu) * 1.9);padding:calc(var(--pu) * .24) calc(var(--pu) * .7);background:linear-gradient(100deg, color-mix(in srgb, var(--player) 34%, #14161ed1), #14161ed1);border-left:8px solid var(--player);border-radius:12px 4px;align-items:center;gap:clamp(8px,1vw,18px);display:grid;transform:skew(-5deg)}.game__podium-row--1{min-height:calc(var(--pu) * 2.3)}@media (max-height:1120px){.game__podium-list[data-count="5"],.game__podium-list[data-count="6"]{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;width:min(1180px,94vw)}}.game__podium-place,.game__podium-name,.game__podium-feet,.game__podium-points,.game__podium-night{transform:skew(5deg)}.game__podium-place{font-family:var(--font-display);font-size:calc(var(--pu) * 1.05);color:var(--player)}.game__podium-name{font-size:calc(var(--pu) * 1.05);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.game__podium-points{font-size:calc(var(--pu) * 1.05);font-variant-numeric:tabular-nums;color:#ffd400;font-weight:900}.game__podium-night{font:800 calc(var(--pu) * .7) / 1 var(--font-ui,inherit);color:#ffd400bf;font-variant-numeric:tabular-nums;text-align:right;min-width:3ch}.game__again{margin-top:calc(var(--pu) * .1);padding:calc(var(--pu) * .5) calc(var(--pu) * 1.4);font-family:var(--font-display);font-size:calc(var(--pu) * .95);color:#241a00;cursor:pointer;background:linear-gradient(#ffd400,#f0a500);border:0;border-radius:6px 18px;box-shadow:0 6px #8c5c00}.game__again:active{transform:translateY(4px);box-shadow:0 2px #8c5c00}.game__strip{pointer-events:none;align-items:center;gap:16px;width:min(1100px,76vw);display:flex;position:absolute;top:104px;left:50%;transform:translate(-50%)}.game__lead{font:700 clamp(20px, 2.2vw, 34px) / 1 var(--font-display,inherit);letter-spacing:.02em;color:#fff;text-shadow:0 2px 10px #000000b3;white-space:nowrap;text-align:right;min-width:5.5ch}.game__map{border-radius:11px;flex:1;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff38,0 3px 14px #00000073}.game__map-zones{height:100%;display:flex}.game__map-zone{height:100%;font:700 10px / 1 var(--font-ui,inherit);letter-spacing:.16em;text-transform:uppercase;color:#ffffffb8;text-shadow:0 1px 3px #0009;white-space:nowrap;justify-content:center;align-items:center;display:flex;overflow:hidden}.game__map-marks{position:absolute;inset:0}.game__map-mark{opacity:.95;border-radius:2px 2px 0 0;min-width:3px;height:7px;position:absolute;bottom:0;box-shadow:0 0 0 1px #00000073}.game__map-mark--jump_gap{opacity:.85;border-radius:0;height:100%;top:0}.game__map-pips{position:absolute;inset:0}.game__map-pip{background:var(--player,#fff);width:12px;height:12px;box-shadow:0 0 0 2px #0000008c, 0 0 10px var(--player,#fff);border-radius:50%;margin:-6px 0 0 -6px;transition:left .18s linear;position:absolute;top:50%}.game__map-pip--wrecked{opacity:.4;box-shadow:0 0 0 2px #0000008c}.game__feet{font:700 var(--u,14px) / 1 var(--font-ui,inherit);color:#ffffffd1;letter-spacing:.01em}.game__podium-feet{font:600 calc(var(--pu) * .78) / 1 var(--font-ui,inherit);color:#fff9;letter-spacing:.02em;text-align:right}@font-face{font-family:Derby Display;src:url(/fonts/bungee-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Derby Text;src:url(/fonts/archivo-black-latin.woff2)format("woff2");font-weight:400 900;font-style:normal;font-display:swap}:root{--font-display:"Derby Display", "Archivo Black", system-ui, sans-serif;--font-text:"Derby Text", system-ui, sans-serif;--ink:#f6f3ea;--ink-dim:#a9a49a;--panel:#101219db;--panel-hi:#262b38eb}.lobby[hidden]{display:none}.lobby{box-sizing:border-box;font-family:var(--font-text);color:var(--ink);background:linear-gradient(100deg,#080a0feb 0%,#080a0fb8 44%,#080a0f47 100%);flex-direction:column;gap:2vh;padding:4vh 4vw;display:flex;position:fixed;inset:0}.lobby__title{font-family:var(--font-display);letter-spacing:.01em;color:#ffd400;text-shadow:0 5px #0000008c;margin:0;font-size:clamp(24px,3.2vw,52px);font-weight:400}.lobby__title small{color:var(--ink-dim);font-family:var(--font-text);letter-spacing:.2em;text-transform:uppercase;text-shadow:none;margin-top:.8em;font-size:.28em;font-weight:700;display:block}.lobby__body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4vw;min-height:0;display:grid}.lobby__join{flex-direction:column;justify-content:center;align-items:flex-start;gap:2vh;display:flex}.lobby__code{font-family:var(--font-display);color:#12131a;font-variant-numeric:tabular-nums;letter-spacing:.06em;background:linear-gradient(#ffd400,#f2ab00);border-radius:8px 26px;padding:.06em .14em .1em;font-size:clamp(64px,13vw,200px);line-height:1;transform:skew(-6deg);box-shadow:0 10px #8c5c00,0 22px 44px #0009}.lobby__url{color:var(--ink);letter-spacing:.04em;word-break:break-all;opacity:.85;font-size:clamp(15px,1.5vw,26px);font-weight:700}.lobby__qr{height:clamp(130px,16vw,260px);image-rendering:pixelated;background:#f6f4ee;border:6px solid #f6f4ee;border-radius:14px;width:clamp(130px,16vw,260px);box-shadow:0 12px 28px #00000080}.lobby__players{flex-direction:column;justify-content:center;gap:1.2vh;margin:0;padding:0;list-style:none;display:flex}.lobby__player{background:linear-gradient(100deg, color-mix(in srgb, var(--seat) 30%, #14161e), #14161e);border-left:10px solid var(--seat,#444);border-radius:12px 4px;align-items:center;gap:1.2vw;padding:1.1vh 1.4vw;display:flex;transform:skew(-5deg);box-shadow:0 5px #00000059}.lobby__player>*{transform:skew(5deg)}.lobby__player--away{opacity:.5}.lobby__slot{color:var(--seat,#8d8b83);letter-spacing:.14em;text-transform:uppercase;min-width:4.6em;font-size:clamp(13px,1.1vw,20px);font-weight:900}.lobby__name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:clamp(20px,2.3vw,42px);font-weight:900;overflow:hidden}.lobby__state{letter-spacing:.12em;text-transform:uppercase;border-radius:5px;padding:2px 8px 3px;font-size:clamp(11px,1vw,18px);font-weight:900}.lobby__state--here{color:#06210f;background:#2ecc71}.lobby__state--away{color:#2b1600;background:#ff8c1a}.lobby__empty{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(16px,1.8vw,30px);font-weight:700}.lobby__footer{justify-content:space-between;align-items:center;gap:2vw;display:flex}.lobby__start{color:#06210f;cursor:pointer;font-family:var(--font-display);letter-spacing:.04em;background:linear-gradient(#2ecc71,#1ea65a);border:none;border-radius:6px 20px;padding:1.4vh 3vw;font-size:clamp(17px,1.8vw,30px);box-shadow:0 7px #10683a}.lobby__start:active:not(:disabled){transform:translateY(5px);box-shadow:0 2px #10683a}.lobby__start:disabled{color:#6c6a63;cursor:not-allowed;background:#2a2c38;box-shadow:0 7px #14161d}.lobby__status{color:var(--ink);letter-spacing:.06em;opacity:.8;font-size:clamp(13px,1.2vw,22px);font-weight:700}.lobby__status--closed{color:#ff5a4d;opacity:1}.lobby__solo{align-items:center;gap:.8vw;margin-left:auto;display:flex}.lobby__solo-name,.lobby__solo-bots{color:#f4f1e8;background:#1b1d27;border:2px solid #2a2c38;border-radius:10px;padding:.9vh .8vw;font-family:inherit;font-size:clamp(13px,1.1vw,20px)}.lobby__solo-name{min-width:90px;max-width:9vw}.lobby__solo-go{color:#ffd400;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#1b1d27;border:2px solid #ffd400;border-radius:10px;padding:.9vh 1.4vw;font-size:clamp(13px,1.2vw,22px);font-weight:800}.lobby__solo-go:hover{color:#12131a;background:#ffd400}.lobby__body--board{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1fr)}.lobby__body--board .lobby__code{font-size:clamp(48px,9vw,150px)}.lobby__body--board .lobby__qr{width:clamp(110px,12vw,200px);height:clamp(110px,12vw,200px)}.lobby__board{align-content:center;gap:1.2vh;min-height:0;display:grid}.lobby__board[hidden]{display:none}.lobby__board-title{color:#ffd400;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(15px,1.5vw,26px);font-weight:400}.lobby__board-list{flex-direction:column;gap:.7vh;margin:0;padding:0;list-style:none;display:flex}.lobby__board-row{background:#14161ecc;border-radius:10px 3px;grid-template-columns:1.6em minmax(0,1fr) auto auto;align-items:baseline;gap:.7vw;padding:.7vh .9vw;display:grid}.lobby__board-rank{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:clamp(12px,1.1vw,20px);font-weight:900}.lobby__board-name{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(13px,1.05vw,22px);font-weight:900;overflow:hidden}.lobby__board-wins{color:var(--ink-dim);letter-spacing:.08em;font-size:clamp(11px,1vw,18px);font-weight:800}.lobby__board-points{color:#ffd400;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(16px,1.6vw,30px)}.lobby__reset{color:#ff8a80;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:2px solid #55323a;border-radius:10px;padding:.9vh 1.2vw;font-size:clamp(12px,1.1vw,20px);font-weight:800}.lobby__reset[hidden]{display:none}.lobby__reset:hover{color:#ffe3e0;background:#55323a}
