/* preflight.css — el reset global de la app.

   🪦 Venía dentro de `static/css/style.css`, el bundle congelado de Tailwind + DaisyUI, en
   su `@layer base`. Al borrar el bundle (rebanada 3) se fue con él y volvieron los estilos
   por defecto del navegador: márgenes en los headings, viñetas en las listas, `padding` en
   los formularios. El gate visual lo cazó en 146 capturas con diferencias del 4 al 14%.

   Se conserva TAL CUAL, sin reinterpretarlo: es el preflight de Tailwind 4, un reset
   conocido y estable, y copiarlo verbatim es lo único que garantiza que no se mueva un
   píxel. Ahora es NUESTRO: editable, sin build, y sin 96 KB de utilidades muertas al lado.

   🔴 Va dentro de `@layer base` a propósito. En la cascada, lo que NO está en capa gana a
   lo que sí, así que un reset SIN capa ganaría a las utilidades (que van en
   `@layer utilities`) y dejaría muerto cualquier `mb-4` sobre un heading. La capa es lo
   que lo mantiene por debajo de todo lo demás.
   ⚠️ Los dos tokens de fuente que leía —`--default-font-family` y
   `--default-mono-font-family`— los definía el `@layer theme` del bundle y se fueron con
   él. Se resuelven a lo que valían de verdad, ni más ni menos:

     · sans → la pila GENÉRICA (`ui-sans-serif, system-ui, …`). El bundle la tenía en
       `--font-sans` y NO era IBM Plex: la fuente de marca la ponen `--ion-font-family` y
       `--font-body` sobre `body`, no aquí. Apuntar esto a IBM Plex "porque es la nuestra"
       mueve las métricas de todo lo que hereda de `html`, y el gate visual lo vio en 43
       capturas.
     · mono → `--font-mono`, que en el bundle acababa resolviendo a IBM Plex Mono (lo
       redefinía más abajo, y en CSS gana la última). Ese sí es el nuestro.

   Guardia: tests/unit/test_frozen_bundle_is_gone.py */

@layer base {
  *,:after,:before,::backdrop { box-sizing:border-box;border:0 solid;margin:0;padding:0 }
  ::file-selector-button { box-sizing:border-box;border:0 solid;margin:0;padding:0 }
  html,:host { -webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans-preflight,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent }
  hr { height:0;color:inherit;border-top-width:1px }
  abbr:where([title]) { -webkit-text-decoration:underline dotted;text-decoration:underline dotted }
  h1,h2,h3,h4,h5,h6 { font-size:inherit;font-weight:inherit }
  a { color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit }
  b,strong { font-weight:bolder }
  code,kbd,samp,pre { font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em }
  small { font-size:80% }
  sub,sup { vertical-align:baseline;font-size:75%;line-height:0;position:relative }
  sub { bottom:-.25em }
  sup { top:-.5em }
  table { text-indent:0;border-color:inherit;border-collapse:collapse }
  :-moz-focusring { outline:auto }
  progress { vertical-align:baseline }
  summary { display:list-item }
  ol,ul,menu { list-style:none }
  img,svg,video,canvas,audio,iframe,embed,object { vertical-align:middle;display:block }
  img,video { max-width:100%;height:auto }
  button,input,select,optgroup,textarea { font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0 }
  ::file-selector-button { font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0 }
  :where(select:is([multiple],[size])) optgroup { font-weight:bolder }
  :where(select:is([multiple],[size])) optgroup option { padding-inline-start:20px }
  ::file-selector-button { margin-inline-end:4px }
  ::placeholder { opacity:1 }
  ::placeholder { color:currentColor }
  ::placeholder { color:color-mix(in oklab, currentcolor 50%, transparent) }
  textarea { resize:vertical }
  ::-webkit-search-decoration { -webkit-appearance:none }
  ::-webkit-date-and-time-value { min-height:1lh;text-align:inherit }
  ::-webkit-datetime-edit { display:inline-flex }
  ::-webkit-datetime-edit-fields-wrapper { padding:0 }
  ::-webkit-datetime-edit { padding-block:0 }
  ::-webkit-datetime-edit-year-field { padding-block:0 }
  ::-webkit-datetime-edit-month-field { padding-block:0 }
  ::-webkit-datetime-edit-day-field { padding-block:0 }
  ::-webkit-datetime-edit-hour-field { padding-block:0 }
  ::-webkit-datetime-edit-minute-field { padding-block:0 }
  ::-webkit-datetime-edit-second-field { padding-block:0 }
  ::-webkit-datetime-edit-millisecond-field { padding-block:0 }
  ::-webkit-datetime-edit-meridiem-field { padding-block:0 }
  ::-webkit-calendar-picker-indicator { line-height:1 }
  :-moz-ui-invalid { box-shadow:none }
  button,input:where([type=button],[type=reset],[type=submit]) { appearance:button }
  ::file-selector-button { appearance:button }
  ::-webkit-inner-spin-button { height:auto }
  ::-webkit-outer-spin-button { height:auto }
  [hidden]:where(:not([hidden=until-found])) { display:none!important }
}
