/*
 * tokens.css gerado pela biblioteca de componentes (squads/design/biblioteca).
 * Projeto: evolua-suas-financas
 * Design system: DS-1-evolua-suas-financas-V2
 * Gerado em: 2026-10-22 por scripts/gerar-tokens-css.mjs
 * NÃO EDITAR À MÃO: mude o tokens.json do projeto e gere de novo.
 * No <head> da página, prefira: <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Audiowide&family=Questrial&family=Lobster+Two&family=Unbounded&display=swap">
 *
 * Contraste (WCAG AA):
 *   ok    padrão: --ds-cor-texto sobre --ds-cor-fundo = 21.00:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-titulo sobre --ds-cor-fundo = 15.10:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-texto-suave sobre --ds-cor-fundo = 21.00:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-texto-destaque sobre --ds-cor-fundo = 15.10:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-texto sobre --ds-cor-superficie = 21.00:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-sobre-destaque sobre --ds-cor-destaque = 15.10:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-sobre-destaque-2 sobre --ds-cor-destaque-2 = 5.83:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-sobre-marca sobre --ds-cor-fundo-marca = 15.10:1 (mínimo 4.5:1)
 *   ok    padrão: --ds-cor-foco sobre --ds-cor-fundo = 15.10:1 (mínimo 3:1)
 *   ok    modo negativa: --ds-cor-texto sobre --ds-cor-fundo = 21.00:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-titulo sobre --ds-cor-fundo = 21.00:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-texto-suave sobre --ds-cor-fundo = 21.00:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-texto-destaque sobre --ds-cor-fundo = 8.11:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-texto sobre --ds-cor-superficie = 15.10:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-sobre-destaque sobre --ds-cor-destaque = 8.11:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-sobre-destaque-2 sobre --ds-cor-destaque-2 = 15.10:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-sobre-marca sobre --ds-cor-fundo-marca = 15.10:1 (mínimo 4.5:1)
 *   ok    modo negativa: --ds-cor-foco sobre --ds-cor-fundo = 8.11:1 (mínimo 3:1)
 *
 * Avisos:
 *   --ds-raio-pilula: o DS não define; usando o padrão estrutural 999px
 *   --ds-largura-conteudo: o DS não define; usando o padrão estrutural 1120px
 *   --ds-largura-texto: o DS não define; usando o padrão estrutural 68ch
 *   --ds-duracao: o DS não define; usando o padrão estrutural 200ms
 *   --ds-duracao-lenta: o DS não define; usando o padrão estrutural 350ms
 *   --ds-curva: o DS não define; usando o padrão estrutural cubic-bezier(0.2, 0, 0, 1)
 */
@import url("https://fonts.googleapis.com/css2?family=Audiowide&family=Questrial&family=Lobster+Two&family=Unbounded&display=swap");

:root {
  --ds-cor-fundo: #FFFFFF; /* semantic.color.bg.default */
  --ds-cor-superficie: #FFFFFF; /* semantic.color.bg.surface */
  --ds-cor-fundo-marca: #002E00; /* semantic.color.bg.brand */
  --ds-cor-texto: #000000; /* semantic.color.text.body */
  --ds-cor-titulo: #002E00; /* semantic.color.text.heading */
  --ds-cor-texto-suave: #000000; /* alias de --ds-cor-texto */
  --ds-cor-texto-destaque: #002E00; /* semantic.color.text.accent */
  --ds-cor-destaque: #002E00; /* semantic.color.action.primary-bg */
  --ds-cor-sobre-destaque: #FFFFFF; /* semantic.color.action.primary-fg */
  --ds-cor-destaque-2: #65B34E; /* semantic.color.action.secondary-bg */
  --ds-cor-sobre-destaque-2: #002E00; /* semantic.color.action.secondary-fg */
  --ds-cor-sobre-marca: #FFFFFF; /* semantic.color.text.on-brand */
  --ds-cor-sobre-marca-destaque: #65B34E; /* semantic.color.text.on-brand-accent */
  --ds-cor-acento: #65B34E; /* semantic.color.decor.accent */
  --ds-cor-borda: #002E0029; /* semantic.color.border.subtle */
  --ds-cor-foco: #002E00; /* semantic.color.action.focus-ring */
  --ds-fonte-titulo: Audiowide, Questrial, system-ui, sans-serif; /* semantic.font.heading */
  --ds-fonte-texto: Questrial, "Segoe UI", system-ui, sans-serif; /* semantic.font.body */
  --ds-fonte-destaque: "Lobster Two", cursive; /* semantic.font.accent */
  --ds-fonte-impacto: Unbounded, Questrial, sans-serif; /* semantic.font.impact */
  --ds-peso-titulo: 400; /* semantic.typography.h2.fontWeight */
  --ds-peso-texto: 400; /* semantic.typography.body.fontWeight */
  --ds-peso-forte: 400; /* alias de --ds-peso-texto */
  --ds-tamanho-legenda: 12px; /* primitive.font-size.xs */
  --ds-tamanho-pequeno: 14px; /* semantic.typography.small.fontSize */
  --ds-tamanho-texto: 16px; /* semantic.typography.body.fontSize */
  --ds-tamanho-texto-grande: 18px; /* semantic.typography.body-lg.fontSize */
  --ds-tamanho-cartao: 20px; /* semantic.typography.card-title.fontSize */
  --ds-tamanho-h3: 24px; /* semantic.typography.h3.fontSize */
  --ds-tamanho-h2: 30px; /* semantic.typography.h2.fontSize */
  --ds-tamanho-display: 48px; /* semantic.typography.display.fontSize */
  --ds-tamanho-numero: 36px; /* primitive.font-size.4xl */
  --ds-altura-linha-titulo: 1.15; /* semantic.typography.h2.lineHeight */
  --ds-altura-linha-texto: 1.6; /* semantic.typography.body.lineHeight */
  --ds-espacamento-titulo: 0.5px; /* semantic.typography.h2.letterSpacing */
  --ds-espaco-1: 4px; /* primitive.space.1 */
  --ds-espaco-2: 8px; /* primitive.space.2 */
  --ds-espaco-3: 12px; /* primitive.space.3 */
  --ds-espaco-4: 16px; /* semantic.space.stack */
  --ds-espaco-6: 24px; /* semantic.space.gap */
  --ds-espaco-8: 32px; /* primitive.space.8 */
  --ds-espaco-12: 48px; /* primitive.space.12 */
  --ds-espaco-16: 64px; /* primitive.space.16 */
  --ds-pagina-x-mobile: 16px; /* semantic.space.page-x-mobile */
  --ds-pagina-x-desktop: 32px; /* semantic.space.page-x-desktop */
  --ds-secao-y-mobile: 48px; /* semantic.space.section-y-mobile */
  --ds-secao-y-desktop: 64px; /* semantic.space.section-y-desktop */
  --ds-raio-sm: 4px; /* primitive.radius.sm */
  --ds-raio-md: 8px; /* primitive.radius.md */
  --ds-raio-lg: 16px; /* primitive.radius.lg */
  --ds-raio-botao: 8px; /* component.button.primary.radius */
  --ds-raio-cartao: 16px; /* component.card.radius */
  --ds-raio-pilula: 999px; /* padrão estrutural da biblioteca (o DS não define) */
  --ds-borda-largura: 1px; /* component.card.border-width */
  --ds-borda-largura-forte: 2px; /* primitive.border-width.thick */
  --ds-sombra-sm: 0px 1px 2px 0px #002E0014; /* component.button.primary.shadow */
  --ds-sombra-md: 0px 4px 12px 0px #002E0029; /* component.card.shadow */
  --ds-botao-fonte: Questrial, "Segoe UI", system-ui, sans-serif; /* alias de --ds-fonte-texto */
  --ds-botao-tamanho: 16px; /* component.button.primary.font-size */
  --ds-botao-pad-x: 24px; /* component.button.primary.padding-x */
  --ds-botao-pad-y: 12px; /* component.button.primary.padding-y */
  --ds-cartao-padding: 24px; /* component.card.padding */
  --ds-logo-largura: 160px; /* component.logo.min-width-full */
  --ds-largura-conteudo: 1120px; /* padrão estrutural da biblioteca (o DS não define) */
  --ds-largura-texto: 68ch; /* padrão estrutural da biblioteca (o DS não define) */
  --ds-duracao: 200ms; /* padrão estrutural da biblioteca (o DS não define) */
  --ds-duracao-lenta: 350ms; /* padrão estrutural da biblioteca (o DS não define) */
  --ds-curva: cubic-bezier(0.2, 0, 0, 1); /* padrão estrutural da biblioteca (o DS não define) */
}

/* Modo "negativa" declarado no DS: use data-ds-modo="negativa" numa seção ou no <body>. */
[data-ds-modo="negativa"] {
  --ds-cor-fundo: #000000;
  --ds-cor-superficie: #002E00;
  --ds-cor-texto: #FFFFFF;
  --ds-cor-titulo: #FFFFFF;
  --ds-cor-texto-suave: #FFFFFF;
  --ds-cor-texto-destaque: #65B34E;
  --ds-cor-destaque: #65B34E;
  --ds-cor-sobre-destaque: #000000;
  --ds-cor-destaque-2: #FFFFFF;
  --ds-cor-borda: #FFFFFF29;
  --ds-cor-foco: #65B34E;
  background-color: var(--ds-cor-fundo);
  color: var(--ds-cor-texto);
}
