/* Boot-time rules — everything that must paint BEFORE the bundled index.css arrives.

   Linked render-blocking from index.html. These used to be two inline <style> blocks, and that
   broke the Content-Security-Policy: at build time Tauri stamps a nonce on every inline <style>
   in a served page (tauri-utils html.rs `inject_nonce_token`) and at serve time adds that nonce
   to style-src (tauri manager/mod.rs `replace_csp_nonce`); a nonce in a source list makes the
   browser IGNORE 'unsafe-inline'. The grant was silently void (B-CONV-1fda78, measured
   2026-09-25). A stylesheet from 'self' gives Tauri nothing to stamp, so style-src passes through
   untouched.

   Colours are literal on purpose: this file paints before index.css, where the --sock-* palette
   is declared, so no palette variable can resolve here. It lives in public/, outside the
   design-system guard's src/ walk, for the same reason. */

/* The boot background, dark on the desktop app before the bundle loads: no white flash on
   launch. Keyed on the `dark` class index.html's inline script adds. */
html.dark, html.dark body { background-color: hsl(0 0% 5%); } /* sock-allow: paints before the palette stylesheet exists */

/* The boot splash (#boot-splash in index.html; React replaces it on first commit). */
@keyframes bootspin { to { transform: rotate(360deg) } }
/* The light theme is set on <html> by the inline script, before this paints. */
html.light #boot-splash > div:last-of-type { color: rgba(0, 0, 0, 0.45) } /* sock-allow: paints before the palette stylesheet exists */
@media (prefers-reduced-motion: reduce) {
  #boot-splash > div:first-child { animation: none }
}
