/* AI Factory animated splash screen */
.ai-splash {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #ffffff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: ai-splash-out 0.8s ease 9.2s forwards;
}

.ai-splash__bg {
  position: absolute;
  inset: 0;
  background: #ffffff;
}

.ai-splash__particles {
  display: none;
}

.ai-splash__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  animation: ai-splash-in 1.2s cubic-bezier(.22,1,.36,1);
}

.ai-splash__logo {
  width: min(30vw, 200px);
  height: auto;
  animation: ai-splash-float 4s ease-in-out infinite;
}

.ai-splash__bar {
  width: min(55vw, 360px);
  height: 4px;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  overflow: hidden;
}

.ai-splash__bar-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #c41e3a, #8b0000);
  border-radius: 999px;
  animation: ai-splash-fill 9s ease-out forwards;
}

.ai-splash__tag {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
  animation: ai-splash-blink 1.6s ease-in-out infinite;
}

/* ---------- keyframes ---------- */
@keyframes ai-splash-in {
  from { opacity: 0; transform: scale(0.85); filter: blur(8px); }
  to   { opacity: 1; transform: scale(1);    filter: blur(0); }
}

@keyframes ai-splash-out {
  to { opacity: 0; visibility: hidden; transform: scale(1.05); }
}

@keyframes ai-splash-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

@keyframes ai-splash-glow {
  from { filter: drop-shadow(0 0 18px rgba(255, 80, 200, 0.5)) drop-shadow(0 0 40px rgba(0, 180, 255, 0.35)); }
  to   { filter: drop-shadow(0 0 36px rgba(255, 120, 220, 0.85)) drop-shadow(0 0 80px rgba(0, 220, 255, 0.6)); }
}

@keyframes ai-splash-pulse {
  from { transform: scale(1)   rotate(0deg); opacity: .8; }
  to   { transform: scale(1.1) rotate(8deg); opacity: 1; }
}

@keyframes ai-splash-drift {
  from { background-position: 0 0; }
  to   { background-position: 600px 600px; }
}

@keyframes ai-splash-fill {
  to { width: 100%; }
}

@keyframes ai-splash-blink {
  0%, 100% { opacity: 0.45; }
  50%      { opacity: 1; }
}

/* Hide once the fade-out finishes so it never blocks clicks */
.ai-splash.ai-splash--gone {
  display: none !important;
}
