/* ============================================
   SPLASH SCREEN — Unified Dark Premium Design
   Same appearance on both light & dark theme
   ============================================ */

.splash-screen {
  position: fixed;
  inset: 0;
  z-index: 99999;
  /* Always dark — independent of user theme preference */
  background-color: #1A1210;
  background-image:
    radial-gradient(ellipse at 20% 60%, rgba(196, 163, 90, 0.08) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 30%, rgba(60, 21, 24, 0.6) 0%, transparent 55%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}

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

.splash-screen__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  position: relative;
  z-index: 1;
}

/* Logo — forced white so it's legible on dark bg in both themes */
.splash-screen__logo {
  width: 200px;
  max-width: 72vw;
  filter: brightness(0) invert(1);
  opacity: 0;
  transform: scale(0.88);
  animation: splashLogoReveal 0.9s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* Tagline text */
.splash-screen__text {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.1rem;
  font-weight: 400;
  font-style: italic;
  color: rgba(253, 248, 243, 0.7);
  letter-spacing: 0.12em;
  text-align: center;
  opacity: 0;
  transform: translateY(16px);
  animation: splashTextReveal 0.9s cubic-bezier(0.25, 1, 0.5, 1) 0.25s forwards;
}

/* Gold animated progress bar */
.splash-screen__loader {
  width: 120px;
  height: 2px;
  background: rgba(196, 163, 90, 0.18);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  opacity: 0;
  animation: splashFadeIn 0.4s ease forwards 0.65s;
  margin-top: 0.5rem;
}

.splash-screen__loader::after {
  content: '';
  position: absolute;
  top: 0;
  left: -60%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, #C4A35A, #DFBA73, #C4A35A, transparent);
  border-radius: 2px;
  animation: splashLoading 1.4s ease-in-out infinite;
}

/* ── Animations ── */
@keyframes splashLogoReveal {
  to { opacity: 1; transform: scale(1); }
}

@keyframes splashTextReveal {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes splashFadeIn {
  to { opacity: 1; }
}

@keyframes splashLoading {
  0%   { left: -60%; }
  100% { left: 110%; }
}

/* ── Floating gold particles ── */
.splash-particle {
  position: absolute;
  top: 120vh;
  border-radius: 50%;
  background: rgba(196, 163, 90, 0.45);
  pointer-events: none;
  animation: floatParticle 8s infinite linear;
  z-index: 0;
}

@keyframes floatParticle {
  0%   { transform: translate(0, 0) scale(0); opacity: 0; }
  10%  { opacity: 0.8; transform: translate(10px, -20vh) scale(1); }
  50%  { transform: translate(-15px, -70vh) scale(0.8); }
  90%  { opacity: 0.6; }
  100% { transform: translate(15px, -150vh) scale(0.5); opacity: 0; }
}