html,
body {
	height: 100%;
}

body {
	background: transparent;
}

.bd-header,
.bd-main,
.bd-content,
.bd-sidebar-primary,
.bd-sidebar-secondary,
.bd-footer,
.bd-container,
.bd-page-width {
	background: transparent;
}

/* Dark mode (default) */
:root {
	--lorenz-bg: #05070c;
	--lorenz-overlay: radial-gradient(circle at 20% 20%, rgba(5, 10, 24, 0.2), rgba(5, 7, 12, 0.85));
	--lorenz-video-opacity: 0.55;
}

/* Light mode: system preference */
@media (prefers-color-scheme: light) {
	:root {
		--lorenz-bg: #eef1f7;
		--lorenz-overlay: radial-gradient(circle at 20% 20%, rgba(238, 237, 237, 0.7), rgba(238, 241, 247, 0.80));
		--lorenz-video-opacity: 0.65;
	}
}

/* Light mode: pydata-sphinx-theme toggle */
html[data-theme="light"] {
	--lorenz-bg: #eef1f7;
	--lorenz-overlay: radial-gradient(circle at 20% 20%, rgba(238, 237, 237, 0.7), rgba(238, 247, 247, 0.80));
	--lorenz-video-opacity: 0.65;
}

/* Dark mode: pydata-sphinx-theme toggle (override any system light preference) */
html[data-theme="dark"] {
	--lorenz-bg: #05070c;
	--lorenz-overlay: radial-gradient(circle at 20% 20%, rgba(5, 10, 24, 0.2), rgba(5, 7, 12, 0.85));
	--lorenz-video-opacity: 0.55;
}

#lorenz-bg {
	position: fixed;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	background: var(--lorenz-bg);
	pointer-events: none;
}

#lorenz-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--lorenz-overlay);
}

#lorenz-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 65%;
	transform: translateY(6vh);
	filter: saturate(115%) contrast(105%);
	opacity: var(--lorenz-video-opacity);
}

@media (prefers-reduced-motion: reduce) {
	#lorenz-video {
		display: none;
	}
}
