:root{--cyan:#8ed8d7;--gold:#e6bb75;--muted:#81969b;--ink:#061219}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#e7eeea;font:14px Arial,"PingFang SC","Microsoft YaHei",sans-serif;overflow:hidden}canvas{display:block;width:100vw;height:100vh}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 30%,#010a1270 100%);box-shadow:inset 0 0 100px #0005}header{position:fixed;top:0;left:0;width:100%;height:96px;padding:26px 42px;display:flex;align-items:center;justify-content:space-between;z-index:5;border-bottom:1px solid #b0e9e510;background:linear-gradient(#051117a0,transparent)}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:800;letter-spacing:5px}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:5px;color:var(--muted)}.brand-icon{font-size:42px;font-weight:400;color:var(--gold)}.mission{font-size:11px;letter-spacing:2px;color:#a3b9be}.live-dot{display:inline-block;width:5px;height:5px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);border-radius:50%;margin-right:10px}.divider{margin:0 20px;color:#567078}button{font:inherit;cursor:pointer;color:inherit}#sound{background:#0a1c2260;border:1px solid #adc4c333;padding:9px 15px;font-size:10px;letter-spacing:2px}.top-stats{position:fixed;left:42px;top:124px;display:flex;gap:32px;align-items:center}.top-stats span,.tiny-label{font-size:9px;letter-spacing:2px;color:#90b0b5}.top-stats strong{display:block;margin-top:8px;font:28px monospace}.wave{padding-right:32px;border-right:1px solid #accbd333}.wave strong{color:var(--gold);font-size:43px}.objective{position:fixed;right:42px;top:134px;text-align:right;width:240px}.objective h3{font-size:16px;font-weight:500;letter-spacing:3px;margin:10px 0}.objective p{font-size:11px;color:#97acae}.enemy-track,.health-track{height:3px;background:#bed8d120}.enemy-track i,.health-track i{display:block;height:100%;width:100%;background:var(--cyan);transition:width .2s}.bottom{position:fixed;bottom:30px;left:42px;right:42px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.health{width:210px}.health strong,.ammo strong{font:48px monospace;line-height:1.4}.health small,.ammo small{font:16px monospace;color:#8ba5aa;margin-left:10px}.shield{float:right;color:var(--cyan);font-size:32px;margin-top:12px}.health p,.ammo p{font-size:10px;color:#8ba5aa;letter-spacing:1px}.health p span{color:var(--cyan);font-size:6px;margin:0 8px}.weapons{display:flex;gap:5px}.weapons button{position:relative;width:116px;height:90px;background:#07151eb8;border:1px solid #abc7cd26;border-top:2px solid transparent;text-align:left;padding:8px 12px}.weapons button.selected{border-top-color:var(--gold);background:linear-gradient(#d3ab6420,#0b191dda)}kbd{font:10px monospace;border:1px solid #b1c6c23b;border-radius:2px;padding:3px 5px;color:#a6bfbd}.weapons kbd{position:absolute;top:7px;left:8px;border:0;padding:0}.gun-icon{display:block;color:#8dadaf;font:24px monospace;text-align:center;height:38px;line-height:34px}.selected .gun-icon,.selected b{color:var(--gold)}.weapons b{display:block;font-size:10px;font-weight:400}.weapons small{font-size:7px;letter-spacing:1px;color:#6f8b91;display:block;margin-top:5px}.ammo{text-align:right;min-width:195px}.ammo strong{color:var(--gold)}.ammo p span{margin:0 7px}#crosshair{position:fixed;top:50%;left:50%;width:0;height:0;filter:drop-shadow(0 0 2px black)}#crosshair i{position:absolute;background:#d4eeebd0}#crosshair i:nth-child(1){width:1px;height:7px;top:-17px}#crosshair i:nth-child(2){width:1px;height:7px;top:10px}#crosshair i:nth-child(3){height:1px;width:7px;left:-17px}#crosshair i:nth-child(4){height:1px;width:7px;left:10px}#crosshair b{position:absolute;width:2px;height:2px;left:-.5px;top:-.5px;background:#fff}#hitmarker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font:34px monospace;color:#ffd89a;opacity:0}#toast{position:fixed;top:60%;width:100%;text-align:center;color:var(--gold);font-size:12px;letter-spacing:2px;opacity:0}#waveBanner{position:fixed;top:28%;width:100%;text-align:center;font-size:26px;letter-spacing:7px;color:#effcf6;text-shadow:0 2px 20px black;opacity:0;transition:opacity .3s}#damage{position:fixed;inset:0;box-shadow:inset 0 0 160px 50px #da3320;opacity:0;pointer-events:none}.overlay{position:fixed;inset:0;background:linear-gradient(90deg,#031018ed 0%,#061319be 40%,#06131930 100%);display:flex;align-items:center;justify-content:space-between;padding:100px 9%;z-index:3;backdrop-filter:blur(2px)}.intro{max-width:620px}.eyebrow{font-size:10px;letter-spacing:4px;color:var(--gold);margin-bottom:29px}.eyebrow span{display:inline-block;width:25px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px}h1{font-size:clamp(40px,4.8vw,76px);font-weight:600;letter-spacing:3px;line-height:1.25;margin:0 0 26px}h1 span{color:var(--gold)}.intro-copy{font-size:13px;line-height:2;color:#a0b5ba;letter-spacing:1px;margin-bottom:34px}.primary{background:var(--gold);color:#152025;border:0;padding:18px 27px;min-width:220px;text-align:left;font-size:13px;font-weight:bold;letter-spacing:3px;box-shadow:0 0 35px #e6bb7510}.primary:hover{background:#ffdb9e}.primary span{float:right;font-size:20px;margin-top:-4px}.controls{display:flex;gap:17px;margin-top:28px;font-size:10px;color:#99afb2}.controls kbd{margin-right:5px}.sub-controls{font-size:9px;color:#617e86;margin-top:17px;letter-spacing:1px}.operation-card{width:280px;border:1px solid #9fc3c52b;background:#07182080;padding:23px;margin-top:30px}.operation-card h2{font-size:21px;font-weight:400;letter-spacing:5px;margin:13px 0 22px}.map-art{height:137px;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 22px,#81b3bb12 23px 24px),repeating-linear-gradient(90deg,transparent 0 22px,#81b3bb12 23px 24px);border:1px solid #8cabad1f}.map-art i{position:absolute;width:180px;height:170px;left:50px;top:24px;border:1px solid #9ad6d851;transform:rotate(-35deg);background:#7cbbbc0c;box-shadow:0 0 0 16px #7cbbbc08,0 0 0 35px #7cbbbc08}.map-art b{position:absolute;left:99px;top:32px;font:38px monospace;color:var(--gold)}.map-art span{position:absolute;bottom:10px;left:10px;font:8px monospace;letter-spacing:2px;color:#80a6af}.operation-card p{font-size:10px;margin:18px 0;color:#bdd0d1;display:flex;justify-content:space-between}.operation-card p span{color:#6f939b}.warning{font-size:9px;color:var(--gold);border-top:1px solid #a6c3c124;padding-top:18px;margin-top:24px}.menu-footer{position:absolute;bottom:35px;left:9%;right:9%;font:9px monospace;letter-spacing:2px;color:#6c8e99;display:flex;gap:20px}.menu-footer span:last-child{margin-left:auto}.hidden{display:none!important}.modal{margin:auto;text-align:center;background:#091b24e6;border:1px solid #8dbdb733;padding:48px 60px}.modal h2{font-size:36px;font-weight:500;letter-spacing:4px}.modal p{color:#a1b7bb;line-height:2}.modal .primary{margin-top:15px}.modal .hint{font-size:10px}body.menu-open #hud{opacity:0}#error{position:fixed;inset:0;background:#081820;z-index:20;display:grid;place-items:center;padding:50px;font-size:22px}@media(max-width:1000px){.operation-card{display:none}.overlay{padding:100px 7%}.weapons button{width:86px}.health{width:155px}.ammo{min-width:140px}.bottom{left:22px;right:22px}.mission{display:none}.objective{right:22px}.controls{flex-wrap:wrap}.health strong,.ammo strong{font-size:38px}}

#hud{pointer-events:none}.weapons button{pointer-events:auto}body{user-select:none}body:not(.menu-open) #scene{cursor:crosshair}

.header-actions{display:flex;gap:8px}#cycleScene{background:#0a1c2260;border:1px solid #adc4c333;padding:9px 12px;font-size:10px;color:#bfd4d3}.scene-picker{display:flex;gap:7px;margin:-12px 0 25px}.scene-picker button{background:#0a182480;border:1px solid #819c9e38;padding:12px 14px;text-align:left;font-size:12px;letter-spacing:1px}.scene-picker button span{display:block;font:7px monospace;letter-spacing:1px;color:#7f9caa;margin-bottom:7px}.scene-picker button.selected{border-color:#e6bb75;color:#e6bb75;background:#80663b26}.intro-copy{min-height:45px}body .overlay{background:linear-gradient(90deg,#031018e8 0%,#061319a8 43%,#06131915 100%);backdrop-filter:blur(1px)}@media(max-height:800px){h1{font-size:48px}.eyebrow{margin-bottom:18px}.intro-copy{margin-bottom:23px}.scene-picker button{padding:10px}.controls{margin-top:20px}.overlay{padding-top:110px;padding-bottom:70px}.scene-picker{margin-bottom:18px}}

#quality{border:1px solid #c7a66b66;color:#dfc394;background:#bba4710a;padding:10px 12px;font-size:10px;cursor:pointer}.render-status{margin-top:12px;font-size:10px;letter-spacing:1px;color:#cbb185}button:disabled{opacity:.55;cursor:wait}.header-actions{gap:8px}
.top-stats,.objective{text-shadow:0 2px 4px #000b,0 0 12px #0005}.top-stats span,.objective .tiny-label{color:#c0d2d2}.objective p{color:#c1cecb}
