.root {
  position: relative;
}

.number {
  --digit-offset: 0;
  --digit-offset-x: calc(8rem * var(--digit-offset) * 0.75);

  pointer-events: none;

  position: absolute;
  z-index: 2;
  top: 50%;
  left: calc(10% + var(--digit-offset-x));
  transform: scale(0);
  offset-path: path('M 0 0 C 128 -46 99 -376 93 -529');
  offset-rotate: 0deg;

  width: 8rem;
  height: 8rem;

  animation:
    2.75s float 0.25s,
    2s show-up calc(var(--digit-offset) * 0.5s),
    1s dissapear 2s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;

  offset-anchor: center;
}

.shiftOrigin {
  transform-origin: left;
}

.effect {
  pointer-events: none;

  position: absolute;
  z-index: 1;
  top: calc(50% - 1rem);
  left: 10rem;
  transform: translate(-50%, -50%) scaleX(-1);

  width: 18rem;
  height: 18rem;
}

.giftIcon {
  margin-inline-end: -0.375rem;
}

@keyframes show-up {
  0% {
    transform: scale(0);
  }

  25% {
    transform: scale(50%);
  }

  100% {
    transform: scale(100%);
  }
}

@keyframes dissapear {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes float {
  from {
    offset-distance: 0%;
  }

  to {
    offset-distance: 100%;
  }
}
