.index-html-spinner {
  position: absolute; 
  width: 100%; 
  height: 100%; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  z-index: -1
}

.index-html-spinner-pulse {
  /* Hardcoded fallback so the dots show immediately: --rasp is only defined in
     the app bundle, so before that CSS loads var(--rasp) resolved to nothing
     and the spinner was invisible. The live variable still wins once loaded. */
  background-color: var(--rasp, #ed1d58);
  width: 5px;
  height: 5px;
  margin: 2px;
  border-radius: 50%;
  display: inline-block;
  animation-name: v-pulseStretchDelay;
  animation-duration: 0.75s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(.2,.68,.18,1.08);
  animation-fill-mode: both;
}

.index-html-spinner-pulse1 {
  animation-delay: 0.12s
}

.index-html-spinner-pulse2 {
  animation-delay: 0.24s
}

.index-html-spinner-pulse3 {
  animation-delay: 0.36s
}

@-webkit-keyframes v-pulseStretchDelay
{
  0%,
  80%
  {
    -webkit-transform: scale(1);
      transform: scale(1);
    -webkit-opacity: 1;             
      opacity: 1;
  }
  45%
  {
      -webkit-transform: scale(0.1);
        transform: scale(0.1);
      -webkit-opacity: 0.7;             
        opacity: 0.7;
  }
}
@keyframes v-pulseStretchDelay
{
  0%,
  80%
  {
      -webkit-transform: scale(1);
        transform: scale(1);
      -webkit-opacity: 1;             
        opacity: 1;
  }
  45%
  {
      -webkit-transform: scale(0.1);
        transform: scale(0.1);
      -webkit-opacity: 0.7;             
        opacity: 0.7;
  }
}