/* Tokens do Brandbook Inteli 2025.
   Este e o unico arquivo do acervo autorizado a declarar cor e tipografia.
   Qualquer outro arquivo consome var(--inteli-*) ou var(--seg-*).
   Verificado por tools/check_brand.py. */

/* Pesos do TIP-04 do inteli-brand-kit (12/08/2026): Platypi 700 no titulo,
   Manrope 600 no subtitulo e na label, 300 no corpo, 700 no destaque. O
   Space Mono fica so no codigo (TIP-06). Os icones nao vem mais por fonte:
   saem do sprite Sharp de assets/icons/icones.svg (ICO-01, tools/icones.py). */
@import url("https://fonts.googleapis.com/css2?family=Platypi:wght@700&family=Manrope:wght@300;600;700&family=Space+Mono:wght@400;700&display=swap");

:root {
  /* Paleta cromatica, p.66 */
  --inteli-roxo: #2e2640;
  --inteli-coral: #ff4545;
  --inteli-verde: #89cea5;
  --inteli-cinza-escuro: #b2b6bf;
  --inteli-cinza-medio: #caced6;
  --inteli-cinza-claro: #e6eaeb;
  --inteli-branco: #ffffff;

  /* Segmento Graduacao, p.68.
     Branco e cinzas como base, verde e roxo como blocos de peso,
     coral apenas como filete de destaque.
     Lilas e verde escuro pertencem a Escolas e a Exec/Pos e ficam de fora. */
  --seg-base: var(--inteli-branco);
  --seg-superficie: var(--inteli-cinza-claro);
  --seg-borda: var(--inteli-cinza-medio);
  --seg-primaria: var(--inteli-roxo);
  --seg-secundaria: var(--inteli-verde);
  --seg-destaque: var(--inteli-coral);
  --seg-texto: var(--inteli-roxo);
  --seg-texto-suave: var(--inteli-cinza-escuro);

  /* Tipografia, p.69 a p.74.
     A Azurio e licenciada e este repositorio e publico: o proprio brandbook
     (p.70) autoriza a Platypi como substituta por ser Google Font. */
  --fonte-titulo: "Platypi", Georgia, serif;
  --fonte-texto: "Manrope", system-ui, sans-serif;
  --fonte-mono: "Space Mono", monospace;

  /* Hierarquia. O brandbook (p.73) define 55/20/15pt em pagina de 1920x1080.
     A razao entre os niveis e preservada; o corpo sobe para 18px porque
     13px projetado nao se le do fundo da sala.

     Estes tokens de escala PRECISAM morar em :root. Custom property nao
     cascateia para fora do seletor que a declara: se elas cairem dentro de
     um bloco como "code, pre", o body resolve font-size para o 16px padrao
     do navegador e o piso de legibilidade vira letra morta, sem nenhum erro
     aparecer. Conferir com getComputedStyle, nao a olho. */
  --escala-titulo: 40px;
  --escala-subtitulo: 26px;
  --escala-texto: 18px;
  /* Codigo e tabela densa (13/10/2026): 18 linhas de codigo em 18px nao
     cabem com o titulo em 720px, e 14px nao se le projetado. */
  --escala-densa: 16px;
  --escala-complementar: 14px;
}

/* A aplicacao das familias e das escalas mora aqui e so aqui, porque o
   check_brand.py proibe font-family em qualquer outro arquivo. Sem estas
   regras os tokens acima ficam declarados e nunca usados, que foi exatamente
   o defeito do CSS de 2026.1: ele pedia "Azurio" e a fonte nunca era
   carregada, entao os titulos caiam no fallback em silencio. */
body {
  font-family: var(--fonte-texto);
  font-weight: 300;  /* Manrope Light no corpo, TIP-04 */
  font-size: var(--escala-texto);
}

strong, b { font-weight: 700; }  /* Manrope Bold so como destaque dentro do corpo */

h1, h2 {
  font-family: var(--fonte-titulo);
  font-weight: 700;  /* Azurio Bold no titulo (TIP-04), com a Platypi como substituta */
  font-size: var(--escala-titulo);
}

h3, h4 {
  font-family: var(--fonte-texto);
  font-weight: 600;  /* Manrope SemiBold no subtitulo, TIP-04 */
  font-size: var(--escala-subtitulo);
}

code, pre, kbd, samp, .mono {
  font-family: var(--fonte-mono);
  font-size: var(--escala-complementar);
}

/* Iconografia: Material Symbols Sharp, peso 400, do inteli-brand-kit
   (ICO-01 e ICO-05). Cada icone e um <svg class="icone"><use href=
   ".../assets/icons/icones.svg#nome"></svg>, gerado por tools/icones.py. O
   tamanho vem do font-size do contexto (1em), com piso de 20px (ICO-04), e a
   cor herda o texto ao redor (ICO-03). */
.icone {
  width: 1em;
  height: 1em;
  font-size: 24px;
  min-width: 20px;
  min-height: 20px;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  fill: currentColor;
}

/* Número em destaque e monograma do perfil (decks a partir da Aula 01 de
   2026-2B). Usam a fonte de título porque são o elemento de maior peso do
   slide; a declaração mora aqui porque o check_brand.py proíbe font-family
   fora deste arquivo. O tamanho fica no tema. */
.numero-destaque-valor,
.perfil-monograma,
.trilha-numero {
  font-family: var(--fonte-titulo);
  font-weight: 700;
}
