@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--primary: #e8e8e8;--secondary: #a8a8a8;--accent: #ffffff;--muted: #666666;--subtle: #444444;--bg-primary: #0a0a0a;--bg-secondary: #151515;--bg-tertiary: #202020;--bg-overlay: rgba(10, 10, 10, .95);--success: #4a9eff;--warning: #ff9f40;--danger: #ff6b6b;--info: #74c0fc;--border-primary: rgba(255, 255, 255, .1);--border-secondary: rgba(255, 255, 255, .05);--shadow-subtle: 0 2px 8px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .4);--shadow-strong: 0 8px 32px rgba(0, 0, 0, .6);--font-primary: "Inter", "Segoe UI", system-ui, sans-serif;--font-secondary: "JetBrains Mono", "Fira Code", monospace;--font-display: "Space Grotesk", "Inter", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--mobile-breakpoint: 768px;--tablet-breakpoint: 1024px;--glass-effect: rgba(20, 20, 20, .8);--glass-border: rgba(255, 255, 255, .08);--backdrop-blur: blur(20px);--transition-fast: .15s ease;--transition-medium: .3s ease;--transition-slow: .5s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.02) 0%,transparent 50%),linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--primary);overflow:hidden;cursor:none;position:relative;font-weight:400;letter-spacing:-.01em;line-height:1.5}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.02) 1px,transparent 0);background-size:20px 20px;pointer-events:none;z-index:1;opacity:.3}.main-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-overlay);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);z-index:500;display:none;flex-direction:column;animation:fadeIn var(--transition-slow) ease-out}.main-menu.active{display:flex}@keyframes terminalBoot{0%{opacity:0;transform:scale(.95)}50%{opacity:.7}to{opacity:1;transform:scale(1)}}.terminal-header{text-align:center;padding:clamp(2rem,8vw,4rem) clamp(1rem,4vw,2rem);border-bottom:1px solid var(--border-primary);background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 100%)}.ascii-logo{font-family:var(--font-secondary);font-size:clamp(6px,1.8vw,11px);line-height:1.1;color:var(--accent);margin-bottom:var(--space-lg);letter-spacing:.5px;white-space:pre;overflow-x:auto;font-weight:400;opacity:.9}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.subtitle{font-family:var(--font-display);font-size:clamp(14px,3.5vw,18px);font-weight:500;letter-spacing:clamp(2px,1vw,4px);color:var(--secondary);margin-bottom:var(--space-sm);text-transform:uppercase}.version{font-size:clamp(10px,2.5vw,12px);color:var(--muted);font-weight:400}.system-status{margin-top:var(--space-xl);text-align:left;display:inline-block}.status-line{font-size:clamp(11px,2.8vw,13px);margin-bottom:var(--space-xs);font-weight:400;color:var(--secondary)}.status-ok{color:var(--success)}.status-warning{color:var(--warning)}.status-ready{color:var(--info)}.menu-content{flex:1;padding:clamp(1.5rem,6vw,3rem);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2rem,6vw,3rem)}.menu-section h3{font-family:var(--font-display);font-size:clamp(14px,3.2vw,16px);color:var(--accent);margin-bottom:var(--space-lg);text-align:center;font-weight:600}.briefing-text{font-size:clamp(12px,3vw,14px);line-height:1.6;color:var(--secondary);text-align:center;max-width:600px}.highlight{color:var(--accent);font-weight:600}.menu-buttons{display:flex;flex-direction:column;gap:15px;min-width:400px}.menu-button{background:var(--glass-effect);border:1px solid var(--border-primary);border-radius:8px;padding:clamp(14px,3.5vw,18px) clamp(24px,5vw,32px);color:var(--primary);font-family:var(--font-primary);font-size:clamp(13px,3.2vw,15px);font-weight:500;cursor:pointer;transition:all var(--transition-medium);position:relative;overflow:hidden;display:flex;align-items:center;gap:clamp(12px,3vw,16px);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);letter-spacing:-.01em;box-shadow:var(--shadow-subtle)}.menu-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.menu-button:hover{background:var(--bg-tertiary);border-color:var(--border-primary);box-shadow:var(--shadow-medium);transform:translateY(-2px);color:var(--accent)}.menu-button:hover:before{left:100%}.menu-button.primary{background:var(--accent);color:var(--bg-primary);border-color:var(--accent);font-weight:600}.menu-button.primary:hover{background:var(--primary);color:var(--bg-primary);border-color:var(--primary)}.button-icon{font-size:16px;font-weight:700}.button-text{flex:1;text-align:left}.terminal-footer{padding:20px;text-align:center;border-top:1px solid var(--border-glow);background:#0000004d}.footer-text{font-size:10px;color:#666;line-height:1.4}#gameContainer{position:relative;width:100vw;height:100vh;display:none;overflow:hidden}#gameContainer.active{display:block}#gameContainer canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important;z-index:1;display:block}#hud{position:absolute;top:clamp(12px,2.5vw,20px);left:clamp(12px,2.5vw,20px);width:clamp(280px,25vw,320px);max-width:calc(100vw - 24px);background:var(--glass-effect);border:1px solid var(--border-primary);border-radius:12px;padding:clamp(16px,3.5vw,20px);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);box-shadow:var(--shadow-medium);z-index:100;font-size:clamp(10px,2.5vw,12px);font-family:var(--font-primary);overflow:hidden;transition:all var(--transition-medium)}.hud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-glow)}.hud-title{font-family:var(--font-display);font-weight:600;font-size:clamp(12px,3vw,14px);color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.system-time{font-size:clamp(9px,2.2vw,10px);color:var(--muted);font-weight:400;font-family:var(--font-secondary)}.hud-section{margin-bottom:15px}.stat-group{margin-bottom:12px}.stat-label{font-family:var(--font-display);font-size:clamp(9px,2.2vw,11px);color:var(--secondary);font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.stat-value{font-size:clamp(11px,2.8vw,13px);color:var(--accent);font-weight:600;margin-bottom:6px;font-family:var(--font-secondary)}.progress-bar{width:100%;height:clamp(6px,1.5vw,8px);background:var(--bg-tertiary);border:none;border-radius:4px;overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #0000004d}.progress-fill{height:100%;transition:width .4s ease;border-radius:6px;position:relative;overflow:hidden}.health-fill{background:var(--danger);transition:width .3s ease;border-radius:4px}.exp-fill{background:var(--success);transition:width .3s ease;border-radius:4px}.progress-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:10% 100%;pointer-events:none}.stat-row{display:flex;justify-content:space-between;margin-bottom:6px}.stat-item{font-size:11px;color:var(--primary-green);font-weight:400}.weapon-section{margin-top:15px;padding-top:15px;border-top:1px solid var(--border-glow)}.weapon-header{font-size:12px;color:var(--secondary-cyan);font-weight:700;margin-bottom:8px;text-shadow:var(--text-shadow)}.weapon-details{display:grid;grid-template-columns:1fr 1fr;gap:4px}.weapon-stat{font-size:10px;color:#8fa;font-weight:400}.hud-effects{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:12px;overflow:hidden}.scanline{position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--primary-green),transparent);opacity:.7;animation:scanlineMove 3s linear infinite}@keyframes scanlineMove{0%{top:-2px;opacity:0}10%{opacity:.7}90%{opacity:.7}to{top:100%;opacity:0}}.glitch-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 98%,rgba(0,255,136,.1) 100%),linear-gradient(0deg,transparent 98%,rgba(0,255,136,.05) 100%);background-size:20px 20px,20px 20px;opacity:.3}#upgradeMenu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(320px,90vw,900px);max-height:90vh;background:var(--glass-effect);border:var(--cyber-border);border-image:var(--cyber-gradient) 1;border-radius:20px;padding:0;color:var(--primary-green);font-family:var(--font-secondary);display:none;z-index:200;box-shadow:0 0 60px #00ff8880,inset 0 1px 0 var(--glass-border),0 20px 60px #0006;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);animation:upgradeMenuSlide .5s cubic-bezier(.25,.46,.45,.94);overflow:hidden auto}@keyframes upgradeMenuSlide{0%{opacity:0;transform:translate(-50%,-60%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.upgrade-header{background:linear-gradient(135deg,#0f83,#00ff881a);padding:25px;text-align:center;border-bottom:2px solid var(--border-glow)}.upgrade-title{font-family:var(--font-primary);font-size:clamp(18px,4vw,24px);font-weight:900;color:var(--primary-green);text-shadow:var(--neon-glow);margin-bottom:8px;text-transform:uppercase;letter-spacing:2px}.upgrade-subtitle{font-size:14px;color:var(--secondary-cyan);font-weight:300}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(280px,40vw,320px),1fr));gap:clamp(15px,3vw,25px);padding:clamp(20px,4vw,35px)}.upgrade-option{background:var(--glass-effect);border:var(--cyber-border);border-image:linear-gradient(45deg,var(--border-glow),transparent,var(--border-glow)) 1;border-radius:16px;padding:clamp(20px,4vw,30px);cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;min-height:clamp(120px,20vh,160px);display:flex;flex-direction:column;justify-content:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 8px 32px #0000004d,inset 0 1px 0 var(--glass-border)}.upgrade-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.upgrade-option:hover{background:linear-gradient(135deg,#0f83,#00ff884d);border-color:var(--primary-green);box-shadow:var(--glow-effect);transform:translateY(-3px) scale(1.02)}.upgrade-option:hover:before{left:100%}.upgrade-option strong{font-size:16px;color:var(--primary-green);text-shadow:var(--text-shadow);margin-bottom:10px;display:block}.upgrade-footer{background:#0000004d;padding:15px;text-align:center;border-top:1px solid var(--border-glow)}.footer-hint{font-size:11px;color:#888;font-weight:300}#instructions{position:absolute;bottom:20px;left:20px;width:320px;background:linear-gradient(135deg,#001428f2,#00283ce6);border:2px solid var(--border-glow);border-radius:12px;padding:20px;-webkit-backdrop-filter:var(--terminal-blur);backdrop-filter:var(--terminal-blur);box-shadow:0 8px 32px #00000080;z-index:100}.instructions-header{font-size:14px;font-weight:700;color:var(--secondary-cyan);text-shadow:var(--text-shadow);margin-bottom:15px;text-align:center}.control-grid{display:grid;gap:8px}.control-item{display:flex;justify-content:space-between;align-items:center;font-size:11px}.control-key{color:var(--warning-orange);font-weight:700;min-width:100px}.control-desc{color:#8cf;font-weight:400}.screen-shake{animation:enhancedShake .3s ease-in-out}@keyframes enhancedShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-3px,-3px) rotate(-.5deg)}20%{transform:translate(3px,-3px) rotate(.5deg)}30%{transform:translate(-3px,3px) rotate(-.5deg)}40%{transform:translate(3px,3px) rotate(.5deg)}50%{transform:translate(-2px,-2px) rotate(-.3deg)}60%{transform:translate(2px,-2px) rotate(.3deg)}70%{transform:translate(-2px,2px) rotate(-.3deg)}80%{transform:translate(2px,2px) rotate(.3deg)}90%{transform:translate(-1px,-1px) rotate(-.1deg)}}.damage-number{position:absolute;font-family:inherit;font-weight:700;font-size:16px;text-shadow:0 0 15px currentColor,0 0 30px currentColor;pointer-events:none;z-index:150;animation:enhancedDamageFloat 1.5s ease-out forwards}.damage-number.critical{font-size:22px;color:var(--warning-orange);text-shadow:0 0 20px var(--warning-orange),0 0 40px rgba(255,170,0,.5)}@keyframes enhancedDamageFloat{0%{opacity:1;transform:translateY(0) scale(1.3) rotate(-5deg)}20%{transform:translateY(-15px) scale(1.1) rotate(2deg)}to{opacity:0;transform:translateY(-80px) scale(.8) rotate(5deg)}}.level-up-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--warning-orange);font-size:28px;font-weight:700;text-shadow:0 0 30px var(--warning-orange),0 0 60px rgba(255,170,0,.5);pointer-events:none;z-index:180;animation:enhancedLevelUp 1.5s ease-out forwards}@keyframes enhancedLevelUp{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-10deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.3) rotate(5deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(-2deg)}to{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(0)}}.achievement-notification{position:fixed;top:20px;right:-450px;width:400px;background:linear-gradient(135deg,#00ff8826,#00ff8840);border:2px solid var(--primary-green);border-radius:12px;padding:20px;color:var(--primary-green);font-family:inherit;font-size:12px;z-index:300;-webkit-backdrop-filter:var(--terminal-blur);backdrop-filter:var(--terminal-blur);box-shadow:var(--glow-effect),inset 0 1px #ffffff1a;transition:right .6s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.achievement-notification:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary-green),var(--secondary-cyan));animation:achievementGlow 2s ease-in-out infinite alternate}@keyframes achievementGlow{0%{box-shadow:0 0 5px var(--primary-green)}to{box-shadow:0 0 15px var(--primary-green),0 0 25px #00ff884d}}.achievement-notification.show{right:20px}.achievement-notification.hide{right:-450px;transition:right .6s cubic-bezier(.55,.055,.675,.19)}.achievement-header{font-weight:700;font-size:14px;color:var(--warning-orange);text-align:center;margin-bottom:12px;text-shadow:var(--text-shadow);padding-left:20px}.achievement-name{font-weight:700;font-size:13px;color:var(--primary-green);margin-bottom:8px;padding-left:20px}.achievement-desc{font-size:11px;color:#8cf;margin-bottom:10px;line-height:1.4;padding-left:20px}.achievement-reward{font-weight:700;font-size:12px;color:var(--warning-orange);text-align:center;border-top:1px solid var(--border-glow);padding-top:10px;margin-top:10px;padding-left:20px}.character-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at center,rgba(0,40,80,.95) 0%,var(--background-darker) 70%);-webkit-backdrop-filter:var(--terminal-blur);backdrop-filter:var(--terminal-blur);z-index:550;display:none;flex-direction:column;animation:terminalBoot 1.5s ease-out}.character-menu.active{display:flex}.character-header{text-align:center;padding:40px 20px;border-bottom:2px solid var(--border-glow);background:linear-gradient(180deg,rgba(0,255,136,.1) 0%,transparent 100%)}.character-title{font-size:24px;font-weight:700;color:var(--primary-green);text-shadow:var(--text-shadow);margin-bottom:15px;letter-spacing:3px}.character-subtitle{font-size:14px;color:var(--secondary-cyan);font-weight:300}.character-grid{flex:1;padding:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-content:center;max-width:1200px;margin:0 auto;width:100%}.character-option{background:linear-gradient(135deg,#00ff881a,#0f83);border:2px solid var(--border-glow);border-radius:12px;padding:25px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-align:center}.character-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.character-option:hover{background:linear-gradient(135deg,#0f83,#0f86);border-color:var(--primary-green);box-shadow:var(--glow-effect);transform:translateY(-5px)}.character-option:hover:before{left:100%}.character-option.selected{background:linear-gradient(135deg,#00ff884d,#00ff8880);border-color:var(--primary-green);box-shadow:var(--glow-effect),inset 0 0 20px #0f83}.character-ascii{font-size:48px;font-weight:700;margin-bottom:15px;text-shadow:0 0 15px currentColor;animation:characterPulse 2s ease-in-out infinite alternate}@keyframes characterPulse{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.character-info h3{font-size:18px;color:var(--primary-green);margin-bottom:10px;text-shadow:var(--text-shadow)}.character-description{font-size:12px;color:#8cf;margin-bottom:15px;line-height:1.4}.character-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.character-stat{font-size:11px;color:var(--warning-orange);display:flex;justify-content:space-between}.character-ability{font-size:11px;color:var(--secondary-cyan);background:#00ffff1a;padding:8px;border-radius:4px;border:1px solid rgba(0,255,255,.3)}.character-footer{padding:20px 40px;display:flex;justify-content:center;gap:20px;border-top:2px solid var(--border-glow);background:linear-gradient(0deg,rgba(0,255,136,.1) 0%,transparent 100%)}.menu-button.disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#6464641a,#64646433);border-color:#666}.menu-button.disabled:hover{transform:none;box-shadow:none}.meta-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at center,rgba(0,30,60,.98) 0%,var(--background-darker) 70%);-webkit-backdrop-filter:var(--terminal-blur);backdrop-filter:var(--terminal-blur);z-index:400;display:none;overflow-y:auto;animation:terminalBoot .8s ease-out}.meta-menu.active{display:flex;flex-direction:column}.meta-header{text-align:center;padding:30px;border-bottom:2px solid var(--border-glow);background:linear-gradient(180deg,rgba(0,255,136,.1) 0%,transparent 100%)}.meta-title{font-family:inherit;font-size:28px;font-weight:700;color:var(--primary-green);text-shadow:var(--text-shadow);margin-bottom:15px}.meta-stats{font-family:inherit;font-size:14px;color:var(--secondary-cyan);font-weight:300}.meta-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;padding:30px;flex:1}.meta-section{background:linear-gradient(135deg,#001e3ccc,#003250cc);border:2px solid var(--border-glow);border-radius:12px;padding:25px;color:var(--primary-green);font-family:inherit;height:fit-content}.meta-section h3{font-size:18px;font-weight:700;color:var(--secondary-cyan);text-shadow:var(--text-shadow);margin-bottom:20px;text-align:center;border-bottom:1px solid var(--border-glow);padding-bottom:12px}.character-card{background:linear-gradient(135deg,#00ff880d,#00ff881a);border:1px solid var(--border-glow);border-radius:8px;padding:18px;margin-bottom:12px;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.character-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.character-card:hover{background:linear-gradient(135deg,#00ff8826,#00ff8840);border-color:var(--primary-green);transform:translateY(-2px) scale(1.01);box-shadow:var(--glow-effect)}.character-card:hover:before{left:100%}.character-card.selected{border-color:var(--warning-orange);background:linear-gradient(135deg,#ffaa001a,#fa03);box-shadow:0 0 20px #ffaa004d}.character-card.locked{opacity:.5;cursor:not-allowed}.character-card.locked:hover{transform:none;box-shadow:none}.character-name{font-weight:700;font-size:14px;color:var(--primary-green);margin-bottom:6px;text-shadow:var(--text-shadow)}.character-desc{font-size:11px;color:#8cf;margin-bottom:10px;line-height:1.3}.character-cost{font-size:12px;color:var(--warning-orange);font-weight:700}@media (hover: none) and (pointer: coarse){.menu-button,.upgrade-option,.character-option{min-height:48px;touch-action:manipulation}.menu-button:active,.upgrade-option:active,.character-option:active{transform:scale(.98);transition:transform .1s ease}}@media (max-width: 1024px){.meta-content{grid-template-columns:1fr;padding:clamp(15px,3vw,25px)}.upgrade-grid{grid-template-columns:1fr;gap:clamp(12px,2.5vw,20px)}.menu-buttons{min-width:clamp(280px,80vw,350px);gap:clamp(12px,3vw,18px)}.character-grid{grid-template-columns:1fr;gap:clamp(15px,3vw,20px);padding:clamp(20px,4vw,30px)}#hud{width:clamp(260px,90vw,300px);left:clamp(5px,2vw,15px);top:clamp(5px,2vw,15px)}#instructions{width:clamp(260px,90vw,300px);left:clamp(5px,2vw,15px);bottom:clamp(5px,2vw,15px)}#upgradeMenu{width:95vw;max-height:85vh}}@media (max-width: 768px){:root{--font-scale: .9}.ascii-logo{font-size:clamp(5px,1.5vw,8px);letter-spacing:.5px}.meta-title{font-size:clamp(20px,5vw,28px)}.terminal-header{padding:clamp(20px,4vw,30px) clamp(10px,3vw,20px)}.menu-content{padding:clamp(15px,4vw,25px);gap:clamp(20px,5vw,35px)}.achievement-notification{width:clamp(280px,85vw,350px);right:-100vw;font-size:clamp(10px,2.5vw,12px)}.achievement-notification.show{right:clamp(5px,2vw,15px)}#upgradeMenu{width:98vw;max-height:90vh;border-radius:15px}.upgrade-grid{grid-template-columns:1fr;padding:clamp(15px,3vw,25px)}#hud{width:calc(100vw - clamp(10px,3vw,20px));max-width:none;left:clamp(5px,1.5vw,10px);top:clamp(5px,1.5vw,10px)}#instructions{width:calc(100vw - clamp(10px,3vw,20px));max-width:none;left:clamp(5px,1.5vw,10px);bottom:clamp(5px,1.5vw,10px)}.menu-buttons{min-width:clamp(260px,85vw,320px)}.pause-content{width:95vw;max-width:none;padding:clamp(20px,4vw,30px)}.pause-stats{grid-template-columns:1fr;gap:clamp(10px,2vw,15px)}}@media (max-width: 480px){:root{--font-scale: .8}.ascii-logo{font-size:clamp(4px,1.2vw,6px);letter-spacing:.3px;line-height:1.05}.subtitle{font-size:clamp(12px,3.5vw,16px);letter-spacing:clamp(2px,1.5vw,4px)}.terminal-header{padding:clamp(15px,3vw,25px) clamp(8px,2vw,15px)}.menu-content{padding:clamp(12px,3vw,20px);gap:clamp(15px,4vw,25px)}.menu-buttons{min-width:clamp(240px,90vw,300px);gap:clamp(8px,2vw,12px)}.menu-button{padding:clamp(10px,2.5vw,15px) clamp(15px,4vw,25px);font-size:clamp(10px,2.8vw,14px)}#hud{left:3px;top:3px;width:calc(100vw - 6px);max-width:none;padding:clamp(10px,2.5vw,15px);font-size:clamp(8px,2vw,10px);border-radius:12px}#instructions{left:3px;bottom:3px;width:calc(100vw - 6px);max-width:none;padding:clamp(10px,2.5vw,15px);border-radius:12px}.upgrade-option{min-height:clamp(100px,18vh,140px);padding:clamp(15px,3vw,25px)}.character-option{padding:clamp(15px,3vw,25px)}.pause-button{padding:clamp(10px,2.5vw,15px) clamp(15px,4vw,25px);font-size:clamp(10px,2.8vw,13px)}.pause-title{font-size:clamp(18px,5vw,24px)}}::-webkit-scrollbar{width:clamp(6px,1vw,12px)}::-webkit-scrollbar-track{background:#000a14cc;border-radius:6px;border:1px solid rgba(0,255,136,.1)}::-webkit-scrollbar-thumb{background:var(--cyber-gradient);border-radius:6px;box-shadow:0 0 10px #0f86,inset 0 1px #fff3;border:1px solid rgba(0,255,136,.3)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent-purple),var(--secondary-cyan),var(--primary-green));box-shadow:0 0 15px #0f89}::-webkit-scrollbar-corner{background:#000a14cc}.pause-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:600;display:none;flex-direction:column;justify-content:center;align-items:center;animation:pauseMenuFade .3s ease-out}.pause-menu.active{display:flex}@keyframes pauseMenuFade{0%{opacity:0}to{opacity:1}}.pause-header{text-align:center;margin-bottom:40px}.pause-title{font-size:32px;font-weight:700;color:var(--warning-orange);text-shadow:0 0 20px var(--warning-orange),0 0 40px rgba(255,170,0,.5);margin-bottom:10px;letter-spacing:3px}.pause-subtitle{font-size:16px;color:var(--secondary-cyan);font-weight:300}.pause-content{background:linear-gradient(135deg,#001e3cf2,#003250f2);border:3px solid var(--primary-green);border-radius:15px;padding:40px;max-width:600px;width:90%;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 0 50px #0f86}.pause-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border-glow)}.pause-stat{display:flex;justify-content:space-between;align-items:center;font-size:14px}.pause-stat .stat-label{color:var(--primary-green);font-weight:700}.pause-stat .stat-value{color:var(--secondary-cyan);font-weight:600}.pause-buttons{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.pause-button{background:linear-gradient(135deg,#00ff881a,#0f83);border:2px solid var(--border-glow);border-radius:8px;padding:15px 25px;color:var(--primary-green);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:1px}.pause-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.pause-button:hover{background:linear-gradient(135deg,#0f83,#00ff884d);border-color:var(--primary-green);transform:translateY(-2px);box-shadow:var(--glow-effect)}.pause-button:hover:before{left:100%}.pause-button.primary{background:linear-gradient(135deg,#fa03,#ffaa004d);border-color:var(--warning-orange);color:var(--warning-orange)}.pause-button.primary:hover{background:linear-gradient(135deg,#ffaa004d,#fa06);box-shadow:0 0 20px #fa06}.pause-controls{border-top:1px solid var(--border-glow);padding-top:20px}.controls-header{font-size:16px;font-weight:700;color:var(--primary-green);text-align:center;margin-bottom:15px;text-shadow:var(--text-shadow)}.controls-grid{display:flex;flex-direction:column;gap:8px}.control-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.control-row .control-key{color:var(--warning-orange);font-weight:700;min-width:120px}.control-row .control-desc{color:#8cf;font-weight:400}@media (max-width: 768px){.pause-content{padding:30px 20px;width:95%}.pause-title{font-size:24px}.pause-stats{grid-template-columns:1fr;gap:15px}.pause-button{padding:12px 20px;font-size:13px}}.cyber-glow{position:relative}.cyber-glow:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:var(--cyber-gradient);border-radius:inherit;z-index:-1;opacity:0;transition:opacity .3s ease}.cyber-glow:hover:before{opacity:.7;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--primary-green: #00ff00;--secondary-cyan: #00ffff;--warning-orange: #ffff00;--danger-red: #ff0000;--border-glow: rgba(0, 255, 0, .8)}}.menu-button:focus,.upgrade-option:focus,.character-option:focus,.pause-button:focus{outline:2px solid var(--secondary-cyan);outline-offset:2px;box-shadow:0 0 0 4px #00ffff4d,var(--glow-effect)}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,136,.4),transparent);animation:loading-shimmer 1.5s ease-in-out infinite}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.error{border-color:var(--danger-red)!important;color:var(--danger-red)!important;box-shadow:0 0 20px #f446!important}.error:before{content:"⚠ ";color:var(--danger-red)}.success{border-color:var(--primary-green)!important;color:var(--primary-green)!important;box-shadow:0 0 20px #0f86!important}.success:before{content:"✓ ";color:var(--primary-green)}@media (prefers-color-scheme: dark){:root{--glass-effect: rgba(0, 15, 30, .9);--background-darker: #000510;--background-dark: #001018}}@media print{*{background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.main-menu,#gameContainer{display:none!important}}
