.q-spinner {
  position: relative;
  display: inline-block;
  aspect-ratio: 1;
  flex-shrink: 0;
  color: var(--q-spinner-color, #8f8f8f);
  vertical-align: middle;
}
.q-spinner__spoke {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  transform-origin: center;
  border-radius: 999px;
  background: currentColor;
  animation: q-spinner-opacity 1200ms linear infinite;
}
@keyframes q-spinner-opacity {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.15;
  }
}
