/* Instant boot shell — visible until splash transforms are ready */
/* Deep Kenya palette: #04080F void, #00D68F electric green, #FFB800 gold */

/* Hide Hercules default UI until our layer has transformed the page */
html:not(.vp-splash-ready) #root {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.vp-splash-ready #root {
  visibility: visible !important;
  opacity: 1 !important;
  transition: opacity 0.35s ease;
}

#vp-boot-shell {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem 1.5rem;
  background:
    radial-gradient(ellipse 100% 60% at 50% -10%,
      rgba(0, 214, 143, 0.07) 0%,
      transparent 60%),
    linear-gradient(180deg, #04080F 0%, #060C15 50%, #04080F 100%);
  color: #F5F7FA;
  font-family: Inter, system-ui, sans-serif;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

#vp-boot-shell.vp-boot-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Kicker — gold, not green */
.vp-boot-kicker {
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #FFB800;
  margin: 0 0 1.25rem;
  font-weight: 700;
}

/* Boot headline — large and tight */
#vp-boot-shell h1 {
  font-size: clamp(1.85rem, 5.5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.0;
  letter-spacing: -0.028em;
  margin: 0 0 0.85rem;
  color: #F5F7FA;
  max-width: 16ch;
}

#vp-boot-shell p {
  margin: 0;
  color: rgba(245, 247, 250, 0.38);
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}

/* Spinner — electric green */
.vp-boot-spinner {
  width: 1.75rem;
  height: 1.75rem;
  margin: 1.75rem auto 0;
  border: 1.5px solid rgba(0, 214, 143, 0.18);
  border-top-color: #00D68F;
  border-radius: 50%;
  animation: vp-boot-spin 0.75s linear infinite;
}

@keyframes vp-boot-spin {
  to { transform: rotate(360deg); }
}
