/* ==========================================================================
   RELIC INTERFACE SYSTEM — MICRO-UI & TELEMETRY ANIMATIONS
   Zero-reflow, hardware-accelerated tactical micro-motion.
   ========================================================================== */

@keyframes ris-micro-spin-kf {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes ris-square-blink {
  0%, 49.9% { opacity: 1; }
  50%, 100% { opacity: 0.25; }
}

@keyframes ris-scan-pulse {
  0% { opacity: 0.4; transform: scaleY(0.96); }
  50% { opacity: 1; transform: scaleY(1); }
  100% { opacity: 0.4; transform: scaleY(0.96); }
}

@keyframes ris-node-beacon {
  0% { transform: scale(1); opacity: 0.9; }
  70% { transform: scale(2.5); opacity: 0; }
  100% { transform: scale(1); opacity: 0; }
}

.ris-micro-spin {
  transform-box: view-box;
  transform-origin: 50% 50%;
  animation: ris-micro-spin-kf 4s linear infinite;
}

.ris-micro-pulse,
.ris-micro-blink {
  animation: ris-square-blink 1.2s step-end infinite;
}

.ris-micro-scan {
  transform-origin: bottom;
  animation: ris-scan-pulse 1.8s ease-in-out infinite;
}

.ris-micro-beacon {
  transform-box: fill-box;
  transform-origin: center;
  animation: ris-node-beacon 2s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

/* ==========================================================================
   OPTICAL WAVEGUIDE & EYEWEAR HUD CLASSES
   Zero-reflow optical contrast profiles for MicroLED / see-through AR
   ========================================================================== */

.ris-eyewear-glass {
  background: transparent !important;
  color: var(--ris-accent);
}

.ris-eyewear-profile-phosphor {
  --ris-eyewear-accent: #2fe48a;
  --ris-eyewear-dim: rgba(47, 228, 138, 0.25);
  color: #2fe48a;
}

.ris-eyewear-profile-amber {
  --ris-eyewear-accent: #e6a23c;
  --ris-eyewear-dim: rgba(230, 162, 60, 0.25);
  color: #e6a23c;
}

.ris-eyewear-profile-cyan {
  --ris-eyewear-accent: #6fb3c9;
  --ris-eyewear-dim: rgba(111, 179, 201, 0.25);
  color: #6fb3c9;
}

.ris-eyewear-profile-alert {
  --ris-eyewear-accent: #ff2d3c;
  --ris-eyewear-dim: rgba(255, 45, 60, 0.25);
  color: #ff2d3c;
}

@keyframes ris-audio-listen {
  0%, 100% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.35); opacity: 1; }
}

.ris-micro-listen {
  transform-box: fill-box;
  transform-origin: center;
  animation: ris-audio-listen 1.2s ease-in-out infinite;
}

@keyframes ris-decay-line {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: 100; }
}

.ris-micro-decay {
  animation: ris-decay-line 4s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .ris-micro-spin,
  .ris-micro-pulse,
  .ris-micro-blink,
  .ris-micro-scan,
  .ris-micro-beacon,
  .ris-micro-listen,
  .ris-micro-decay {
    animation: none !important;
  }
}

[data-motion="static"] .ris-micro-spin,
[data-motion="static"] .ris-micro-pulse,
[data-motion="static"] .ris-micro-blink,
[data-motion="static"] .ris-micro-scan,
[data-motion="static"] .ris-micro-beacon,
[data-motion="static"] .ris-micro-listen,
[data-motion="static"] .ris-micro-decay {
  animation: none !important;
}


