/* The first HTML paint and React session check share this two-ring animation. */
.boot.space-loading {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 22px;
  padding: 32px 24px;
  text-align: center;
  background:
    radial-gradient(ellipse at 48% 42%, #17334d66, transparent 45%),
    radial-gradient(ellipse at 75% 15%, #27345126, transparent 52%), #061322;
  color: #f0f7ff;
  font-family: "Manrope", system-ui, sans-serif;
}
.space-loading-art {
  flex: 0 0 auto;
  width: clamp(156px, 22vw, 196px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, #bdeaff10, transparent 65%);
  pointer-events: none;
}
.space-loading-art > svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.space-loading-track {
  stroke: #aacbe1;
  stroke-width: 0.7;
  opacity: 0.21;
}
.space-loading-track-inner {
  opacity: 0.12;
}
.space-loading-orbit {
  transform-origin: 100px 100px;
  animation: space-loading-orbit 4.8s linear infinite;
}
.space-loading-orbit-inner {
  transform: rotate(150deg);
  animation: space-loading-inner-orbit 7.2s linear infinite;
}
.space-loading-trail {
  stroke: #b3ddf6;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-dasharray: 14 86;
  stroke-dashoffset: 14;
  opacity: 0.8;
}
.space-loading-orbit-inner .space-loading-trail {
  stroke: #d3c8f0;
  stroke-width: 1;
  opacity: 0.55;
}
.space-loading-satellite-halo {
  fill: #bce4ff;
  opacity: 0.09;
}
.space-loading-satellite {
  fill: #f0f8ff;
}
.space-loading-fenyr {
  overflow: hidden;
}
.space-loading .space-loading-copy {
  max-width: 380px;
}
.space-loading .space-loading-title {
  margin: 0;
  color: inherit;
  font-family: "Manrope", system-ui, sans-serif;
  font-size: clamp(21px, 2vw, 26px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.035em;
}
.space-loading .space-loading-detail {
  margin: 10px 0 0;
  color: #aec5d8;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.01em;
}
.space-loading.space-loading-compact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 28px 16px;
  text-align: center;
  color: var(--ink, #18354b);
}
.space-loading-compact .space-loading-art {
  width: 88px;
  background: #0b1e30;
}
.space-loading-compact .space-loading-title {
  font-size: 17px;
}
.space-loading-compact .space-loading-detail {
  color: var(--muted, #526c80);
}
@keyframes space-loading-orbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes space-loading-inner-orbit {
  from {
    transform: rotate(150deg);
  }
  to {
    transform: rotate(-210deg);
  }
}
:root[data-motion="off"] .space-loading-art *,
[data-motion="off"] .space-loading-art * {
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  .space-loading-art * {
    animation: none;
  }
}
@media (forced-colors: active) {
  .space-loading-art {
    forced-color-adjust: none;
  }
}
