:root{color:#ece9e0;font-synthesis:none;--accent:#ecc05c;--accent-hot:#ffd97a;--accent-deep:#c98a2c;--danger:#ff5a3c;--ok:#8fd88a;--muted:#a9afab;--ink:#0b1114;--glass:linear-gradient(135deg, #18222ad0, #0b1116b8);--line:#ecc05c40;--cut:14px;--chamfer:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));--display:"Barlow Condensed", Impact, "Arial Narrow", sans-serif;background:#171d20;font-family:IBM Plex Sans,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}html{touch-action:manipulation}body{background:#171d20;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{--cut:9px;cursor:pointer;clip-path:var(--chamfer);color:#ece9e0;text-align:left;font:700 16px/1.1 var(--display);letter-spacing:1.2px;text-transform:uppercase;background:linear-gradient(#2c363acc,#1a2226cc);border:0;padding:13px 20px;transition:background .15s,box-shadow .15s,transform .12s,color .15s;position:relative;box-shadow:inset 0 0 0 1px #ffffff26}button:hover{box-shadow:inset 0 0 0 1px #ecc05c99, inset 3px 0 0 var(--accent);background:linear-gradient(#3c484bdd,#273034dd)}button:active:not(:disabled){transform:translateY(1px)scale(.985)}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible{outline:2px solid var(--accent-hot);outline-offset:-5px}a:focus-visible,input:focus-visible{outline:3px solid var(--accent-hot);outline-offset:3px}a{color:inherit;text-decoration:none}button.primary{background:linear-gradient(180deg, var(--accent-hot), var(--accent) 55%, var(--accent-deep));color:#1a1a12;justify-content:space-between;align-items:center;gap:45px;display:flex;overflow:hidden;box-shadow:inset 0 -3px #0003}button.primary:after{content:"";pointer-events:none;background:linear-gradient(100deg,#fff0,#fff8,#fff0);width:40%;animation:4.5s ease-in-out 1.2s infinite shine;position:absolute;inset:0 auto 0 -60%;transform:skew(-20deg)}button.primary:hover{background:linear-gradient(180deg, #ffe7a8, var(--accent-hot) 55%, var(--accent));box-shadow:inset 0 -3px #0003}button.primary:focus-visible{outline-color:#1a1a12}@keyframes shine{0%,70%{left:-60%}to{left:130%}}.quiet{box-shadow:none;color:#cfd3cb;background:0 0}.quiet:hover{box-shadow:inset 3px 0 0 var(--accent);background:#ffffff12}#world{z-index:0;width:100%;height:100%;position:fixed;inset:0}#app{padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);z-index:1;pointer-events:none;min-height:100dvh;position:relative}body:not(.in-game) #app:before{content:"";z-index:-1;background:linear-gradient(90deg,#070b0ee6 0%,#070b0ea8 30%,#070b0e30 52%,#070b0e00 65%),linear-gradient(#070b0e00 78%,#070b0ecc 100%),linear-gradient(#070b0e99 0%,#070b0e00 16%);position:fixed;inset:0}#app button,#app a,#app input,#app form,#app .panel,#app .modal,#app .results-card{pointer-events:auto}header{justify-content:space-between;align-items:center;height:96px;padding:0 5vw;display:flex;position:relative}header:after{content:"";background:linear-gradient(90deg, var(--accent) 0 60px, #ffffff26 60px, #fff0);height:1px;position:absolute;bottom:0;left:5vw;right:5vw}.brand{font:800 26px var(--display);letter-spacing:2px;align-items:center;gap:12px;display:flex}.brand-icon{--cut:8px;clip-path:var(--chamfer);background:var(--accent);color:#1a1a12;letter-spacing:0;padding:7px 10px;font-size:24px;font-weight:900}.brand-sub{letter-spacing:4px;color:#c9c6b8;border-left:1px solid #65706a;padding-left:12px;font:600 10px IBM Plex Sans,sans-serif}nav{align-items:center;gap:22px;display:flex}nav button{font-size:14px}.pilot-name{color:#c8cdc4;font:700 15px var(--display);letter-spacing:1.5px;text-transform:uppercase}.connection{letter-spacing:1.5px;color:#f0aa79;font-size:10px;font-weight:600;display:block}.connection.connected{color:#b4cbaa}.shell{justify-content:space-between;align-items:center;min-height:calc(100dvh - 151px);padding:6vh 5vw 100px;display:flex}.panel{width:44%;max-width:540px;padding:8px 0 8px 28px;position:relative}.panel:before{content:"";background:linear-gradient(var(--accent), #ecc05c33 40%, #ecc05c00);width:3px;position:absolute;top:10px;bottom:10px;left:0}.shell:not(.same) .panel>*{animation:.5s cubic-bezier(.2,.8,.2,1) both enter}.shell:not(.same) .panel>:nth-child(2){animation-delay:50ms}.shell:not(.same) .panel>:nth-child(3){animation-delay:.1s}.shell:not(.same) .panel>:nth-child(4){animation-delay:.15s}.shell:not(.same) .panel>:nth-child(n+5){animation-delay:.2s}.shell:not(.same) .machine-caption{animation:.7s cubic-bezier(.2,.8,.2,1) .2s both enter-right}@keyframes enter{0%{opacity:0;transform:translate(-24px)}}@keyframes enter-right{0%{opacity:0;transform:translate(30px)}}.eyebrow{letter-spacing:3px;color:var(--accent);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:16px;font-size:10px;font-weight:700;display:flex}.panel>.eyebrow:before{content:"";background:var(--accent);width:18px;height:2px}h1,h2{font-family:var(--display);letter-spacing:-.5px;text-transform:uppercase;margin:0 0 24px;line-height:.92}h1{background:linear-gradient(#fff 30%,#d9d2bd);color:#0000;filter:drop-shadow(0 4px 18px #0009);-webkit-background-clip:text;background-clip:text;font-size:clamp(46px,5.4vw,86px);font-weight:900}h2{font-size:40px;font-weight:800}.panel .eyebrow,.panel .muted,nav,footer{text-shadow:0 1px 6px #000c}.lede{color:#d0d4cc;text-shadow:0 1px 8px #000a;margin-bottom:28px;font-size:16px;line-height:1.6}p{line-height:1.65}.muted{color:var(--muted);font-size:12px}.actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.actions>button{min-height:50px;padding:14px 22px}.panel>:last-child{margin-bottom:0}.actions .primary{min-width:220px;font-size:19px}.panel>button{margin:0 8px 8px 0}.spec-strip{letter-spacing:2px;color:#9ba69d;border-top:1px solid #ffffff1f;gap:34px;margin-top:44px;padding-top:22px;font-size:10px;font-weight:600;display:flex}.spec-strip b{color:var(--accent);font:800 34px var(--display);letter-spacing:1px;margin-bottom:2px;display:block}.machine-caption{text-align:right;text-shadow:0 2px 12px #000;align-self:flex-end;margin-bottom:10px}.machine-caption .eyebrow{justify-content:flex-end}.machine-caption p{font:900 34px/.95 var(--display);letter-spacing:2px;margin:0 0 14px}.machine-caption>span:last-child{color:#c3cabf;letter-spacing:1.5px;font-size:11px;font-weight:600;line-height:2}footer{color:#8e9a93;letter-spacing:2.4px;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:55px;font-size:10px;font-weight:600;display:flex;position:absolute;bottom:0;left:5vw;right:5vw}form{gap:12px;max-width:420px;display:grid}form label{letter-spacing:1.5px;text-transform:uppercase;color:#b4bdb5;font-size:11px;font-weight:600}input:not([type=checkbox]){width:100%;box-shadow:inset 0 0 0 1px #ffffff2e, inset 0 -2px 0 var(--accent);color:#fff;font:700 22px var(--display);letter-spacing:1.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1216cc;border:0;border-radius:0;padding:16px 18px}input::placeholder{color:#78857b}.divider{letter-spacing:3px;color:#95a39a;align-items:center;gap:12px;margin:26px 0;font-size:10px;font-weight:700;display:flex}.divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slots{margin-top:24px}.slots>div+div{margin-top:14px}.choice{text-transform:none;letter-spacing:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(160deg,#1d272cd9,#0e1519c9);flex-direction:column;gap:6px;padding:14px;display:flex}.choice.selected{box-shadow:inset 0 0 0 1px var(--accent), inset 0 -3px 0 var(--accent);background:linear-gradient(160deg,#4a4125e6,#241f14d9)}.choice strong{font:800 16px var(--display);letter-spacing:.8px;text-transform:uppercase}.choice small{letter-spacing:.3px;color:#b3bdb0;font:500 10px IBM Plex Sans,sans-serif}.weapon-symbol{color:var(--accent);font-size:30px}.chassis-picker>.muted,.slots .muted{margin:10px 0 0}.room-code{align-items:center;gap:18px;padding:6px 0 4px;display:flex}.room-code>span{--cut:10px;clip-path:var(--chamfer);font:800 42px/1 var(--display);letter-spacing:8px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--line);background:#0b1216b3;padding:10px 18px 8px 22px}.roster{gap:6px;margin:18px 0;display:grid}.pilot{--cut:10px;clip-path:var(--chamfer);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#1b252ae0,#0e1519a8);align-items:center;gap:14px;padding:12px 16px 12px 0;animation:.4s both enter;display:flex}.pilot .swatch{width:5px;height:42px}.pilot>span:nth-child(2){flex:1}.pilot strong{font:800 17px var(--display);letter-spacing:1px;text-transform:uppercase}.pilot small{color:#a7b3a8;margin-top:4px;font-size:10px;display:block}.pilot>b{--cut:6px;clip-path:var(--chamfer);letter-spacing:1.5px;color:#cfd3cb;background:#ffffff0d;padding:6px 10px;font-size:10px;box-shadow:inset 0 0 0 1px #ffffff40}.pilot>b.ready{background:var(--accent);color:#1a1a12}.swatch{flex-shrink:0;width:9px;height:9px;display:inline-block}.ready{color:var(--accent)}.notice{border-left:3px solid var(--accent);background:#3d3b2ccc;padding:12px 15px;font-size:13px}.setting{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;font-size:13px;font-weight:500;display:flex}.setting input{accent-color:var(--accent);width:19px;height:19px}kbd{color:#f1dca6;background:#0d1417;border:1px solid #ffffff38;border-bottom-width:2px;border-radius:3px;padding:2px 6px;font:600 11px IBM Plex Sans,monospace;display:inline-block}.controls p{align-items:center;gap:10px;display:flex}.glass{--cut:12px;clip-path:var(--chamfer);background:var(--glass);-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);box-shadow:inset 0 0 0 1px #ffffff1c}#hud{font-variant-numeric:tabular-nums}.hud-roster{gap:2px;width:220px;padding:10px 14px 12px;display:grid;position:fixed;top:24px;left:24px}.hud-roster>div{grid-template-rows:auto 3px;grid-template-columns:4px 1fr auto;align-items:center;gap:4px 9px;padding:5px 0;transition:opacity .4s;display:grid}.hud-roster .swatch{background:var(--c);grid-row:span 2;width:4px;height:100%}.hud-roster .who{font:700 15px var(--display);letter-spacing:.8px;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-roster .me .who{color:var(--accent)}.hud-roster small{color:#b9c4b0;letter-spacing:1.5px;font-size:9px;font-weight:700}.hud-roster .hp{background:#ffffff1a;grid-column:2/4;height:3px}.hud-roster .hp b{background:var(--c);height:100%;transition:width .25s;display:block}.hud-roster .out{opacity:.4}.hud-roster .out .who{text-decoration:line-through}.hud-roster .out small{color:var(--danger)}.hud-timer{--cut:16px;text-align:center;clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,18px 100%);box-shadow:inset 0 3px 0 var(--accent);padding:8px 40px 10px;position:fixed;top:20px;left:50%;transform:translate(-50%)}.hud-timer strong{font:800 42px/1 var(--display);letter-spacing:1px;display:block}.hud-timer span{letter-spacing:2px;text-transform:uppercase;color:#b9c4b0;font-size:9px;font-weight:700}.hud-timer.urgent{box-shadow:inset 0 3px 0 var(--danger)}.hud-timer.urgent strong{color:var(--danger);animation:1s ease-in-out infinite beat}@keyframes beat{15%{transform:scale(1.12)}30%{transform:scale(1)}}.hud-menu{text-align:right;position:fixed;top:24px;right:24px}.hud-menu button{font-size:15px}.hud-menu .connection{margin-top:8px}.kill-feed{justify-items:end;gap:6px;margin:0;padding:0;list-style:none;display:grid;position:fixed;top:100px;right:24px}.kill-feed li{--cut:8px;clip-path:var(--chamfer);font:700 15px var(--display);letter-spacing:.8px;text-transform:uppercase;background:linear-gradient(90deg,#0b1116c0,#141d22e6);align-items:center;gap:10px;padding:7px 14px;animation:.35s cubic-bezier(.2,.9,.2,1.2) both feed-in,.4s ease-in 5.5s forwards feed-out;display:flex;box-shadow:inset -3px 0 #fff5}.kill-feed li.mine{box-shadow:inset -3px 0 0 var(--accent);background:linear-gradient(90deg,#3a2f12d0,#5a4617e6)}.kill-feed b{color:var(--c);filter:brightness(1.25)}.kill-feed b.me{color:var(--accent)}.kill-feed .how{color:var(--danger);font-size:14px}.kill-feed small{letter-spacing:1px;color:#b9c4b0;font:600 9px IBM Plex Sans,sans-serif}.kill-feed small:empty{display:none}@keyframes feed-in{0%{opacity:0;transform:translate(60px)}}@keyframes feed-out{to{opacity:0;transform:translate(30px)}}.hud-health,.weapon-hud{--cut:12px;--tone:#ffffff2e;height:72px;clip-path:var(--chamfer);background:var(--glass);-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);box-shadow:inset 0 0 0 1px #ffffff1c, inset 0 -2px 0 var(--tone);transition:box-shadow .2s}.icon{flex-shrink:0;width:1em;height:1em;display:block}.hud-health{--tone:var(--ok);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;column-gap:14px;width:316px;padding:0 18px 0 16px;display:grid;position:fixed;bottom:24px;left:24px}.hud-health .eyebrow{letter-spacing:2.4px;white-space:nowrap;text-overflow:ellipsis;grid-column:2;margin:0 0 7px;font-size:9px;overflow:hidden}.hud-health strong{min-width:58px;font:900 44px/.86 var(--display);letter-spacing:-.5px;flex-direction:column;grid-area:1/1/3;align-items:flex-end;display:flex}.hud-health strong small{font:700 10px/1 var(--display);letter-spacing:1.6px;color:#a9b5a4;margin-top:3px}.meter{background:#ffffff1f;height:4px;margin-top:12px;position:relative}.meter i,.meter b{background:var(--accent);transition:width 80ms;display:block;position:absolute;top:0;bottom:0;left:0}.hud-health .meter{background:#000000a0;grid-column:2;height:14px;margin:0 4px 0 0;transform:skew(-18deg);box-shadow:inset 0 0 0 1.5px #ffffff40}.hud-health .meter b{background:#fff;transition:width .5s ease-out .35s}.hud-health .meter i{background:linear-gradient(180deg, #d4f2c4, var(--ok) 50%, #5ea85a);box-shadow:0 0 12px #8fd88a66}.hud-health .meter:after{content:"";background:linear-gradient(90deg,#ffffff10 0 calc(100% - 3px),#0b1114 0);background-size:calc(100% / var(--segments,5)) 100%;position:absolute;inset:0}.mid-health{--tone:var(--accent)}.mid-health .meter i{background:linear-gradient(180deg, #ffe0a0, var(--accent) 50%, var(--accent-deep));box-shadow:0 0 12px #ecc05c66}.low-health{--tone:var(--danger)}.low-health .meter b{background:#7a1a0c}.low-health .meter i{background:linear-gradient(#ffb09a,#ff3b1f 45%,#d0200a);min-width:4px;animation:.7s ease-in-out infinite alternate low-pulse;box-shadow:0 0 10px #ff3b1f}.low-health strong>span{color:var(--danger);text-shadow:0 0 14px #ff5a3c77;animation:.9s ease-in-out infinite beat}@keyframes low-pulse{to{opacity:.55}}.hud-weapons{gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.weapon-hud{--ready:1;align-items:center;gap:12px;width:232px;padding:0 16px 0 12px;display:flex;position:relative}.weapon-hud.ready{--tone:var(--accent)}.weapon-hud>div{flex:1;min-width:0}.weapon-hud .ring{color:#ffffff59;background:conic-gradient(#ecc05c38 calc(var(--ready) * 1turn), #0000 0), radial-gradient(circle, #1a2126, #0b1013);border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:28px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a}.weapon-hud .ring:before{content:"";background:conic-gradient(var(--accent) calc(var(--ready) * 1turn), #ffffff1a 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(closest-side,#0000 86%,#000 88%);mask:radial-gradient(closest-side,#0000 86%,#000 88%)}.weapon-hud .ring:after{content:attr(data-sec);font:800 19px/1 var(--display);color:#fff;text-shadow:0 0 4px #000,0 1px 2px #000;place-items:center;display:grid;position:absolute;inset:0}.weapon-hud .ring>.icon{z-index:0;position:relative}.weapon-hud .ring[data-sec]:not([data-sec=""])>.icon{opacity:.4}.weapon-hud.ready .ring{color:#1a1408;background:radial-gradient(circle at 50% 35%, var(--accent-hot), var(--accent) 55%, var(--accent-deep));animation:.35s ease-out ready-flash;box-shadow:inset 0 -3px #0003,inset 0 2px #fff6,0 0 16px #ecc05c88}.weapon-hud.ready .ring:before{background:0 0}.weapon-hud.active{--tone:var(--accent-hot);background:linear-gradient(135deg,#5a4617e6,#241f14d0)}.weapon-hud.active .ring{animation:.25s linear infinite firing}.weapon-hud.hot{--tone:var(--danger)}.weapon-hud.hot .ring{color:var(--danger)}.weapon-hud.hot .ring:before{background:conic-gradient(var(--danger) calc(var(--ready) * 1turn), #ff5a3c33 0)}.weapon-hud.hot small{color:var(--danger)}@keyframes ready-flash{40%{box-shadow:0 0 28px var(--accent);transform:scale(1.14)}}@keyframes firing{50%{transform:scale(.92)}}.weapon-hud .eyebrow{letter-spacing:2.4px;color:#a9b5a4;margin-bottom:1px;font-size:9px}.weapon-hud strong{font:800 19px/1.05 var(--display);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:#b9c0b6;display:block;overflow:hidden}.weapon-hud.ready strong{color:#f4efe2}.weapon-hud small{letter-spacing:1.4px;color:#8e998c;margin-top:3px;font-size:9px;font-weight:700;display:block}.weapon-hud.ready small{color:var(--accent)}.weapon-hud kbd{font-size:10px;position:absolute;bottom:10px;right:10px}#aim{pointer-events:none;filter:drop-shadow(0 0 2px #000);background:radial-gradient(circle,#fff 1.6px,#0000 2.2px),linear-gradient(#fffd,#fffd) 50% 0/2px 8px no-repeat,linear-gradient(#fffd,#fffd) 50% 100%/2px 8px no-repeat,linear-gradient(#fffd,#fffd) 0/8px 2px no-repeat,linear-gradient(#fffd,#fffd) 100%/8px 2px no-repeat;width:30px;height:30px;position:fixed;transform:translate(-50%,-50%)}#aim:after{content:"";opacity:0;background:linear-gradient(45deg,#0000 46%,#ff5a3c 46% 54%,#0000 54%),linear-gradient(-45deg,#0000 46%,#ff5a3c 46% 54%,#0000 54%);position:absolute;inset:-6px;-webkit-mask:radial-gradient(circle,#0000 42%,#000 43%);mask:radial-gradient(circle,#0000 42%,#000 43%)}#aim.hit:after{animation:.3s ease-out hitmark}@keyframes hitmark{0%{opacity:1;transform:scale(1.5)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.popups>*{pointer-events:none;position:fixed}.dmg{font:900 30px/1 var(--display);color:#fff;-webkit-text-stroke:1px #0008;text-shadow:0 2px 6px #000c;animation:.9s cubic-bezier(.2,.8,.3,1) forwards pop-up;transform:translate(-50%,-50%)}.dmg.big{color:var(--accent-hot);font-size:40px}.dmg.kill{color:var(--danger);font-size:46px}.dmg.kill:after{content:" KO";font-size:.6em}@keyframes pop-up{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-140%)scale(.9)}}.hit-dir{z-index:-1;background:radial-gradient(circle 16vmin at var(--x) var(--y), #ff3b1fd0, #ff3b1f40 55%, #ff3b1f00 70%);animation:.55s ease-out forwards edge-pulse;inset:0}@keyframes edge-pulse{0%{opacity:0}15%{opacity:.8}to{opacity:0}}@keyframes fade-out{to{opacity:0}}.vignette{z-index:-1;pointer-events:none;position:fixed;inset:0}.vignette:before,.vignette i{content:"";opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #ff3b1f,inset 0 0 14px 2px #ff2a1080}.vignette.hurt:before{animation:.45s ease-out hurt;box-shadow:inset 0 0 0 5px #ff3b1f,inset 0 0 22px 4px #ff2a10a0}@keyframes hurt{0%{opacity:var(--hurt,.6)}}.vignette.critical i{animation:1.1s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{opacity:.35}12%{opacity:1}24%{opacity:.45}36%{opacity:.85}}.combat-message{text-align:center;font:900 44px/1 var(--display);letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 2px 10px #000;background:linear-gradient(90deg,#0000,#8a1a0ccc 25% 75%,#0000);margin:0;padding:14px 20px;animation:.45s cubic-bezier(.2,.9,.2,1.1) both banner;position:fixed;top:26%;left:0;right:0}.combat-message:empty{display:none}@keyframes banner{0%{opacity:0;letter-spacing:16px;transform:scaleY(.2)}}.countdown b{font:900 min(34vh, 260px) / 1 var(--display);color:var(--accent);-webkit-text-stroke:2px #fff3;text-shadow:0 0 40px #ecc05c88,0 8px #0006;pointer-events:none;animation:.95s cubic-bezier(.2,.9,.3,1) both slam;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%)}.countdown b.go{color:#fff;letter-spacing:4px;text-shadow:0 0 50px var(--accent), 0 8px 0 #0006;font-size:min(26vh,200px);font-style:italic;animation:1.1s cubic-bezier(.2,.9,.3,1) both go}@keyframes slam{0%{opacity:0;transform:translate(-50%,-50%)scale(2.4)}22%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.85;transform:translate(-50%,-50%)scale(.92)}}@keyframes go{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)skew(-12deg)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.05)skew(-12deg)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)skew(-12deg)}}.countdown-label{text-align:center;letter-spacing:6px;width:100%;font:800 18px var(--display);color:#fff;text-shadow:0 2px 10px #000;position:fixed;top:64%}.center-card{min-width:400px;padding:30px 36px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.center-card p{font:700 16px var(--display);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:10px;margin:6px 0;display:flex}.center-card p b{letter-spacing:2px;color:var(--muted);margin-left:auto;font-size:11px;animation:.6s ease-in-out infinite alternate low-pulse}.center-card p.loaded b{color:var(--accent);animation:none}.results{background:linear-gradient(90deg,#05080ae6 0%,#05080acc 38%,#05080a55 55%,#05080a00 68%);place-items:center start;padding:20px 20px 20px 6vw;animation:.6s ease-out both fade-in;display:grid;position:fixed;inset:0;overflow:auto}@keyframes fade-in{0%{opacity:0}}.results-card{text-align:left;width:min(640px,100%)}.results .eyebrow{animation:.5s .1s both enter-up}.results h1{margin-bottom:10px;font-size:clamp(64px,9vw,132px);animation:.7s cubic-bezier(.2,.9,.3,1.2) .15s both title-slam;position:relative}.victory h1{background:linear-gradient(180deg, #fff6d8 10%, var(--accent-hot) 45%, var(--accent-deep));filter:drop-shadow(0 0 30px #ecc05c88)drop-shadow(0 6px #0008);-webkit-background-clip:text;background-clip:text}.defeat h1{background:linear-gradient(#fff 20%,#c9c3b4);filter:drop-shadow(0 0 30px #ff5a3c55)drop-shadow(0 6px #0008);-webkit-background-clip:text;background-clip:text}@keyframes title-slam{0%{opacity:0;letter-spacing:30px;transform:scale(1.8)}}@keyframes grow{0%{width:0}}@keyframes enter-up{0%{opacity:0;transform:translateY(16px)}}.verdict{color:#d0d4cc;font-size:16px;animation:.5s .5s both enter-up}.verdict b{color:var(--accent);font:800 20px var(--display);letter-spacing:1px;text-transform:uppercase}.results table{border-collapse:separate;border-spacing:0 4px;text-align:left;width:100%;margin:22px 0 10px}.results th{color:#c9cfc6;letter-spacing:2px;text-transform:uppercase;padding:0 14px 4px;font-size:10px;font-weight:700}.results td{font:700 18px var(--display);letter-spacing:.5px;background:#10171bf5;padding:11px 14px}.results td:first-child{text-align:center;color:#0b1114;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);background:#ffffff38;width:56px}.results td:nth-child(2){text-transform:uppercase;font-size:20px}.results td:nth-child(2) .swatch{vertical-align:-3px;background:var(--c);width:4px;height:18px;margin-right:10px}.results tbody tr{animation:row-in .45s calc(.75s + var(--i) * .1s) cubic-bezier(.2, .9, .3, 1.1) both}.results tr.winner td{background:#3f3316f5;font-size:22px}.results tr.winner td:first-child{background:var(--accent);font-size:26px}.results tr.winner td:nth-child(2):after{content:"  ★ WINNER";letter-spacing:2px;color:var(--accent);font-size:11px}.results tr.me td:nth-child(2){color:var(--accent-hot)}@keyframes row-in{0%{opacity:0;transform:translate(-40px)}}.results .actions{justify-content:flex-start;animation:.5s 1.2s both enter-up}#hud[data-phase=results] :is(.hud-health,.hud-weapons,.spectator,.kill-feed,.hud-roster,.hud-timer,.hud-menu,.popups,.vignette,.combat-message,#aim){display:none!important}.spectator{align-items:center;gap:10px;padding:10px 12px 10px 18px;display:flex;position:fixed;bottom:150px;left:50%;transform:translate(-50%)}.spectator b{letter-spacing:2px;color:var(--accent);font-size:10px}.spectator button{padding:9px 12px;font-size:13px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#05090cb3;place-items:center;animation:.2s both fade-in;display:grid;position:fixed;inset:0}.modal{--cut:18px;width:500px;max-width:90vw;max-height:90vh;box-shadow:inset 0 0 0 1px #ffffff1c, inset 0 3px 0 var(--accent);padding:30px;animation:.25s both enter-up;overflow:auto}.modal>button{margin:15px 6px 0 0}.high-contrast .glass,.high-contrast .panel,.high-contrast .weapon-hud,.high-contrast .pilot,.high-contrast .choice:not(.selected){background:#071012}.high-contrast{--muted:#d3ddd4}.high-contrast #app:before{background:#070b0ef2!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1100px){.hud-health{width:250px}.hud-weapons{left:auto;right:24px;transform:none}.weapon-hud{width:184px}.shell{padding-top:4vh}.panel{width:55%;max-width:520px}h1{font-size:60px}.machine-caption{max-width:200px}.pilot-name{display:none}}@media (width<=760px){header{height:75px;padding:0 20px}header:after{left:20px;right:20px}.brand-sub,nav .connection,.machine-caption{display:none}nav{gap:0}.shell{padding:25px 20px 80px}body:not(.in-game) #app:before{background:linear-gradient(#070b0e55 0%,#070b0ec0 45%,#070b0ef0 100%)}.panel{width:100%;max-width:490px;padding-left:18px}h1{font-size:50px}footer{letter-spacing:0;font-size:10px}.hud-roster{width:150px;padding:6px 10px;top:12px;left:12px}.hud-timer{padding:6px 22px;top:12px}.hud-timer strong{font-size:30px}.hud-menu{top:12px;right:12px}.hud-menu button{padding:10px;font-size:12px}.hud-menu .connection{max-width:95px;font-size:10px}.kill-feed{top:80px;right:12px}.kill-feed li{padding:5px 10px;font-size:13px}.hud-health{width:230px;height:60px;padding:0 12px;bottom:128px;left:12px}.hud-health strong{font-size:38px}.hud-weapons{bottom:12px;left:12px;right:12px}.weapon-hud{flex-direction:column;flex:1;align-items:flex-start;gap:6px;width:auto;min-width:0;height:auto;padding:10px}.weapon-hud .ring{width:34px;height:34px;font-size:15px}.weapon-hud kbd{display:none}.weapon-hud strong{white-space:normal;font-size:14px}.combat-message{font-size:28px}.center-card{width:90vw;min-width:0}.results td{padding:8px;font-size:15px}.results td:nth-child(2){font-size:16px}.results tr.winner td:nth-child(2):after{content:" ★"}.spectator{flex-wrap:wrap;justify-content:center;width:90vw;bottom:235px}.spec-strip{gap:20px}.brand{font-size:20px}}.garage .panel{width:56%;max-width:680px}.garage h1{margin-bottom:14px;font-size:clamp(42px,4.5vw,64px)}.garage .lede{margin-bottom:14px}.garage .choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.garage .choice{justify-content:space-between;min-height:112px;padding:12px 10px}.garage .choice strong{font-size:15px}.garage .choice small{font-size:10px}.garage .weapon-symbol{font-size:28px}@media (width<=1000px){.garage .choices{grid-template-columns:repeat(2,minmax(0,1fr))}.garage .choice{min-height:100px}}@media (width<=760px){.garage .panel{width:100%}}.cinematic-caption{display:none}.cinematic .cinematic-caption{pointer-events:auto;font:800 26px var(--display);letter-spacing:.3em;color:var(--accent-hot);text-shadow:0 2px 10px #000;justify-content:space-between;align-items:center;animation:.6s both enter-up;display:flex;position:fixed;bottom:8vh;left:8%;right:8%}.cinematic .results,.cinematic .hud-health,.cinematic .hud-weapons,.cinematic .hud-roster,.cinematic .hud-timer,.cinematic .kill-feed,.cinematic .vignette,.cinematic .combat-message{visibility:hidden}body.cinematic:before,body.cinematic:after{content:"";z-index:3;pointer-events:none;background:#05080a;height:7vh;animation:.5s ease-out both bars;position:fixed;left:0;right:0}body.cinematic:before{top:0}body.cinematic:after{bottom:0}@keyframes bars{0%{height:0}}#touch-controls,.pips{display:none}@media (pointer:coarse) and (orientation:landscape){body.in-game:not(.cinematic) #touch-controls{display:block}#touch-controls{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none;position:fixed;inset:0}#touch-controls .stick-zone{pointer-events:auto;touch-action:none;width:42%;height:62%;position:absolute;bottom:0;left:0}#touch-controls .stick{left:max(40px, calc(env(safe-area-inset-left) + 16px));top:calc(100% - 158px - env(safe-area-inset-bottom));pointer-events:none;opacity:.25;background:#111b2055;border:1.5px solid #fff5;border-radius:50%;width:130px;height:130px;transition:opacity .15s;position:absolute}#touch-controls .stick.active{opacity:1}#touch-controls .stick i{background:#ffffffd9;border-radius:50%;width:48px;height:48px;margin:-24px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 3px #ecc05c66,0 2px 10px #0006}#touch-controls button{clip-path:none;color:#e7e6df;text-align:center;text-shadow:0 1px 2px #000a;pointer-events:auto;touch-action:none;background:#111b2099;border:none;border-radius:50%;width:64px;height:64px;padding:0;line-height:1;transition:transform .15s,box-shadow .15s;position:absolute;box-shadow:0 4px 14px #0005}#touch-controls button:before{content:"";background:conic-gradient(var(--accent) calc(var(--ready,1) * 360deg), #ffffff1f 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(closest-side,#0000 80%,#000 82%);mask:radial-gradient(closest-side,#0000 80%,#000 82%)}#touch-controls button b{font-size:28px;font-weight:400;display:block}#touch-controls button small{letter-spacing:.12em;text-indent:.12em;margin-top:3px;font-size:10px;font-weight:700;display:block}#touch-controls button:not(.ready) :is(b,small){opacity:.6}#touch-controls button.ready{box-shadow:0 0 0 2px var(--accent), 0 0 18px var(--accent);animation:.15s ease-out ready-pop}#touch-controls button:active{background:var(--accent);color:#111;transform:scale(.92)}#touch-controls [data-touch=front]{width:92px;height:92px;right:max(28px, calc(env(safe-area-inset-right) + 12px));bottom:calc(env(safe-area-inset-bottom) + 20px)}#touch-controls [data-touch=front] b{font-size:36px}#touch-controls [data-touch=top]{right:max(126px, calc(env(safe-area-inset-right) + 110px));bottom:calc(env(safe-area-inset-bottom) + 16px)}#touch-controls [data-touch=boost]{right:max(108px, calc(env(safe-area-inset-right) + 92px));bottom:calc(env(safe-area-inset-bottom) + 100px)}@keyframes ready-pop{50%{transform:scale(1.08)}}body.in-game .hud-weapons,body.in-game .hud-roster,body.in-game .hud-health .eyebrow,body.in-game .hud-timer>span,body.in-game .hud-health strong small,body.in-game .connection.connected{display:none}body.in-game .glass{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111b2080;border-radius:12px}body.in-game .hud-health{top:10px;bottom:auto;left:max(12px, env(safe-area-inset-left));box-sizing:border-box;align-items:center;gap:10px;width:auto;min-width:0;height:48px;padding:4px 12px;display:flex}body.in-game .hud-health strong{white-space:nowrap;font-size:22px}body.in-game .hud-health strong small{font-size:10px}body.in-game .hud-health .meter i{background:#7fd48a}body.in-game .low-health strong{color:#f07554}body.in-game .hud-health .meter{background:#ffffff1f;border-radius:6px;width:88px;height:12px;margin:0;overflow:hidden}body.in-game .mid-health .meter i{background:#f0a04b}body.in-game .low-health .meter i{background:var(--danger);animation:.8s ease-in-out infinite alternate low-pulse}@keyframes low-pulse{to{opacity:.4}}body.in-game .hud-timer{box-sizing:border-box;flex-direction:column;justify-content:center;height:48px;padding:3px 14px;display:flex;top:10px}body.in-game .hud-timer strong{font-size:22px;line-height:1}body.in-game .pips{justify-content:center;gap:6px;margin-top:6px;display:flex}body.in-game .pip{background:#fff3;border-radius:4px;width:32px;height:8px;overflow:hidden}body.in-game .pip i{height:100%;display:block}body.in-game .pip.me{outline-offset:1px;outline:1.5px solid #fff}body.in-game .pip.out{background:0 0;outline:1px dashed #fff5}body.in-game .pip.out i{display:none}body.in-game .hud-menu{top:10px;right:max(12px, env(safe-area-inset-right))}body.in-game .hud-menu [data-action=menu]{background-color:#111b2080;background-image:linear-gradient(#e7e6df,#e7e6df),linear-gradient(#e7e6df,#e7e6df);background-position:calc(50% - 4px),calc(50% + 4px);background-repeat:no-repeat;background-size:4px 16px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:12px;width:48px;height:48px;padding:0;font-size:0}}.lobby h1{margin-bottom:14px;font-size:clamp(44px,4.4vw,68px)}.lobby .roster{margin:12px 0}.lobby .pilot{padding-block:9px}.lobby .pilot .swatch{height:34px}.lobby .actions{margin-top:14px}.panel>button.primary{display:inline-flex}.setting input{appearance:none;cursor:pointer;background:#ffffff1f;border-radius:12px;width:44px;height:24px;margin:0;transition:background .2s;position:relative;box-shadow:inset 0 0 0 1px #ffffff38}.setting input:after{content:"";background:#cfd3cb;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.setting input:checked{background:var(--accent)}.setting input:checked:after{background:#1a1a12;transform:translate(20px)}.setting input:focus-visible{outline:3px solid var(--accent-hot);outline-offset:3px}.modal>button.primary{display:inline-flex}.machine-caption{margin:0;position:absolute;bottom:72px;right:5vw}.countdown b{filter:drop-shadow(0 6px 18px #000c)}#hud .connection.connected{display:none}#hud .connection{--cut:6px;clip-path:var(--chamfer);color:#ffc9a8;background:#3a1a0ee6;padding:5px 9px;display:inline-block}.results{background:linear-gradient(90deg,#05080ad9 0%,#05080ab3 28%,#05080a40 44%,#05080a00 52%);padding-left:5vw}.results-card{width:min(470px,36vw)}.results h1{font-size:clamp(56px,7vw,108px)}.results td{padding:9px 10px;font-size:16px}.results td:nth-child(2),.results tr.winner td{font-size:18px}.results th{padding:0 10px 4px}@media (width<=760px){.results{background:#05080acc;padding:16px}.results-card{width:100%}}.room-code>span{--cut:7px;font:800 20px/1 var(--display);letter-spacing:2px;color:var(--accent);background:#ecc05c1a;padding:8px 14px 7px;box-shadow:inset 0 0 0 1px #ecc05c66}.results table{--cut:10px;clip-path:var(--chamfer);border-spacing:0 4px;background:#070b0ee6;padding:0 6px}.results th:first-child{padding-left:14px}.results td:first-child,.results tr.winner td:first-child{--rank:#8b958f;width:50px;color:var(--rank);box-shadow:inset 3px 0 0 var(--rank);clip-path:none;background:#1a2328;font-size:20px}.results tbody tr:first-child td:first-child{--rank:#f2c75e;font-size:24px}.results tbody tr:nth-child(2) td:first-child{--rank:#cfd8dc}.results tbody tr:nth-child(3) td:first-child{--rank:#d0894e}.hud-timer{background:linear-gradient(#0b1114f5,#0b1114e6)}.hud-timer strong{text-shadow:0 2px 8px #000}.pilot{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#141d22f0,#10181cd0)}body:not(.in-game) #app:before{background:linear-gradient(90deg,#070b0ee6 0%,#070b0eb8 28%,#070b0e70 44%,#070b0e28 58%,#070b0e00 72%),linear-gradient(#070b0e00 78%,#070b0ecc 100%),linear-gradient(#070b0e99 0%,#070b0e00 16%)}.pilot{background:linear-gradient(90deg,#141d22f0 0%,#10181cd0 65%,#10181c80 100%)}@media (width<=760px){body:not(.in-game) #app:before{background:linear-gradient(#070b0e55 0%,#070b0ec0 45%,#070b0ef0 100%)}}
