:root{color-scheme:dark;--bg:#090e16;--panel:#111925;--line:#273343;--ink:#e9edf2;--muted:#8291a5;--cyan:#71e5da;--orange:#f3a261;--font:ui-monospace,'Cascadia Code','Liberation Mono',monospace}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 20%,#1a2936 0,transparent 65%),var(--bg);color:var(--ink);font-family:var(--font);font-size:13px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button{transition:background .15s,transform .15s}button:hover{filter:brightness(1.15)}button:active{transform:translateY(1px)}[hidden]{display:none!important}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw;background:#090e16c9}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink);font-weight:bold;letter-spacing:3px;font-size:13px}.brand>span>span{display:block;font-size:8px;letter-spacing:1.8px;margin-top:5px;color:var(--muted)}.brandmark{width:38px;height:36px;border:1px solid #567083;display:grid;place-items:center;font-size:23px;color:var(--cyan);position:relative;transform:skew(-10deg)}.brandmark span{position:absolute;right:-5px;top:-9px;font-size:14px;color:var(--orange)}.topmeta{display:flex;gap:18px;align-items:center}.signal{font-size:9px;letter-spacing:1px;color:var(--muted)}.signal.online{color:var(--cyan)}.signal.online:before{content:'●';margin-right:8px}.iconbutton{border:1px solid var(--line);background:transparent;width:31px;height:31px;font-size:20px}.shell{display:grid;grid-template-columns:260px minmax(300px,480px) 240px;gap:34px;max-width:1180px;margin:40px auto 36px;padding:0 20px;align-items:start}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--orange);line-height:1.8}.tiny-line{display:inline-block;width:17px;height:2px;background:var(--orange);vertical-align:middle;margin-right:6px}h1{font-size:63px;letter-spacing:-5px;line-height:.96;margin:25px 0 19px;font-weight:950;text-shadow:0 3px #243447}h1 span{display:block;font-size:29px;letter-spacing:-1.7px;color:var(--orange);margin-top:8px}p{line-height:1.75}.tagline{font-size:11px;color:#adbacb;margin-bottom:26px}.field-label{display:block;color:var(--muted);font-size:9px;letter-spacing:1.8px;margin:15px 0 8px}input,select{width:100%;background:#101824;border:1px solid var(--line);border-radius:0;color:var(--ink);padding:11px 12px;min-height:42px}select{font-size:11px}input::placeholder{color:#78869a;font-size:10px}.button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 15px;margin:11px 0;background:#152130;border:1px solid #354351;font-size:11px;letter-spacing:1px;min-height:46px}.button small{font-size:8px;color:var(--muted)}.primary{background:var(--orange);border-color:var(--orange);color:#171e26;font-weight:bold}.primary:hover{background:#ffc187}.join-row{display:flex;gap:7px;margin-top:10px}.join-row input{width:65%;text-transform:uppercase}.join-row button{width:35%;background:transparent;border:1px solid var(--line);font-size:10px;letter-spacing:1px}.textbutton{background:none;border:0;color:var(--muted);padding:10px 0;text-align:left;font-size:10px;line-height:1.6}.textbutton:hover{color:var(--orange)}.menu-links{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);margin-top:8px}.menu-links button{border:0;background:none;font-size:10px;padding:4px 0;color:#c3cedc}.controls-card{border-top:1px solid var(--line);margin-top:23px;padding-top:4px}.controls-card p{font-size:10px;margin:8px 0;color:#b6c1d0}.controls-card p span{float:right;color:var(--muted)}kbd{display:inline-block;min-width:28px;text-align:center;border:1px solid #384652;background:#172330;padding:3px 5px;font-family:inherit;font-size:9px;color:#d3e4ed;margin-right:3px}.muted{color:var(--muted);font-size:11px}.edition{margin-top:25px;font-size:8px;color:#566a7e;letter-spacing:1px}.edition span{float:right}.arena-wrap{box-shadow:0 20px 100px #000a;border:1px solid #425261;position:relative}.arena-top,.arena-bottom{height:29px;background:#111a25;display:flex;justify-content:space-between;align-items:center;padding:0 11px;font-size:8px;letter-spacing:1.2px;color:#9eafbd}.arena-top{border-bottom:1px solid #374957;color:var(--orange)}.arena{position:relative;aspect-ratio:2/3;background:#03070b;overflow:hidden;touch-action:none}canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0002 3px 4px);opacity:.4}.demo-badge{position:absolute;left:14px;top:14px;font-size:8px;letter-spacing:1.5px;color:#b8d1cc;background:#071016a9;padding:8px;pointer-events:none}.demo-badge i,.live-dot{display:inline-block;width:5px;height:5px;background:var(--cyan);margin-right:7px;box-shadow:0 0 8px var(--cyan)}.splash{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(transparent,#02081278 35%,#020812b0 75%,transparent);text-align:center}.splash-kicker{color:#d8b590;font-size:8px;letter-spacing:2px;margin-top:-20px}.splash h2{font-size:83px;font-weight:950;line-height:.92;letter-spacing:-6px;text-shadow:3px 3px #30475e,5px 5px #06101b;margin:26px 0 16px;color:#ecf7fa;transform:skew(-5deg)}.splash h2 span{display:block;color:#ffb269;font-size:43px;letter-spacing:-2px;text-shadow:3px 3px #653b35,5px 5px #06101b}.splash-rule{width:60%;height:1px;background:linear-gradient(90deg,transparent,#e9a45e,transparent);margin-top:10px}.splash p{font-size:9px;letter-spacing:3px;color:#aebdce}.splash button{margin-top:53px;width:66%;padding:16px 18px;background:#e9a263;color:#151d28;border:1px solid #ffcfa5;font-weight:bold;font-size:12px;letter-spacing:2px;text-align:left;box-shadow:0 0 30px #d48e2933}.splash button span{float:right}.splash small{font-size:8px;color:#a5b5c5;margin-top:12px}.hud{position:absolute;top:8px;left:12px;right:12px;display:flex;justify-content:space-between;pointer-events:none;text-shadow:2px 2px #000}.hud small,.bottom-hud small{display:block;font-size:8px;letter-spacing:1px}.hud strong{font-size:24px;letter-spacing:2px}.hud-right{text-align:right}.hud-right strong{font-size:10px;color:var(--orange)}.bottom-hud{position:absolute;bottom:8px;left:8px;right:8px;display:grid;grid-template-columns:1fr 70px 1fr;gap:12px;padding:9px;background:#0a111cdc;pointer-events:none}.bottom-hud small{color:#c1cddb;font-size:7px}.bottom-hud small span{float:right}.meter{height:5px;background:#374554;margin-top:7px}.meter i{height:100%;background:var(--cyan);display:block;width:100%}.meter.orange i{background:var(--orange)}.ammo-block{text-align:center}.ammo-block b{font-size:16px;color:var(--orange)}.announcement{position:absolute;top:28%;left:10%;right:10%;text-align:center;pointer-events:none;color:#ffd2a3;font-size:19px;letter-spacing:2px;font-weight:bold;text-shadow:2px 2px #000,0 0 20px #000;opacity:0;transition:opacity .2s}.announcement.visible{opacity:1}.intel-panel h2{font-size:28px;line-height:1.25;letter-spacing:-1.5px;margin:19px 0 12px}.intel-panel>p{font-size:11px;color:#a5b2c2}.sector-list{margin:28px 0}.sector-list>div{display:flex;gap:13px;border-top:1px solid var(--line);padding:16px 0}.sector-list>div>span{font-size:20px;color:#5a7181}.sector-list p{margin:0;font-size:9px;letter-spacing:.6px;color:#cedae6}.sector-list small{display:block;font-size:9px;letter-spacing:0;color:var(--muted);margin-top:4px}.highlights{padding-top:17px;border-top:1px solid var(--line)}.score-mini-row{display:flex;justify-content:space-between;font-size:10px;padding:13px 0;border-bottom:1px solid #1e2a38}.score-mini-row b{color:var(--cyan)}.signal-card{display:flex;gap:13px;border:1px solid #2b4347;background:#10242666;padding:16px 12px;margin-top:28px}.radar{font-size:36px;color:var(--cyan);line-height:1}.signal-card strong{font-size:8px;letter-spacing:1.5px;color:var(--cyan)}.signal-card p{font-size:9px;color:#97b4b6;margin:8px 0 0}.flight-state{color:var(--cyan);font-size:12px;padding:16px 0;border-top:1px solid var(--line);letter-spacing:1px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:21px 4.5vw;font-size:8px;letter-spacing:1px;color:#6e8094;gap:20px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:14px 20px;background:#202c3c;border:1px solid var(--orange);font-size:12px;max-width:90%;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}.toast.visible{opacity:1}dialog{background:#101925;color:var(--ink);border:1px solid #465466;max-width:min(500px,92vw);width:480px;padding:28px;box-shadow:0 20px 100px #000c;max-height:88dvh;overflow:auto}dialog::backdrop{background:#02050ae6;backdrop-filter:blur(3px)}dialog h2{font-size:21px;letter-spacing:-.7px;margin:0 0 17px}dialog h3{font-size:12px;margin-top:25px;color:var(--orange)}dialog p{font-size:12px;color:#b8c5d5}dialog label{display:block;font-size:12px;margin:18px 0}dialog label select{margin-top:8px}.dialog-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.close{border:0;background:none;font-size:26px;line-height:1;padding:0 5px;color:#99adbf}.check{display:flex;align-items:center;gap:10px}.check input{width:17px;height:17px;min-height:0;accent-color:var(--orange)}input[type=range]{padding:0;height:18px;min-height:0;accent-color:var(--orange);margin-top:12px}.room-code{display:block;font-size:45px;text-align:center;letter-spacing:8px;color:var(--orange);padding:12px 0}.lobby-player{padding:12px;border:1px solid var(--line);margin:8px 0}.score-filters{display:flex;gap:10px}.score-row{display:grid;grid-template-columns:25px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #283545;font-size:11px}.score-row b{color:var(--cyan)}.score-row small{font-size:8px;color:var(--muted);display:block;margin-top:3px}.result-score{font-size:48px;color:var(--orange);display:block}.shop-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;gap:12px}.shop-item button{background:#273748;border:1px solid #4c677b;padding:8px 12px;color:var(--orange)}#mobileMenu{display:none;background:transparent;border:0;font-size:9px;color:var(--orange)}
@media(min-width:1250px) and (min-height:980px){.shell{margin-top:55px;grid-template-columns:280px minmax(300px,530px) 250px;max-width:1250px;gap:40px}}
@media(max-width:1080px){.shell{grid-template-columns:235px minmax(280px,480px);max-width:800px;gap:25px}.intel-panel{display:none}}
@media(max-width:650px){.topbar{height:58px;padding:0 16px}.brand{font-size:10px;letter-spacing:2px;gap:9px}.brand>span>span{font-size:6px}.brandmark{width:29px;height:29px;font-size:20px}.topmeta{gap:9px}.signal{font-size:7px}.shell{display:flex;flex-direction:column;margin:14px auto 20px;padding:0 10px;gap:20px;max-width:500px}.arena-wrap{order:0;width:100%}.command-panel{order:1;width:100%;padding:8px 12px}.command-panel h1{font-size:47px;margin:15px 0}.command-panel h1 span{font-size:23px}.tagline{margin:10px 0}.eyebrow{font-size:8px}.controls-card,.edition{display:none}.splash h2{font-size:clamp(55px,17vw,83px)}.splash h2 span{font-size:clamp(29px,9vw,43px)}.splash-kicker{font-size:6px;letter-spacing:1px}.splash button{font-size:10px}.splash p{font-size:7px;letter-spacing:2px}.arena-top,.arena-bottom{font-size:7px;height:25px;padding:0 8px}#mobileMenu{display:block}.hud strong{font-size:20px}.hud-right strong{font-size:9px}footer{font-size:6px;line-height:1.7;flex-wrap:wrap;padding:15px}.playing .topbar,.playing footer,.playing .command-panel{display:none}.playing .shell{margin:0 auto;padding:0;max-width:calc((100dvh - 50px)*2/3);width:100%}.playing .arena-wrap{border:0}.playing .arena{height:calc(100dvh - 50px);width:auto}.playing .arena-top,.playing .arena-bottom{height:25px}dialog{padding:20px}.result-score{font-size:38px}}
@media(max-width:650px){.playing .shell{max-width:min(100vw,calc((100dvh - 50px)*2/3));width:100%}.playing .arena{height:auto;width:100%;aspect-ratio:2/3}.playing .arena-wrap{width:100%}.topmeta .signal{max-width:95px;line-height:1.4}.playing .toast{bottom:14px}.arena-top{letter-spacing:.4px}}
.arena-wrap:fullscreen{display:flex;flex-direction:column;align-items:center;background:#03070b;border:0}.arena-wrap:fullscreen .arena{width:min(100vw,calc((100dvh - 58px)*2/3));height:auto;flex:none}.arena-wrap:fullscreen .arena-top,.arena-wrap:fullscreen .arena-bottom{width:100%}
@media(pointer:coarse) and (orientation:landscape){.playing .topbar,.playing footer,.playing .command-panel{display:none}.playing .shell{display:block;margin:0 auto;padding:0;width:calc((100dvh - 50px)*2/3)}.playing .arena-wrap{width:100%;border:0}.playing .arena{width:100%;height:auto;aspect-ratio:2/3}.playing .arena-top,.playing .arena-bottom{height:25px}#mobileMenu{display:block}}
dialog .close{min-width:40px;min-height:40px;flex:none}
.arena-actions{display:flex;align-items:center;gap:7px}.arena-actions button{background:transparent;border:0;color:var(--orange);min-height:30px;font-size:12px}.arena-actions #mobileMenu{display:block}.arena-bottom{height:36px;letter-spacing:.4px}.arena-top{height:26px}
body.focus-view{overflow:hidden;background:#03070b;min-height:100dvh}.focus-view .topbar,.focus-view footer,.focus-view .intel-panel{display:none}.focus-view .shell{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:100%;max-width:none;height:100dvh;gap:0}.focus-view .arena-wrap{border:0;width:min(100vw,calc((100dvh - 62px)*2/3));max-height:100dvh;flex:none}.focus-view .arena{width:100%;height:auto;aspect-ratio:2/3}.focus-view .arena-top{height:26px}.focus-view .arena-bottom{height:36px}.focus-view .arena-bottom .live-dot{display:none}.focus-view .shell>.command-panel{display:none}.focus-view .splash h2{font-size:clamp(48px,12dvh,83px)}.focus-view .splash h2 span{font-size:clamp(27px,6dvh,43px)}
#menuDialog{padding:14px 24px 24px}#menuDialog .command-panel{display:block!important;width:100%;padding:0}#menuDialog h1{margin-top:0;font-size:48px}#menuDialog .controls-card,#menuDialog .edition,#menuDialog .eyebrow{display:none}.menu-close{display:flex;justify-content:flex-end;margin-bottom:-15px}.menu-close .close{position:relative;z-index:1}.focus-view .splash button{margin-top:32px}.focus-view .splash small{font-size:10px}
.clear-overlay{position:absolute;top:23%;left:8%;right:8%;text-align:center;padding:22px 14px 12px;background:linear-gradient(180deg,#07101be8,#07101ba8);border-top:1px solid #f3a26199;z-index:4}.clear-overlay h2{font-size:24px;margin:0 0 12px;text-shadow:2px 2px #000}.clear-stars{display:flex;justify-content:center;gap:7px;font-size:40px;line-height:1.2;color:#657080}.clear-stars .earned{color:#ffbe70;text-shadow:0 0 20px #f3a26177;animation:star-award .45s both;animation-delay:var(--star-delay)}.clear-overlay p{margin:10px 0}.clear-overlay .button{justify-content:center;text-transform:none;font-size:13px}.clear-overlay .muted{font-size:10px}.clear-overlay .button:disabled{opacity:.65}#clearScore{color:var(--ink);font-size:14px}
@keyframes star-award{from{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}
@media(max-width:420px){.clear-overlay{left:7%;right:7%;padding:15px 10px 7px}.clear-overlay h2{font-size:20px}.clear-stars{font-size:32px}.arena-actions{gap:4px}.focus-view .arena-bottom{font-size:6px;padding:0 6px}.arena-actions #mobileMenu{font-size:9px}.clear-overlay .button{min-height:42px;padding:10px}}
@media(prefers-reduced-motion:reduce){.clear-stars .earned{animation:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.scanlines{opacity:.2}}
.campaign-gate{position:absolute;top:44px;left:12px;font-size:8px;color:#b5f5e6;letter-spacing:.4px;background:#06111bd9;padding:3px 5px;pointer-events:none}.arena-top>span:first-child{min-width:0;max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arena-top>span:last-child{flex-shrink:0}#campaignChoices .field-label{margin-top:10px}#campaignInfo{font-size:10px;line-height:1.5}#scoreLevel{margin:0 0 12px}#menuDialog .tagline{margin-bottom:12px}

.playing.focus-view .shell,.arena-wrap{touch-action:none}.arena{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-hint{position:absolute;bottom:69px;left:8px;right:8px;text-align:center;font-size:8px;color:#c5dedc;background:#07111aaa;padding:6px;pointer-events:none}
