/* =============================================================================
 * tokens.css: a FONTE ÚNICA de tokens e da fonte da plataforma.
 *
 * Servido pelo Express em /css/tokens.css (sem hash, sem cache longo) e
 * carregado por <link> absoluto pelas DUAS superfícies:
 *   - páginas públicas renderizadas no servidor: server/src/views/layout.ts;
 *   - painel Vue em /org/: web/index.html (em dev, pelo proxy /css do Vite).
 *
 * Por que um arquivo servido, e não uma cópia em cada lado: cor definida duas
 * vezes diverge na primeira vez que alguém mexe num lado só, e a divergência é
 * muda (§12 do padrão). Por que <link> e não @import no ui.css do painel: o Vite
 * resolveria o @import e embutiria uma CÓPIA no bundle com hash, que é
 * justamente o segundo arquivo que isto existe para não ter.
 *
 * Consequência que precisa ser sabida: se /css/tokens.css não for servido, as
 * duas superfícies perdem TODA a cor ao mesmo tempo (var() sem declaração
 * invalida a propriedade, que volta a herdar), sem erro nenhum. Em dev, o painel
 * no Vite (9331) só tem cor com a API de pé na 9330.
 *
 * Os valores são cópia LITERAL da §3 do doacoes/PADRAO-VISUAL-CIENTEC.md (e o
 * --ui, da §2). A guarda web/test/padrao-visual.spec.ts compara este arquivo com
 * o padrão, e recusa token de marca declarado em qualquer outra folha: mudar uma
 * cor exige mudar o padrão primeiro. Token que só este projeto tenha entra na
 * lista TOKENS_PROPRIOS daquela guarda, com o motivo.
 *
 * Só :root e @font-face moram aqui. Regra de componente vai para a folha da
 * superfície que a usa (publico.css ou o ui.css do painel).
 * ========================================================================== */

/*
 * A fonte. DIVERGE da §2 do padrão num ponto, de propósito: lá o src aponta para
 * .woff2, e aqui não há .woff2 (conversão pendente). Copiar o bloco à letra
 * serviria um src que dá 404, e a página cairia calada na fonte de sistema. A
 * guarda de caminhos cobra que todo url() daqui exista em server/public/.
 */
@font-face {
  font-family: 'Nunito';
  src: url('/fonts/Nunito-VariableFont_wght.ttf') format('truetype');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Marca */
  --azul-profundo: #0B3F5F;   /* fundo de capa, texto sobre amarelo */
  --azul-cientec:  #1B75BB;   /* ação, link, foco */
  --azul-escuro:   #155F98;   /* hover de ação */
  --verde:         #A9CE3B;
  --verde-borda:   #8FB82F;   /* borda de chip verde */
  --verde-tinta:   #4E7A0C;   /* texto verde sobre claro (contraste) */
  --amarelo:       #FFD75E;
  --laranja:       #F5A83C;

  /* Papel e tinta */
  --gelo:          #F7F9F2;   /* fundo de página */
  --papel:         #FFFFFF;   /* fundo de cartão */
  --mesa:          #E3E9E3;   /* bancada de ferramenta (§11) */
  --tinta:         #0A2B41;   /* texto */
  --pilula-tinta:  #07293D;   /* texto sobre preenchimento colorido */
  --meta:          #4A6577;   /* texto secundário, rótulo */
  --linha:         #DDE5DC;   /* fio */
  --linha-forte:   #C6D2C6;   /* fio de controle */

  /* Estado */
  --alerta:        #A4291A;   /* dado inválido */
  --ambar:         #6E4600;   /* texto de aviso */
  --ambar-borda:   #C79600;   /* borda de aviso */

  /* Medidas */
  --medida: 720px;            /* coluna de leitura */
  --r: 10px;                  /* raio de controle */
  --pad: 20px;

  /* Fonte (§2 do padrão) */
  --ui: 'Nunito', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
