@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

/**
 * Atlas One — Design Tokens
 * ------------------------------------------------
 * Fonte única de verdade de cor, tipografia, espaçamento, grid,
 * radius, sombra e estados. Nenhuma tela deve declarar esses
 * valores soltos no próprio <style> — sempre var(--atlas-*).
 *
 * Identidade Dark Premium (Nova Identidade Visual Oficial) — preto
 * profundo, grafite, dourado, branco quente. Identidade ÚNICA: não
 * existe mais alternância clara/escura — este :root é a única fonte,
 * sem @media(prefers-color-scheme) nem [data-theme] de propósito.
 *
 * Como usar numa página nova:
 *   <link rel="stylesheet" href="/design-system/tokens.css">
 */

:root{
  /* ---------- Escala neutra — 50 (fundo, mais escuro) a 900 (texto, mais claro) ----------
     Atlas Brand System: neutralizado o viés azulado que a escala anterior
     carregava (ex: #070A14 lia como "navy quase preto", nunca Obsidian de
     verdade) -- mesma luminosidade relativa de cada degrau (contraste
     preservado), só a matiz corrigida pra neutra/quente. É essa correção
     que dá ao preto a sensação de profundidade premium pedida (Obsidian),
     sem ele competir com o Atlas Gold por temperatura de cor. */
  --atlas-tinta-50:#0A0A0C;
  --atlas-tinta-100:#121214;
  --atlas-tinta-200:#19191C;
  --atlas-tinta-300:#28272C;
  --atlas-tinta-400:#3D3B42;
  --atlas-tinta-500:#78757E;
  --atlas-tinta-600:#9C99A1;
  --atlas-tinta-700:#B7B4BB;
  --atlas-tinta-800:#DDDBE0;
  --atlas-tinta-900:#F5F4F6;

  /* ---------- Atlas Gold — marca dominante ----------
     Escala funcional (não numérica 50-900: esta é uma identidade
     ÚNICA dark, não precisa de variantes claras) -- cada degrau tem um
     papel de uso definido, nunca hex solto espalhado pelo código.
     Dourado quente/premium, nunca neon nem metálico -- mesma matiz em
     toda a escala, só luminosidade/saturação variando por papel. */
  --atlas-gold:#E4AA43;          /* Base -- ação primária, destaque de marca */
  --atlas-gold-hover:#F2C46C;    /* Hover sobre elementos gold */
  --atlas-gold-active:#C68A2E;   /* Pressed/active -- mais denso, dá feedback tátil */
  --atlas-gold-soft:#322713;     /* Fundo suave (badges, pills, hover sutil) */
  --atlas-gold-muted:#9C7C42;    /* Toques de marca discretos -- ícone secundário, texto de apoio com leve calor */
  --atlas-gold-border:color-mix(in srgb,var(--atlas-gold) 45%,var(--atlas-border)); /* Borda com presença de marca sem virar botão */
  --atlas-gold-glow:color-mix(in srgb,var(--atlas-gold) 30%,transparent); /* Sombra/glow -- já era usado inline em vários pontos, agora é 1 token */
  /* -deep era pensado pra texto legível sobre fundo CLARO (tema antigo,
     removido) — usado em ~15 telas como cor de texto sobre fundo escuro,
     então precisa ser o dourado mais claro/legível, não o mais escuro,
     senão vira texto escuro sobre fundo escuro (ilegível). */
  --atlas-gold-deep:#F0BE61;

  /* Ivory / warm white -- ver Art. 6 do Brand System: NÃO substitui
     --atlas-text (usado em toda parte, contraste já correto) -- é um
     tom quente reservado pra headlines/momentos de marca, emparelhado
     com --atlas-font-brand (serif), nunca pro corpo de texto geral. */
  --atlas-ivory:#F4EFE4;

  --atlas-route:#5B8CFF;         /* Dados e analytics -- semântico (info), NUNCA decorativo/brand */
  --atlas-route-hover:#82A8FF;
  --atlas-route-soft:#132344;

  --atlas-olive:#35D58A;         /* Território validado — sucesso, variação positiva */
  --atlas-olive-soft:#0D2C25;

  /* Ajustado (era #F3A84A, perigosamente próximo do Atlas Gold #E4AA43 --
     confundia "isto é um aviso" com "isto é a marca"). Mais laranja,
     menos dourado -- precisa continuar claramente distinto do brand. */
  --atlas-ocre:#E8823D;          /* Atenção */
  --atlas-ocre-soft:#332414;

  --atlas-danger:#FF6577;        /* Rota bloqueada — erro */
  --atlas-danger-soft:#351722;

  /* Mantido como token (pode haver uso pontual legítimo), mas deixou de
     ser a linguagem PADRÃO de "Atlas pensando/gerando" -- ver Art. 14:
     isso agora é Atlas Gold (componentes.css: .ia-step, .atlas-copilot). */
  --atlas-ai:#A970FF;
  --atlas-ai-hover:#C49AFF;
  --atlas-ai-soft:#251743;

  --atlas-cyan:#28D6E7;          /* Operação viva — monitoramento, tráfego e conexão */
  --atlas-cyan-soft:#0B2B35;

  /* ---------- Papéis semânticos (mapeiam a neutra pra uso funcional) ---------- */
  --atlas-bg:var(--atlas-tinta-50);
  --atlas-bg-elevated:var(--atlas-tinta-100);
  --atlas-surface:var(--atlas-tinta-100);
  --atlas-surface-2:var(--atlas-tinta-200);
  --atlas-surface-hover:var(--atlas-tinta-200);
  --atlas-surface-active:var(--atlas-tinta-300);
  --atlas-text:var(--atlas-tinta-900);
  --atlas-text-soft:var(--atlas-tinta-700);
  --atlas-text-faint:var(--atlas-tinta-500);
  --atlas-text-on-gold:var(--atlas-tinta-50); /* já usado em .atlas-btn-primary -- formalizado em token */
  --atlas-border:var(--atlas-tinta-300);
  --atlas-border-soft:var(--atlas-tinta-200);
  --atlas-border-strong:var(--atlas-tinta-400);

  /* ---------- Aliases semânticos (nomenclatura de status, sem duplicar cor) ---------- */
  --atlas-success:var(--atlas-olive);
  --atlas-warning:var(--atlas-ocre);
  --atlas-info:var(--atlas-route);
  /* --atlas-danger já nomeada acima */

  /* ---------- Tipografia — Geist conduz toda a operação; Instrument Serif aparece só em marca/conquista ---------- */
  --atlas-font-display:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --atlas-font-body:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --atlas-font-brand:'Instrument Serif',Georgia,'Iowan Old Style',serif;
  --atlas-font-mono:'SF Mono','JetBrains Mono',Consolas,'Courier New',monospace;

  --atlas-text-hero:52px;    --atlas-text-hero-lh:1.05;
  --atlas-text-h1:36px;      --atlas-text-h1-lh:1.1;
  --atlas-text-h2:27px;      --atlas-text-h2-lh:1.15;
  --atlas-text-h3:20px;      --atlas-text-h3-lh:1.2;
  --atlas-text-body-lg:17px; --atlas-text-body-lg-lh:1.6;
  --atlas-text-body:15px;    --atlas-text-body-lh:1.6;
  --atlas-text-body-sm:13.5px; --atlas-text-body-sm-lh:1.55;
  --atlas-text-caption:12px; --atlas-text-caption-lh:1.4;
  --atlas-text-mono-md:13px;
  --atlas-text-mono-sm:11px;

  /* ---------- Espaçamento — base 4px ---------- */
  --atlas-space-1:4px;
  --atlas-space-2:8px;
  --atlas-space-3:12px;
  --atlas-space-4:16px;
  --atlas-space-5:24px;
  --atlas-space-6:32px;
  --atlas-space-7:48px;
  --atlas-space-8:64px;
  --atlas-space-9:96px;

  /* ---------- Grid ---------- */
  --atlas-container:1160px;
  --atlas-reading-column:720px;
  --atlas-gutter:24px;
  --atlas-bp-sm:480px;
  --atlas-bp-md:768px;
  --atlas-bp-lg:1024px;
  --atlas-bp-xl:1280px;

  /* ---------- Radius ---------- */
  --atlas-radius-sm:4px;
  --atlas-radius-md:8px;
  --atlas-radius-lg:14px;
  --atlas-radius-full:999px;

  /* ---------- Sombra / elevação — recalibrada pra fundo quase-preto:
     alpha mais alto e blur maior, senão a sombra não lê sobre #0B0C10. ---------- */
  --atlas-elevation-1:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.12);
  --atlas-elevation-2:0 16px 42px rgba(0,0,0,.32);
  --atlas-elevation-3:0 30px 80px rgba(0,0,0,.5);

  /* ---------- Movimento ---------- */
  --atlas-duration-micro:120ms;
  --atlas-duration-padrao:200ms;
  --atlas-duration-momento:500ms;
  --atlas-duration-cerimonia:800ms;
  --atlas-ease-instrumento:cubic-bezier(.22,1,.36,1);

  /* ---------- Foco ----------
     Migrado de --atlas-route (azul) pra --atlas-gold: foco de teclado é
     feedback de INTERAÇÃO, não de dado/analytics -- não tem significado
     semântico próprio, então segue a regra "sem significado específico
     -> linguagem de marca" (Art. 11 do Brand System). */
  --atlas-focus-ring:0 0 0 2px var(--atlas-surface), 0 0 0 4px var(--atlas-gold);
}

@media (prefers-reduced-motion: reduce){
  :root{ --atlas-duration-micro:0ms; --atlas-duration-padrao:0ms; --atlas-duration-momento:0ms; --atlas-duration-cerimonia:0ms; }
}

/* Achado real (reportado pelo usuário): <textarea>/<input>/<select> sem
   estilo próprio numa página herdam fundo branco padrão do navegador +
   var(--atlas-text) (bem claro) do texto ao redor, ficando ilegível na
   identidade escura única. Isso é só uma rede de segurança global —
   qualquer página com seu próprio estilo de campo (ex: .campo input)
   continua mandando, por especificidade CSS mais alta. Exclui os tipos
   com renderização nativa própria (checkbox/radio/etc), que uma cor de
   fundo forçada quebraria visualmente. */
textarea,
select,
input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="image"]){
  background:var(--atlas-surface);
  color:var(--atlas-text);
  border-color:var(--atlas-border);
}
