.splash-screen {
  position: fixed; inset: 0; z-index: var(--z-splash);
  background: #000;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}
.splash-screen.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.splash-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.04) 1px, transparent 0);
  background-size: 48px 48px;
}
.splash-logo-wrap { position: relative; margin-bottom: var(--sp5); }
.splash-logo {
  width: 96px; height: 96px; border-radius: var(--radius-xl);
  overflow: hidden;
}
.splash-logo img { width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.splash-glow {
  position: absolute; inset: -20px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
  animation: splashPulse 2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes splashPulse { 0%,100% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } }
.splash-title {
  font-family: 'Press Start 2P', monospace;
  font-size: clamp(1rem, 3vw, 1.5rem);
  color: var(--text);
  text-shadow: 0 0 20px rgba(255,255,255,0.2);
  margin-bottom: var(--sp2);
}
.splash-sub {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.6rem, 1.5vw, 0.75rem);
  color: var(--gray-400);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-bottom: var(--sp6);
}
.splash-track {
  width: 260px; height: 3px;
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  overflow: hidden;
}
.splash-fill {
  height: 100%; width: 0%;
  background: var(--text);
  border-radius: var(--radius-pill);
}
