/* Tipografia self-hosted do site estático — os mesmos arquivos que o Streamlit serve de
 * `static/fonts/` (`dashboard/theme.py`). Nenhum host externo: a regra do projeto é que a página
 * carregue sem rede, e o tema padrão do Observable busca Source Serif 4 no Google.
 *
 * POR QUE ESTE ARQUIVO NÃO ESTÁ NO `globalStylesheets` COMO O `tema.css`: o Framework 1.13.4
 * empacota todo stylesheet declarado no config com esbuild (`rollup.js:bundleStyles`), e o esbuild
 * não tem loader para `.woff2` — um `@font-face { src: url(...) }` com caminho local derruba o
 * build com "No loader is configured for .woff2". A saída é servir este CSS como **asset** (o
 * Framework copia o arquivo inteiro, sem passar pelo esbuild) e apontar os `.woff2` para
 * `/fonts/…`, que `scripts/fontes.mjs` copia para o `dist/` depois do build. Caminho root-absolute
 * de propósito: este CSS acaba em `/_file/fontes.<hash>.css`, então um caminho relativo
 * dependeria da profundidade dessa pasta.
 *
 * `unicode-range` são as fatias oficiais do Google Fonts para estes dois subsets; sem eles, dois
 * `@font-face` com descritores idênticos se sobrescrevem.
 *
 * Os arquivos deste repositório são a fonte **variável** — 21 tabelas, `fvar` com `wght 200–900` e
 * `opsz 8–60`, conferido com `fonttools` em 27/09. Uma versão anterior deste comentário dizia
 * "estáticos (21 tabelas, sem `fvar`)", que é o contrário do que o arquivo é. Com o descritor em
 * `font-weight: 400` o navegador pega o 400 do eixo e **sintetiza** o negrito; declarar
 * `font-weight: 400 700` daria negrito real. Fica 400 até a decisão de tipografia ser medida — não
 * é efeito colateral para mudar sem olhar.
 *
 * E o par que não pode se separar: este arquivo declara, `scripts/fontes.mjs` copia de
 * `static/fonts/`, e `guarda_site.py::checar_fontes` confere que o `dist/` serve o que o CSS pede.
 * Em 27/09 o `static/fonts/` sumiu do disco (não era rastreado), o `npm run build` passou a sair
 * com código 1 e o site ficou no ar com `document.fonts` em `error`, `/fonts/*.woff2` respondendo
 * 404 e o corpo caindo no Iowan/Palatino/Times. */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/SourceSerif4-400-latin.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;
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/SourceSerif4-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
    U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}
