/* Slate Arctic — tipografia. Escala de referência Major Third (1.25).
   Archivo Black é EXCLUSIVO do wordmark; todo o resto em Plus Jakarta Sans.

   ⚠️ O QUE "MAJOR THIRD" SIGNIFICA AQUI, MEDIDO EM 2026-08-28, para ninguém deduzir errado:
   a razão 1,25 é a CADEIA DE REFERÊNCIA, não a razão entre degraus vizinhos. Medidas, as
   razões vizinhas desta escala são 1,164 · 1,172 · 1,20 · 1,111 · 1,20 · 1,167 · 1,179 ·
   1,212 — nenhuma é 1,25, e isso é de propósito: 15px (corpo) e 20px (H2) são valores de
   produto, não pontos de uma progressão geométrica. A cadeia 1,25 ancorada no corpo
   (12 · 15 · 18,75 · 23,44 · 29,30) é a régua contra a qual os degraus foram escolhidos.

   🔴 FUSÃO DE 2026-08-28 (item C5.2). Até esta data havia --text-xs 0,75rem (12px) e
   --text-sm 0,8rem (12,8px): DOIS nomes separados por 0,8px, razão 1,067 — a menor de toda
   a escala, e abaixo do que o olho resolve. A segunda menor era --text-2xs → --text-xs
   (11 → 12 = 1,091). As duas foram fechadas de uma vez elevando --text-xs a 0,8rem: as
   razões da base passaram a 11 → 12,8 = 1,164 e 12,8 → 15 = 1,172, que é a mesma ordem de
   grandeza do resto da escala (mínimo 1,111). A direção foi escolhida por medição e não por
   gosto: fundir para BAIXO (0,75rem) deixaria 11 → 12 = 1,091 ainda degenerado, e encolheria
   texto; fundir para CIMA fecha os dois degraus falsos e nunca diminui tamanho de leitura.
   Os DOIS nomes ficam, agora com um valor só, porque eles carregam PAPEL e não tamanho:
   --text-sm é controle e corpo curto (30 ocorrências medidas: botão, aba, tabela, alerta,
   modal, paginação); --text-xs é meta e anotação (25 ocorrências: dica, erro, tag, trilha,
   passo, legenda, --type-label). Renomear qualquer um dos dois exigiria tocar 55 sítios no
   kit mais a cópia servida pelo Worker, e não foi feito.
   CONSEQUÊNCIA DECLARADA: .neu-btn--sm (--text-xs) e .neu-btn (--text-sm) passam a ter o
   MESMO tamanho de rótulo. A diferença entre eles vira altura e padding, que já era o sinal
   real — os 0,8px anteriores não distinguiam nada. */
:root{
  --font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Archivo Black","Plus Jakarta Sans",sans-serif;

  --text-2xs:0.6875rem; /* 11px — texto legal ultracompacto (FooterLegal) */
  --text-sm:0.875rem;   /* 14px — controle e corpo curto (3.10 a 3.12, decisão de 04-09-2026 registrada em DESIGN.md §7: nenhum texto abaixo de 14 px fora da tabela compacta; era 0.8rem = 12,8px) */
  --text-sm-compacta:0.8rem; /* 12.8px — SÓ em tabela sob [data-densidade="compacta"] (exceção aprovada em 04-09-2026) */
  --text-xs:var(--text-sm); /* mesmo degrau, papel de meta/anotação (ver nota do cabeçalho) */
  --text-base:0.9375rem;/* 15px — corpo */
  --text-lg:1.125rem;   /* 18px */
  --text-xl:1.25rem;    /* 20px — H2 */
  --text-2xl:1.5rem;    /* 24px */
  --text-3xl:1.75rem;   /* 28px — valor de KPI */
  --text-4xl:2.0625rem; /* 33px — display */
  --text-5xl:2.5rem;    /* 40px */

  --leading-none:1;--leading-tight:1.2;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;
  --weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;

  --tracking-display:-0.01em;
  --tracking-kpi:-0.02em;
  --tracking-overline:0.06em;
  --tracking-wordmark:0.02em;

  --type-display:var(--weight-black) var(--text-4xl)/var(--leading-tight) var(--font-sans);
  --type-h2:var(--weight-black) var(--text-xl)/var(--leading-snug) var(--font-sans);
  --type-h3:var(--weight-bold) var(--text-lg)/var(--leading-snug) var(--font-sans);
  --type-kpi:var(--weight-black) var(--text-3xl)/var(--leading-none) var(--font-sans);
  --type-body:var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);
  --type-label:var(--weight-semibold) var(--text-xs)/1.4 var(--font-sans);
  --type-overline:var(--weight-bold) var(--text-2xs)/1.4 var(--font-sans);
  --type-caption:var(--weight-regular) var(--text-sm)/1.4 var(--font-sans);
}
.arc-display{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--foreground)}
.arc-h2{font:var(--type-h2);color:var(--foreground)}
.arc-overline{font:var(--type-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--muted-foreground)}
.arc-label{font:var(--type-label);color:var(--foreground-secondary)}
.arc-kpi{font:var(--type-kpi);letter-spacing:var(--tracking-kpi);font-variant-numeric:tabular-nums;color:var(--foreground)}
.arc-num{font-variant-numeric:tabular-nums}
