/* initial-loading.css — critical tiny CSS for first paint */
#root { min-height: 100vh; }

/* The HTML boot loader is a fixed overlay so it can remain visible while React
	 mounts and lazy routes resolve (avoids a double-loader flicker). */
#initial-loading.initial-loading {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: var(--initial-bg, #f7f9fc);
}

html[data-app-ready="true"] #initial-loading {
	display: none;
}

.initial-loading { display:flex; align-items:center; justify-content:center; min-height:100vh; font-family: Roboto, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial; color: #192038; }
.initial-loading .spinner { width: 28px; height: 28px; border-radius: 50%; border: 3px solid rgba(0,0,0,0.08); border-top-color: rgba(0,0,0,0.35); animation: spin 1s linear infinite; margin-right: 12px; }

/* Dark mode: invert text + spinner so they're visible on dark backgrounds */
html.dark .initial-loading { color: #e4e9f2; }
html.dark .initial-loading .spinner { border-color: rgba(255,255,255,0.12); border-top-color: rgba(255,255,255,0.5); }
html.dark #initial-loading.initial-loading { background: var(--initial-bg, #151a30); }

@keyframes spin { to { transform: rotate(360deg); } }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.noscript-message { padding: 16px; text-align: center; }
