/*
  Schumann Cosmos — clean backdrop shell (WebGL owns the scene)
*/

#world-solar-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: radial-gradient(ellipse 120% 90% at 50% 38%, #0a1830 0%, #050f1e 42%, #020610 100%);
}

#world-solar-bg canvas,
.wsb-gl-canvas {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

#world-solar-bg .wsb-vignette {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(ellipse 88% 72% at 50% 44%, transparent 22%, rgba(2, 6, 14, 0.55) 100%),
    linear-gradient(180deg, rgba(2, 8, 18, 0.42) 0%, transparent 18%, transparent 76%, rgba(2, 6, 14, 0.58) 100%);
}

#world-solar-bg .wsb-stars-fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.85;
  background-image:
    radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.55) 50%, transparent 50%),
    radial-gradient(1px 1px at 30% 65%, rgba(200,220,255,0.45) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 55% 35%, rgba(255,255,255,0.75) 50%, transparent 50%),
    radial-gradient(1px 1px at 72% 78%, rgba(255,240,210,0.5) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 88% 22%, rgba(180,220,255,0.65) 50%, transparent 50%);
  background-size: 280px 220px;
  animation: wsb-fallback-drift 120s linear infinite;
}

@keyframes wsb-fallback-drift {
  from { transform: translate(0, 0); }
  to { transform: translate(-280px, -140px); }
}

#world-solar-bg.wsb-live .wsb-stars-fallback,
#world-solar-bg.is-ready:not(.no-webgl) .wsb-stars-fallback {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease;
}

#world-solar-bg.no-webgl .wsb-stars-fallback {
  opacity: 1 !important;
  visibility: visible !important;
}

#world-solar-bg .wsb-fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: none;
  pointer-events: none;
  background:
    radial-gradient(circle at 68% 46%, rgba(56, 189, 248, 0.22) 0%, rgba(14, 116, 144, 0.08) 18%, transparent 42%),
    radial-gradient(circle at 68% 46%, rgba(34, 211, 238, 0.12) 0%, transparent 28%),
    radial-gradient(ellipse 140% 100% at 50% 40%, #0a1830 0%, #020610 100%);
}

#world-solar-bg.no-webgl .wsb-fallback {
  display: block;
}

#world-solar-bg.is-ready:not(.no-webgl) .wsb-fallback {
  display: none !important;
}

#world-solar-bg.no-webgl canvas {
  display: none !important;
}

#world-solar-bg.wsb-booting::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    radial-gradient(circle at 30% 45%, rgba(56, 189, 248, 0.06) 0%, transparent 35%),
    radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(2, 6, 14, 0.35) 100%);
  animation: wsb-boot-pulse 2.4s ease-in-out infinite;
}

@keyframes wsb-boot-pulse {
  0%, 100% { opacity: 0.45; }
  50% { opacity: 0.85; }
}

#world-solar-bg.is-ready.wsb-live::after,
#world-solar-bg.wsb-revealed::after {
  display: none;
}

.sr-site .site-wrapper {
  position: relative;
  z-index: 4;
  background: transparent !important;
}

body.sr-site .sr-scroll-cosmos-hint {
  position: fixed;
  left: 50%;
  bottom: max(6.25rem, calc(env(safe-area-inset-bottom, 0px) + 5.5rem));
  z-index: 9;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  pointer-events: none;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(186, 230, 253, 0.92);
  text-shadow: 0 0 24px rgba(56, 189, 248, 0.45), 0 2px 12px rgba(2, 8, 22, 0.85);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}

body.sr-site.sr-past-hero .sr-scroll-cosmos-hint {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, 12px);
}

body.sr-site .sr-scroll-cosmos-hint span {
  width: 1px;
  height: 2.6rem;
  background: linear-gradient(180deg, rgba(56, 189, 248, 0.9), transparent);
  animation: wsb-hint-pulse 2s ease-in-out infinite;
}

@keyframes wsb-hint-pulse {
  0%, 100% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(10px); opacity: 1; }
}

#globe-shell,
.cosmos-glow,
#earth-three-canvas,
#sr-solar-earth-canvas,
#earth-3d-container,
#wow-earth-canvas,
#cosmic-earth-canvas,
.wsb-earth-hero,
.wsb-stars-css,
.wsb-nebula,
.wsb-milky,
.wsb-meteor-css,
.wsb-earth-photo,
.sr-earth-heart {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
  #world-solar-bg.wsb-booting::after {
    animation: none;
  }

  #world-solar-bg.no-webgl .wsb-fallback {
    display: block !important;
  }
}

@media (max-width: 767px) {
  body.sr-site:not(.sr-past-hero) .sr-scroll-cosmos-hint {
    display: none !important;
  }

  #world-solar-bg .wsb-vignette {
    background:
      radial-gradient(ellipse 96% 80% at 50% 46%, transparent 18%, rgba(2, 6, 14, 0.62) 100%),
      linear-gradient(180deg, rgba(2, 8, 18, 0.48) 0%, transparent 14%, transparent 80%, rgba(2, 6, 14, 0.65) 100%);
  }

  body.sr-site .sr-scroll-cosmos-hint {
    bottom: max(5.5rem, calc(env(safe-area-inset-bottom, 0px) + 4.75rem));
    font-size: 0.62rem;
    letter-spacing: 0.14em;
  }
}
