style = html`
<style>
@keyframes in {
0% {
transform: translate(0 , calc(-1 * var(--offset))) scale(0);
}
100% {
transform: translate(0, 0) scale(1);
}
}
@keyframes out {
0% {
transform: translate(0, 0) scale(1);
}
100% {
transform: translate(0 , calc(var(--offset))) scale(0);
}
}
svg {
--duration: 1000ms;
--delay-factor: 0.5;
}
g {
transform-origin: center;
}
.result circle {
mix-blend-mode: darken;
transform-origin: var(--x) var(--y);
}
.in > circle {
--easing: cubic-bezier(0, 0, 0, 1);
--delay: calc(var(--duration) * 0.75 + var(--random) * var(--duration) * var(--delay-factor));
animation: in var(--duration) var(--delay) var(--easing) both;
}
.out > circle {
--easing: cubic-bezier(1, 0, 1, 1);
--delay: calc(var(--random) * var(--duration) * var(--delay-factor));
animation: out var(--duration) var(--delay) var(--easing) both;
}
</style>
`