/* src/fonts/fonts.css — as fontes do painel, self-hosted (feature fundacao-visual,
 * FUND-01.4, AD-018). Substitui o <link> para fonts.googleapis.com. Sao as
 * fontes da v1 do painel: Manrope no corpo, Newsreader nos titulos e nos
 * numeros de destaque.
 *
 * Os .woff2 ao lado deste arquivo sao byte-identicos aos que fonts.gstatic.com
 * serve para Chrome/Edge/Firefox em Windows (subset "latin", css2 API com
 * User-Agent de Chrome moderno). Proveniencia e sha384 em
 * ../../tools/vendor-manifest.json.
 *
 *   Manrope     v20  OFL 1.1  eixo  wght 200..800                (24 KB)
 *   Newsreader  v26  OFL 1.1  eixos opsz 6..72 + wght 200..800    (129 KB)
 *                              (roman; o italico nao volta)
 *
 * TRES coisas nao podem ser mexidas sem mudar o desenho na tela:
 *
 * 1. font-weight "400 700". Nao e o range do eixo do arquivo (200..800): e o
 *    range que o design pede (design.md, Tipografia): Manrope 400 (corpo), 500
 *    (rotulo ativo, botoes) e 600 (area, totais); Newsreader 500 em tudo e 600
 *    na linha final do demonstrativo. Declarar "200 800" produziria pesos que
 *    o design nunca pede.
 *
 * 2. Algarismos tabulares. Com `font-variant-numeric: tabular-nums` no body
 *    (index.html), "1111111" e "8888888" medem o mesmo na Manrope (173,6px a
 *    40px; sem `tnum` diferem 53px). A Newsreader nasce com algarismos antigos
 *    e proporcionais: a classe .font-serif (index.html) liga "lnum" e "tnum"
 *    (159,8px nos dois textos). Coluna de valores alinha na casa decimal. Trocar
 *    de arquivo exige medir de novo que "1" e "8" tem a mesma largura.
 *
 * 3. font-variation-settings e size-adjust: NAO ADICIONAR. A Newsreader tem
 *    eixo optico e font-optical-sizing:auto (valor inicial, explicito no
 *    .font-serif) ja ajusta 'opsz' ao font-size; o CSS Fonts 4 aplica
 *    font-variation-settings DEPOIS do optical sizing, entao declarar 'opsz'
 *    aqui congelaria o desenho. size-adjust distorceria as metricas do arquivo
 *    original. O gate SUP-14 reprova as duas declaracoes.
 *
 * unicode-range copiado do CSS do Google sem alteracao — e ele que faz o
 * browser so baixar o arquivo quando a pagina usa um caractere coberto. O subset
 * cobre os acentos do pt-BR, o sinal de menos U+2212, o travessao, o ponto medio,
 * as reticencias e os ordinais. NAO cobre as setas U+2190/2192: controle de
 * navegacao usa icone SVG, nunca seta em texto.
 *
 * Fonte que nao carrega: font-display swap + pilha de sistema no tema
 * (tools/tailwind.config.js) — o texto aparece na fonte do sistema, nunca fica
 * escondido.
 */

/* ---------- Manrope (Tailwind font-sans, corpo) ---------- */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./manrope-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Newsreader (Tailwind font-serif, titulos e numeros) ---------- */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./newsreader-latin-opsz-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
