#icon-fall{
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 999999;
}

.ic{
  position: absolute;
  top: -90px;
  left: 0;
  width: var(--s);
  height: var(--s);
  transform: translate3d(var(--x), -110px, 0);
  will-change: transform;
  animation: fall var(--t) linear forwards;
}

.ic::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background: radial-gradient(circle,
    rgba(255,215,120,0.55) 0%,
    rgba(255,215,120,0.25) 45%,
    rgba(255,215,120,0.0) 75%);
  filter: blur(8px);
  z-index: 0;
}

.ic::after{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--img);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  z-index: 1;
}

@keyframes fall{
  to{
    transform: translate3d(calc(var(--x) + var(--drift)), calc(100vh + 140px), 0);
  }
}

@media (prefers-reduced-motion: reduce){
  .ic{
    animation: none !important;
  }
}