/*
 * EL FOGONAZO — la mitad de estilo. Antes vivía en un `<style>` dentro de
 * `index.html`; desde FB-0107 es una hoja enlazada, porque una CSP con
 * `style-src 'self'` y sin excepciones no admite estilos en línea (ADR 0055 §3).
 *
 * **Sigue sin haber fogonazo**, y no por suerte: una hoja enlazada en la
 * cabecera BLOQUEA el primer pintado igual que el `<style>` que sustituye. Lo
 * que no se podía hacer era diferirla.
 *
 * Va aquí y no en `theme.ts` porque aquí es el único sitio donde llega a
 * tiempo: `/src/main.tsx` es un módulo, o sea DIFERIDO, y se ejecuta cuando el
 * documento ya está parseado. Entre medias hay una ventana —29 ms medidos en
 * dev, más con caché fría— en la que la página existe sin la hoja de tokens, y
 * en oscuro eso es un destello blanco en cada carga.
 *
 * ⚠️ El coste es real y está atado, no aceptado a la ligera: los dos
 * hexadecimales de abajo son los ÚNICOS colores del frontend fuera de
 * `theme.ts`, y son `light.shell` y `dark.shell`. **La guarda 7 de
 * `scripts/guardas.sh` los lee de este fichero** y de `theme.ts`, y falla si
 * dejan de coincidir. Una copia comprobada no es una segunda fuente: es una
 * derivación con gate.
 *
 * Si tocas estos valores, tócalos en `theme.ts` y trae el cambio aquí.
 */

:root { color-scheme: light }
html { background: #F6F6F6 }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="serious"]) { color-scheme: dark }
  html:not([data-theme="light"]):not([data-theme="serious"]) { background: #0E0E0E }
}

html[data-theme="dark"] { background: #0E0E0E; color-scheme: dark }

/* Serio es un modo CLARO (FB-0077), y por eso los dos `:not` de arriba: sin
   ellos, quien lo elige con el sistema operativo en oscuro vería un fogonazo
   negro antes de que llegue la hoja de tokens — que es justo lo que este
   fichero existe para impedir. No añade un tercer color aquí: `shell` vale lo
   mismo en claro y en serio, así que la guarda 7 sigue comparando exactamente
   dos. */
