:root{--void: #150c1c;--dusk: #2b1440;--sunset-1: #b3416b;--sunset-2: #e0623f;--sunset-3: #ffb15c;--horizon: #ffd98a;--sand: #cf9f5f;--sand-dark: #8a6a4d;--arcade-red: #ff3b30;--arcade-gold: #e6a817;--paper: #f5ead9;--ink: #1a1010;--font-display: "Press Start 2P", monospace;--font-body: "Rajdhani", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--void);color:var(--paper);font-family:var(--font-body);user-select:none}.app-root{width:100vw;height:100vh;position:relative;background:radial-gradient(ellipse at 50% 20%,var(--dusk) 0%,var(--void) 70%)}.screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px}.arcade-title{font-family:var(--font-display);font-size:clamp(18px,4vw,34px);color:var(--horizon);text-shadow:3px 3px 0 var(--sunset-2),6px 6px 0 rgba(0,0,0,.35);letter-spacing:2px;text-align:center;line-height:1.6}.arcade-subtitle{font-family:var(--font-body);font-weight:600;font-size:16px;letter-spacing:3px;text-transform:uppercase;color:var(--sand)}.panel{background:linear-gradient(160deg,#2b1440eb,#150c1cf5);border:3px solid var(--sunset-2);border-radius:14px;box-shadow:0 0 0 3px #ffb15c26,0 20px 40px #00000073;padding:32px;min-width:320px;max-width:92vw}.input-row{display:flex;flex-direction:column;gap:10px}.text-input{font-family:var(--font-body);font-weight:600;font-size:20px;padding:12px 16px;border-radius:8px;border:2px solid var(--sand-dark);background:#f5ead90f;color:var(--paper);outline:none;letter-spacing:1px}.text-input:focus{border-color:var(--sunset-3)}.hint{font-size:13px;color:#f5ead98c;letter-spacing:.5px}.error-text{color:var(--arcade-red);font-size:14px;font-weight:700}button.arcade-btn{font-family:var(--font-body);font-weight:700;font-size:18px;letter-spacing:1px;text-transform:uppercase;padding:14px 26px;border-radius:10px;border:none;cursor:pointer;background:linear-gradient(180deg,var(--sunset-3),var(--sunset-2));color:var(--ink);box-shadow:0 6px #9c3f24,0 10px 18px #0006;transition:transform .08s ease}button.arcade-btn:active{transform:translateY(4px);box-shadow:0 2px #9c3f24,0 4px 10px #0006}button.arcade-btn:disabled{opacity:.5;cursor:not-allowed}button.arcade-btn.secondary{background:linear-gradient(180deg,#7a5a8a,#4a3358);box-shadow:0 6px #2a1c33,0 10px 18px #0006;color:var(--paper)}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px}.weapon-list{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto;padding-right:4px}.weapon-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-radius:10px;border:2px solid var(--sand-dark);background:#ffffff08;cursor:pointer}.weapon-card:hover{border-color:var(--sunset-3)}.weapon-card.selected{border-color:var(--sunset-3);background:#ffb15c1f}.weapon-name{font-weight:700;font-size:17px}.weapon-category{font-size:12px;text-transform:uppercase;color:var(--sand);letter-spacing:1px}.weapon-stats{display:flex;gap:10px;font-size:12px;color:#f5ead9b3}.game-viewport{position:relative;width:100%;height:100%;cursor:crosshair}.game-canvas-mount{position:absolute;inset:0}.crt-overlay{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.12) 0px,rgba(0,0,0,.12) 1px,transparent 2px,transparent 3px);mix-blend-mode:multiply}.vignette-overlay{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 160px 40px #0000008c}.crosshair{position:absolute;width:34px;height:34px;pointer-events:none;transform:translate(-50%,-50%);z-index:5}.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--horizon);box-shadow:0 0 4px #0009}.crosshair:before{left:50%;top:0;width:2px;height:100%;transform:translate(-1px)}.crosshair:after{top:50%;left:0;height:2px;width:100%;transform:translateY(-1px)}.hud-top{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;z-index:4;pointer-events:none}.hud-chip{font-family:var(--font-display);background:linear-gradient(160deg,#2b1440e0,#150c1ceb);border:2px solid var(--sunset-2);border-radius:10px;padding:10px 16px;text-align:center}.hud-chip .label{font-size:9px;color:var(--sand);display:block;margin-bottom:6px;letter-spacing:1px}.hud-chip .value{font-size:22px;color:var(--horizon)}.hud-chip.timer-critical .value{color:var(--arcade-red);animation:pulse .5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hud-bottom{position:absolute;bottom:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-end;z-index:4;pointer-events:none}.ammo-chip{font-family:var(--font-display);font-size:16px;color:var(--paper);background:#150c1ccc;border:2px solid var(--sand-dark);border-radius:10px;padding:10px 16px}.ammo-chip.reloading{color:var(--arcade-gold);animation:pulse .4s infinite}.combo-chip{font-family:var(--font-display);font-size:14px;color:var(--sunset-3);text-align:right}.floating-text{position:absolute;font-family:var(--font-display);font-size:16px;pointer-events:none;z-index:6;animation:floatUp .9s ease-out forwards;transform:translate(-50%,-50%)}.floating-text.hit{color:var(--horizon)}.floating-text.bonus{color:var(--arcade-gold);font-size:20px}.floating-text.miss,.floating-text.penalty{color:var(--arcade-red)}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-140%) scale(1.15)}}.hit-marker{position:absolute;width:26px;height:26px;pointer-events:none;transform:translate(-50%,-50%);z-index:6;animation:hitmarker .25s ease-out forwards}.hit-marker:before,.hit-marker:after{content:"";position:absolute;width:100%;height:3px;background:var(--horizon);top:50%;left:0}.hit-marker:before{transform:rotate(45deg)}.hit-marker:after{transform:rotate(-45deg)}@keyframes hitmarker{0%{opacity:1;transform:translate(-50%,-50%) scale(1.4)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.leaderboard-table{width:100%;border-collapse:collapse;font-size:15px}.leaderboard-table th{text-align:left;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--sand);padding:6px 10px;border-bottom:2px solid var(--sand-dark)}.leaderboard-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.leaderboard-table tr.rank-1 td{color:var(--arcade-gold);font-weight:700}.leaderboard-table tr.rank-2 td{color:#d6d6e0;font-weight:700}.leaderboard-table tr.rank-3 td{color:#e0a370;font-weight:700}.tab-row{display:flex;gap:8px;margin-bottom:12px}.tab-btn{font-family:var(--font-body);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;padding:8px 14px;border-radius:8px;border:2px solid var(--sand-dark);background:transparent;color:var(--paper);cursor:pointer}.tab-btn.active{background:var(--sunset-2);border-color:var(--sunset-2);color:var(--ink)}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:8px 0 20px}.result-stat{background:#ffffff0a;border-radius:8px;padding:10px 14px;text-align:center}.result-stat .value{font-family:var(--font-display);font-size:20px;color:var(--horizon);display:block;margin-bottom:4px}.result-stat .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--sand)}.loading-text{font-family:var(--font-display);font-size:14px;color:var(--sand)}
