*{margin:0;padding:0;box-sizing:border-box}body{font-family:Courier New,monospace;background:#0b0b0f;color:#ececf1;overflow:hidden;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;-webkit-user-select:none;user-select:none}#game-container{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b0b0f,#14141b)}#game-canvas{display:block;background:#1a1a24;border:2px solid #26262F;box-shadow:0 8px 32px #0009;image-rendering:pixelated;image-rendering:crisp-edges}.hidden{display:none!important}.menu-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:#0b0b0ff2;display:flex;align-items:center;justify-content:center;z-index:100}.menu-content{text-align:center;padding:48px;max-width:600px}.game-title{font-size:64px;font-weight:700;letter-spacing:8px;color:#7c6cff;text-shadow:4px 4px 0 #26262F,6px 6px 0 rgba(124,108,255,.3);margin-bottom:8px}.game-subtitle{font-size:32px;letter-spacing:12px;color:#9a9aa8;text-shadow:2px 2px 0 #26262F;margin-bottom:48px}.device-buttons{display:flex;gap:24px;margin-bottom:32px}.btn-device{flex:1;background:#14141b;border:2px solid #26262F;color:#ececf1;padding:32px 24px;font-family:Courier New,monospace;font-size:16px;cursor:pointer;transition:all .15s ease-out;display:flex;flex-direction:column;align-items:center;gap:12px}.btn-device:hover{background:#1a1a24;border-color:#7c6cff;transform:translateY(-4px);box-shadow:0 8px 16px #7c6cff4d}.device-icon{font-size:48px}.mode-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.btn-mode{background:#14141b;border:2px solid #26262F;color:#ececf1;padding:20px 32px;font-family:Courier New,monospace;font-size:16px;cursor:pointer;transition:all .15s ease-out;text-align:left;display:flex;flex-direction:column;gap:4px}.btn-mode:hover{background:#1a1a24;border-color:#7c6cff;transform:translate(4px);box-shadow:-4px 4px #7c6cff}.multiplayer-options{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.btn-mp-option{background:#14141b;border:2px solid #26262F;color:#ececf1;padding:20px 32px;font-family:Courier New,monospace;font-size:16px;cursor:pointer;transition:all .15s ease-out;text-align:left;display:flex;flex-direction:column;gap:4px}.btn-mp-option:hover{background:#1a1a24;border-color:#3b82f6;transform:translate(4px);box-shadow:-4px 4px #3b82f6}.invitation-code-container{background:#14141b;border:2px solid #7C6CFF;padding:24px;margin-bottom:24px}.code-label{font-size:12px;color:#9a9aa8;letter-spacing:2px;margin-bottom:12px}.invitation-code{font-size:48px;font-weight:700;letter-spacing:12px;color:#7c6cff;text-shadow:0 0 16px rgba(124,108,255,.5);margin-bottom:12px}.code-hint{font-size:11px;color:#9a9aa8}.code-input-container{margin-bottom:24px}.code-input{width:100%;background:#14141b;border:2px solid #26262F;color:#ececf1;padding:16px;font-family:Courier New,monospace;font-size:32px;font-weight:700;letter-spacing:8px;text-align:center;text-transform:uppercase;transition:all .15s ease-out}.code-input:focus{outline:none;border-color:#7c6cff;box-shadow:0 0 16px #7c6cff4d}.code-input::placeholder{color:#3a3a4f}.btn-join{background:#7c6cff;border:none;color:#0b0b0f;padding:16px 48px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .15s ease-out;margin-bottom:16px;width:100%}.btn-join:hover{transform:scale(1.05);box-shadow:0 4px 16px #7c6cff66}.connection-status{background:#14141b;border:1px solid #26262F;padding:12px;font-size:12px;color:#9a9aa8;margin-bottom:16px}.difficulty-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.btn-difficulty{background:#14141b;border:2px solid #26262F;color:#ececf1;padding:20px 32px;font-family:Courier New,monospace;font-size:16px;cursor:pointer;transition:all .15s ease-out;text-align:left;display:flex;flex-direction:column;gap:4px}.btn-difficulty:hover{background:#1a1a24;border-color:#7c6cff;transform:translate(4px);box-shadow:-4px 4px #7c6cff}.btn-label{font-size:20px;font-weight:700;letter-spacing:2px}.btn-desc{font-size:12px;color:#9a9aa8}.btn-back{background:#26262f;border:1px solid #3a3a4f;color:#9a9aa8;padding:12px 24px;font-family:Courier New,monospace;font-size:14px;cursor:pointer;transition:all .15s ease-out;margin-top:16px;pointer-events:all}.btn-back:hover{background:#3a3a4f;color:#ececf1}.controls-info{background:#14141b;border:1px solid #26262F;padding:16px;font-size:11px;color:#9a9aa8;line-height:1.6}.btn-menu{position:absolute;top:16px;right:16px;background:#14141be6;border:2px solid #26262F;color:#ececf1;padding:8px 16px;font-family:Courier New,monospace;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease-out;pointer-events:all;z-index:20;display:flex;align-items:center;gap:8px;letter-spacing:1px}.btn-menu:hover{background:#7c6cff;border-color:#7c6cff;color:#0b0b0f;transform:scale(1.05)}.btn-menu:active{transform:scale(.98)}.menu-icon{font-size:16px}.menu-text{font-size:11px}#game-hud{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.hud-top{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;gap:32px}.stat-group{background:#14141be6;border:1px solid #26262F;padding:8px 16px;text-align:center}.stat-label{font-size:10px;color:#9a9aa8;letter-spacing:1px;margin-bottom:4px}.stat-value{font-size:20px;font-weight:700;color:#ececf1;letter-spacing:1px}.hud-left{position:absolute;top:80px;left:16px;display:flex;flex-direction:column;gap:16px;max-width:240px}.lives-container{background:#14141be6;border:1px solid #26262F;padding:12px}.lives-label{font-size:10px;color:#9a9aa8;letter-spacing:1px;margin-bottom:8px}.lives-display{display:flex;gap:8px;justify-content:center}.life-icon{font-size:24px;color:#f0606b;text-shadow:0 0 8px rgba(240,96,107,.5)}.life-icon.empty{color:#26262f;text-shadow:none}.shield-container{background:#14141be6;border:2px solid #3B82F6;padding:12px;box-shadow:0 0 16px #3b82f64d}.shield-label{font-size:10px;color:#3b82f6;letter-spacing:1px;margin-bottom:8px;font-weight:700}.shield-display{display:flex;align-items:center;justify-content:center;gap:8px}.shield-icon{font-size:24px;text-shadow:0 0 8px rgba(59,130,246,.5)}.shield-hits{font-size:20px;font-weight:700;color:#3b82f6;text-shadow:0 0 8px rgba(59,130,246,.5)}.dash-container{background:#14141be6;border:2px solid #7C6CFF;padding:12px;box-shadow:0 0 16px #7c6cff33}.dash-label{font-size:10px;color:#7c6cff;letter-spacing:1px;margin-bottom:8px;font-weight:700}.dash-cooldown{width:100%;height:12px;background:#14141b;border:1px solid #26262F;overflow:hidden;margin-bottom:8px}.dash-cooldown-bar{height:100%;background:linear-gradient(90deg,#7c6cff,#8b5cf6);transition:width .05s linear;width:100%;box-shadow:0 0 8px #7c6cff80}.dash-hint{font-size:10px;color:#7c6cff;text-align:center;font-weight:700}.dash-hint.cooldown{color:#9a9aa8}.weapon-display{background:#14141be6;border:1px solid #26262F;padding:12px}.weapon-label{font-size:10px;color:#9a9aa8;letter-spacing:1px;margin-bottom:8px}.weapon-slots{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.weapon-slot{display:flex;align-items:center;gap:8px;padding:8px;background:#14141b;border:1px solid #26262F;transition:all .15s ease-out}.weapon-slot.active{border-color:#7c6cff;background:#7c6cff1a}.weapon-slot.locked{opacity:.5}.weapon-slot.locked .weapon-ammo{color:#e0a23c;font-weight:700}.weapon-key{display:inline-block;width:20px;height:20px;background:#26262f;border:1px solid #3a3a4f;text-align:center;line-height:20px;font-size:12px;font-weight:700}.weapon-slot.active .weapon-key{background:#7c6cff;border-color:#7c6cff;color:#0b0b0f}.weapon-name{flex:1;font-size:12px;letter-spacing:1px}.weapon-ammo{font-size:12px;color:#9a9aa8}.weapon-ammo.low{color:#e0a23c}.weapon-ammo.empty{color:#f0606b}.reload-indicator{margin-top:8px;padding:8px;background:#14141b;border:1px solid #26262F}.reload-label{font-size:10px;color:#e0a23c;letter-spacing:1px;margin-bottom:4px}.reload-bar{width:100%;height:12px;background:#14141b;border:1px solid #26262F;overflow:hidden}.reload-bar-fill{height:100%;background:linear-gradient(90deg,#e0a23c,#c88a2f);transition:width .05s linear;width:0%}.hud-right{position:absolute;top:80px;right:16px;max-width:200px}.buff-container{background:#14141be6;border:1px solid #26262F;padding:12px}.buff-label{font-size:10px;color:#9a9aa8;letter-spacing:1px;margin-bottom:8px}.buff-slot{width:100%;height:80px;background:#14141b;border:2px solid #26262F;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.buff-empty{font-size:12px;color:#9a9aa8}.buff-icon{font-size:32px}.buff-hint{font-size:10px;color:#9a9aa8;text-align:center}#mobile-controls{position:absolute;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}#joystick-container{position:absolute;bottom:32px;left:32px;width:120px;height:120px;pointer-events:all;touch-action:none}#joystick-base{position:absolute;width:120px;height:120px;border-radius:50%;background:#14141bcc;border:3px solid rgba(124,108,255,.5)}#joystick-stick{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#7c6cff,#5a4ed9);border:3px solid #9A9AA8;box-shadow:0 4px 8px #0006;touch-action:none;transition:background .1s ease-out}#joystick-stick.active{background:linear-gradient(135deg,#8b5cf6,#7c6cff);box-shadow:0 0 16px #7c6cff99}#action-buttons{position:absolute;bottom:32px;right:32px;display:flex;flex-direction:column;gap:16px;pointer-events:all;touch-action:none}.button-group{display:flex;gap:12px}.mobile-btn{width:56px;height:56px;border-radius:8px;background:#14141be6;border:2px solid #26262F;color:#ececf1;font-family:Courier New,monospace;font-size:18px;font-weight:700;cursor:pointer;transition:all .1s ease-out;touch-action:none;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;position:relative}.mobile-btn:active:not(:disabled){transform:scale(.95);background:#7c6cff4d;border-color:#7c6cff}.mobile-btn:disabled{opacity:.3;cursor:not-allowed}.weapon-btn{background:#14141be6}.weapon-btn.active{background:#7c6cff4d;border-color:#7c6cff;color:#7c6cff}.reload-btn{background:#e0a23c33;border-color:#e0a23c;color:#e0a23c}.reload-btn:active{background:#e0a23c80}.dash-btn{background:#7c6cff33;border-color:#7c6cff;color:#7c6cff;font-size:24px}.dash-btn:active{background:#7c6cff80}.dash-btn:disabled{opacity:.5}.dash-cooldown-overlay{position:absolute;bottom:0;left:0;width:100%;height:0%;background:#0009;border-radius:8px;transition:height .05s linear;pointer-events:none}.buff-btn{background:#3b82f633;border-color:#3b82f6;color:#3b82f6;font-size:24px}.buff-btn:active{background:#3b82f680}.shoot-btn{background:#f0606b33;border-color:#f0606b;font-size:24px}.shoot-btn.firing,.shoot-btn:active{background:#f0606b80;box-shadow:0 0 16px #f0606b99}.game-over-title{font-size:56px;font-weight:700;letter-spacing:6px;color:#f0606b;text-shadow:4px 4px 0 #26262F;margin-bottom:32px}.game-stats{background:#14141b;border:1px solid #26262F;padding:24px;margin-bottom:32px}.stat-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #26262F}.stat-row:last-child{border-bottom:none}.stat-name{font-size:14px;color:#9a9aa8}.stat-number{font-size:18px;font-weight:700;color:#7c6cff}.btn-restart{background:#7c6cff;border:none;color:#0b0b0f;padding:16px 48px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .15s ease-out;pointer-events:all}.btn-restart:hover{transform:scale(1.05);box-shadow:0 4px 16px #7c6cff66}@media (max-width: 768px){.game-title{font-size:48px}.game-subtitle{font-size:24px}.device-buttons{flex-direction:column}.hud-left,.hud-right{max-width:180px}.stat-group{padding:6px 12px}.stat-value{font-size:16px}.btn-menu{padding:6px 12px;top:12px;right:12px}.menu-icon{font-size:14px}.menu-text{font-size:10px}#joystick-container{bottom:24px;left:24px;width:100px;height:100px}#joystick-base{width:100px;height:100px}#joystick-stick{width:40px;height:40px}#action-buttons{bottom:24px;right:24px}.mobile-btn{width:48px;height:48px;font-size:16px}.invitation-code{font-size:36px}.code-input{font-size:24px}}@media (max-width: 480px){.menu-content{padding:24px}.controls-info{font-size:9px}}
