body {
  margin: 0;
  background: #090d13;
}
.world-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 32px 16px;
  color: #adc5e4;
  font: 12px/1.5 'DM Sans', Arial, sans-serif;
}
.world-loader > span { color: #99a6b7; }
.world-loader-icon {
  flex-shrink: 0;
  overflow: visible;
  color: #adc5e4;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
}
.world-loader-rim { opacity: .75; }
.world-loader-latitude { opacity: .35; }
.world-loader-meridian {
  opacity: .6;
  transform-origin: 32px 32px;
  animation: human-meridian 2.8s ease-in-out infinite;
}
.world-loader-orbit {
  transform-origin: 32px 32px;
  animation: human-orbit 2.8s linear infinite;
}
.world-loader-orbit path { opacity: .35; }
.world-loader--boot {
  min-height: 100vh;
  min-height: 100svh;
  box-sizing: border-box;
  background: #090d13;
  flex-direction: column;
  gap: 24px;
}
.world-loader--boot > span {
  font: 11px/1.5 'DM Mono', monospace;
  letter-spacing: .36em;
  padding-left: .36em;
  color: #d3dfee;
}
.world-loader--hero {
  position: absolute;
  inset: 0;
  flex-direction: column;
  pointer-events: none;
}
.world-loader--map { min-height: 320px; }
@keyframes human-orbit { to { transform: rotate(360deg); } }
@keyframes human-meridian {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(.12); }
}
@media (prefers-reduced-motion: reduce) {
  .world-loader-meridian, .world-loader-orbit { animation: none; }
}
