#global-loader-overlay {
  --loader-chip-size: 25px;
  --loader-wave-length: 355px;
  --loader-viewport-width: 185px;
  --loader-wave-height: calc(var(--loader-wave-length) * 66.7255 / 1054.04);
  --loader-stage-height: calc(var(--loader-chip-size) * 2.6);
  position: fixed;
  inset: 0;
  background: var(--background-loader-color);
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-viewport {
  position: relative;
  width: var(--loader-viewport-width);
  height: var(--loader-stage-height);
  overflow: hidden;
}

.loader-track {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  width: calc(var(--loader-wave-length) * 2);
  height: var(--loader-wave-height);
  will-change: transform;
}

.loader-wave {
  flex: 0 0 var(--loader-wave-length);
  width: var(--loader-wave-length);
  height: var(--loader-wave-height);
  display: block;
}

.loader-chip {
  position: absolute;
  left: 0;
  top: -7px;
  z-index: 1;
  width: var(--loader-chip-size);
  height: var(--loader-chip-size);
  pointer-events: none;
  will-change: transform;
}

.loader-path-source {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .loader-track,
  .loader-chip {
    animation: none !important;
  }
}
