/* Modernes Lade-Overlay für FOXY VERSE */

#foxy-loader-overlay {
  position: fixed;
  z-index: 9999;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #181c24;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity 0.7s cubic-bezier(.4,2,.6,1), visibility 0.7s;
  opacity: 1;
  visibility: visible;
}
#foxy-loader-overlay.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#foxyverse-stars {
  position: absolute;
  top: 0; left: 0; width: 100vw; height: 100vh;
  z-index: 0;
  display: block;
  pointer-events: none;
}
@keyframes loader-bg-move {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
.foxy-loader-logo {
  width: 130px;
  height: 130px;
  margin-bottom: 32px;
  filter: drop-shadow(0 0 24px #e94560cc);
  animation: loader-rotate 1.5s linear infinite;
}
@keyframes loader-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.foxy-loader-text {
  font-size: 2.7rem;
  letter-spacing: 0.09em;
  margin-bottom: 28px;
  font-family: 'Poppins', 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  display: flex;
  gap: 0.5rem;
  user-select: none;
}
.foxy-loader-text .foxy-orange span,
.foxy-loader-text .foxy-blue span {
  display: inline-block;
  background: linear-gradient(270deg, #ff7c2b, #ffb86c, #4a90ff, #ff7c2b);
  background-size: 400% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  animation: loader-gradient-move 3.5s linear infinite;
}
@keyframes loader-gradient-move {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
.foxy-loader-text .foxy-blue span {
  color: #4a90ff;
  text-shadow: none;
  display: inline-block;
}
}
.foxy-loader-text .foxy-orange span:nth-child(1) { animation-delay: 0s; }
.foxy-loader-text .foxy-orange span:nth-child(2) { animation-delay: 0.07s; }
.foxy-loader-text .foxy-orange span:nth-child(3) { animation-delay: 0.14s; }
.foxy-loader-text .foxy-orange span:nth-child(4) { animation-delay: 0.21s; }
.foxy-loader-text .foxy-blue span:nth-child(1) { animation-delay: 0.28s; }
.foxy-loader-text .foxy-blue span:nth-child(2) { animation-delay: 0.35s; }
.foxy-loader-text .foxy-blue span:nth-child(3) { animation-delay: 0.42s; }
.foxy-loader-text .foxy-blue span:nth-child(4) { animation-delay: 0.49s; }
.foxy-loader-text .foxy-blue span:nth-child(5) { animation-delay: 0.56s; }
@keyframes loader-wave {
  0%, 100% { transform: translateY(0); }
  20% { transform: translateY(-10px); }
  40% { transform: translateY(0); }
}
@keyframes loader-text-gradient {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
@keyframes loader-text-fade {
  0% { opacity: 1; letter-spacing: 0.08em; }
  100% { opacity: 0.7; letter-spacing: 0.18em; }
}
.foxy-loader-dots.modern {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  justify-content: center;
}
.foxy-loader-dots.modern span {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  opacity: 0.9;
  animation: loader-bounce 1.2s infinite both;
}
.foxy-loader-dots.modern span.foxy-orange {
  background: linear-gradient(135deg, #ff7c2b 60%, #ffb86c 100%);
}
.foxy-loader-dots.modern span.foxy-blue {
  background: #4a90ff;
}
.foxy-loader-dots.modern span:nth-child(2) { animation-delay: 0.2s; }
.foxy-loader-dots.modern span:nth-child(3) { animation-delay: 0.4s; }
@keyframes loader-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.9; }
  40% { transform: translateY(-16px); opacity: 1; }
}
.foxy-loader-text .foxy-orange span {
  color: #e94560;
  text-shadow: 0 2px 12px #e9456055;
}
.foxy-loader-text .foxy-blue span {
  color: #4a90ff;
  text-shadow: 0 2px 12px #4a90ff55;
}
