*{box-sizing:border-box}html,body{margin:0;background:#020304;color:#fff;font-family:Arial,Helvetica,sans-serif}body{min-height:100vh;background:radial-gradient(circle at 50% -10%,#19252c 0,#070a0c 42%,#020303 100%)}button{font:inherit}.topbar{min-height:66px;display:flex;align-items:center;gap:20px;padding:8px 2vw;border-bottom:1px solid #263239;background:#06090b;letter-spacing:.08em}.topbar a{color:#9fdcff;text-decoration:none;font-size:.72rem;font-weight:900}.title{display:flex;flex-direction:column;flex:1;text-align:center}.title b{font-size:1.25rem}.title span{font-size:.55rem;color:#ff4545;margin-top:4px}.top-actions{display:flex;gap:7px}.top-actions button,.fire-control button{background:#0b1115;border:1px solid #465761;color:#dcecf4;padding:.58rem .75rem;font-weight:900;cursor:pointer;font-size:.7rem}.top-actions button:hover,.fire-control button:hover{border-color:#7fdcff}main{max-width:1580px;margin:auto;padding:10px}.game-shell{border:1px solid #28373f;background:#05090b;box-shadow:0 18px 55px #000}.hud{height:62px;display:grid;grid-template-columns:80px 130px 145px 1fr 120px;gap:8px;align-items:center;background:#080d10;padding:7px 12px;border-bottom:1px solid #2b3a42}.stat{text-align:center}.stat small{display:block;font-size:.52rem;color:#81949e;font-weight:900;letter-spacing:.13em}.stat b{display:block;margin-top:3px;font-size:1.15rem}.lives b{color:#ff4343;letter-spacing:.12em}.timer b{color:#ffe05a}.mission{padding:0 10px;text-align:center}.mission>span{font-size:.65rem;font-weight:900;letter-spacing:.11em;color:#b7eaff}.progress{height:8px;border:1px solid #344851;background:#010203;margin-top:7px}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#36d56c,#d8e829)}.gamewrap{position:relative;background:#020303;overflow:hidden}canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;cursor:crosshair;touch-action:none}#overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(17,32,40,.57),rgba(0,0,0,.94));display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:2rem;z-index:5}#overlay h1{font-size:clamp(3rem,8vw,7rem);margin:.08em 0;color:#fff;text-shadow:0 0 34px #e32929;letter-spacing:-.06em}#overlay p{max-width:820px;color:#c8d1d5;line-height:1.55}#overlay button{background:#d91f27;border:1px solid #ff5960;color:#fff;padding:1rem 1.5rem;font-weight:1000;font-size:1rem;cursor:pointer}.stamp{color:#91e9ff;border:1px solid #397487;padding:.35rem .6rem;font-size:.62rem;letter-spacing:.2em}.fire-control{display:grid;grid-template-columns:240px 230px 1fr 120px;gap:12px;align-items:center;padding:9px 12px;background:#080d10;border-top:1px solid #2b3a42}.fire-control b,.fire-control span{display:block}.fire-control b{font-size:.58rem;color:#9eeaff;letter-spacing:.12em}.fire-control span{font-size:.67rem;color:#9ba9af;margin-top:4px}.arc-control>div{display:flex;gap:4px;margin-top:5px}.arc-control button{padding:.35rem .55rem}.arc-control button.active{border-color:#e8c64a;color:#ffe875;background:#211d0b}.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.roster button{position:relative;min-height:125px;display:grid;grid-template-columns:74px 1fr 38px;grid-template-rows:auto auto 1fr;text-align:left;column-gap:10px;padding:8px;background:#080c0e;border:1px solid #2c3940;color:#fff;cursor:pointer}.roster button.active{border-color:#9df1ff;box-shadow:inset 0 0 26px rgba(71,207,255,.12)}.roster button.empty{opacity:.38;filter:grayscale(.6)}.roster img{grid-row:1/4;width:68px;height:100px;object-fit:contain}.roster b{align-self:end}.roster span{font-size:.62rem;color:#bfefff;font-weight:900}.roster small{font-size:.61rem;color:#7e8c92;line-height:1.35;padding-right:8px}.ammo{grid-column:3;grid-row:1/3;align-self:center;justify-self:center;width:32px;height:32px;border:1px solid #52646d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:1000;color:#ffe569}.intel-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.intel-strip>div{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;padding:8px 10px;background:#070b0d;border:1px solid #26343a}.intel-strip b{font-size:.62rem}.intel-strip small{font-size:.58rem;color:#718189}.alien{grid-row:1/3;width:24px;height:28px;border-radius:50% 50% 45% 45%;display:block;box-shadow:0 0 12px currentColor}.alien.green{background:#29ce5c;color:#29ce5c}.alien.yellow{background:#ead438;color:#ead438}.alien.red{background:#e9343d;color:#e9343d}.alien.blue{background:#2ba9ff;color:#2ba9ff}.tip{text-align:center;color:#98a8ae;font-size:.72rem;letter-spacing:.05em;margin:9px}.game-shell:fullscreen{width:100vw;height:100vh;border:0;display:flex;flex-direction:column;background:#030506}.game-shell:fullscreen .hud{flex:0 0 62px}.game-shell:fullscreen .gamewrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.game-shell:fullscreen canvas{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain}.game-shell:fullscreen .fire-control{flex:0 0 auto}.game-shell:fullscreen #overlay{position:fixed}.game-shell:fullscreen .roster{flex:0 0 auto;margin:4px 8px 0;gap:5px}.game-shell:fullscreen .roster button{min-height:82px;grid-template-columns:52px 1fr 30px;padding:4px}.game-shell:fullscreen .roster img{width:48px;height:72px}.game-shell:fullscreen .roster small{font-size:.5rem}.game-shell:fullscreen .intel-strip{flex:0 0 auto;margin:4px 8px 0;gap:4px}.game-shell:fullscreen .intel-strip>div{padding:4px 7px}.game-shell:fullscreen .tip{flex:0 0 auto;margin:4px;font-size:.58rem}.game-shell:fullscreen .gamewrap{min-height:240px}@media(max-width:900px){.hud{grid-template-columns:58px 90px 105px 1fr 80px}.fire-control{grid-template-columns:1fr 1fr}.instruction{grid-column:1/3}.roster{grid-template-columns:1fr 1fr}}@media(max-width:560px){main{padding:4px}.topbar{gap:7px}.topbar a{font-size:.56rem}.title span{display:none}.top-actions button{font-size:.55rem;padding:.45rem}.hud{height:auto;grid-template-columns:repeat(4,1fr);padding:5px}.mission{grid-column:1/5;grid-row:2}.fire-control{grid-template-columns:1fr}.instruction{grid-column:auto}.roster{grid-template-columns:1fr}.intel-strip{grid-template-columns:1fr 1fr}.game-shell:fullscreen .hud{flex-basis:auto}}
