/**
 * Styles du Splash Screen Initial - Whisp It
 * Transition fluide anti-flicker au chargement
 */

.app-splash-screen {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--bg-main, #0b0f19);
  color: var(--text-primary, #ffffff);
  padding: 24px;
  box-sizing: border-box;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.app-splash-screen.fade-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.splash-logo-squircle {
  width: 68px;
  height: 68px;
  border-radius: 17px;
  background: linear-gradient(145deg, #111827 0%, #030712 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  padding: 14px;
  box-sizing: border-box;
}

.splash-wave-icon {
  width: 100%;
  height: 100%;
  display: block;
}

.splash-wave-bar {
  transform-origin: center;
  animation: splashWaveHarmonic 1.6s ease-in-out infinite alternate;
}

.splash-wave-bar.bar-1 { animation-delay: 0.0s; }
.splash-wave-bar.bar-2 { animation-delay: 0.25s; }
.splash-wave-bar.bar-3 { animation-delay: 0.5s; }
.splash-wave-bar.bar-4 { animation-delay: 0.25s; }
.splash-wave-bar.bar-5 { animation-delay: 0.1s; }

.splash-title-text {
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 2px 0;
  color: var(--text-primary, #ffffff);
  text-align: center;
}

.splash-brand-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--primary-orange, #ff5524);
  margin-left: 2px;
  vertical-align: middle;
}

.splash-author-text {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary-orange, #ff5524);
  margin-bottom: 22px;
  text-align: center;
}

.splash-wave-equalizer {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 16px;
}

.splash-equalizer-pill {
  width: 3.5px;
  height: 6px;
  border-radius: 3px;
  background-color: rgba(255, 255, 255, 0.3);
  animation: splashPillScale 1.2s ease-in-out infinite alternate;
}

.splash-equalizer-pill:nth-child(1) { animation-delay: 0.0s; }
.splash-equalizer-pill:nth-child(2) { animation-delay: 0.2s; background-color: var(--primary-orange, #ff5524); }
.splash-equalizer-pill:nth-child(3) { animation-delay: 0.4s; }

@keyframes splashWaveHarmonic {
  0% { transform: scaleY(0.75); opacity: 0.7; }
  100% { transform: scaleY(1.15); opacity: 1; }
}

@keyframes splashPillScale {
  0% { height: 4px; opacity: 0.35; }
  100% { height: 14px; opacity: 0.95; }
}
