/* =============================================================================
   MESTRE · TOKENS DE IDENTIDADE — Biblioteca de consulta (uso interno do squad)
   -----------------------------------------------------------------------------
   Fase 1 do S4 · direção de @picasso · fonte canônica dos tokens.
   Registro: INSTRUMENTO. Escuro, alto contraste, monoespaçada estrutural.
   Direção DEFAULT: NEUTRA — não é a cara de nenhuma lane (emenda E9).
   Regras herdadas e inegociáveis: zero gradiente · zero branco puro · raio >= 12px.

   A cor aqui NÃO é marca. A cor é FUNÇÃO. Só aparece quando significa algo:
   um estado de interação (accent) ou um grau de procedência (carimbos).
   É isso que mantém a ferramenta neutra entre as 5 lanes.
   ============================================================================= */

:root {
  /* ---------------------------------------------------------------------------
     1 · SUPERFÍCIES — grafite quente (café-carvão), NÃO teal.
     Deliberadamente longe do Dark Forest #121D1F da Ketherin: viés marrom-cinza,
     não verde-azulado. Profundidade por camadas sólidas, jamais por gradiente.
     --------------------------------------------------------------------------- */
  --bg:            #15140F;  /* fundo raiz — grafite quente */
  --surface:       #1C1A14;  /* painel elevado */
  --surface-2:     #24211A;  /* linha / campo / item ativo */
  --surface-hover: #2B2820;  /* hover de superfície */
  --surface-sunk:  #100F0B;  /* poço / trilho de fundo */

  /* ---------------------------------------------------------------------------
     2 · LINHAS — fio de cabelo. A estrutura se lê pela hairline, não pela sombra.
     --------------------------------------------------------------------------- */
  --line:        #34302433;  /* hairline padrão (alpha) */
  --line-solid:  #383528;    /* hairline sólida */
  --line-strong: #4A4636;    /* borda de ênfase / hover */

  /* ---------------------------------------------------------------------------
     3 · TINTA — osso quente. NUNCA #FFFFFF. Contraste AAA sobre --bg (~10:1).
     Distinta do Mist #EEEEEC da Ketherin (mais quente e mais baixa).
     --------------------------------------------------------------------------- */
  --ink:       #E8E3D5;  /* texto primário — osso quente */
  --ink-dim:   #ABA593;  /* secundário */
  --ink-faint: #746E5D;  /* rótulos / terciário / desabilitado */
  --ink-invert:#141310;  /* texto sobre preenchimento claro/accent */

  /* ---------------------------------------------------------------------------
     4 · ACCENT — único hue de INTERAÇÃO. Cobalto-ciano de instrumento (cursor,
     foco, link, hover de ação). Não é hue de nenhuma lane e não é carimbo.
     Restrito a fio/foco/microfill — nunca preenchimento decorativo.
     --------------------------------------------------------------------------- */
  --accent:      #5BB0E8;  /* interação viva */
  --accent-dim:  #3E7CA3;  /* interação em repouso */
  --accent-bg:   #5BB0E81A; /* microfill de estado (10%) */
  --accent-line: #5BB0E859; /* fio de foco (35%) */

  /* ---------------------------------------------------------------------------
     5 · CARIMBOS DO ARTIGO IV — sistema de PROCEDÊNCIA (não de marca).
     Grau de confiança da informação, lido de relance. A cor é o grau.
       DADO REAL  = verde   (verificado — cor conquistada)
       CLAIM      = âmbar   (afirmado, não auditado — cautela)
       PROPOSTA   = violeta (hipótese — decisão do Victor)
       A CONFIRMAR= cinza   (pendente — nenhuma cor conquistada ainda)
       A PREENCHER= fantasma tracejado (slot vazio aguardando a régua S3)
     O âmbar de CLAIM é ocre-baixo, deliberadamente longe do Hyper Yellow
     #E8FF3A da Ketherin — significa "cuidado", não "marca".
     --------------------------------------------------------------------------- */

  /* DADO REAL — verificado */
  --dado-ink:  #86CB86;
  --dado-dot:  #6FBF73;
  --dado-bg:   #6FBF7314;
  --dado-line: #6FBF7359;

  /* CLAIM — afirmação não auditada */
  --claim-ink:  #E6BC63;
  --claim-dot:  #D9A441;
  --claim-bg:   #D9A44114;
  --claim-line: #D9A44152;

  /* PROPOSTA — hipótese */
  --prop-ink:  #C2ABE8;
  --prop-dot:  #A98BD9;
  --prop-bg:   #A98BD914;
  --prop-line: #A98BD957;

  /* A CONFIRMAR — pendente (grau cinza, sem hue conquistado) */
  --conf-ink:  #B7B1A0;
  --conf-dot:  transparent;      /* ponto oco = ainda não confirmado */
  --conf-bg:   #9A948214;
  --conf-line: #9A948252;

  /* A PREENCHER · régua S3 — slot vazio */
  --preench-ink:  #8C8674;
  --preench-bg:   transparent;
  --preench-line: #746E5D;        /* usado tracejado */

  /* ---------------------------------------------------------------------------
     6 · TIPOGRAFIA — dupla família IBM Plex. Não está na blacklist anti-IA.
     Mono é a VOZ do instrumento: códigos SDE-xxx, carimbos, contagens, rótulos,
     dicas de teclado e os títulos de família (mono-display = leitura de espectro).
     Sans carrega a prosa (nomes de mecanismo, glossário, quotes).
     --------------------------------------------------------------------------- */
  --font-sans: 'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

  /* escala tipográfica — afinada para densidade sob pressão */
  --fs-3xs: 0.625rem;  /* 10 — micro-contagem */
  --fs-2xs: 0.6875rem; /* 11 — rótulo de sistema */
  --fs-xs:  0.75rem;   /* 12 — código SDE / carimbo */
  --fs-sm:  0.8125rem; /* 13 — meta / stats */
  --fs-base:0.875rem;  /* 14 — corpo (piso de legibilidade) */
  --fs-md:  1rem;      /* 16 — corpo confortável */
  --fs-lg:  1.1875rem; /* 19 — nome de mecanismo */
  --fs-xl:  1.5rem;    /* 24 — subtítulo */
  --fs-2xl: 2rem;      /* 32 — display de família */
  --fs-3xl: 2.75rem;   /* 44 — masthead */

  --lh-tight:  1.05;
  --lh-snug:   1.25;
  --lh-normal: 1.5;

  --tracking-mono: 0.02em;   /* mono respira melhor levemente tracked */
  --tracking-label: 0.14em;  /* rótulos de sistema em caixa alta */

  /* ---------------------------------------------------------------------------
     7 · ESPAÇAMENTO — base 4px. Denso, mas com respiro entre linhas de dado.
     --------------------------------------------------------------------------- */
  --sp-1:  0.25rem;  /* 4  */
  --sp-2:  0.5rem;   /* 8  */
  --sp-3:  0.75rem;  /* 12 */
  --sp-4:  1rem;     /* 16 */
  --sp-5:  1.25rem;  /* 20 */
  --sp-6:  1.5rem;   /* 24 */
  --sp-8:  2rem;     /* 32 */
  --sp-10: 2.5rem;   /* 40 */
  --sp-12: 3rem;     /* 48 */
  --sp-16: 4rem;     /* 64 */

  /* ---------------------------------------------------------------------------
     8 · RAIO — todos >= 12px (regra). Variedade pela ESCALA, não por cantos vivos.
     Carimbo usa o piso (12) e lê como selo pela tipografia + ponto, não pelo canto.
     --------------------------------------------------------------------------- */
  --r-xs:   12px;  /* carimbo / chip */
  --r-sm:   14px;  /* linha / item */
  --r-md:   16px;  /* painel / card */
  --r-lg:   20px;  /* campo de busca / ação primária */
  --r-pill: 999px; /* seletor de lane / marcador */

  /* ---------------------------------------------------------------------------
     9 · SOMBRA — sóbria. Instrumento não brilha. Zero glow, zero neon.
     Profundidade discreta só para destacar o painel do fundo.
     --------------------------------------------------------------------------- */
  --shadow-panel: 0 1px 0 #00000040, 0 12px 32px -18px #00000099;
  --shadow-pop:   0 1px 0 #00000040, 0 18px 40px -20px #000000B3;
  --inset-sunk:   inset 0 1px 2px #00000059;

  /* ---------------------------------------------------------------------------
     10 · MOVIMENTO — curto e seco. Ferramenta responde, não performa.
     --------------------------------------------------------------------------- */
  --dur-fast: 110ms;
  --dur:      170ms;
  --ease: cubic-bezier(0.2, 0.6, 0.2, 1);

  /* ---------------------------------------------------------------------------
     11 · ESTADOS — contrato de hover / active / focus (consumido pelo @pixel).
       hover  -> superfície sobe um passo + borda de ênfase + tinta cheia
       active -> superfície-2 + inset sutil
       focus  -> anel accent 2px, offset 2px (SEMPRE visível — teclado é 1ª classe)
       select -> barra accent à esquerda + superfície-2 (item de navegação ativo)
     --------------------------------------------------------------------------- */
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent-line);
}

/* Base de estado reutilizável — referência para o @pixel na Fase 2 */
.is-focusable:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: inherit;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur: 0ms; }
}
