:root {
  --primary-color: #00ff41;
  --secondary-color: #00bfff;
  --background-color: #0a0a0a;
  --text-color: #ffffff;
  --primary-font: Inter, system-ui, sans-serif;
  --heading-font: Inter, system-ui, sans-serif;
  --font-size-base: 16px;
  --container-max-width: 1200px;
  --animation-speed: 0.3s;
}

body {
  background-color: var(--background-color);
  color: var(--text-color);
  font-family: var(--primary-font);
  font-size: var(--font-size-base);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--heading-font);
}

.container, .max-w-6xl {
  max-width: var(--container-max-width);
}

.fade-in, .fadeInUp {
  animation-duration: var(--animation-speed);
}

.transition-all {
  transition-duration: var(--animation-speed);
}

/* Theme Color Overrides */
.text-neon-green, .text-green-400, .text-green-500 {
  color: var(--primary-color) !important;
}

.text-neon-blue, .text-blue-400, .text-blue-500 {
  color: var(--secondary-color) !important;
}

.bg-neon-green, .bg-green-400, .bg-green-500 {
  background-color: var(--primary-color) !important;
}

.bg-neon-blue, .bg-blue-400, .bg-blue-500 {
  background-color: var(--secondary-color) !important;
}

.border-neon-green, .border-green-400, .border-green-500 {
  border-color: var(--primary-color) !important;
}

.border-neon-blue, .border-blue-400, .border-blue-500 {
  border-color: var(--secondary-color) !important;
}

.shadow-neon-green {
  box-shadow: 0 0 20px var(--primary-color) !important;
}

.shadow-neon-blue {
  box-shadow: 0 0 20px var(--secondary-color) !important;
}

/* Dynamic Keyframes */
@keyframes neon-pulse {
  from {
    text-shadow: 0 0 5px var(--primary-color), 0 0 10px var(--primary-color), 0 0 15px var(--primary-color);
  }
  to {
    text-shadow: 0 0 10px var(--primary-color), 0 0 20px var(--primary-color), 0 0 30px var(--primary-color);
  }
}

@keyframes pulse-ring {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 var(--primary-color);
  }
  70% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px transparent;
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 transparent;
  }
}

