/* 囚人科技 V6 — 动画：克制、分层、可降级 */
@keyframes relicFloat {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-7px);
  }
}

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

@keyframes corePulse {
  from {
    opacity: .72;
    filter: brightness(.96);
  }
  to {
    opacity: 1;
    filter: brightness(1.12);
  }
}

@keyframes mistDrift {
  from {
    transform: translate3d(-1.5%, 1%, 0);
  }
  to {
    transform: translate3d(1.5%, -1.5%, 0);
  }
}

@keyframes dustDrift {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 140px -220px;
  }
}

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

@keyframes scrollPulse {
  0%, 100% {
    opacity: .55;
    transform: scaleY(.8);
    transform-origin: top;
  }
  50% {
    opacity: 1;
    transform: scaleY(1.1);
    transform-origin: top;
  }
}

/* 系统开启“减少动态”时，关闭非必要动画与视差 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

  .layer-env,
  .relic,
  .relic-unknown,
  .layer-atmos::before {
    transform: none !important;
    translate: none !important;
  }

  .env-media img,
  .fore-media,
  .scene.ready .env-media img,
  .scene.ready .fore-media {
    transform: scale(1.03) !important;
  }

  .light-follow {
    display: none;
  }
}
