*{margin:0;padding:0;box-sizing:border-box}body{width:100vw;height:100vh;overflow:hidden;background-color:#1a1a1a;font-family:Courier New,monospace}#crosshair{pointer-events:none}.menu-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;font-family:Courier New,monospace;color:#e0e0e0}.overlay-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:500}.menu-container{text-align:center;padding:40px;border:2px solid #00ffcc;background:#001428e6;max-width:600px;border-radius:5px}.transition-container{text-align:center;padding:40px;border:2px solid #00ffcc;background:#001428f2;min-width:400px;border-radius:5px}.game-title{font-size:64px;color:#0fc;margin:0 0 10px;text-shadow:0 0 20px #00ffcc;letter-spacing:4px}.game-subtitle{font-size:18px;color:#888;margin:0 0 40px}.menu-buttons{display:flex;flex-direction:column;gap:15px;margin-top:30px}.menu-btn{padding:15px 30px;font-size:18px;font-family:Courier New,monospace;background:transparent;border:2px solid #00ffcc;color:#0fc;cursor:pointer;transition:all .3s;border-radius:3px}.menu-btn:hover{background:#0fc;color:#000;transform:scale(1.05)}.menu-btn.primary{background:#0fc;color:#000}.menu-btn.primary:hover{background:#0ff;border-color:#0ff}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:30px 0;text-align:left}.control-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#00ffcc1a;border:1px solid #00ffcc;border-radius:3px}.control-key{font-weight:700;color:#0fc;font-size:14px}.control-desc{color:#ccc;font-size:14px}.objective{margin:20px 0 10px;padding:15px;background:#ff640033;border:1px solid #ff6600;color:#fa6;font-weight:700;border-radius:3px}.tip{margin:10px 0 20px;padding:10px;background:#0af3;border:1px solid #00aaff;color:#6cf;font-size:14px;border-radius:3px}.credits-content{margin:30px 0;line-height:1.8;color:#ccc}.credits-content strong{color:#0fc;font-size:24px}.stats-grid{margin:30px 0;text-align:left}.stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #333}.stat-label{color:#888}.stat-value{color:#0fc;font-weight:700}.result-title{font-size:48px;margin:0 0 30px;letter-spacing:2px}.result-title.victory{color:#0f0;text-shadow:0 0 20px #00ff00}.result-title.defeat{color:red;text-shadow:0 0 20px #ff0000}.hud-label{font-size:12px;color:#0fc;margin-bottom:5px;font-weight:700}.health-bar-container{width:200px;height:20px;background:#fff3;border:2px solid #00ffcc;margin:5px 0;overflow:hidden}.health-bar{height:100%;width:100%;background:#0f0;transition:width .3s,background-color .3s}.hud-value{font-size:14px;color:#e0e0e0;margin-top:5px;font-weight:700}.wave-info{text-align:center;padding:10px 20px;background:#000000b3;border:2px solid #00ffcc;border-radius:3px}.wave-info span{display:block;color:#0fc;font-size:18px;font-family:Courier New,monospace;font-weight:700;line-height:1.5}.countdown-bar{width:300px;height:30px;background:#fff3;border:2px solid #00ffcc;margin:20px auto;overflow:hidden}.countdown-fill{height:100%;width:100%;background:#0fc;transition:width 1s linear}#wave-title{color:#0fc;font-size:32px;margin:0 0 10px}#wave-enemies{color:#f60;font-size:18px;margin:0 0 20px}#countdown-text{color:#e0e0e0;font-size:20px;margin-top:10px;font-weight:700}.hub-container{text-align:center;padding:40px;max-width:900px;width:90%}.hub-title{font-size:56px;color:#0fc;margin:0 0 40px;text-shadow:0 0 20px #00ffcc;letter-spacing:4px}.hub-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:40px 0}.hub-section{background:#00283ccc;border:2px solid #00ffcc;border-radius:5px;padding:25px;text-align:left}.hub-section h2{color:#0fc;font-size:18px;margin-bottom:20px;border-bottom:1px solid #00ffcc;padding-bottom:10px}.run-info{color:#888;font-size:14px;margin-top:15px}.hub-stats p{margin:10px 0;color:#ccc}.hub-stats span{color:#0fc;font-weight:700}.hub-bottom{margin-top:30px}.menu-btn.small{padding:10px 20px;font-size:14px;background:transparent;border:1px solid #666;color:#888}.menu-btn.small:hover{background:red;border-color:red;color:#fff}.unlocks-list{max-height:200px;overflow-y:auto}.unlock-item{display:flex;align-items:center;padding:10px;margin:5px 0;background:#0000004d;border:1px solid #333;border-radius:3px}.unlock-item.unlocked{border-color:#0fc;background:#00ffcc1a}.unlock-item.locked{opacity:.5}.unlock-icon{font-size:24px;margin-right:15px;min-width:30px;text-align:center}.unlock-info h4{color:#0fc;font-size:14px;margin:0 0 5px}.unlock-info p{color:#888;font-size:12px;margin:0}.rewards{margin:20px 0;padding:15px;background:#00ffcc1a;border:1px solid #00ffcc;border-radius:3px}.rewards p{margin:5px 0;font-size:16px}.encouragement{color:#0f0;font-size:16px;margin:20px 0;padding:15px;background:#00ff001a;border:1px solid #00ff00;border-radius:3px}.unlock-showcase{margin:30px 0;padding:25px;background:#00ffcc26;border:2px solid #00ffcc;border-radius:5px}.blueprint-card{margin-top:15px;padding:20px;background:#00000080;border:1px solid #00ffcc;border-radius:3px}.blueprint-card h3{color:#0fc;font-size:24px;margin:0 0 10px}.blueprint-card p{color:#ccc;font-size:14px;margin:0}#boss-health-bar{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#000000e6;border:2px solid #ff0000;padding:15px 30px;border-radius:5px;z-index:300;min-width:400px;text-align:center}.boss-nameplate{color:red;font-size:24px;font-weight:700;margin-bottom:10px;text-shadow:0 0 10px #ff0000}.boss-hp-container{width:100%;height:30px;background:#fff3;border:2px solid #ff0000;margin:10px 0;overflow:hidden}.boss-hp-fill{height:100%;background:linear-gradient(90deg,red,#f60);transition:width .3s}.boss-hp-text{color:#fff;font-size:16px;font-weight:700;margin-top:5px}.unlock-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#00ffccfa,#00c8fffa);border:4px solid #00ffff;padding:40px 60px;border-radius:10px;z-index:10000;text-align:center;animation:unlock-appear .5s ease-out;box-shadow:0 0 30px #0fcc,0 0 60px #00c8ff80,inset 0 0 20px #ffffff4d;transition:opacity .5s}@keyframes unlock-appear{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}50%{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.unlock-notification h2{color:#000;font-size:32px;margin:0 0 15px;text-shadow:0 2px 4px rgba(0,0,0,.3);font-weight:700}.unlock-notification h3{color:#003;font-size:28px;margin:0 0 10px;font-weight:700}.unlock-notification p{color:#000;font-size:18px;margin:5px 0;font-weight:700}.unlock-notification .unlock-desc{font-size:16px;font-weight:400;color:#002;font-style:italic;margin-top:10px}.critical-hit-indicator{position:fixed;color:#ff0;font-size:28px;font-weight:700;font-family:Courier New,monospace;text-shadow:0 0 10px #ffff00,0 0 20px #ff6600,0 0 30px #ff0000;pointer-events:none;z-index:1000;animation:critical-pulse .3s}@keyframes critical-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.damage-number{position:fixed;font-family:Courier New,monospace;font-weight:700;pointer-events:none;z-index:999;transition:opacity .05s}.damage-number.critical{animation:critical-pulse .3s}#game-notifications{position:fixed;top:120px;left:20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none;z-index:1000;max-width:350px}.game-notification{background:#000000e6;border-left:4px solid rgba(255,255,255,.3);border-radius:4px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-family:Courier New,monospace;font-size:14px;color:#fff;transform:translate(-350px);opacity:0;transition:all .3s ease-out;box-shadow:0 2px 8px #00000080}.game-notification.show{transform:translate(0);opacity:1}.game-notification.notification-pickup{border-left-color:#0fc}.game-notification.notification-info{border-left-color:#4da6ff}.game-notification.notification-warning{border-left-color:#f90}.game-notification.notification-success{border-left-color:#0f0}.game-notification.notification-error{border-left-color:red}.notification-icon{font-size:18px;flex-shrink:0}.notification-text{line-height:1.4;letter-spacing:.5px}#pickup-notifications{position:fixed;top:120px;left:20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none;z-index:1000;max-width:300px}.pickup-notification{background:#000000d9;border:2px solid rgba(255,255,255,.2);border-radius:8px;padding:12px 20px;display:flex;align-items:center;gap:10px;font-family:Courier New,monospace;font-weight:700;transform:translate(-300px);opacity:0;transition:all .3s ease-out}.pickup-notification.show{transform:translate(0);opacity:1}.pickup-amount{font-size:24px;text-shadow:0 0 10px currentColor;font-weight:700}.pickup-type{font-size:16px;color:#fff;text-transform:uppercase;letter-spacing:1px}.level-transition-overlay{position:fixed;top:0;left:0;width:100%;height:auto;background:transparent;display:flex;align-items:flex-start;justify-content:center;z-index:2000;pointer-events:none;animation:fade-in .3s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.level-complete-container{background:#00283cf2;border:3px solid #00ffcc;padding:20px 40px;text-align:center;max-width:600px;border-radius:10px;box-shadow:0 0 40px #00ffcc80;margin-top:20px;pointer-events:auto}.level-complete-container h2{color:#0fc;font-size:28px;margin:0 0 15px;text-shadow:0 0 20px #00ffcc;font-weight:700}.level-stats{margin:10px 0;color:#e0e0e0;font-size:16px;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center}.level-stats p{margin:5px 0}.proceed-hint{color:#0fc!important;font-size:20px!important;font-weight:700;margin-top:15px!important;text-shadow:0 0 15px #00ffcc;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.level-stats .hint{color:#888;font-size:14px;font-style:italic;margin-top:15px}.proceed-btn{margin-top:15px;padding:15px 30px;font-size:18px;font-family:Courier New,monospace;background:#0fc;color:#000;border:none;cursor:pointer;font-weight:700;transition:all .3s;border-radius:5px}.proceed-btn:hover{background:#0ff;transform:scale(1.05);box-shadow:0 0 30px #0fcc}.tutorial-hint{position:fixed;bottom:150px;left:50%;transform:translate(-50%);background:#00ffcce6;color:#000;padding:15px 30px;border-radius:5px;font-size:20px;font-weight:700;font-family:Courier New,monospace;z-index:1000;box-shadow:0 0 20px #00ffcc80;animation:hint-appear .5s ease-out;transition:opacity .5s;pointer-events:none}@keyframes hint-appear{0%{bottom:100px;opacity:0}to{bottom:150px;opacity:1}}
