:root.voltan-loading,
:root.voltan-loading body {
  overflow: hidden;
}

:root.voltan-loader-skip #voltan-loader {
  display: none !important;
  animation: none !important;
}

#voltan-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 44%, rgba(36, 26, 93, .72), transparent 34%),
    linear-gradient(145deg, #020307 0%, #090d1b 55%, #151d3d 100%);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity .86s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear .86s;
  animation: voltanLoaderSafety 0s linear 10s forwards;
}

.voltan-loader__logo {
  width: clamp(86px, 10vw, 128px);
  height: auto;
  opacity: 0;
  transform: translateY(12px) scale(.82);
  filter: blur(6px) drop-shadow(0 0 10px rgba(94, 24, 235, .12));
  animation: voltanRoundelIn .72s cubic-bezier(.16, 1, .3, 1) .06s forwards;
  transition:
    opacity .32s ease,
    transform .48s cubic-bezier(.16, 1, .3, 1),
    filter .32s ease;
}

#voltan-loader.is-finishing .voltan-loader__logo {
  animation: voltanRoundelOut .72s cubic-bezier(.4, 0, .2, 1) forwards;
}

#voltan-loader.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@keyframes voltanRoundelIn {
  0% { opacity: 0; transform: translateY(12px) scale(.82); filter: blur(6px) drop-shadow(0 0 10px rgba(94, 24, 235, .12)); }
  72% { opacity: 1; transform: translateY(0) scale(1.04); filter: blur(0) drop-shadow(0 0 38px rgba(204, 107, 230, .34)); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0) drop-shadow(0 0 28px rgba(94, 24, 235, .36)); }
}

@keyframes voltanRoundelOut {
  from { opacity: 1; transform: scale(1); filter: blur(0) drop-shadow(0 0 28px rgba(94, 24, 235, .36)); }
  to { opacity: 0; transform: scale(1.07); filter: blur(3px) drop-shadow(0 0 42px rgba(204, 107, 230, .22)); }
}

@keyframes voltanLoaderSafety {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}

@media (prefers-reduced-motion: reduce) {
  #voltan-loader { transition-duration: .18s; }
  .voltan-loader__logo {
    opacity: 1;
    transform: none;
    filter: none;
    animation: none;
    transition-duration: .12s;
  }
  #voltan-loader.is-finishing .voltan-loader__logo { transform: none; }
}

