/* ============================================================================
   Paleta de tenant — família + matiz (Docs/spec-paleta-tenant.md)
   ============================================================================
   Cada bloco `[data-familia="..."]` é uma família: uma receita FIXA de
   custom properties (mesma S/L sempre — escopo negativo da spec proíbe
   ajuste de saturação/luminosidade/contraste por tenant), parametrizada só
   pelo matiz do tenant (--matiz, grau 0-359, injetado como estilo inline em
   <html> por Pages/Shared/_LayoutTenant.cshtml). Só famílias escuras nesta
   leva.

   REGRA DA FAMÍLIA (garantia #1 da spec): a tinta (--ink*) NUNCA deriva do
   acento (--cor-destaque) — usa uma matiz própria da família (inkHue),
   fixa, independente do matiz escolhido pelo tenant. Só --cor-destaque (e o
   que dele deriva: --cor-destaque-clara, --line) usa --matiz. É esse
   desacoplamento que evita a página monocromática do GTi (a tinta nunca fica
   "presa" perto do acento, nenhuma combinação de matiz produz tinta
   ilegível).

   Números por trás desta receita (S/L de fundo, tinta e acento) foram
   calculados e verificados com a fórmula de contraste do WCAG (luminância
   relativa), não escolhidos de olho — script de apoio em
   scratchpad (não versionado). Tabela completa de contraste por família e
   por matiz de teste está no relatório da sessão desta Fase 2.
   ============================================================================ */

[data-familia] {
  /* Acento: única propriedade que usa o matiz do tenant como matiz (hue).
     S/L fixos, verificados por varredura completa de matiz (0-359): o pior
     caso real é hue=240 (azul), onde o texto escuro sobre o acento ainda
     fica em ~4,93:1 — acima do piso de 4,5:1. */
  --cor-destaque: hsl(var(--matiz) 54% 66%);
  --cor-destaque-clara: hsl(var(--matiz) 54% 74%);
  --line: color-mix(in srgb, var(--cor-destaque) 18%, transparent);
}

/* ---- EscuroQuente (hue 30 — âmbar/terracota) ---- */
[data-familia="EscuroQuente"] {
  --bg: hsl(30 22% 7%);
  --bg-soft: hsl(30 22% 9%);
  --bg-card: hsl(30 22% 10%);
  --ink: hsl(30 15% 61%);
  --ink-body: hsl(30 15% 57%);
  --ink-muted: hsl(30 15% 54%);
  /* --ink-faint fica DE PROPÓSITO só 1 ponto de luminosidade abaixo de
     --ink-muted (53 vs 54) — não é folga de sobra, é o limite matemático de
     caber os 4 níveis de tinta dentro de 4,5-7:1 contra os DOIS fundos
     (página e componente) ao mesmo tempo, nas 4 famílias. A derivação por si
     só não garante ink-faint < ink-muted (são fórmulas independentes, mesma
     hue/sat, só L difere) — a ordem foi confirmada calculando, não por
     construção; se algum valor aqui for reajustado no futuro, reconferir a
     tabela de contraste, não assumir que a ordem se mantém sozinha. Mesma
     nota vale para as outras 3 famílias abaixo.
  */
  --ink-faint: hsl(30 15% 53%);
  /* Texto sobre o próprio acento (botão, chip ativo) = --bg da família —
     verificado contra o pior caso de matiz (hue=240), não só os 3 de teste. */
  --ink-onacento: var(--bg);
}

/* ---- EscuroFrio (hue 220 — azul-ardósia) ---- */
[data-familia="EscuroFrio"] {
  --bg: hsl(220 28% 7%);
  --bg-soft: hsl(220 28% 9%);
  --bg-card: hsl(220 28% 10%);
  --ink: hsl(220 15% 61%);
  --ink-body: hsl(220 15% 57%);
  --ink-muted: hsl(220 15% 54%);
  --ink-faint: hsl(220 15% 53%);
  --ink-onacento: var(--bg);
}

/* ---- EscuroVerde (hue 150 — verde-floresta) ---- */
[data-familia="EscuroVerde"] {
  --bg: hsl(150 22% 6%);
  --bg-soft: hsl(150 22% 8%);
  --bg-card: hsl(150 22% 9%);
  --ink: hsl(150 15% 61%);
  --ink-body: hsl(150 15% 57%);
  --ink-muted: hsl(150 15% 54%);
  --ink-faint: hsl(150 15% 53%);
  --ink-onacento: var(--bg);
}

/* ---- EscuroNeutro (hue 40 — grafite quase sem matiz) ---- */
[data-familia="EscuroNeutro"] {
  --bg: hsl(40 8% 7%);
  --bg-soft: hsl(40 8% 9%);
  --bg-card: hsl(40 8% 10%);
  --ink: hsl(40 15% 61%);
  --ink-body: hsl(40 15% 57%);
  --ink-muted: hsl(40 15% 54%);
  --ink-faint: hsl(40 15% 53%);
  --ink-onacento: var(--bg);
}
