/* Visual Up · Design Tokens v1.0
   Gerado por tools/gerar_tokens.py — não editar à mão.
   As escalas saem por OKLCH das duas cores reais da marca:
   basalto-900 = #0A1119 e ambar-500 = #FFB703 são os valores exatos do original.
   Âmbar sobre branco dá 1.75:1 — por isso o âmbar nunca é texto
   sobre claro. É superfície de ação. Ver a regra em identidade.html. */

:root{
  /* ---- Basalto: a estrutura ---- */
  --vu-basalto-50:#F8FAFD;
  --vu-basalto-100:#EFF3F7;
  --vu-basalto-200:#E0E5EB;
  --vu-basalto-300:#C9D0D8;
  --vu-basalto-400:#AAB2BB;
  --vu-basalto-500:#88909A;
  --vu-basalto-600:#646D77;
  --vu-basalto-700:#454E58;
  --vu-basalto-800:#272F38;
  --vu-basalto-900:#0A1119;

  /* ---- Âmbar: a ação e o risco. Nunca ornamento. ---- */
  --vu-ambar-50:#FFF5E0;
  --vu-ambar-100:#FFE9C0;
  --vu-ambar-200:#FFD78E;
  --vu-ambar-300:#FFC861;
  --vu-ambar-400:#FFBD3A;
  --vu-ambar-500:#FFB703;
  --vu-ambar-600:#E29C00;
  --vu-ambar-700:#BF7D00;
  --vu-ambar-800:#935C00;
  --vu-ambar-900:#683D00;

  /* ---- Papéis (usar estes, não os degraus crus) ---- */
  --vu-papel:#FFFFFF;
  --vu-papel-2:var(--vu-basalto-50);
  --vu-papel-3:var(--vu-basalto-100);
  --vu-tinta:var(--vu-basalto-900);
  --vu-tinta-2:var(--vu-basalto-700);
  --vu-tinta-3:var(--vu-basalto-600);
  --vu-linha:var(--vu-basalto-200);
  --vu-linha-forte:var(--vu-basalto-300);
  --vu-acao:var(--vu-ambar-500);
  --vu-acao-sobre:var(--vu-basalto-900);
  --vu-foco:var(--vu-ambar-700);
  --vu-ambar-texto:var(--vu-ambar-800);

  /* ---- Tipografia ---- */
  --vu-display:'Archivo',ui-sans-serif,system-ui,sans-serif;
  --vu-corpo:'Instrument Sans','Inter',ui-sans-serif,system-ui,sans-serif;
  --vu-tecnica:'Fragment Mono',ui-monospace,'SFMono-Regular',monospace;

  /* Escala 1.250 (terça maior), base 16px, fluida onde importa */
  --vu-fs-xs:0.75rem;
  --vu-fs-sm:0.875rem;
  --vu-fs-base:1rem;
  --vu-fs-md:1.25rem;
  --vu-fs-lg:1.5625rem;
  --vu-fs-xl:1.9531rem;
  --vu-fs-2xl:clamp(2rem,1.6rem + 2vw,2.4414rem);
  --vu-fs-3xl:clamp(2.4rem,1.8rem + 3vw,3.0518rem);
  --vu-fs-display:clamp(3rem,1.6rem + 7vw,6.5rem);

  --vu-lh-apertada:1.02;
  --vu-lh-titulo:1.12;
  --vu-lh-corpo:1.6;
  --vu-tracking-display:-0.03em;
  --vu-tracking-etiqueta:0.18em;

  /* ---- Grelha de 4px ---- */
  --vu-e1:4px;  --vu-e2:8px;  --vu-e3:12px; --vu-e4:16px;
  --vu-e5:24px; --vu-e6:32px; --vu-e7:48px; --vu-e8:64px;
  --vu-e9:96px; --vu-e10:128px; --vu-e11:192px;
  --vu-wrap:1200px;
  --vu-wrap-texto:68ch;

  /* ---- A linha: 2px, o elemento estrutural do sistema ---- */
  --vu-linha-peso:2px;

  /* ---- Raios: pílula vem do original, o resto é reto ---- */
  --vu-raio-pilula:999px;
  --vu-raio-cartao:4px;
  --vu-raio-nenhum:0;

  /* ---- Movimento: rapel. Arranca, trava, assenta. Sem elástico. ---- */
  --vu-descida:cubic-bezier(.16,1,.3,1);
  --vu-saida:cubic-bezier(.7,0,.84,0);
  --vu-t-rapido:140ms;
  --vu-t-base:280ms;
  --vu-t-longo:560ms;

  /* ---- Sombra: uma só, e é a de quem está pendurado ---- */
  --vu-sombra:0 18px 40px -24px rgb(10 17 25 / .45);
  --vu-sombra-alta:0 32px 70px -30px rgb(10 17 25 / .55);
}
