html.msjack-clown-cursor-active,
html.msjack-clown-cursor-active body,
html.msjack-clown-cursor-active *,
html.msjack-clown-cursor-active iframe,
html.msjack-clown-cursor-active embed,
html.msjack-clown-cursor-active object {
	cursor: none !important;
}

.msjack-clown-cursor-layer,
.msjack-clown-cursor-sparkle {
	--msjack-clown-glow: #ffd54a;
	--msjack-clown-shadow: #0c142e;
	position: fixed;
	left: 0;
	top: 0;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	will-change: transform, opacity;
}

.msjack-clown-cursor-layer {
	z-index: 2147483647;
	filter: drop-shadow(0 4px 10px var(--msjack-clown-shadow));
	transform: translate3d(-999px, -999px, 0);
	transform-origin: top left;
	transition: transform 45ms linear;
}

.msjack-clown-cursor-layer.is-clicking {
	animation: msjack-clown-cursor-click 180ms ease-out;
}

.msjack-clown-cursor-sparkle {
	z-index: 2147483646;
	animation: msjack-clown-cursor-fade 900ms ease-out forwards;
	filter: drop-shadow(0 3px 8px var(--msjack-clown-glow));
}

@keyframes msjack-clown-cursor-fade {
	0% {
		opacity: 0.95;
	}

	70% {
		opacity: 0.7;
	}

	100% {
		opacity: 0;
	}
}

@keyframes msjack-clown-cursor-click {
	0% {
	}

	35% {
		transform: var(--msjack-clown-cursor-transform) rotate(14deg) scale(0.97);
	}

	100% {
		transform: var(--msjack-clown-cursor-transform) rotate(0deg) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.msjack-clown-cursor-layer.is-clicking,
	.msjack-clown-cursor-sparkle {
		animation: none;
	}

	.msjack-clown-cursor-sparkle {
		display: none;
	}
}
