@layer components {
  .sparkle {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    animation: explode 1s ease-out forwards;
  }

  @keyframes explode {
    0% {
      transform: translate(0, 0) scale(1);
      opacity: 1;
    }

    100% {
      transform: translate(var(--tx), var(--ty)) scale(0);
      opacity: 0;
    }
  }


  .icon {
    font-size: 4rem;
  }
}