/* Launch splash: painted before the app bundle loads, faded out by src/splash.js. */
.splash {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: #f2f2f7;
  color: #000;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif;
  transition: opacity 0.35s ease;
  /* Fallback if the app never starts. */
  animation: splash-out 0.35s ease 10s forwards;
}

:root[data-theme='dark'] .splash {
  background: #000;
  color: #fff;
}

.splash-logo {
  width: 76px;
  height: 73px;
  filter: drop-shadow(0 8px 24px rgba(134, 59, 255, 0.45));
  animation:
    splash-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both,
    splash-charge 1.6s ease-in-out 0.55s infinite;
}

.splash-name {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  animation: splash-rise 0.5s ease 0.15s both;
}

.splash-hide {
  opacity: 0;
  pointer-events: none;
}

@keyframes splash-pop {
  from {
    opacity: 0;
    transform: scale(0.4) rotate(-12deg);
  }
}

@keyframes splash-charge {
  50% {
    transform: scale(1.06);
    filter: drop-shadow(0 8px 34px rgba(134, 59, 255, 0.75));
  }
}

@keyframes splash-rise {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}

@keyframes splash-out {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  .splash-logo,
  .splash-name {
    animation: none;
  }
}
