/* Shared by the pre-JS shell and React route fallback. No fake progress or delay. */
.route-loading.route-loading--brand {
  --boot-accent: #c3adff;
  --boot-muted: #afaac0;
  min-height: 100svh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 22px;
  padding: 32px;
  box-sizing: border-box;
  color: #f1effa;
  background: radial-gradient(ellipse at 50% 45%, #281c422e, transparent 48%), #080a0e;
  font-family: 'Manrope', Arial, sans-serif;
  text-align: center;
}
.route-loading--brand[data-product='tracker'] { --boot-accent: #91d9ff; }
.route-loading__orbit { position: relative; display: block; width: 76px; height: 76px; color: var(--boot-accent); }
.route-loading__orbit::before { content: ''; position: absolute; inset: 17px; border: 1px solid currentColor; border-radius: 50%; background: #080a0e; box-shadow: 0 0 24px #a18ad822; }
.route-loading__orbit::after { content: ''; position: absolute; inset: 24px 0; border: 1px solid currentColor; border-radius: 50%; transform: rotate(-32deg); }
.route-loading__orbit > i { position: absolute; inset: 1px; border: 1px solid transparent; border-top-color: currentColor; border-radius: 50%; animation: boot-orbit 2.4s linear infinite; }
.route-loading__wordmark { font-size: 17px; font-weight: 800; letter-spacing: .035em; line-height: 1.4; }
.route-loading__copy { max-width: 32ch; margin: -10px 0 0; color: var(--boot-muted); font-size: 12px; line-height: 1.7; }
:root[data-theme='light'] .route-loading.route-loading--brand { --boot-accent: #7041b8; --boot-muted: #655b78; color: #202335; background: radial-gradient(ellipse at 50% 45%, #e8dff480, transparent 50%), #f5f6fa; }
:root[data-theme='light'] .route-loading--brand[data-product='tracker'] { --boot-accent: #12658c; }
:root[data-theme='light'] .route-loading__orbit::before { background: #f5f6fa; }
@keyframes boot-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .route-loading__orbit > i { animation: none; } }
