/* hwid.css — base de design compartilhada do HWID-Guard (marca Recid).
   Espelha o CONTRATO da casa (selo.css / PADRAO-DESIGN-SEO): mesmos nomes de token,
   escalas (--sp, --text, --r) e o padrao de tema em 3 estados (light, prefers-dark, data-theme).
   Identidade propria do HWID: accent AZUL + fontes Archivo/IBM Plex (o resto = contrato da casa).
   Accent medido no contraste.py: 0 falhas em ambos os temas (branco/accent 5.17:1, on-accent/accent
   dark 5.58:1, accent-ink/soft 7.36-8.64:1). Ver DESIGN-DIRECTION.md.
   Adocao incremental: FATIA 1 = tokens (esta folha). Componentes seguem inline por pagina por ora. */

:root{
  color-scheme: light dark;
  /* superficies (neutros frios — combinam com o accent azul) */
  --ground:#f5f7f9; --surface:#ffffff; --surface-2:#eef1f4; --surface-3:#e4e9ef; --code-bg:#0d1119;
  --ink:#111823; --muted:#586374; --faint:#677081;
  --line:#dde3e9; --line-strong:#aeb8c4;
  /* accent AZUL (identidade do HWID) */
  --accent:#2563EB; --accent-ink:#1E40AF; --accent-soft:#E4ECFD; --on-accent:#ffffff;
  /* semanticas de dominio (veredito) + terminal */
  --allow:#12a150; --ban:#d33a34; --review:#c0821a;
  --allow-bg:#12a15016; --ban-bg:#d33a3416; --review-bg:#c0821a16;
  --code-ink:#d7e0ee; --code-dim:#6b7789;
  /* profundidade */
  --shadow:0 1px 2px rgba(17,24,35,.05), 0 6px 20px -12px rgba(17,24,35,.22);
  --shadow-lg:0 8px 40px -16px rgba(17,24,35,.35);
  /* escalas da casa (theme-independent) */
  --r:16px; --r-sm:11px; --r-pill:999px; --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(20px,4vw,40px); --maxw:1080px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;
  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-lg:1.125rem;
  --text-xl:1.375rem; --text-2xl:1.75rem; --text-3xl:2.25rem;
  /* tipografia (identidade do HWID) */
  --display:"Archivo",system-ui,sans-serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,ui-monospace,monospace;
}

/* baseline de acessibilidade compartilhado (todas as paginas herdam) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important} }

@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --ground:#080b11; --surface:#0f141d; --surface-2:#141b26; --surface-3:#1b2432; --code-bg:#0a0e15;
  --ink:#e7ecf3; --muted:#94a1b3; --faint:#78849a;
  --line:#1e2733; --line-strong:#3a4658;
  --accent:#388BFD; --accent-ink:#9BC2FF; --accent-soft:#16233B; --on-accent:#0D1220;
  --allow:#3ecf8e; --ban:#f0625b; --review:#e6a94a;
  --allow-bg:#3ecf8e1c; --ban-bg:#f0625b1c; --review-bg:#e6a94a1c;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -14px rgba(0,0,0,.6);
  --shadow-lg:0 10px 44px -18px rgba(0,0,0,.75);
}}

:root[data-theme="dark"]{
  --ground:#080b11; --surface:#0f141d; --surface-2:#141b26; --surface-3:#1b2432; --code-bg:#0a0e15;
  --ink:#e7ecf3; --muted:#94a1b3; --faint:#78849a;
  --line:#1e2733; --line-strong:#3a4658;
  --accent:#388BFD; --accent-ink:#9BC2FF; --accent-soft:#16233B; --on-accent:#0D1220;
  --allow:#3ecf8e; --ban:#f0625b; --review:#e6a94a;
  --allow-bg:#3ecf8e1c; --ban-bg:#f0625b1c; --review-bg:#e6a94a1c;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -14px rgba(0,0,0,.6);
  --shadow-lg:0 10px 44px -18px rgba(0,0,0,.75);
}
