.polaris-compass-loader {
  --ltsa-compass-ice: #fbfaf4;
  --ltsa-compass-steel: #8fb2c5;
  --ltsa-compass-gold: #d8a058;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  color: var(--ltsa-compass-ice);
  contain: layout paint;
}
.polaris-compass-loader__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  shape-rendering: geometricPrecision;
}

.polaris-compass-loader__outer-ring,
.polaris-compass-loader__main-ring,
.polaris-compass-loader__ticks,
.polaris-compass-loader__orbit-base,
.polaris-compass-loader__orbit-sweep {
  fill: none;
}

.polaris-compass-loader__outer-ring,
.polaris-compass-loader__main-ring,
.polaris-compass-loader__ticks,
.polaris-compass-loader__cardinal,
.polaris-compass-loader__needle {
  transform-box: view-box;
  transform-origin: center;
}

.polaris-compass-loader__star-field {
  color: var(--ltsa-compass-ice);
  opacity: 0;
}

.polaris-compass-loader__outer-ring {
  color: rgba(89, 145, 174, 0.4);
  stroke-width: 0.7;
  stroke-dasharray: 18 7 36 13 8 18;
  opacity: 0;
}

.polaris-compass-loader__main-ring {
  stroke: rgba(232, 241, 242, 0.38);
  stroke-width: 0.72;
  opacity: 0;
}

.polaris-compass-loader__ticks {
  color: rgba(235, 242, 240, 0.5);
  stroke-width: 1.3;
  stroke-dasharray: 0.8 9.2;
  stroke-linecap: round;
  opacity: 0;
}

.polaris-compass-loader__orbit-base {
  stroke: rgba(239, 244, 241, 0.34);
  stroke-width: 0.7;
  opacity: 0;
}

.polaris-compass-loader__orbit-sweep {
  stroke: var(--ltsa-compass-gold);
  stroke-width: 1.8;
  stroke-linecap: round;
  opacity: 0;
}

.polaris-compass-loader__cardinal {
  color: rgba(238, 243, 240, 0.7);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.16em;
  opacity: 0;
}

.polaris-compass-loader__needle {
  color: var(--ltsa-compass-ice);
  opacity: 0;
  backface-visibility: hidden;
}

.polaris-compass-loader__needle-light {
  fill: currentColor;
}

.polaris-compass-loader__needle-dark {
  fill: var(--ltsa-compass-steel);
  fill-opacity: 0.38;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__star-field,
.polaris-compass-loader.is-looping .polaris-compass-loader__star-field {
  opacity: 1;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__outer-ring {
  animation: polaris-compass-outer-once 1.08s 10ms linear both;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__orbit-base {
  animation: polaris-compass-orbit-base-once 1.08s 30ms linear both;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__orbit-sweep {
  animation: polaris-compass-orbit-sweep-once 940ms 60ms linear both;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__main-ring,
.polaris-compass-loader.is-playing .polaris-compass-loader__ticks {
  animation: polaris-compass-dial-once 1.06s 20ms cubic-bezier(0.2, 0.72, 0.2, 1) both;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__cardinal {
  animation: polaris-compass-cardinal-once 1.04s 20ms ease-out both;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__needle {
  animation:
    polaris-compass-needle-once 840ms 80ms cubic-bezier(0.2, 0.64, 0.2, 1) both,
    polaris-compass-needle-fade 180ms 900ms cubic-bezier(0.4, 0, 1, 1) both;
}

.polaris-compass-loader.is-looping .polaris-compass-loader__outer-ring,
.polaris-compass-loader.is-looping .polaris-compass-loader__main-ring,
.polaris-compass-loader.is-looping .polaris-compass-loader__ticks,
.polaris-compass-loader.is-looping .polaris-compass-loader__orbit-base,
.polaris-compass-loader.is-looping .polaris-compass-loader__cardinal,
.polaris-compass-loader.is-looping .polaris-compass-loader__needle {
  opacity: 1;
}

.polaris-compass-loader.is-looping .polaris-compass-loader__outer-ring {
  animation: none;
}

.polaris-compass-loader.is-looping .polaris-compass-loader__orbit-sweep {
  opacity: 1;
  animation: polaris-compass-orbit-sweep-loop 1.1s linear infinite;
}

.polaris-compass-loader.is-looping .polaris-compass-loader__needle {
  animation: polaris-compass-needle-loop 1.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.polaris-compass-loader.is-playing .polaris-compass-loader__outer-ring,
.polaris-compass-loader.is-playing .polaris-compass-loader__main-ring,
.polaris-compass-loader.is-playing .polaris-compass-loader__ticks,
.polaris-compass-loader.is-playing .polaris-compass-loader__orbit-base,
.polaris-compass-loader.is-playing .polaris-compass-loader__orbit-sweep,
.polaris-compass-loader.is-playing .polaris-compass-loader__cardinal,
.polaris-compass-loader.is-playing .polaris-compass-loader__needle,
.polaris-compass-loader.is-looping .polaris-compass-loader__orbit-sweep,
.polaris-compass-loader.is-looping .polaris-compass-loader__needle {
  will-change: transform, opacity, stroke-dashoffset;
}

.polaris-compass-loader.is-paused * {
  animation-play-state: paused !important;
}

@keyframes polaris-compass-outer-once {
  0% { opacity: 0; transform: scale(0.92); }
  24%, 76% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.01); }
}

@keyframes polaris-compass-orbit-base-once {
  0% { opacity: 0; }
  22%, 76% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes polaris-compass-orbit-sweep-once {
  0% { opacity: 0; stroke-dashoffset: 0; }
  16% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; stroke-dashoffset: 100; }
}

@keyframes polaris-compass-dial-once {
  0% { opacity: 0; transform: scale(0.78); }
  25%, 74% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.92); }
}

@keyframes polaris-compass-cardinal-once {
  0%, 10% { opacity: 0; }
  28%, 72% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes polaris-compass-needle-once {
  from { opacity: 1; transform: rotate(180deg); }
  to { opacity: 1; transform: rotate(0deg); }
}

@keyframes polaris-compass-needle-fade {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes polaris-compass-orbit-sweep-loop {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: 100; }
}

@keyframes polaris-compass-needle-loop {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .polaris-compass-loader.is-playing *,
  .polaris-compass-loader.is-looping * {
    animation: none !important;
    will-change: auto;
  }

  .polaris-compass-loader.is-playing .polaris-compass-loader__star-field,
  .polaris-compass-loader.is-playing .polaris-compass-loader__outer-ring,
  .polaris-compass-loader.is-playing .polaris-compass-loader__main-ring,
  .polaris-compass-loader.is-playing .polaris-compass-loader__ticks,
  .polaris-compass-loader.is-playing .polaris-compass-loader__orbit-base,
  .polaris-compass-loader.is-playing .polaris-compass-loader__cardinal,
  .polaris-compass-loader.is-playing .polaris-compass-loader__needle,
  .polaris-compass-loader.is-looping .polaris-compass-loader__star-field,
  .polaris-compass-loader.is-looping .polaris-compass-loader__outer-ring,
  .polaris-compass-loader.is-looping .polaris-compass-loader__main-ring,
  .polaris-compass-loader.is-looping .polaris-compass-loader__ticks,
  .polaris-compass-loader.is-looping .polaris-compass-loader__orbit-base,
  .polaris-compass-loader.is-looping .polaris-compass-loader__cardinal,
  .polaris-compass-loader.is-looping .polaris-compass-loader__needle {
    opacity: 1;
  }

  .polaris-compass-loader.is-playing .polaris-compass-loader__orbit-sweep,
  .polaris-compass-loader.is-looping .polaris-compass-loader__orbit-sweep {
    opacity: 0;
  }
}
