/* Splash — animated SVG: hex outline + G mark (transparent background) */

.loading-splash-wrap {
  width: 120px;
  height: 120px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .loading-splash-wrap { width: 140px; height: 140px; }
}

.gfy-splash-svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 0 0 rgba(232, 244, 255, 0));
}

.gfy-splash-svg .splash-stroke {
  fill: none;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  vector-effect: non-scaling-stroke;
}

.gfy-splash-svg .splash-g-arrow {
  opacity: 0;
  transform: translateY(8px);
  transform-box: fill-box;
  transform-origin: center;
}

@keyframes splash-draw-ccw {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}

@keyframes splash-draw-ltr {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}

@keyframes splash-arrow-up {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes splash-glow-pulse {
  0% { filter: drop-shadow(0 0 0 rgba(232, 244, 255, 0)); transform: scale(1); }
  50% { filter: drop-shadow(0 0 18px rgba(232, 244, 255, 0.65)); transform: scale(1.05); }
  100% { filter: drop-shadow(0 0 10px rgba(232, 244, 255, 0.45)); transform: scale(1); }
}

@keyframes splash-screen-fade {
  from { opacity: 1; }
  to { opacity: 0; }
}

#loading-screen.splash-animate .splash-hex-outer {
  animation: splash-draw-ccw 0.6s ease forwards;
}

#loading-screen.splash-animate .splash-hex-inner {
  animation: splash-draw-ccw 0.5s ease forwards;
  animation-delay: 0.3s;
}

#loading-screen.splash-animate .splash-g-body {
  animation: splash-draw-ccw 0.6s ease forwards;
  animation-delay: 0.8s;
}

#loading-screen.splash-animate .splash-g-bar {
  animation: splash-draw-ltr 0.3s ease forwards;
  animation-delay: 1.4s;
}

#loading-screen.splash-animate .splash-g-arrow {
  animation: splash-arrow-up 0.3s ease forwards;
  animation-delay: 1.7s;
}

#loading-screen.splash-animate.splash-glow .gfy-splash-svg {
  animation: splash-glow-pulse 0.2s ease forwards;
}

#loading-screen.splash-animate.splash-exiting {
  animation: splash-screen-fade 0.3s ease forwards;
  pointer-events: none;
}

#loading-screen.splash-skip .gfy-splash-svg .splash-stroke {
  stroke-dashoffset: 0;
}

#loading-screen.splash-skip .gfy-splash-svg .splash-g-arrow {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  #loading-screen.splash-animate .splash-stroke {
    animation: none !important;
    stroke-dashoffset: 0 !important;
  }

  #loading-screen.splash-animate .splash-g-arrow {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #loading-screen.splash-animate.splash-glow .gfy-splash-svg,
  #loading-screen.splash-animate.splash-exiting {
    animation: none !important;
  }
}
