@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } html, body { width: 100%; height: 100%; overflow: hidden; background: #1a0a2e; font-family: 'Orbitron', monospace; touch-action: none; } #gameCanvas { display: block; width: 100%; height: 100%; } #ui { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 100; } #score { position: absolute; top: 20px; left: 30px; color: #00ffff; font-size: 32px; font-weight: 700; text-shadow: 0 0 10px #00ffff, 0 0 20px #00ffff, 0 0 40px #00ffff; letter-spacing: 2px; animation: glow-pulse 2s ease-in-out infinite; } @keyframes glow-pulse { 0%, 100% { text-shadow: 0 0 10px #00ffff, 0 0 20px #00ffff, 0 0 40px #00ffff; } 50% { text-shadow: 0 0 15px #00ffff, 0 0 30px #00ffff, 0 0 60px #00ffff, 0 0 80px #00ffff; } } #highScore { position: absolute; top: 25px; right: 30px; color: #ff00ff; font-size: 18px; font-weight: 400; text-shadow: 0 0 8px #ff00ff, 0 0 16px #ff00ff; letter-spacing: 1px; } .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(26, 10, 46, 0.92); display: flex; flex-direction: column; justify-content: center; align-items: center; pointer-events: auto; transition: opacity 0.4s ease; } .overlay.hidden { opacity: 0; pointer-events: none; } #startScreen h1 { font-size: clamp(36px, 10vw, 72px); font-weight: 900; color: #00ffff; text-shadow: 0 0 20px #00ffff, 0 0 40px #00ffff, 0 0 80px #00ffff; margin-bottom: 15px; letter-spacing: 4px; animation: title-glow 2s ease-in-out infinite; } @keyframes title-glow { 0%, 100% { transform: scale(1); text-shadow: 0 0 20px #00ffff, 0 0 40px #00ffff, 0 0 80px #00ffff; } 50% { transform: scale(1.03); text-shadow: 0 0 30px #00ffff, 0 0 60px #00ffff, 0 0 100px #00ffff, 0 0 120px #00ffff; } } #startScreen p { font-size: clamp(14px, 3vw, 20px); color: #ff00ff; text-shadow: 0 0 10px #ff00ff; margin-bottom: 35px; letter-spacing: 3px; } .start-btn { padding: 18px 50px; font-size: clamp(18px, 4vw, 26px); font-family: 'Orbitron', monospace; font-weight: 700; color: #1a0a2e; background: linear-gradient(135deg, #00ffff, #ff00ff); border: none; cursor: pointer; letter-spacing: 3px; transition: all 0.3s ease; box-shadow: 0 0 20px #00ffff, 0 0 40px #ff00ff; border-radius: 4px; position: relative; overflow: hidden; } .start-btn::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient( 45deg, transparent, rgba(255, 255, 255, 0.3), transparent ); transform: rotate(45deg) translateX(-100%); transition: transform 0.6s ease; } .start-btn:hover { transform: scale(1.08); box-shadow: 0 0 30px #00ffff, 0 0 60px #ff00ff; } .start-btn:hover::before { transform: rotate(45deg) translateX(100%); } .start-btn:active { transform: scale(0.98); } #gameOverScreen h2 { font-size: clamp(32px, 8vw, 56px); font-weight: 900; color: #ff3333; text-shadow: 0 0 20px #ff3333, 0 0 40px #ff3333; margin-bottom: 25px; letter-spacing: 4px; animation: shake 0.5s ease-in-out; } @keyframes shake { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-10px); } 40% { transform: translateX(10px); } 60% { transform: translateX(-10px); } 80% { transform: translateX(10px); } } #gameOverScreen .final-score { font-size: clamp(24px, 6vw, 40px); color: #00ffff; text-shadow: 0 0 15px #00ffff; margin-bottom: 12px; } #gameOverScreen .final-high { font-size: clamp(16px, 3vw, 24px); color: #ffd700; text-shadow: 0 0 10px #ffd700; margin-bottom: 35px; } .controls-hint { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); color: #888; font-size: 14px; letter-spacing: 1px; text-align: center; } /* Mobile optimizations */ @media (max-width: 600px) { #score { top: 15px; left: 20px; font-size: 24px; } #highScore { top: 18px; right: 20px; font-size: 14px; } .controls-hint { font-size: 12px; padding: 0 20px; } } /* Scanline effect overlay */ #ui::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient( 0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.03) 2px, rgba(0, 0, 0, 0.03) 4px ); pointer-events: none; }