/* ==========================================================================
   Interactive Family Tree Platform (fam3) - Animations & Effects
   ========================================================================== */

@keyframes pulseHighlight {
  0% {
    box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.7), var(--shadow-lg);
  }
  70% {
    box-shadow: 0 0 0 15px rgba(99, 102, 241, 0), var(--shadow-lg);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(99, 102, 241, 0), var(--shadow-lg);
  }
}

@keyframes toastSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes nodeFadeIn {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes pathDraw {
  from {
    stroke-dashoffset: 1000;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes glowPulse {
  0%, 100% {
    filter: drop-shadow(0 0 2px var(--accent-primary-glow));
  }
  50% {
    filter: drop-shadow(0 0 8px var(--accent-primary-glow));
  }
}

.animate-fade-in {
  animation: nodeFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-glow {
  animation: glowPulse 2.5s infinite ease-in-out;
}

/* Subtle ripple on button click */
.btn:active, .floating-btn:active, .card-action-btn:active {
  transform: scale(0.95);
}
