/* Pre-Vue splash loader — colors set by inline script */
#splash-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  contain: strict;
}
#splash-loader svg {
  width: min(200px, 50vw);
  height: auto;
  transform: translateZ(0);
}
#splash-loader .wave-group {
  animation: splash-rise 4s ease-in-out infinite alternate;
  will-change: transform;
  transform: translateZ(0);
}
#splash-loader .wave-path {
  animation: splash-wave 1.2s linear infinite;
  will-change: transform;
  transform: translateZ(0);
}
@keyframes splash-rise {
  from {
    transform: translateY(280px);
  }
  to {
    transform: translateY(-80px);
  }
}
@keyframes splash-wave {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-880px);
  }
}
@media (prefers-reduced-motion: reduce) {
  #splash-loader .wave-group,
  #splash-loader .wave-path {
    animation: none;
  }
  #splash-loader .wave-group {
    transform: translateY(-80px);
  }
}
