html, body { margin: 0; padding: 0; background: #F8FAFC; }

#native-splash {
  position: fixed; inset: 0; z-index: 9999;
  background: #F8FAFC;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  transition: opacity 0.6s ease-out;
  overflow: hidden;
}
#native-splash.hide { opacity: 0; pointer-events: none; }

#network-canvas {
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
}

#native-splash .scan-line {
  display: none;
}

#native-splash .content {
  position: relative; z-index: 4;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  opacity: 0;
  animation: ns-rise 0.6s cubic-bezier(0.16,1,0.3,1) forwards 0.2s;
}

#native-splash .logo-mark {
  display: flex; align-items: center; gap: 14px; justify-content: center;
}
#native-splash .logo-mark img {
  width: 48px; height: 48px; object-fit: contain; border-radius: 10px;
  filter: drop-shadow(0 0 6px rgba(28,42,57,0.15));
}
#native-splash .logo-mark span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 28px; font-weight: 800; color: #1C2A39;
  letter-spacing: 0.12em; text-transform: uppercase;
}

#native-splash .tagline {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  margin-top: 14px;
  margin-left: 62px;
  overflow: hidden;
  opacity: 0;
  animation: ns-rise 0.5s ease forwards 0.3s;
}
#native-splash .tagline .tg-part {
  display: inline-block;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
#native-splash .tagline .tg-part.show {
  opacity: 1;
  transform: translateY(0);
}
#native-splash .tagline .tg-1 {
  background: linear-gradient(90deg, #334155, #475569);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
#native-splash .tagline .tg-2 {
  background: linear-gradient(90deg, rgba(242,109,33,0.9), rgba(248,173,32,1));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
#native-splash .tagline .tg-3 {
  background: linear-gradient(90deg, rgba(0,255,136,0.9), rgba(100,255,180,1));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

#native-splash .progress-track {
  margin-top: 32px; width: 120px; height: 2px;
  background: rgba(242,109,33,0.06); border-radius: 2px; overflow: hidden;
  opacity: 0;
  animation: ns-slow-reveal 0.3s ease forwards 0.5s;
}
#native-splash .progress-bar {
  height: 100%; width: 0%; border-radius: 2px;
  background: linear-gradient(90deg, rgba(242,109,33,0.3), #F26D21, rgba(242,109,33,0.3));
  animation: ns-fill 1s cubic-bezier(0.4,0,0.2,1) forwards 0.5s;
}
#native-splash .status-text {
  margin-top: 10px; font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 8px; color: rgba(148,163,184,0.35);
  letter-spacing: 0.18em; text-transform: uppercase;
  opacity: 0;
  animation: ns-slow-reveal 0.3s ease forwards 0.6s;
}

@keyframes ns-slow-reveal { from { opacity:0; } to { opacity:1; } }
@keyframes ns-scan { 0% { top:20%; } 100% { top:80%; } } /* unused, kept for compat */
@keyframes ns-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes ns-fill { from { width:0%; } to { width:100%; } }
