/* ────────────────────────────────────────────────────────────────────────
   HackStatus — tokens visuais

   Portados do HackStudio (`src/app/hackstudio-theme.css`) para que o
   ecossistema fale uma língua só. O que veio de lá são variáveis CSS puras:
   nenhuma dependência de Tailwind, React ou build. Essa é a razão de portar os
   TOKENS e não a STACK — o HackStatus precisa abrir quando o resto do
   ecossistema está degradado, e isso exige HTML e CSS que não passam por
   nenhuma etapa de construção.

   ── Um tema só, e é o claro ──
   Houve uma versão com os dois e um alternador. O PM decidiu que só o claro
   existe, e o escuro saiu inteiro em vez de ficar desligado: paleta que
   ninguém alcança é paleta que ninguém testa, e apodrece calada até o dia em
   que alguém a religa e descobre três telas ilegíveis.

   A exceção é o Modo TV, que tem paleta própria em `tv.css` — ele é lido a
   três metros numa sala iluminada, e ali o escuro é a escolha certa.
   ──────────────────────────────────────────────────────────────────────── */

:root {
  color-scheme: light;

  --hs-radius-sm: 0.375rem;
  --hs-radius-md: 0.5rem;
  --hs-radius-lg: 0.625rem;

  --hs-orange-300: #fdba74;
  --hs-orange-400: #f26419;
  --hs-orange-500: #ea580c;
  --hs-orange: #f26419;
  /* Tom para TEXTO e link: 5,2:1. Preenchimento e texto não podem ser o mesmo
     valor — um precisa de saturação, o outro de contraste. */
  --hs-orange-ink: #c2410c;
  --hs-orange-muted: color-mix(in srgb, #f26419 12%, transparent);
  --hs-orange-subtle: color-mix(in srgb, #f26419 8%, transparent);

  --hs-ok: #15803d;   --hs-ok-wash: #ecfdf3;
  --hs-warn: #b45309; --hs-warn-wash: #fef6e7;
  --hs-bad: #b91c1c;  --hs-bad-wash: #fef2f2;
  --hs-info: #1d4ed8; --hs-info-wash: #eff4ff;

  /* Neutros com viés quente: puxam de leve para o laranja da marca, então a
     tela conversa com o acento em vez de esfriar contra ele. */
  --hs-background: #f7f6f4;
  --hs-background-subtle: #efedea;
  --hs-surface: #ffffff;
  --hs-surface-muted: #f7f6f4;
  --hs-surface-raised: #ffffff;
  --hs-surface-hover: #f2f1ee;
  /* Era #e4e4e7 no Studio, com 1,27:1 sobre branco — borda que não se vê não
     delimita nada, e a tela inteira virava uma superfície só. */
  --hs-border: #d6d3d1;
  --hs-border-subtle: #e7e5e4;
  --hs-text-primary: #0b0b0d;
  --hs-text-secondary: #3f3f46;
  /* Era #71717a (4,83:1) — no limite do legível em texto pequeno. */
  --hs-text-tertiary: #57534e;
  --hs-accent-fg: #ffffff;

  --hs-shadow-menu: 0 12px 32px rgb(0 0 0 / 0.12);
  --hs-shadow-dialog: 0 25px 70px rgb(0 0 0 / 0.25);
  --hs-scrim: rgb(17 17 17 / 0.45);

  /* ── Estado operacional ──────────────────────────────────────────────
     A tradução entre o vocabulário do HackStatus e o do design system.
     Toda cor de status na tela sai daqui, e não de --hs-ok/--hs-bad direto:
     assim o dia em que "degradado" precisar de outro tom se resolve em uma
     linha, e não em trinta regras espalhadas. Os quatro estados são os
     mesmos que `/api/ingest` aceita. */
  --st-operational: var(--hs-ok);
  --st-operational-wash: var(--hs-ok-wash);
  --st-degraded: var(--hs-warn);
  --st-degraded-wash: var(--hs-warn-wash);
  --st-down: var(--hs-bad);
  --st-down-wash: var(--hs-bad-wash);
  --st-unknown: var(--hs-text-tertiary);
  --st-unknown-wash: var(--hs-surface-muted);

  /* Barra de disponibilidade: tons dessaturados dos mesmos estados, porque
     dezenas de blocos lado a lado na cor cheia viram um vitral. */
  --st-bar-operational: #69bd91;
  --st-bar-degraded: #e8b54e;
  --st-bar-down: #e06a70;
  --st-bar-empty: var(--hs-surface-hover);

  --font-ui: 'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    'Segoe UI', sans-serif;
}
