@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500 800;font-display:swap;src:url(./dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600 800;font-display:swap;src:url(./barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2")}:root{color:#f6f0e5;font-synthesis:none;background:#11121b;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline-offset:4px;outline:2px solid #ffd16e}a:focus-visible{outline-offset:4px;outline:2px solid #ffd16e}select:focus-visible{outline-offset:4px;outline:2px solid #ffd16e}aside{z-index:3;background:#171923;border-right:1px solid #ffffff12;width:306px;padding:32px 25px;position:absolute;top:0;bottom:0;left:0;right:auto;overflow-y:auto}.brand{color:#fff;letter-spacing:2px;align-items:center;gap:12px;font:700 16px/.94 Barlow Condensed,sans-serif;text-decoration:none;display:flex}.brand b{letter-spacing:1px;font-size:39px}.brand-icon{color:#211b22;background:#ffbb56;border-radius:12px;place-items:center;width:48px;height:48px;font-size:38px;display:grid;transform:rotate(-12deg)}.dot{color:#ffbb56}.edition{letter-spacing:1.5px;color:#ffbf65;margin-top:32px;font-size:10px}.edition span{color:#737986;letter-spacing:1.1px;margin-top:7px;font-size:8px;display:block}h1{letter-spacing:.2px;margin:16px 0 9px;font:700 33px/1.05 Barlow Condensed,sans-serif}.intro{color:#9699a8;margin-bottom:27px;font-size:11px}.section-label{letter-spacing:1.8px;color:#ffbd66;gap:13px;margin:23px 0 12px;font-size:9px;display:flex}.section-label span{color:#858b9d}.world{text-align:left;background:#20222e;border:1px solid #343641;border-radius:9px;align-items:center;gap:10px;width:100%;margin-bottom:9px;padding:13px 10px;transition:all .2s;display:flex}.world:hover{border-color:#e8af68}.world.active{background:#352b29;border-color:#d79a56}.world-icon{text-align:center;width:35px;font-size:25px}.volcano{color:#ff9550}.city{color:#a1acff}.world strong{font-size:13px;display:block}.world small{letter-spacing:1px;color:#9995a0;margin-top:6px;font-size:7px;display:block}.arrow{color:#e7bb7e;margin-left:auto}.characters{gap:9px;display:flex}.char{background:#20222e;border:1px solid #353644;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;padding:12px;display:flex;position:relative}.char.selected{border-color:#efb869}.char strong{margin-top:9px;font-size:12px}.char small{letter-spacing:1px;color:#979aaa;margin-top:4px;font-size:7px}.swatch{border-radius:50%;width:23px;height:23px;display:block;box-shadow:inset -5px -5px #0002}.red{background:#f75949}.blue{background:#4a88ff}.text-button{text-align:left;color:#a6abba;background:0 0;border:0;width:100%;padding:12px 0;font-size:10px}.text-button span{float:right;color:#f7bf6c}.segmented{background:#11141e;border:1px solid #363945;border-radius:7px;padding:3px;display:flex}.segmented button{color:#8e94a7;background:0 0;border:0;border-radius:4px;flex:1;padding:8px 0;font-size:10px}.segmented button.selected{color:#fff;background:#3a3d4b}.primary{color:#251b16;text-align:left;background:#ffc36e;border:0;border-radius:7px;width:100%;margin-top:21px;padding:15px 16px;font-size:13px;font-weight:700}.primary span{float:right}.primary:hover{background:#ffda98}.local-note{letter-spacing:.85px;text-align:center;color:#81889b;margin-top:11px;font-size:7px}.sidebar-bottom{letter-spacing:1.1px;color:#696f81;align-items:center;gap:7px;margin-top:25px;font-size:7px;display:flex}.status-light{background:#98b990;border-radius:50%;width:5px;height:5px}main{background:#262337;position:absolute;top:0;bottom:0;left:306px;right:0}#viewport{width:100%;height:100%}canvas{width:100%;height:100%;display:block}header{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:25px;left:30px;right:27px}.live{letter-spacing:1.7px;color:#eee7e5;align-items:center;gap:7px;font-size:8px;display:flex}.live span{background:#ffd692;border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #ffd692}.toolbar{pointer-events:auto;gap:7px;display:flex}.toolbar button,#return{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#181a29b8;border:1px solid #ffffff25;border-radius:6px;padding:9px 11px;font-size:9px}.world-heading{pointer-events:none;text-shadow:0 2px 15px #160f25;position:absolute;top:85px;left:30px}.eyebrow{letter-spacing:2.5px;color:#ffd399;font-size:8px}h2{letter-spacing:.3px;margin:9px 0;font:700 49px/1 Barlow Condensed,sans-serif}h2 span{vertical-align:top;margin-left:5px;font:12px sans-serif}.world-heading p{color:#d6c6c5;margin:0;font-size:11px}.toast{white-space:nowrap;letter-spacing:.4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171927b8;border:1px solid #ffffff19;border-radius:30px;padding:10px 17px;font-size:10px;position:absolute;bottom:102px;left:50%;transform:translate(-50%)}footer{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(90deg,#171923ee,#171923d9);border-top:1px solid #ffffff15;align-items:center;gap:28px;min-height:79px;padding:19px 30px;display:flex;position:absolute;bottom:0;left:0;right:0}footer>div{align-items:center;gap:8px;display:flex}.metric-number{color:#ffd399;font:600 30px Barlow Condensed,sans-serif}.metric-label{letter-spacing:1px;color:#9ea3b4;font-size:7px;line-height:1.6}.legend{gap:13px;margin-left:auto}.legend span{letter-spacing:.7px;align-items:center;gap:5px;font-size:7px;display:flex}.legend i{border-radius:1px;width:6px;height:6px}.safe{background:#9c97ab}.danger{background:#fa5e43}.launch{background:#ffca65}#performance{color:#bdb6bc;text-shadow:0 1px 4px #000;font-size:8px;position:absolute;top:-20px;right:28px}#loading{z-index:10;background:#242435;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.loading-logo{color:#ffc16a;font:800 70px Barlow Condensed,sans-serif}#loading p{color:#969dad;font-size:11px}#animation-panel{position:absolute;top:200px;left:30px}#animation-panel label{letter-spacing:1.5px;margin-bottom:9px;font-size:8px;display:block}select{color:#fff;background:#242736;border:1px solid #636275;border-radius:5px;width:125px;margin-right:10px;padding:9px}@media (max-height:800px){aside{padding-top:22px}.edition{margin-top:22px}.section-label{margin-top:17px}.intro{margin-bottom:17px}.sidebar-bottom{margin-top:16px}h1{font-size:30px}.world{padding:10px}.primary{margin-top:16px}}@media (max-width:1000px){aside{width:260px;padding:22px 19px}main{left:260px}footer{gap:15px;padding:15px 20px}.legend{display:none}.toolbar button{padding:8px}.world-heading h2{font-size:40px}}@media (max-width:700px){body{overflow:auto}aside{flex-wrap:wrap;align-items:center;gap:10px;width:100%;height:auto;padding:16px;display:flex;position:relative}.brand{margin-right:10px}.brand-icon{width:32px;height:32px;font-size:25px}.brand{font-size:11px}.brand b{font-size:25px}.edition,h1,.intro,.section-label,.sidebar-bottom,.local-note,.text-button{display:none}.world{order:2;width:calc(50% - 5px);margin:0}.characters{width:120px;margin-left:auto}.char{padding:5px}.char .swatch,.char small{display:none}.char strong{margin:3px}.segmented{flex:1;order:3}.primary{order:3;width:145px;margin:0;padding:11px}.world-icon{font-size:20px}.world small{font-size:6px}main{height:calc(100svh - 167px);min-height:470px;position:relative;left:0}.world-heading{top:60px;left:18px}h2{font-size:35px!important}header{top:15px;left:18px;right:15px}.live{letter-spacing:1px;font-size:6px}.toolbar{gap:4px}.toolbar button{padding:6px;font-size:7px}footer{gap:20px;min-height:65px;padding:12px 20px}.toast{font-size:8px;bottom:85px}.metric-number{font-size:26px}.metric-label{font-size:6px}}: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);--ink:#fff7ec;--muted:#b8bccd;--panel:#171a29e6;--panel-2:#22263a;--line:#ffffff1f;--accent:#ff7a3d;--gold:#ffcb75;--green:#7ee59a}#menu{z-index:40;color:var(--ink);padding:max(16px, var(--safe-t)) max(16px, var(--safe-r)) max(16px, var(--safe-b)) max(16px, var(--safe-l));-webkit-tap-highlight-color:transparent;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#menu[hidden]{display:none}body:not(.studio)>aside,body:not(.studio) main>.world-heading,body:not(.studio) main>footer,body:not(.studio) main>#toast,body:not(.studio) main>header{display:none!important}body:not(.studio) main{height:100dvh;position:fixed;top:0;bottom:0;left:0;right:0}.menu-backdrop{pointer-events:none;background:radial-gradient(at 75% 40%,#0000 0%,#0d0f1a55 55%,#0d0f1acc 100%),linear-gradient(90deg,#0d0f1ae6 0%,#0d0f1a80 45%,#0000 75%);position:absolute;top:0;bottom:0;left:0;right:0}.menu-screen{height:100%;display:none;position:relative}#menu[data-screen=home] .screen-home,#menu[data-screen=join] .screen-join,#menu[data-screen=busy] .screen-busy{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:center;gap:32px;max-width:1080px;margin:0 auto;display:grid}#menu[data-screen=join] .screen-join,#menu[data-screen=busy] .screen-busy{grid-template-columns:minmax(300px,380px);justify-content:center}#menu[data-screen=lobby] .screen-lobby{display:grid}.menu-brand h1{letter-spacing:1px;margin:10px 0 6px;font:700 clamp(44px,7vw,92px)/.86 Barlow Condensed,sans-serif}.menu-brand h1 b{color:var(--ink);display:block}.menu-brand h1 i{color:var(--accent);font-style:normal}.menu-brand p{color:var(--muted);margin:0;font-size:15px}.brand-mark svg{width:56px;height:56px}.menu-card{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);border-radius:18px;gap:10px;padding:20px;display:grid;box-shadow:0 24px 60px #0008}.menu-card.center{text-align:center;justify-items:center}.menu-card h2{letter-spacing:1.5px;margin:0 0 4px;font:700 28px Barlow Condensed,sans-serif}.field{letter-spacing:1.6px;color:var(--muted);gap:6px;font-size:10px;display:grid}.field input{color:var(--ink);border:1px solid var(--line);box-sizing:border-box;background:#ffffff0f;border-radius:10px;width:100%;min-height:48px;padding:12px 14px;font:700 18px DM Sans,sans-serif}.field input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.field input.invalid{border-color:#ff6a4d;box-shadow:0 0 0 2px #ff6a4d55}.code-input{text-transform:uppercase;letter-spacing:10px;text-align:center;font:700 30px Barlow Condensed,sans-serif!important}.btn{border:1px solid var(--line);background:var(--panel-2);min-height:52px;color:var(--ink);letter-spacing:1.2px;cursor:pointer;touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font:700 15px DM Sans,sans-serif;transition:transform 80ms,filter .15s,background .15s;display:flex}.btn svg{flex:none;width:20px;height:20px}.btn small{letter-spacing:.3px;opacity:.75;margin-left:4px;font-weight:400}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(#ff8c4f,#f0642a);border-color:#ffb08a55;box-shadow:0 6px 18px #f0642a55}.btn.ghost{background:0 0}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.seg button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.stepper button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.chip{border:1px solid var(--line);min-height:36px;color:var(--ink);letter-spacing:1px;cursor:pointer;touch-action:manipulation;background:#ffffff10;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font:700 11px DM Sans,sans-serif;display:inline-flex}.chip svg{width:14px;height:14px}.menu-foot{gap:10px;display:flex;position:absolute;bottom:0;left:0}.build-version{color:#8a8fa3;letter-spacing:.5px;align-self:center;font-size:11px}.server-status{color:#8a8fa3;letter-spacing:.5px;white-space:nowrap;align-self:center;font-size:11px}.server-status:before{content:"";vertical-align:0;border:1.5px solid;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.server-status[data-state=waking]:before{animation:1.2s ease-in-out infinite server-pulse}.server-status[data-state=ready]{color:#7fe3a0}.server-status[data-state=ready]:before{background:currentColor}.server-status[data-state=unavailable]{color:#ff8a8a}@keyframes server-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.server-status[data-state=waking]:before{animation:none}}.menu-error{left:50%;bottom:max(16px, var(--safe-b));z-index:3;color:#ffd3c4;text-align:center;max-width:min(520px,90vw);margin:0;padding:0;font-size:14px;position:fixed;transform:translate(-50%)}.menu-error:not(:empty){background:#3a1d1df2;border:1px solid #ff6a4d66;border-radius:10px;padding:10px 16px}.spinner{border:3px solid #fff2;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.screen-lobby{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:1fr;gap:12px;max-width:1180px;margin:0 auto}.lobby-head{background:var(--panel);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;padding:10px 14px;display:flex}.icon-btn{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;touch-action:manipulation;background:#ffffff0d;border-radius:12px;flex:none;place-items:center;display:grid}.icon-btn svg{width:22px;height:22px}.room{display:grid}.room small{letter-spacing:2px;color:var(--muted);font-size:10px}.room strong{letter-spacing:6px;color:var(--gold);font:700 34px/1 Barlow Condensed,sans-serif}.room-actions{flex-wrap:wrap;gap:8px;display:flex}#menu.is-local .online-only{display:none}.capacity{color:var(--muted);margin-left:auto;font:700 18px Barlow Condensed,sans-serif}.lobby-tabs{display:none}.lobby-body{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.8fr);gap:12px;min-height:0;display:grid}.panel{background:var(--panel);border:1px solid var(--line);overscroll-behavior:contain;border-radius:16px;min-height:0;padding:14px 16px;overflow:auto}.panel h3{letter-spacing:2px;color:var(--gold);justify-content:space-between;gap:8px;margin:0 0 10px;font:700 13px DM Sans,sans-serif;display:flex}.panel h3 small{color:var(--muted);letter-spacing:.4px;font-weight:400}.row{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:6px 0;display:grid}.label{letter-spacing:1.6px;color:var(--muted);font-size:10px}.seg{background:#0000003a;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{min-height:40px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;font:700 13px DM Sans,sans-serif;display:flex}.seg button.on{background:var(--panel-2);color:var(--ink);box-shadow:inset 0 0 0 1px #ffcb7566,0 2px 8px #0006}.seg button:disabled{cursor:default}.seg button:disabled:not(.on){opacity:.5}.swatch{border-radius:3px;width:12px;height:12px}.swatch.lava{background:linear-gradient(135deg,#ff9a3c,#c2321f)}.swatch.city{background:linear-gradient(135deg,#8fb2ff,#3e4b69)}.stepper{grid-template-columns:44px 1fr 44px;align-items:center;gap:6px;display:grid}.stepper button{border:1px solid var(--line);background:var(--panel-2);height:44px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:12px;font:700 22px DM Sans,sans-serif}.stepper button:disabled{opacity:.35}.stepper output{text-align:center;letter-spacing:1px;font:700 18px Barlow Condensed,sans-serif}.stepper output b{color:var(--gold);font-size:24px}.bot-options.off{opacity:.45;pointer-events:none}.player-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.player-list li{background:#ffffff08;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:0 10px;font-size:14px;display:flex}.player-list li.me{background:#ffcb7514;box-shadow:inset 0 0 0 1px #ffcb7544}.player-list li span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dot{border-radius:50%;flex:none;width:10px;height:10px}.dot.red{background:#f04a3a}.dot.blue{background:#3d7bff}.badge{letter-spacing:1.2px;background:#ffffff14;border-radius:6px;padding:3px 7px;font-size:9px}.badge.host{color:var(--gold);background:#ffcb7533}.badge.bot{color:#c3d5ff;background:#8fb2ff2e}.badge.ready{color:var(--green);background:#7ee59a2e}.badge.wait{color:var(--muted)}.char-pick{gap:8px;display:grid}.char-pick button{border:1px solid var(--line);background:var(--panel-2);min-height:56px;color:var(--ink);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:8px 14px;display:grid}.char-pick button .dot{grid-row:span 2;width:18px;height:18px}.char-pick button small{color:var(--muted)}.char-pick button.on{box-shadow:inset 0 0 0 2px var(--gold)}.lobby-foot{justify-content:flex-end;align-items:center;gap:14px;display:flex}.lobby-foot p{color:var(--muted);margin:0;font-size:13px}.btn.big{letter-spacing:2px;min-width:240px;min-height:58px;font-size:18px}#lobby-action.ready{box-shadow:none;background:#2c4a36;border-color:#7ee59a66}@media (max-height:560px),(max-width:760px){#menu{padding:max(10px, var(--safe-t)) max(12px, var(--safe-r)) max(10px, var(--safe-b)) max(12px, var(--safe-l))}#menu[data-screen=home] .screen-home{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px}.menu-brand h1{font-size:clamp(38px,9vh,64px)}.brand-mark svg{width:40px;height:40px}.menu-card{gap:8px;padding:14px}.btn{min-height:46px}.screen-lobby{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:210px minmax(0,1fr);gap:8px 12px}.lobby-head{flex-wrap:wrap;grid-area:1/1;gap:8px;padding:8px 10px}.lobby-head .room strong{font-size:28px}.room-actions{width:100%}.room-actions .chip{flex:1;justify-content:center;padding:0 8px}.capacity{font-size:15px;position:absolute;top:12px;left:160px}.lobby-tabs{grid-area:2/1;gap:6px;display:grid}.lobby-tabs button{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);letter-spacing:1.6px;touch-action:manipulation;border-radius:10px;font:700 12px DM Sans,sans-serif}#menu[data-tab=match] [data-tab=match],#menu[data-tab=players] [data-tab=players],#menu[data-tab=character] [data-tab=character]{color:var(--ink);background:var(--panel-2);box-shadow:inset 3px 0 0 var(--accent)}.lobby-body{grid-area:1/2/span 4;grid-template-columns:1fr}.lobby-body .panel{display:none}#menu[data-tab=match] .panel-match,#menu[data-tab=players] .panel-players,#menu[data-tab=character] .panel-character{display:block}.lobby-foot{grid-area:4/1;gap:4px;display:grid}.lobby-foot p{font-size:11px}.btn.big{width:100%;min-width:0;min-height:54px}.row{grid-template-columns:78px minmax(0,1fr);padding:4px 0}.char-pick{grid-template-columns:1fr 1fr}}@media (max-width:560px) and (orientation:portrait){#menu[data-screen=home] .screen-home{grid-template-columns:1fr;align-content:center}}#match-hud{pointer-events:none;color:#fff;display:none;position:absolute;top:0;bottom:0;left:0;right:0}#roster-weapon{background:#181a29b8;border:1px solid #ffffff25;border-radius:6px;margin-right:8px;padding:9px 11px;font-size:9px}body.playing aside,body.playing .world-heading,body.playing footer,body.playing #toast,body.playing header{display:none}body.playing main{height:100svh;height:100dvh;min-height:0;top:0;bottom:0;left:0;right:0}body.playing #match-hud{display:block}#match-banner{background:#191d2cd9;border:1px solid #ffffff25;border-radius:9px;align-items:center;gap:14px;padding:10px 13px;font-size:11px;display:flex;position:absolute;top:18px;left:22px}#match-banner b{letter-spacing:1.5px;color:#ffd493;font-size:9px}#match-banner button{pointer-events:auto;background:#35394b;border:0;border-radius:4px;padding:7px;font-size:10px}#floor-tracker{background:#191d2ce0;border-radius:10px;max-width:170px;padding:12px;position:absolute;top:38%;right:22px}#floor-tracker>div{color:#b0bbd8;border-left:2px solid #0000;align-items:center;gap:12px;padding:7px;font-size:10px;display:flex}#floor-tracker>div.current{color:#ffcd77;background:#ffffff0b;border-left-color:#ffcd77}#floor-tracker span{max-width:115px;font-size:8px;line-height:1.7}#nameplates{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.player-name{transform-origin:50% 100%;text-shadow:0 1px 2px #000;white-space:nowrap;background:#111523bd;border:1px solid #ffffff38;border-radius:12px;padding:3px 8px;font-size:12px;position:absolute;top:0;left:0}#countdown{color:#fc7;text-shadow:0 5px 20px #0008;font:700 88px Barlow Condensed;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}#aim-reticle{color:#fc7;width:120px;height:120px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#aim-reticle.active{display:block}#aim-reticle.locked{color:#8cffa2}#aim-reticle svg{filter:drop-shadow(0 1px 2px #000);position:absolute;top:0;bottom:0;left:0;right:0;transform:rotate(-90deg)}#aim-reticle circle{fill:none;stroke-width:3px}.track{stroke:#fff6}.progress{stroke:currentColor;stroke-dasharray:327;stroke-dashoffset:327px}#aim-reticle i{border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:57px;left:57px}#lock-text{letter-spacing:1px;text-align:center;white-space:nowrap;text-shadow:0 1px 4px #000;font-size:9px;position:absolute;top:127px;left:50%;transform:translate(-50%)}#weapon-status{text-align:center;letter-spacing:1.3px;background:#15192bdd;border-radius:10px;padding:10px 22px;font-size:11px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}#weapon-status b{color:#ffcb75;margin-left:12px;font-size:19px}#weapon-status span{color:#b9bfd0;letter-spacing:0;margin-top:5px;font-size:9px;display:block}#match-help{white-space:nowrap;text-shadow:0 1px 3px #000;font-size:9px;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}#touch-controls{display:none}#joystick{pointer-events:auto;touch-action:none;background:#151d354d;border:2px solid #fff5;border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:absolute;bottom:30px;left:28px}#joystick:before{content:"✛";color:#fff5;font-size:70px;position:absolute}#joystick i{background:#d1d6e688;border:2px solid #fff8;border-radius:50%;width:49px;height:49px}.touch-actions{pointer-events:auto;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:26px;right:25px}.touch-actions button{touch-action:none;background:#243047b8;border:1px solid #fff7;border-radius:50%;width:66px;height:66px;font-size:12px;box-shadow:0 2px 9px #0004}.touch-actions button small{opacity:.5;margin-top:3px;font-size:7px;display:block}.touch-actions #touch-fire{background:#bd8d39bf;width:85px;height:85px;font-size:12px}.touch-actions #touch-fire:disabled{opacity:.4}.touch-actions button:active{background:#d0a34bbf}body.playing #viewport{touch-action:none}button{-webkit-user-select:none;user-select:none}@media (pointer:coarse),(max-width:900px){#touch-controls{display:block}#match-help{display:none}#weapon-status{padding:7px 12px;font-size:9px;bottom:14px}#weapon-status span{font-size:8px}#floor-tracker{padding:6px;top:70px;right:12px}#match-banner{gap:7px;padding:6px;top:10px;left:10px}#match-banner b{display:none}.player-name{font-size:11px}}@media (max-height:500px){#joystick{width:96px;height:96px;bottom:20px}.touch-actions{bottom:18px}.touch-actions button{width:58px;height:58px}.touch-actions #touch-fire{width:73px;height:73px}#floor-tracker>div{padding:4px}#weapon-status{bottom:12px}#match-banner{font-size:9px}#countdown{font-size:64px}}@media (max-width:700px){body:not(.playing){height:100svh;flex-direction:column;height:100dvh;display:flex}body:not(.playing) aside{flex:none}body:not(.playing) main{flex:1;height:auto;min-height:400px}}#controls-panel{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff;background:#0b0d18b8;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#controls-panel[hidden]{display:none}.cp-card{background:#191d2cf2;border:1px solid #ffffff26;border-radius:14px;width:min(640px,100%);max-height:calc(100svh - 32px);padding:22px 24px 20px;overflow:auto;box-shadow:0 20px 60px #0009}.cp-card h2{letter-spacing:1px;text-transform:uppercase;color:#fc7;margin:0;font:700 30px/1 Barlow Condensed,sans-serif}.cp-sub{color:#b9bfd0;margin:6px 0 14px;font-size:12px}.cp-cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}.cp-cols section{background:#ffffff0d;border-radius:10px;padding:12px 14px}#controls-panel.touch-first .cp-touch{order:-1}.cp-cols h3{letter-spacing:1.5px;text-transform:uppercase;color:#ffd493;margin:0 0 8px;font-size:10px}.cp-cols dl{grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;margin:0;font-size:12px;display:grid}.cp-cols dt{white-space:nowrap;background:#35394b;border-bottom:2px solid #20232f;border-radius:4px;justify-self:start;padding:3px 7px;font:700 11px DM Sans,sans-serif}.cp-cols dd{color:#e6e8f0;margin:0}.cp-rules{color:#cfd3e0;margin:14px 0 16px;padding-left:18px;font-size:12px;line-height:1.5}.cp-rules b{color:#ffcb75}#controls-go{color:#fff;letter-spacing:.5px;cursor:pointer;background:#ff7a3d;border:0;border-radius:8px;width:100%;padding:12px;font:700 14px DM Sans,sans-serif}#controls-go:focus-visible{outline-offset:2px;outline:2px solid #fff}.controls-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:4px;margin-left:8px;padding:3px 8px}#match-banner #controls-open{background:#ff7a3d;font-weight:700}@media (max-width:560px),(max-height:500px){.cp-card{padding:14px 16px}.cp-card h2{font-size:22px}.cp-cols dl{gap:4px 8px;font-size:11px}.cp-rules{margin:10px 0 12px;font-size:11px}}@media (max-width:560px){.cp-cols{grid-template-columns:1fr}}@media (pointer:coarse){#controls-panel .cp-desktop{display:none}.cp-cols{grid-template-columns:1fr}}#rocket-hint{text-align:center;pointer-events:none;background:#15192bdd;border:1px solid #ff7a3d88;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:10px 18px;font-size:12px;display:flex;position:absolute;top:74px;left:50%;transform:translate(-50%)}#rocket-hint[hidden]{display:none}#rocket-hint b{letter-spacing:1.5px;color:#ffcb75;font:700 18px Barlow Condensed,sans-serif}#rocket-hint em{color:#ffcb75;font-style:normal;font-weight:700}#hud-flash{letter-spacing:1.5px;text-shadow:0 1px 4px #000;opacity:0;pointer-events:none;font:700 15px Barlow Condensed,sans-serif;transition:opacity .2s;position:absolute;top:58%;left:50%;transform:translate(-50%)}#hud-flash.show{opacity:1}#aim-reticle.blocked{color:#ff9d5c}.player-name.targeted{outline:2px solid #fc7}.player-name.locked{color:#8cffa2;outline-color:#8cffa2}@media (max-height:500px){#rocket-hint{padding:6px 12px;font-size:10px;top:52px}#rocket-hint b{font-size:14px}.cp-card{padding:12px 16px 0}.cp-sub{display:none}.cp-card h2{margin-bottom:8px}.cp-cols dl{grid-template-columns:auto 1fr auto 1fr}.cp-rules{margin:8px 0}#controls-go{margin-bottom:12px;position:sticky;bottom:0;box-shadow:0 -10px 14px #191d2c}}.name-field{letter-spacing:1.5px;color:#81889b;gap:6px;margin:14px 0 10px;font-size:9px;display:grid}.name-field input{color:#fff;letter-spacing:.5px;background:#ffffff0d;border:1px solid #ffffff25;border-radius:7px;padding:10px 12px;font:700 14px DM Sans,sans-serif}.name-field input:focus-visible{outline-offset:1px;outline:2px solid #ffcb75}.name-field input.invalid{border-color:#ff6a4d;box-shadow:0 0 0 2px #ff6a4d55}#aim-reticle.locked svg{animation:.22s ease-out lock-pop}@keyframes lock-pop{0%{transform:rotate(-90deg)scale(1.25)}to{transform:rotate(-90deg)scale(1)}}body.match-won #aim-reticle,body.match-won #weapon-status,body.match-won #touch-controls,body.match-won #match-help,body.match-won #rocket-hint,body.match-won #hud-flash{display:none!important}body.match-won #match-hud:before{content:"";pointer-events:none;background:radial-gradient(#0000 45%,#ffc63a40 100%);animation:3.2s ease-out forwards victory-glow;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes victory-glow{0%{opacity:0}12%{opacity:1}to{opacity:.45}}#victory-banner{text-align:center;pointer-events:none;flex-direction:column;align-items:center;animation:.5s cubic-bezier(.2,1.6,.4,1) .25s both banner-in;display:flex;position:absolute;top:13%;left:50%;transform:translate(-50%)}#victory-banner[hidden]{display:none}#victory-banner small{letter-spacing:6px;color:#ffd27a;text-shadow:0 2px 10px #000a;font:700 22px Barlow Condensed,sans-serif}#victory-banner strong{text-transform:uppercase;color:#fff;text-shadow:0 4px #e0892a,0 10px 30px #0009;font:700 clamp(44px,9vw,96px)/.95 Barlow Condensed,sans-serif}@keyframes banner-in{0%{opacity:0;transform:translate(-50%)scale(.6)}to{opacity:1;transform:translate(-50%)scale(1)}}#results{pointer-events:auto;background:#0b0d18a6;place-items:center;padding:16px;animation:.35s ease-out results-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}#results[hidden]{display:none}@keyframes results-in{0%{opacity:0}}.results-card{text-align:center;background:#191d2cf2;border:1px solid #ffc63a66;border-radius:16px;width:min(380px,100%);max-height:calc(100svh - 32px);padding:22px 24px;overflow:auto;box-shadow:0 20px 60px #000a}.results-trophy{font-size:40px;line-height:1}.results-card small{letter-spacing:5px;color:#ffd27a;margin-top:6px;font:700 14px Barlow Condensed,sans-serif;display:block}.results-card h2{text-transform:uppercase;overflow-wrap:anywhere;margin:2px 0 0;font:700 48px/1 Barlow Condensed,sans-serif}#results-sub{letter-spacing:2px;color:#b9bfd0;margin:6px 0 12px;font-size:11px}#results-placements{text-align:left;color:#cfd3e0;max-width:220px;margin:0 auto 16px;padding:0 0 0 22px;font-size:12px;line-height:1.6}#results-placements li:first-child{color:#ffcb75;font-weight:700}.results-actions{gap:8px;display:grid}.results-actions button{color:#fff;letter-spacing:1px;cursor:pointer;background:#35394b;border:1px solid #ffffff30;border-radius:8px;padding:12px;font:700 13px DM Sans,sans-serif}.results-actions .results-primary{background:#ff7a3d;border:0}.results-actions button:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (max-height:500px){#victory-banner{top:8%}.results-card{padding:12px 18px}.results-trophy{font-size:26px}.results-card h2{font-size:34px}#results-placements{display:none}.results-actions{grid-template-columns:1fr 1fr}}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%}body.playing,body:not(.studio){background:#0d0f1a;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}body.playing main{height:100vh;height:100dvh}button{touch-action:manipulation}body.immersive main{width:100vw;height:100vh;z-index:1;background:#000;height:100dvh;position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:0!important}body.standalone #fullscreen{display:none}#match-banner{left:max(14px, env(safe-area-inset-left));top:max(12px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(6px);background:#151827cc;border-radius:14px;gap:8px;padding:6px}#match-banner .pill{letter-spacing:1px;white-space:nowrap;background:#ffffff10;border-radius:9px;padding:6px 10px;font:700 13px Barlow Condensed,sans-serif}#match-banner #lives-pill{color:#ff8a8a}#match-banner .hud-btn{color:#fff;background:#2b3047;border-radius:9px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font:700 11px DM Sans,sans-serif;display:inline-flex}#match-banner .hud-btn svg{width:17px;height:17px}#match-banner #controls-open{background:#2b3047}#match-banner .hud-btn.on{box-shadow:inset 0 0 0 1px #ffcb75}#floor-tracker{right:max(16px, env(safe-area-inset-right))}#floor-tracker>div{padding:3px 6px}#net-banner{top:max(12px, env(safe-area-inset-top));color:#ffd493;letter-spacing:1px;z-index:5;background:#3a2a14ee;border:1px solid #ffcb7566;border-radius:999px;padding:8px 16px;font:700 12px DM Sans,sans-serif;display:none;position:absolute;left:50%;transform:translate(-50%)}body.net-reconnecting #net-banner{display:block}#joystick{left:max(26px, calc(env(safe-area-inset-left) + 12px));bottom:max(24px, calc(env(safe-area-inset-bottom) + 10px));opacity:.55;background:radial-gradient(circle,#ffffff10 0%,#ffffff06 60%,#0000 61%),#10142380;border:2px solid #ffffff38;width:132px;height:132px;transition:opacity .25s;box-shadow:inset 0 0 24px #0006}#joystick:active,#joystick.active{opacity:1}#joystick i{background:radial-gradient(circle at 40% 35%,#fff,#cfd5e6 60%,#9aa3bb);border:0;width:56px;height:56px;box-shadow:0 4px 12px #0007}#joystick i:before,#joystick i:after{display:none}.touch-actions{right:max(22px, calc(env(safe-area-inset-right) + 10px));bottom:max(20px, calc(env(safe-area-inset-bottom) + 8px));grid-template:".dive""jump fire"/auto auto;place-items:end center;gap:10px 14px;display:grid}.touch-actions button{color:#fff;letter-spacing:1.2px;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 30%,#3a4363e6,#1b2135e6);border:1.5px solid #ffffff40;align-content:center;place-items:center;gap:1px;font:700 10px DM Sans,sans-serif;transition:transform 70ms,filter .15s,opacity .2s;display:grid;position:relative;box-shadow:0 6px 16px #0008,inset 0 1px #ffffff26}.touch-actions button svg{width:26px;height:26px}.touch-actions button small{opacity:.8;font-size:9px}.touch-actions button:active{filter:brightness(1.25);transform:scale(.92)}#touch-jump{grid-area:jump;width:74px;height:74px}#touch-dive{grid-area:dive;width:60px;height:60px}#touch-dive svg{width:22px;height:22px}.touch-actions #touch-fire{background:radial-gradient(circle at 50% 30%,#3a3f52d9,#20232fd9);border-color:#ffffff2a;grid-area:fire;width:92px;height:92px}.touch-actions #touch-fire svg{width:34px;height:34px}.touch-actions #touch-fire:disabled{opacity:.38;filter:grayscale()}.touch-actions #touch-fire.armed{background:radial-gradient(circle at 50% 30%,#ff9d5c,#e4572a);border-color:#ffd0b0;animation:1.6s ease-in-out infinite fire-ready;box-shadow:0 0 0 4px #ff7a3d33,0 8px 22px #e4572a88}.touch-actions #touch-fire.aiming{animation:none;box-shadow:0 0 0 6px #ffcb7555}.touch-actions #touch-fire.locked{background:radial-gradient(circle at 50% 30%,#9cf0b2,#3fb565);box-shadow:0 0 0 6px #7ee59a55}@keyframes fire-ready{50%{box-shadow:0 0 0 9px #ff7a3d22,0 8px 22px #e4572a88}}#touch-fire .ammo{color:#c2421b;background:#fff4e3;border-radius:999px;min-width:28px;padding:3px 6px;font:700 13px Barlow Condensed,sans-serif;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #0007}#touch-fire .ammo:empty{display:none}@media (pointer:coarse),(max-width:900px){#match-banner .hud-btn span{display:none}#match-banner .hud-btn{justify-content:center;width:38px;height:38px;padding:0}#floor-tracker,#weapon-status{display:none}#aim-reticle{width:104px;height:104px}}@media (max-height:420px){#joystick{width:116px;height:116px}#touch-jump{width:66px;height:66px}#touch-dive{width:54px;height:54px}.touch-actions #touch-fire{width:82px;height:82px}.touch-actions{gap:8px 12px}}#rotate-overlay{display:none}@media (orientation:portrait) and (pointer:coarse) and (max-width:900px){#rotate-overlay{z-index:100;color:#fff7ec;text-align:center;background:#0d0f1af5;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#rotate-overlay div{justify-items:center;gap:10px;display:grid}#rotate-overlay svg{color:#ffcb75;width:64px;height:64px;animation:2.4s ease-in-out infinite rotate-hint}#rotate-overlay b{letter-spacing:3px;font:700 30px Barlow Condensed,sans-serif}#rotate-overlay span{color:#b8bccd;font-size:14px}}@keyframes rotate-hint{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}#ios-hint{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:60;color:#fff;background:#191d2cf2;border:1px solid #ffcb7566;border-radius:14px;width:min(420px,100vw - 32px);padding:12px 14px;font:14px/1.4 DM Sans,sans-serif;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px #0009}#ios-hint[hidden]{display:none}#ios-hint p{margin:0 0 8px}#ios-hint ol{color:#cfd3e0;margin:0 0 8px;padding-left:18px}#ios-hint div{justify-content:flex-end;gap:8px;display:flex}#ios-hint .chip{color:#fff;letter-spacing:1px;background:#ffffff12;border:1px solid #ffffff30;border-radius:999px;min-height:36px;padding:0 12px;font:700 11px DM Sans,sans-serif}#ios-hint .chip.primary{background:#ff7a3d;border:0}
