/**
 * OSF Oozing Cursor.
 * Adapted from Mouse Mode by Kelly Hoffman under GPL-2.0-or-later.
 */

html.osf-oozing-cursor-active,
html.osf-oozing-cursor-active body,
html.osf-oozing-cursor-active body * {
	cursor: none !important;
}

html.osf-oozing-cursor-active #wpadminbar,
html.osf-oozing-cursor-active #wpadminbar *,
html.osf-oozing-cursor-active iframe,
html.osf-oozing-cursor-active embed,
html.osf-oozing-cursor-active object {
	cursor: auto !important;
}

.osf-oozing-cursor-stage {
	position: fixed;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 2147483640;
}

.osf-oozing-cursor-defs {
	position: absolute;
}

.osf-oozing-cursor-goo {
	position: absolute;
	inset: 0;
	filter: url(#osf-oozing-cursor-goo);
	opacity: 0.75;
}

.osf-oozing-cursor-dot {
	position: absolute;
	top: 0;
	left: 0;
	background: var(--osf-color-optic-pink, #FF168D);
	border-radius: 50%;
	will-change: transform;
}

.osf-oozing-cursor-dot--main {
	animation: osf-oozing-cursor-wobble 2.6s ease-in-out infinite;
}

.osf-oozing-cursor-dot--second {
	animation: osf-oozing-cursor-wobble 3.4s ease-in-out infinite reverse;
}

@keyframes osf-oozing-cursor-wobble {
	0%,
	100% {
		border-radius: 48% 52% 50% 50% / 53% 47% 52% 48%;
	}
	25% {
		border-radius: 55% 45% 48% 52% / 47% 55% 45% 53%;
	}
	50% {
		border-radius: 46% 54% 55% 45% / 52% 46% 55% 45%;
	}
	75% {
		border-radius: 52% 48% 45% 55% / 48% 53% 46% 54%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.osf-oozing-cursor-dot--main,
	.osf-oozing-cursor-dot--second {
		animation: none;
	}
}
