/* Wave AT.347 W5.6 -- pre-mount loading shell for template-studio.
 * Extracted from inline <style> block to drop 'unsafe-inline'
 * from the edge CSP style-src-elem directive (Caddy
 * csp_spa_strict). Cached + served by Vite from /public.
 */
:root { color-scheme: light dark; }
html, body { margin: 0; min-height: 100vh; background: #faf8ff; color: #2a1a4a; font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif; }
@media (prefers-color-scheme: dark) { html, body { background: #100a22; color: #ecdfff; } }
.ttq-bootstrap { display: grid; place-items: center; min-height: 100vh; gap: 1.25rem; }
.ttq-bootstrap-wm { display: flex; align-items: baseline; gap: 0.4rem; font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; }
.ttq-bootstrap-wm strong { color: #5B2EE6; font-weight: 700; }
.ttq-bootstrap-wm span { font-size: 0.75rem; color: #6b5b8e; text-transform: uppercase; letter-spacing: 0.18em; }
.ttq-bootstrap-dot { width: 0.5rem; height: 0.5rem; border-radius: 999px; background: #5B2EE6; box-shadow: 0 0 0 4px rgba(91,46,230,0.18); animation: ttq-pulse 1.4s ease-in-out infinite; }
@keyframes ttq-pulse { 0%, 100% { opacity: 0.35; transform: scale(0.85); } 50% { opacity: 1; transform: scale(1.05); } }
.ttq-bootstrap-msg { font-size: 0.875rem; color: #6b5b8e; }
