/* ---------- KEYFRAME ANIMATIONS ---------- */

/* Panel Switch Fade Transition */
.panel {
  display: none;
  animation: panelFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.panel.active {
  display: block;
}

@keyframes panelFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Digital LED Flickering */
.board-digits.flicker {
  animation: digitFlicker 0.32s steps(2);
}

@keyframes digitFlicker {
  0% { opacity: 0.15; }
  50% { opacity: 1; }
  75% { opacity: 0.3; }
  100% { opacity: 1; }
}

/* Seal Stamp Slam Animation */
.stamp-mark.show {
  animation: stampDown 0.38s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes stampDown {
  0% {
    opacity: 0;
    transform: rotate(-7deg) scale(2.6);
    filter: blur(4px);
  }
  60% {
    opacity: 1;
    filter: blur(0);
  }
  100% {
    opacity: 0.94;
    transform: rotate(-7deg) scale(1);
  }
}

/* Pulsing Status Dot Glow */
@keyframes pulse-glow {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 8px var(--teal-light);
  }
  50% {
    opacity: 0.4;
    transform: scale(0.85);
    box-shadow: 0 0 2px var(--teal-light);
  }
}
