/* Theme switch animations (driven by theme.js) */

::view-transition-old(root),
::view-transition-new(root) {
	animation: none;
	mix-blend-mode: normal;
}

html.meternet-theme-transition::view-transition-old(root) {
	z-index: 1;
}

html.meternet-theme-transition::view-transition-new(root) {
	z-index: 2147483646;
}

/* Fallback crossfade when View Transitions API is unavailable */
html.meternet-theme-fading body {
	transition: opacity 0.32s ease;
}

html.meternet-theme-fading.meternet-theme-fading-out body {
	opacity: 0.55;
}

.meternet-theme-fade-overlay {
	position: fixed;
	inset: 0;
	z-index: 2147483645;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.32s ease;
	background: #001529;
}

.meternet-theme-fade-overlay.is-active {
	opacity: 0.42;
}

html[data-bs-theme="dark"] .meternet-theme-fade-overlay {
	background: #f4f8fb;
}

@media (prefers-reduced-motion: reduce) {
	::view-transition-old(root),
	::view-transition-new(root) {
		animation: none !important;
	}

	html.meternet-theme-fading body,
	.meternet-theme-fade-overlay {
		transition: none !important;
	}
}
