@layer kz-components {
  .liveIcon {
    display: inline-block;
    position: relative;
    width: 20px;
    height: 20px;
    margin-inline-start: 0.25rem;
    color: var(--color-green-500);
  }

  .liveIcon_base {
    opacity: 0.3;
    display: block;
  }

  .liveIcon_1,
  .liveIcon_2,
  .liveIcon_3 {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    overflow: hidden;
  }

  .liveIcon_1 {
    clip-path: circle(16%);
  }

  .liveIcon_2,
  .liveIcon_3 {
    animation-duration: 3s;
    animation-iteration-count: 3;
    animation-delay: 1s;
  }

  .liveIcon_2 {
    clip-path: circle(32%);
    animation-name: pulse-inner;
  }

  .liveIcon_3 {
    clip-path: circle(50%);
    animation-name: pulse-outer;
  }
}

@keyframes pulse-inner {
  0% {
    opacity: 0;
  }

  25% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  75% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

@keyframes pulse-outer {
  0% {
    opacity: 0;
  }

  25% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  75% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}
