/*
 * Avoid showing the theme's focus ring after ordinary pointer clicks.
 * Keep an accessible, on-brand indicator for keyboard navigation.
 */
a:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
	outline: none;
}

a:focus-visible,
input:focus-visible,
textarea:focus-visible,
button:focus-visible {
	outline: 2px solid #0b84d0;
	outline-offset: 2px;
}

/*
 * Respect the visitor's operating-system motion preference across the theme and
 * extension output. Tiny durations let state-change events finish without a
 * perceptible animation, which is safer than hiding animated UI outright.
 */
@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto !important;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0ms !important;
	}
}
