/* ============================================================
   BUCK ROGERS 2419 — ANIMATIONS STYLESHEET
   Cine-FX, Glitch, Hover, Warp Speed & Hologram Animations
   ============================================================ */

/* Holographic Glitch Animation */
@keyframes glitch-anim {
  0% {
    text-shadow: 2px 0 0 var(--color-cyan), -2px 0 0 var(--color-primary-orange);
    transform: translate(0);
  }
  20% {
    text-shadow: -2px 0 0 var(--color-cyan), 2px 0 0 var(--color-primary-orange);
    transform: translate(-2px, 2px);
  }
  40% {
    text-shadow: 2px 0 0 var(--color-gold), -2px 0 0 var(--color-cyan);
    transform: translate(2px, -1px);
  }
  60% {
    text-shadow: -2px 0 0 var(--color-primary-orange), 2px 0 0 var(--color-gold);
    transform: translate(-1px, 1px);
  }
  80% {
    text-shadow: 1px 0 0 var(--color-cyan), -1px 0 0 var(--color-primary-orange);
    transform: translate(1px, -2px);
  }
  100% {
    text-shadow: 2px 0 0 var(--color-cyan), -2px 0 0 var(--color-primary-orange);
    transform: translate(0);
  }
}

.glitch-hover:hover {
  animation: glitch-anim 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
}

/* Pulsing Engine & Reactor Glow */
@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 15px var(--color-amber-glow), inset 0 0 10px var(--color-amber-glow);
    border-color: var(--color-amber);
  }
  50% {
    box-shadow: 0 0 30px rgba(212, 130, 10, 0.7), inset 0 0 20px rgba(212, 130, 10, 0.5);
    border-color: var(--color-gold);
  }
}

.pulse-amber {
  animation: pulse-glow 3s infinite ease-in-out;
}

@keyframes pulse-cyan {
  0%, 100% {
    box-shadow: 0 0 15px var(--color-cyan-glow), inset 0 0 10px var(--color-cyan-glow);
    border-color: var(--color-cyan);
  }
  50% {
    box-shadow: 0 0 30px rgba(0, 168, 204, 0.7), inset 0 0 20px rgba(0, 168, 204, 0.5);
    border-color: #55E6FF;
  }
}

.pulse-cyan {
  animation: pulse-cyan 3s infinite ease-in-out;
}

/* Floating Animation for Ships/Cards */
@keyframes float-slow {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-12px) rotate(0.5deg);
  }
}

.float-anim {
  animation: float-slow 6s ease-in-out infinite;
}

/* Reveal Entrance Animation */
.fade-up-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.fade-up-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Radar Scan Rotation */
@keyframes radar-scan {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.radar-sweep {
  animation: radar-scan 8s linear infinite;
}

/* 3D Flip Card Animation */
.flip-card {
  perspective: 1000px;
  background-color: transparent;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: left;
  transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 8px;
  overflow: hidden;
}

.flip-card-back {
  transform: rotateY(180deg);
  background: var(--panel-bg);
  border: 1px solid var(--color-amber);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
