/* ═══ MIA Privacy — camada comum de tokens (especificidade zero) ═══
   Origem: consolidação da rodada multi-modelo de 04/set/2026
   (revisao-design/analista-b-tokens.md §4, auditada) sobre os valores
   MAJORITÁRIOS já em produção. Nada aqui estiliza componente.

   Regras da casa (02-tokens.md da base _frontend-kb):
   - um nome, um papel; valor vive SÓ aqui;
   - :where() = especificidade 0: o :root local de uma página ainda não
     migrada VENCE esta camada — fase 1 não muda pixel nenhum;
   - cor nova entra como token, nunca como hex em regra de componente. */

:where(:root){
  color-scheme:light;

  /* ── marca: escuro ── */
  --navio:#123A6B;          /* header, pre, faixa (dialeto majoritário, 8/12) */
  --navio-alt:#1A3550;      /* hover de botão (era literal em 7 páginas) */
  --navio-texto:#E8EEF4;    /* texto sobre navio (era literal em 8) */
  --navio-texto-2:#B9CBDD;  /* subtítulo sobre navio (era literal em 6) */

  /* ── papel: claro ── */
  --papel:#EDF5FD;          /* fundo da página */
  --superficie:#E6F2FC;     /* cartão (papel2/carta/papel-2/painel → 1 nome) */
  --papel-alt:#DCEAF8;      /* tom sombreado (aba/barra do index) */
  --linha:rgba(67,86,110,.28);

  /* ── tinta ── */
  --tinta:#0D2B54;
  --tinta-2:#1C4266;
  --tinta-3:#2E5480;        /* terciário (tinta3/texto3/fraco → 1 nome) */

  /* ── latão (identidade) ── */
  --latao:#0E9BFF;          /* acento sobre claro */
  --latao-claro:#2E6FB0;    /* acento sobre navio, selo, link de volta */
  --latao-tinta:#0F5296;    /* latão legível sobre claro (contraste) */

  /* ── status ── */
  --ok:#2E7D5B;   --ok-bg:rgba(46,125,91,.12);
  --erro:#A6432F; --erro-bg:rgba(166,67,47,.12);
  --aviso-bg:rgba(168,129,31,.12);

  /* ── semânticos do anonimizador (domínio, não chrome) ── */
  --verde:#1E7A54; --verde-bg:#D7EFE2;   /* dígito conferido */
  --azul:#1C5C93;  --azul-bg:#D8E8F5;    /* formato reconhecido */
  --ambar:#9A6B10; --ambar-bg:#F7E9C8;   /* encontrado pelo modelo */

  /* ── tipografia ── */
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:Georgia,"Iowan Old Style",Palatino,serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --fs-2:12px;      /* labels uppercase, legenda */
  --fs-1:13.5px;    /* apoio, código */
  --fs-0:15px;      /* leitura */
  --fs-1m:18px;     /* h3 */
  --fs-2m:25px;     /* h2, preço */
  --fs-display:clamp(26px,3.4vw,36px);
  --lh-aperto:1.3; --lh-corpo:1.6;

  /* ── espaço (múltiplos de 4) ── */
  --esp-1:4px; --esp-2:8px; --esp-3:12px; --esp-4:16px;
  --esp-5:24px; --esp-6:32px; --esp-7:48px; --esp-8:64px;
  --medida:920px;

  /* ── forma / sombra / foco / movimento ── */
  --raio-s:4px; --raio-m:8px; --raio-g:12px; --raio-pill:999px;
  --sombra:0 1px 2px rgba(14,30,46,.06),0 8px 24px rgba(14,30,46,.06);
  --foco:2px solid var(--latao);
  --dur-s:.15s; --dur-m:.25s;
  --ease:cubic-bezier(.2,.8,.3,1);
  --z-tooltip:60;

  /* ── vidro-b (frente 3): luz latão+navio, painéis translúcidos ── */
  --vidro-fundo:rgba(220,238,253,.80);
  --vidro-fundo-forte:rgba(220,238,253,.60);
  --vidro-borda:1px solid rgba(255,255,255,.55);
  --vidro-blur:blur(20px) saturate(1.35);
  --vidro-sombra:0 24px 56px rgba(14,30,46,.18);
}

/* ── frente 3: luz ambiente fixa ao viewport + vidro por token ── */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(46rem 34rem at 10% 4%, rgba(120,186,238,.34), transparent 60%),
    radial-gradient(42rem 32rem at 96% 16%, rgba(74,138,206,.24), transparent 58%),
    radial-gradient(40rem 32rem at 80% 108%, rgba(150,200,240,.28), transparent 60%),
    linear-gradient(168deg,#EDF5FD,#D6E8F9 56%,#BED9F1);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .vidro{
    --vidro-fundo:var(--vidro-fundo-forte);
    -webkit-backdrop-filter:var(--vidro-blur);
    backdrop-filter:var(--vidro-blur);
  }
}

/* ── defaults de acessibilidade (Portão 1 da base; especificidade 0) ── */
:where(h1,h2,h3){text-wrap:balance}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:var(--foco);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  :where(*),:where(*)::before,:where(*)::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}
