/* Cyberpunk / Synthwave Theme Styles */
:root {
  --neon-cyan: #00f0ff;
  --neon-pink: #ff007f;
  --neon-yellow: #ffe600;
  --neon-purple: #9d00ff;
  --neon-green: #00ff88;
}

body {
  background-color: #04040a;
  background-image: 
    radial-gradient(circle at 50% 0%, rgba(0, 240, 255, 0.08) 0%, transparent 60%),
    radial-gradient(circle at 50% 100%, rgba(255, 0, 127, 0.08) 0%, transparent 60%);
  touch-action: none;
  -webkit-touch-callout: none;
}

/* CRT Scanlines and curvature */
.crt-overlay {
  background: linear-gradient(
    rgba(18, 16, 16, 0) 50%, 
    rgba(0, 0, 0, 0.35) 50%
  ), linear-gradient(
    90deg,
    rgba(255, 0, 0, 0.03),
    rgba(0, 255, 0, 0.01),
    rgba(0, 0, 255, 0.03)
  );
  background-size: 100% 3px, 6px 100%;
  pointer-events: none;
}

/* Ambient glow pulses */
.ambient-glow {
  background: radial-gradient(circle at center, transparent 30%, rgba(5, 5, 14, 0.8) 90%);
}

/* Touch Control buttons */
.touch-btn {
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  transition: transform 0.1s ease, background-color 0.1s ease;
}

.touch-btn:active {
  transform: scale(0.92);
}

/* Glitch Animation for Game Over */
.glitch-box {
  animation: glitch-anim 0.3s ease-out;
}

@keyframes glitch-anim {
  0% { transform: translate(0, 0) scale(0.95); opacity: 0; }
  20% { transform: translate(-3px, 2px) scale(0.98); }
  40% { transform: translate(3px, -2px) scale(1.02); }
  60% { transform: translate(-2px, -1px); }
  80% { transform: translate(2px, 1px); }
  100% { transform: translate(0, 0) scale(1); opacity: 1; }
}

/* Floating combo score animation */
.combo-pop {
  animation: comboPop 0.6s cubic-bezier(0.18, 0.89, 0.32, 1.28) forwards;
}

@keyframes comboPop {
  0% { opacity: 0; transform: scale(0.4) translateY(10px); }
  40% { opacity: 1; transform: scale(1.2) translateY(-10px); }
  100% { opacity: 0; transform: scale(1) translateY(-30px); }
}

/* Custom scrollbars hidden */
::-webkit-scrollbar {
  display: none;
}