/* Animations */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

@keyframes terminal-glow {
  0% {
    box-shadow: 
      0 0 8px rgba(var(--primary-rgb), 0.4),
      0 0 20px rgba(var(--primary-rgb), 0.2),
      0 10px 30px rgba(var(--primary-rgb), 0.2);
  }
  100% {
    box-shadow: 
      0 0 12px rgba(var(--primary-rgb), 0.5),
      0 0 25px rgba(var(--primary-rgb), 0.3),
      0 10px 30px rgba(var(--primary-rgb), 0.2);
  }
}

@keyframes terminal-glow-dark {
  0% {
    box-shadow: 
      0 0 8px rgba(var(--primary-rgb), 0.3),
      0 0 20px rgba(var(--primary-rgb), 0.15),
      0 10px 40px rgba(var(--primary-rgb), 0.1);
  }
  100% {
    box-shadow: 
      0 0 15px rgba(var(--primary-rgb), 0.5),
      0 0 30px rgba(var(--primary-rgb), 0.25),
      0 10px 50px rgba(var(--primary-rgb), 0.15);
  }
}

/* Smooth transitions for theme changes */
html {
  transition: background-color 0.3s ease, color 0.3s ease;
}

body, button, input, select, textarea, a {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Theme toggle animation */
.theme-toggle {
  transition: all 0.3s ease;
}

.theme-toggle i {
  transition: transform 0.3s ease;
}

.theme-toggle:hover i {
  transform: rotate(30deg);
}

/* Fade in animation */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.fade-in {
  animation: fadeIn 0.5s ease-out forwards;
}
