/* Shared Bright artwork motion. Pages set --bright to the avatar size. */
.bright {
  width: var(--bright, 46px);
  aspect-ratio: 1;
  animation: floaty 5.2s ease-in-out infinite;
}

.bright svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

@keyframes floaty {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2px);
  }
}

/* Ray pulse: phase-offset opacity breathing per star. */
.ray {
  animation: ray-pulse 6s ease-in-out infinite;
}
.ray-b {
  animation-duration: 7.4s;
  animation-delay: -2.2s;
}
.ray-c {
  animation-duration: 8.8s;
  animation-delay: -4.4s;
}
@keyframes ray-pulse {
  0%,
  100% {
    opacity: 0.85;
  }
  50% {
    opacity: 0.55;
  }
}

.eye {
  transition: transform 120ms ease-out;
  transform-box: fill-box;
  transform-origin: center;
}

@media (prefers-reduced-motion: reduce) {
  .bright,
  .bright .ray {
    animation: none;
  }
  .bright .eye {
    transition: none;
  }
}
