@keyframes float {
  0% {
    transform: translate(0px, 0px);
  }
  25% {
    transform: translate(-5px, -10px);
  }
  50% {
    transform: translate(0px, -20px);
  }
  75% {
    transform: translate(5px, -10px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}


@keyframes flicker {
    0% { opacity: 1; }
    50% { opacity: 0.8; }
    100% { opacity: 1; }
}

.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.spooky-text {
    text-shadow: 0 0 10px var(--primary-color);
    animation: flicker 2s infinite;
}

@keyframes linkGlow {
    0% { text-shadow: 0 0 10px transparent; }
    50% { text-shadow: 0 0 10px var(--primary-color); }
    100% { text-shadow: 0 0 10px transparent; }
}

.nav-link:hover {
    animation: linkGlow 1.5s infinite;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(10px); }
    50% { transform: translateX(-10px); }
    75% { transform: translateX(10px); }
}

@keyframes spookyGlow {
    0%, 100% { text-shadow: 0 0 20px rgba(255,0,0,0.8); }
    50% { text-shadow: 0 0 30px rgba(255,0,0,1), 0 0 60px rgba(255,0,0,0.6); }
}

.spooky-text {
    animation: spookyGlow 2s infinite;
}

