.u-shine {
  background: linear-gradient(100deg, var(--u-text-color-assist) 30%, var(--u-text-color-title) 50%, var(--u-text-color-assist) 70%);
  background-size: 200% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: u-shine var(--u-shine-duration, 2.4s) linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .u-shine {
    animation: none;
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}

@keyframes u-shine {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
