body{background:#000;margin:0;padding:0;overflow:hidden}.game-container{background:#000;width:100vw;height:100vh;position:relative}.game-canvas{background:#000;width:100%;height:100%;display:block}.overlay{z-index:10;pointer-events:auto;background:#050510eb;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.start-screen{animation:.5s fadeIn}.title{color:#4af;text-shadow:0 0 20px #4af9;letter-spacing:4px;margin:0 0 8px;font-family:Courier New,Courier,monospace;font-size:52px;font-weight:700}.subtitle{color:#8ac;letter-spacing:2px;margin:0 0 36px;font-family:Courier New,Courier,monospace;font-size:18px}.instructions{color:#abc;text-align:center;margin-bottom:36px;font-family:Courier New,Courier,monospace;font-size:15px;line-height:2}.instructions kbd{color:#4af;background:#4af3;border:1px solid #4af;border-radius:4px;margin:0 3px;padding:1px 8px;font-family:inherit;font-size:13px;display:inline-block}.features{color:#fc4;text-align:center;margin-bottom:24px;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.8}.game-over-screen{animation:.5s fadeIn}.final-score{color:#fff;margin:12px 0 6px;font-family:Courier New,Courier,monospace;font-size:28px}.final-wave{color:#4df;margin:0 0 6px;font-family:Courier New,Courier,monospace;font-size:18px}.new-high{color:#fc0;text-shadow:0 0 10px #ffcc0080;margin:0 0 24px;font-family:Courier New,Courier,monospace;font-size:20px;animation:1s infinite alternate pulse}.start-btn{cursor:pointer;color:#4af;letter-spacing:3px;background:0 0;border:2px solid #4af;border-radius:6px;margin-top:16px;padding:12px 40px;font-family:Courier New,Courier,monospace;font-size:20px;font-weight:700;transition:all .2s}.start-btn:hover{color:#050510;background:#4af;box-shadow:0 0 20px #4af6}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{opacity:.7}to{opacity:1}}.upgrade-panel{animation:.3s fadeIn}.upgrade-points{color:#fc0;margin:0 0 20px;font-family:Courier New,Courier,monospace;font-size:20px}.upgrade-grid{grid-template-columns:repeat(2,1fr);gap:12px;max-width:600px;margin:0 auto;display:grid}.upgrade-card{text-align:center;background:#001428cc;border:1px solid #4af;border-radius:8px;padding:12px}.upgrade-card.maxed{opacity:.5;border-color:#333}.upgrade-desc{color:#abc;margin:4px 0;font-family:Courier New,Courier,monospace;font-size:12px}.upgrade-level{color:#888;font-family:Courier New,Courier,monospace;font-size:11px}.upgrade-btn{color:#000;cursor:pointer;background:#4af;border:none;border-radius:4px;margin-top:6px;padding:6px 16px;font-family:Courier New,Courier,monospace;font-weight:700}.upgrade-btn:disabled{color:#666;cursor:default;background:#333}.close-btn{color:#f64;cursor:pointer;background:0 0;border:1px solid #f64;border-radius:4px;margin-top:16px;padding:8px 24px;font-family:Courier New,Courier,monospace;font-size:14px}.close-btn:hover{color:#000;background:#f64}.panel-title{color:#4af;text-shadow:0 0 15px #44aaff80;letter-spacing:3px;margin:0 0 12px;font-family:Courier New,Courier,monospace;font-size:36px;font-weight:700}.save-btn{z-index:5;color:#4af;cursor:pointer;letter-spacing:1px;background:#00285099;border:1px solid #4af;border-radius:4px;padding:4px 12px;font-family:Courier New,Courier,monospace;font-size:12px;font-weight:700;position:absolute;top:8px;right:12px}.save-btn:hover{color:#000;background:#4af}.continue-btn{cursor:pointer;color:#4f8;letter-spacing:3px;background:0 0;border:2px solid #4f8;border-radius:6px;margin-top:10px;padding:10px 32px;font-family:Courier New,Courier,monospace;font-size:18px;font-weight:700;transition:all .2s}.continue-btn:hover{color:#050510;background:#4f8;box-shadow:0 0 20px #4f86}.upgrade-list{grid-template-columns:repeat(2,1fr);gap:10px;max-width:640px;max-height:60vh;margin:0 auto 20px;display:grid;overflow-y:auto}.upgrade-item{background:#001428cc;border:1px solid #4af;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.upgrade-item.maxed{opacity:.5;border-color:#333}.upgrade-item.can-buy{border-color:#fc0;box-shadow:0 0 8px #fc03}.upgrade-info{flex-direction:column;gap:2px;display:flex}.upgrade-name{color:#4af;font-family:Courier New,Courier,monospace;font-size:13px;font-weight:700}.upgrade-desc{color:#89a;font-family:Courier New,Courier,monospace;font-size:11px}.upgrade-level{align-items:center;gap:4px;display:flex}.upgrade-pip{background:0 0;border:1px solid #4af;border-radius:2px;width:12px;height:12px;display:inline-block}.upgrade-pip.filled{background:#4af;box-shadow:0 0 4px #44aaff80}.unlocked{color:#4f8;font-size:16px}.locked{color:#666;font-size:14px}.upgrade-btn{color:#000;cursor:pointer;background:#4af;border:none;border-radius:4px;align-self:flex-end;padding:4px 14px;font-family:Courier New,Courier,monospace;font-size:12px;font-weight:700}.upgrade-btn.can-buy:hover{background:#6cf;box-shadow:0 0 8px #4af6}.upgrade-btn.disabled{color:#666;cursor:default;background:#333}.panel-hint{color:#667;text-align:center;margin:0;font-family:Courier New,Courier,monospace;font-size:12px}.panel-hint kbd{color:#4af;background:#4af3;border:1px solid #4af;border-radius:3px;padding:0 6px;font-family:inherit;font-size:11px;display:inline-block}
