*{margin:0;padding:0;box-sizing:border-box}body{background:#0a0a0f;color:#0f8;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;overflow:hidden;height:100vh;width:100vw;cursor:none}.orbital-strike-container{position:relative;width:100%;height:100%;background:#000}.game-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.hud{position:absolute;inset:0;pointer-events:none;z-index:10}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px}.crosshair:before,.crosshair:after{content:"";position:absolute;background:#0f8;box-shadow:0 0 10px #0f8,0 0 20px #0f8}.crosshair:before{top:50%;left:0;right:0;height:2px;transform:translateY(-50%)}.crosshair:after{left:50%;top:0;bottom:0;width:2px;transform:translate(-50%)}.crosshair-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background:#f36;border-radius:50%;box-shadow:0 0 8px #f36}.health-bar{position:absolute;bottom:40px;left:40px;display:flex;align-items:center;gap:12px}.health-icon{font-size:24px;filter:drop-shadow(0 0 8px #ff3366)}.health-track{width:200px;height:12px;background:#f363;border:1px solid #ff3366;border-radius:2px;overflow:hidden}.health-fill{height:100%;background:linear-gradient(90deg,#f36,#f69);box-shadow:0 0 10px #f36;transition:width .3s ease}.health-text{font-size:18px;font-weight:700;color:#f36;text-shadow:0 0 10px #ff3366;min-width:50px}.ammo-display{position:absolute;bottom:40px;right:40px;text-align:right}.weapon-name{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px}.ammo-count{font-size:48px;font-weight:700;color:#0f8;text-shadow:0 0 20px #00ff88;line-height:1}.ammo-reserve{font-size:18px;color:#0a5}.radar{position:absolute;top:40px;right:40px;width:150px;height:150px;background:radial-gradient(circle,#00ff881a,#000c 70%);border:2px solid #00ff88;border-radius:50%;overflow:hidden}.radar-sweep{position:absolute;top:50%;left:50%;width:50%;height:2px;background:linear-gradient(90deg,#00ff88,transparent);transform-origin:left center;animation:radar-sweep 2s linear infinite}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radar-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#0f8;border-radius:50%;box-shadow:0 0 8px #0f8}.radar-blip{position:absolute;width:6px;height:6px;background:#f36;border-radius:50%;box-shadow:0 0 8px #f36;animation:blip-pulse 1s ease-in-out infinite}@keyframes blip-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.wave-info{position:absolute;top:40px;left:40px;text-align:left}.wave-number{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:2px}.wave-value{font-size:36px;font-weight:700;color:#0f8;text-shadow:0 0 15px #00ff88}.enemies-remaining{font-size:12px;color:#f36;margin-top:8px}.terminal-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;max-height:80%;background:#000a05f2;border:2px solid #00ff88;border-radius:4px;pointer-events:auto;z-index:100;overflow:hidden;box-shadow:0 0 40px #00ff884d,inset 0 0 60px #00ff880d}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(90deg,rgba(0,255,136,.2),transparent);border-bottom:1px solid #00ff88}.terminal-title{font-size:14px;color:#0f8;text-transform:uppercase;letter-spacing:3px}.terminal-close{background:transparent;border:1px solid #ff3366;color:#f36;padding:4px 12px;font-family:inherit;font-size:12px;cursor:pointer;transition:all .2s}.terminal-close:hover{background:#f36;color:#000}.terminal-content{padding:20px;max-height:400px;overflow-y:auto}.terminal-text{font-size:14px;line-height:1.8;color:#0c6;white-space:pre-wrap}.terminal-text:before{content:"> ";color:#0f8}.damage-flash{position:absolute;inset:0;background:radial-gradient(circle,transparent 30%,rgba(255,0,0,.4) 100%);pointer-events:none;opacity:0;transition:opacity .1s}.damage-flash.active{opacity:1}.start-screen{position:absolute;inset:0;background:linear-gradient(135deg,#0a0a0f,#1a0a1a,#0a0a0f);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200;pointer-events:auto;cursor:default}.game-title{font-size:72px;font-weight:700;color:#0f8;text-shadow:0 0 30px #00ff88,0 0 60px #00ff88;margin-bottom:20px;letter-spacing:8px;text-transform:uppercase}.game-subtitle{font-size:18px;color:#666;letter-spacing:4px;margin-bottom:60px}.start-button{background:transparent;border:2px solid #00ff88;color:#0f8;padding:16px 48px;font-family:inherit;font-size:18px;letter-spacing:4px;cursor:pointer;transition:all .3s;text-transform:uppercase}.start-button:hover{background:#0f8;color:#000;box-shadow:0 0 30px #0f8}.controls-hint{margin-top:40px;font-size:12px;color:#444;text-align:center;line-height:2}.controls-hint kbd{background:#ffffff1a;padding:4px 8px;border-radius:4px;border:1px solid #333;margin:0 4px}.game-over-screen{position:absolute;inset:0;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200;pointer-events:auto;cursor:default}.game-over-title{font-size:64px;font-weight:700;color:#f36;text-shadow:0 0 30px #ff3366;margin-bottom:20px}.final-score{font-size:24px;color:#0f8;margin-bottom:40px}.pickup-notification{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-size:18px;color:#0f8;text-shadow:0 0 10px #00ff88;animation:pickup-fade 2s ease-out forwards;pointer-events:none}@keyframes pickup-fade{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-100%) scale(1.2)}}.weapon-icon{position:absolute;bottom:100px;right:40px;width:120px;height:60px;border:1px solid rgba(0,255,136,.3);background:#00ff880d;display:flex;align-items:center;justify-content:center;font-size:36px}.scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 2px);pointer-events:none;opacity:.3}.vignette{position:absolute;inset:0;background:radial-gradient(circle,transparent 50%,rgba(0,0,0,.5) 100%);pointer-events:none}
