/* Tokens globais. Componentes não redeclaram cores, tipografia, espaçamento ou ações. */
:root {
  /* O preto é a massa principal. O violeta vive nas luzes e nos sinais;
     transformar toda superfície em roxa achataria profundidade e hierarquia. */
  --marca-violeta:       #4b00b9;
  --marca-violeta-vivo:  #5804fa;
  --marca-violeta-luz:   #b79bff;
  --marca-amarelo:       #ffd34f;
  --marca-amarelo-luz:   #ffe58f;

  --fundo:        #07080b;
  --painel:       rgba(13, 15, 20, .82);
  --painel-alto:  rgba(20, 22, 29, .94);
  --borda:        rgba(183, 155, 255, .18);
  --borda-viva:   rgba(183, 155, 255, .52);

  --frio:         var(--marca-violeta-luz); /* a insurgência, o jogador */
  --frio-fundo:   rgba(183, 155, 255, .11);
  --quente:       var(--marca-amarelo);      /* o CENSO, o prazo, a Retenção */
  --certo:        var(--marca-violeta-luz);
  --errado:       #ff806e;

  --texto:        #f2f3f7;
  --texto-fraco:  #b1b5c0;
  /* O tom mais discreto continua acima de 4,5:1 no fundo e no painel
     composto; `node ferramentas/contraste.js` lê estes valores diretamente. */
  --texto-tenue:  #969ca8;

  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --r: 12px;
  --sombra: 0 18px 48px rgba(0, 0, 0, .55);
  --dentro: inset 0 1px 0 rgba(255, 255, 255, .05);

  /* respeitado por todo elemento com área de toque */
  --toque: 48px;


  --nulo-space-1: 4px;
  --nulo-space-2: 8px;
  --nulo-space-3: 12px;
  --nulo-space-4: 16px;
  --nulo-space-5: 24px;
  --nulo-control-height: 54px;
  --nulo-control-radius: 8px;
  --nulo-control-gap: clamp(8px, 1vw, 14px);
  --nulo-focus-ring: 3px solid #ffe58f;
  --nulo-layer-action-bar: 24;
  --nulo-surface-action: rgba(1, 7, 11, .94);
  --nulo-surface-action-hover: rgba(183, 155, 255, .10);
  --nulo-danger: #ffe4d6;
  --nulo-breakpoint-compact: 900px;

  --saida-suave: cubic-bezier(.22, .61, .36, 1);
  --entrada-seca: cubic-bezier(.4, 0, .2, 1);
  --repique: cubic-bezier(.18, .89, .32, 1.28);
}
