body {
    overflow: hidden;
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
}

#stage {
    position: fixed;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    cursor: crosshair;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
}

#stage,
#stage * {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -webkit-touch-callout: none;
    -webkit-user-drag: none;
}

.burst-b {
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    line-height: 1;
    will-change: transform, opacity;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    animation: fly 1000ms linear forwards;
}

@keyframes fly {
    0% {
        opacity: 0;
        transform: translate3d(var(--x), var(--y), 0) scale(0.7) rotate(var(--rot));
    }

    12% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(var(--x) + var(--dx)), calc(var(--y) + var(--dy)), 0)
            scale(var(--scale)) rotate(calc(var(--rot) + var(--spin)));
    }
}
