/* SEELE — tokens de design (palheta v2, congelada em M0.12)
   Fonte: comp v2. Ver ADR 0014 e docs/tokens-achados.md.
   Célula de terminal: 8px × 16px. Todo espaçamento é múltiplo de célula.
   Zero border-radius. Zero sombra. */

:root {
  /* ---- cor ----
     O índice ANSI 256 ao lado de cada cor é o mesmo do seele-tokens.json e é o
     que a TUI usa ao degradar de truecolor. Calculado por vizinho mais próximo
     em CIELAB, restrito a 16–255. Contraste medido sobre --seele-negro-painel. */
  --seele-negro-absoluto: #050403;   /* ansi 232 · fundo. nunca cinza-carvão neutro */
  --seele-negro-painel:   #0A0806;   /* ansi 232 · superfície de painel */
  --seele-linha:          #241F19;   /* ansi 234 · borda 1px padrão */
  --seele-linha-forte:    #3A322A;   /* ansi 236 · borda de painel ativo / régua */
  --seele-osso:           #EAE3CF;   /* ansi 254 · texto corrido · 15,60:1 AAA */
  --seele-osso-apagado:   #7A7061;   /* ansi 243 · rótulo secundário ·  4,11:1 só texto grande */
  --seele-laranja-nerv:   #F2521F;   /* ansi 202 · acento institucional ·  5,71:1 AA */
  --seele-laranja-fraco:  #331704;   /* ansi 234 · preenchimento laranja */
  --seele-vermelho-alerta:#FF1A1A;   /* ansi 196 · EXCLUSIVO alerta e queda ·  5,16:1 AA */
  --seele-vermelho-fraco: #2C0508;   /* ansi 233 */
  --seele-fosforo:        #6BFFB6;   /* ansi  85 · telemetria e nominal · 15,81:1 AAA */
  --seele-fosforo-fraco:  #06220F;   /* ansi 234 */
  --seele-padrao-azul:    #2F8FE0;   /* ansi  32 · PADRÃO: AZUL ·  5,83:1 AA */
  --seele-azul-fraco:     #04182B;   /* ansi 233 */

  /* ---- placas da marca (docs/marca.md) ----
     A profundidade do ícone de app é cor plana deslocada, nunca sombra: as três
     primeiras escalonam sobre o negro, as três seguintes sobre o laranja. Sem
     índice ANSI de propósito — são da marca desenhada, e no terminal a marca é
     a forma latina. Nenhuma superfície do app se pinta com elas. */
  --seele-placa-negro-1:  #A83A10;   /* placa mais próxima, sobre negro */
  --seele-placa-negro-2:  #7A2A0B;
  --seele-placa-negro-3:  #4A1806;   /* placa mais distante, sobre negro */
  --seele-placa-laranja-1:#FFA070;   /* placa mais distante, sobre laranja */
  --seele-placa-laranja-2:#C4400F;
  --seele-placa-laranja-3:#8E2A08;   /* placa mais próxima, sobre laranja */

  /* ---- rótulo miúdo ----
     A coordenada de cada painel (`A·01`, `B·02`, `C·02`), todo título de painel
     e todo rótulo de 9–10px passam por este nome, e nunca por `osso-apagado`
     direto.

     A decisão que `docs/tokens-achados.md` deixou pendente no achado 3 veio, e
     é a primeira das duas opções: subir a cor. `osso-apagado` mede 4,11:1 e
     passa só como texto grande; a escala põe rótulo em 9–10px, que não é texto
     grande, e título de painel é informação necessária — é o que diz **qual**
     painel é aquele. O valor deixou de ser apelido e passou a ser cor própria,
     na mesma matiz e saturação do apagado, só mais clara: continua legível como
     secundário ao lado de `osso`, e a hierarquia segue vindo do corpo, da caixa
     alta e do tracking, não da cor doente.

     5,52:1 e não 4,5:1 porque o piso aqui não é o do papel. A varredura pinta
     por cima do texto a 6% e cobra da razão (o mesmo arquivo, "O que a varredura
     custa de contraste"): sob o véu isto entrega 4,97:1, e dentro da faixa que
     desce, 4,81:1. Uma cor escolhida para bater 4,5:1 no vácuo chegaria à tela
     abaixo de AA nas duas condições em que a tela de fato é vista. */
  --seele-rotulo-painel:  #908574;   /* ansi 102 · rótulo miúdo 9–10px · 5,52:1 AA */

  /* Preenchimento de bloco em carga — o polígono MAGI que ainda não acendeu.
     `#2B0F05`, e não `laranja-fraco #331704`: o comp v2 escureceu este valor
     (inventário do comp, §11.5) e os dois convivem no mesmo desenho. */
  --seele-laranja-carga:  #2B0F05;   /* ansi 234 · bloco em carga */

  /* ---- faixas da Taxa de Sincronização (specs/07, ADR 0024) ----
     Três, e não quatro: os cortes são os do comp v2, e quem os decide é o core
     (`seele_core::SyncBand`). Nunca transmitidas só por cor — a marca de bloco
     e o número acompanham sempre (specs/05).

     A quarta faixa, `aceitavel`, em osso, foi retirada junto com o
     `SyncBand::Acceptable` que ela pintava: um token sem consumidor é uma cor
     à disposição de quem for usá-la por engano. */
  --seele-sync-nominal:   var(--seele-fosforo);        /* >= 85 */
  --seele-sync-degradado: var(--seele-laranja-nerv);   /* 60–84 */
  --seele-sync-critico:   var(--seele-vermelho-alerta);/* < 60  */

  /* ---- tipografia ---- */
  --seele-display: "Saira Condensed", "Arial Narrow", sans-serif; /* cartelas, cabeçalhos */
  --seele-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace; /* todo dado */
  --seele-jp: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif; /* acento em kanji */

  --seele-cartela: 700;   /* peso de cartela */
  --seele-tracking-cartela: 0.02em;
  --seele-tracking-rotulo: 0.22em;

  --seele-t-cartela: 56px;
  --seele-t-titulo: 28px;
  --seele-t-secao: 18px;
  --seele-t-corpo: 14px;
  --seele-t-dado: 13px;
  --seele-t-rotulo: 10px;   /* uppercase, tracking largo */
  --seele-t-micro: 9px;     /* réguas e coordenadas */

  /* ---- espaçamento: múltiplos de célula ---- */
  --seele-celula-x: 8px;
  --seele-celula-y: 16px;
  --seele-e1: 8px;
  --seele-e2: 16px;
  --seele-e3: 24px;
  --seele-e4: 32px;
  --seele-e6: 48px;
  --seele-e8: 64px;

  /* ---- borda ---- */
  --seele-b: 1px;
  --seele-b-forte: 2px;
  --seele-raio: 0;
  --seele-sombra: none;
}

/* specs/07: movimento é diagnóstico, nunca decorativo. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --seele-respiro-sync: none;
    --seele-pulso-fala: none;
  }
}
