/* Shared decorative Earth scene. Page styles set its placement and visibility. */
.space-scene { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: #03060d; }
.stars { position: absolute; inset: 0; }
.star { position: absolute; border-radius: 50%; background: #d9eaff; box-shadow: 0 0 5px #9ecbff55; }
.space-nebula { position: absolute; inset: 0; background: radial-gradient(ellipse at 78% 52%, #12325155, transparent 58%), radial-gradient(ellipse at 10% 95%, #12213f44, transparent 55%); }
.earth-stage { position: absolute; width: min(64vw, 840px); aspect-ratio: 1; top: 50%; left: 72%; transform: translate(-50%, -50%); will-change: transform, opacity; }
#earthCanvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity .6s; }
.earth-stage.ready #earthCanvas { opacity: 1; }
.earth-stage.ready .earth-fallback { opacity: 0; }
.earth-halo { position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle, transparent 57%, #388fe014 67%, #6ac1ff17 69%, transparent 74%); filter: blur(10px); }
.earth-fallback { position: absolute; inset: 15%; border-radius: 50%; background: url('/images/earth-day.jpg') repeat-x; background-size: auto 100%; box-shadow: inset -60px -16px 80px 20px #000d, inset 10px 0 25px #97d3ff88, 0 0 32px #4499e84d; transition: opacity .6s; }
.orbit { position: absolute; inset: 4%; border: 1px solid #9bcaff1c; border-radius: 50%; transform: rotate(-28deg) scaleY(.36); }
.orbit::after { content: ''; position: absolute; top: 50%; right: -3px; width: 5px; height: 5px; border-radius: 50%; background: #8bc9ff; box-shadow: 0 0 12px #8bc9ff; }
.orbit-two { inset: -2%; transform: rotate(34deg) scaleY(.64); opacity: .45; }
