/* nowaChat — Splash / açılış ekranı
   Tek instance overlay: emblem dramatik ama kısa giriş, yumuşak devir. */

.splash {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  background:
    radial-gradient(120% 100% at 50% 30%, rgba(139, 92, 246, 0.10), transparent 60%),
    var(--bg);
  /* İçerik akışını gizler → FOUC yok */
  transition: opacity 520ms var(--ease-out), transform 520ms var(--ease-out),
              filter 520ms var(--ease-out);
  will-change: opacity, transform, filter;
}

.splash.is-leaving {
  opacity: 0;
  transform: scale(1.04);
  filter: blur(8px);
  pointer-events: none;
}

.splash[hidden] { display: none; }

.splash-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  padding: 0 var(--space-4);
  text-align: center;
}

/* ---------- Emblem ---------- */

.splash .emblem {
  width: 108px;
  height: 108px;
  filter: drop-shadow(0 0 30px rgba(139, 92, 246, 0.45))
          drop-shadow(0 0 48px rgba(34, 211, 238, 0.25));
  animation:
    emblem-in 900ms var(--ease-out) both,
    emblem-glow 3.2s ease-in-out 900ms infinite;
}

@keyframes emblem-in {
  from { opacity: 0; transform: scale(0.82); filter: blur(10px)
         drop-shadow(0 0 30px rgba(139, 92, 246, 0.45)); }
  to   { opacity: 1; transform: scale(1); filter: blur(0)
         drop-shadow(0 0 30px rgba(139, 92, 246, 0.45))
         drop-shadow(0 0 48px rgba(34, 211, 238, 0.25)); }
}

@keyframes emblem-glow {
  0%, 100% { filter: drop-shadow(0 0 26px rgba(139, 92, 246, 0.38))
             drop-shadow(0 0 40px rgba(34, 211, 238, 0.20)); }
  50%      { filter: drop-shadow(0 0 40px rgba(217, 70, 239, 0.55))
             drop-shadow(0 0 60px rgba(34, 211, 238, 0.35)); }
}

/* ---------- Wordmark + slogan ---------- */

.splash .wordmark {
  font-size: clamp(2rem, 9vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  background: var(--gradient-brand);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 0;
  animation: rise-fade 640ms var(--ease-out) 380ms both;
}

.splash .tagline {
  color: var(--text-dim);
  font-size: 1rem;
  opacity: 0;
  animation: rise-fade 640ms var(--ease-out) 560ms both;
}

@keyframes rise-fade {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Yükleme shimmer bar ---------- */

.splash .loader {
  margin-top: var(--space-2);
  width: min(180px, 60vw);
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
  opacity: 0;
  animation: rise-fade 500ms var(--ease-out) 720ms both;
}

.splash .loader::before {
  content: "";
  display: block;
  height: 100%;
  width: 45%;
  border-radius: inherit;
  background: var(--gradient-brand);
  transform: translateX(-120%);
  animation: loader-sweep 1.15s var(--ease-out) 820ms infinite;
}

@keyframes loader-sweep {
  to { transform: translateX(320%); }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
  .splash { transition: opacity 200ms linear; }
  .splash.is-leaving { transform: none; filter: none; }
  .splash .emblem,
  .splash .wordmark,
  .splash .tagline,
  .splash .loader { animation: none; opacity: 1; transform: none; }
  .splash .emblem { filter: drop-shadow(0 0 26px rgba(139, 92, 246, 0.38)); }
  .splash .loader::before { animation: none; transform: translateX(0); width: 100%; }
}
