@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.jmt-cursor-dot,
	.jmt-cursor-ring {
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 0;
		transform: translate3d(-50%, -50%, 0);
		z-index: 2147483647;
	}

	.jmt-cursor-dot {
		background: var(--jmt-cursor-primary, #7b3a62);
		border-radius: 999px;
		box-shadow: 0 0 18px rgba(var(--jmt-cursor-primary-rgb, 123, 58, 98), 0.34);
		height: var(--jmt-cursor-dot-size, 7px);
		transition: opacity 160ms ease, transform 180ms ease;
		width: var(--jmt-cursor-dot-size, 7px);
	}

	.jmt-cursor-ring {
		backdrop-filter: blur(1px);
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid rgba(var(--jmt-cursor-primary-rgb, 123, 58, 98), 0.72);
		border-radius: 999px;
		height: var(--jmt-cursor-ring-size, 34px);
		transition:
			background-color 220ms ease,
			border-color 220ms ease,
			height 220ms ease,
			opacity 160ms ease,
			width 220ms ease;
		width: var(--jmt-cursor-ring-size, 34px);
	}

	body.jmt-cursor-auto-contrast .jmt-cursor-dot,
	body.jmt-cursor-auto-contrast .jmt-cursor-ring {
		mix-blend-mode: difference;
	}

	body.jmt-cursor-auto-contrast .jmt-cursor-dot {
		background: #fff;
		box-shadow: none;
	}

	body.jmt-cursor-auto-contrast .jmt-cursor-ring {
		background: transparent;
		border-color: #fff;
	}

	html.jmt-cursor-visible .jmt-cursor-dot,
	html.jmt-cursor-visible .jmt-cursor-ring {
		opacity: 1;
	}

	html.jmt-cursor-hover .jmt-cursor-dot {
		transform: translate3d(-50%, -50%, 0) scale(0.55);
	}

	html.jmt-cursor-hover .jmt-cursor-ring {
		background: rgba(var(--jmt-cursor-accent-rgb, 200, 154, 167), 0.16);
		border-color: rgba(var(--jmt-cursor-accent-rgb, 200, 154, 167), 0.96);
		height: var(--jmt-cursor-hover-size, 62px);
		width: var(--jmt-cursor-hover-size, 62px);
	}

	html.jmt-cursor-hover body.jmt-cursor-auto-contrast .jmt-cursor-ring {
		background: rgba(255, 255, 255, 0.14);
		border-color: #fff;
	}

	html.jmt-cursor-pressed .jmt-cursor-dot {
		transform: translate3d(-50%, -50%, 0) scale(1.35);
	}

	html.jmt-cursor-pressed .jmt-cursor-ring {
		height: calc(var(--jmt-cursor-ring-size, 34px) * 0.7);
		width: calc(var(--jmt-cursor-ring-size, 34px) * 0.7);
	}
}
