/* public/css/base.css — base tipográfica, foco y preferencias del sistema (D §8). */
@font-face { font-family: 'Public Sans'; src: url('../fonts/public-sans-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Public Sans'; src: url('../fonts/public-sans-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Public Sans'; src: url('../fonts/public-sans-latin-800-normal.woff2') format('woff2'); font-weight: 800; font-style: normal; font-display: swap; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; }
body { font-family: var(--letra); line-height: 1.5; background: var(--fondo); color: var(--texto); }
.cifra, table, time { font-variant-numeric: tabular-nums; }

:focus-visible {
  outline: 2px solid var(--foco);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--foco-halo);
}

@media (pointer: coarse) {
  button, .btn, .mini, a.sb-item, select, input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }
}

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

@media (forced-colors: active) {
  .btn, .mini, .chip, .carpeta, .card, input, select, textarea { border: 1px solid CanvasText; }
  .sb-item[aria-current="page"] { outline: 2px solid Highlight; }
  :focus-visible { outline-color: Highlight; box-shadow: none; }
}

.solo-impresion { display: none; }
.solo-lector {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
button, input, select, textarea { font-family: inherit; }
