/* Animations and transitions */
@keyframes menuAppear {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes text-glow {
  from {
    text-shadow: 
      0 0 10px rgba(255, 255, 255, 1),
      0 0 20px rgba(255, 255, 255, 0.8),
      0 0 30px rgba(255, 255, 255, 0.6);
  }
  to {
    text-shadow: 
      0 0 5px rgba(255, 255, 255, 0.8),
      0 0 10px rgba(255, 255, 255, 0.5),
      0 0 15px rgba(255, 255, 255, 0.3);
  }
}

.menu-item {
  animation: menuAppear 0.6s cubic-bezier(0.3, 0.7, 0.4, 1.5) forwards;
  animation-delay: calc((var(--col) + var(--row)) * 0.1s);
}
