/* Styles for the cold-start boot loader in app.html. Kept as an external stylesheet rather than an
   inline <style> block so that the Content-Security-Policy needs no 'unsafe-inline' in style-src. */
#app-boot-loader {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #f9fafb;
	opacity: 1;
	transition: opacity 200ms ease-in;
}
#app-boot-loader.app-boot-loader--hidden {
	opacity: 0;
}
#app-boot-loader .app-boot-loader__logo {
	width: 4rem;
	height: 4rem;
}
/* Mirrors the "infinity" variant of the design system's Loader, inlined because the boot
	   loader has to paint before any bundle is fetched. */
#app-boot-loader .app-boot-loader__spinner {
	margin-top: 1.5rem;
	width: 6rem;
	height: 6rem;
	color: oklch(63% 0.14 238);
}
#app-boot-loader .app-boot-loader__spinner-path {
	transform: scale(0.8);
	transform-origin: 50px 50px;
	animation: app-boot-loader-dash 2s linear infinite;
}
#app-boot-loader .app-boot-loader__label {
	margin-top: 1rem;
	color: #586d7e;
	font-size: 0.833rem;
	font-family:
		Figtree,
		-apple-system,
		BlinkMacSystemFont,
		'Segoe UI',
		Helvetica,
		Arial,
		sans-serif;
}
@keyframes app-boot-loader-dash {
	to {
		stroke-dashoffset: 256.58892822265625;
	}
}
/* scripts/theme.js sets the class before the first paint, so it also covers the OS
	   preference while still honouring an explicit light choice on a dark-mode OS. */
html.dark #app-boot-loader {
	background: #111827;
}
html.dark #app-boot-loader .app-boot-loader__spinner {
	color: oklch(77% 0.095 243);
}
html.dark #app-boot-loader .app-boot-loader__label {
	color: #9ca3af;
}
@media (prefers-reduced-motion: reduce) {
	#app-boot-loader .app-boot-loader__spinner-path {
		animation: none;
	}
}
