/* Base: reset, tipografía, foco y movimiento reducido. Usa los tokens de tokens.css. */

@layer base {
  * { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body {
    margin: 0; min-height: 100dvh;
    background: var(--bg); color: var(--ink);
    font: var(--t-body);
    font-feature-settings: "cv11", "ss01"; /* Inter: a de un piso y dígitos más legibles */
    -webkit-font-smoothing: antialiased;
  }
  button, input, select, textarea { font: inherit; color: inherit; }
  h1, h2, h3, h4, p { margin: 0; }

  /* Foco visible y consistente (WCAG 2.4.7 / 2.4.11) */
  :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

  ::selection { background: var(--brand-soft); color: var(--ink); }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
  }
}
