01 / Fundamentos

Os tokens.

Tudo no Priceshow é construído a partir destes valores. Mude um token, e site, app e TV se ajustam juntos.

Cor

--*

Tokens semânticos

Use estes na UI — eles trocam automaticamente entre dark e light.

--background
Página · canvas
--card
Superfície elevada
--primary
Marca · CTA
--secondary
Botão neutro
--muted
Subtítulo · header de tabela
--accent
Hover · seleção
--destructive
Erro · ação destrutiva
--success
No ar · sincronizado
--warning
Agendado · atenção
--info
Informacional

Paleta para gráficos

--chart-1
--chart-2
--chart-3
--chart-4
--chart-5
Use tokens semânticos, não hex

Nunca codifique #fbbf24 direto. Use var(--primary) — assim o tema light/dark continua funcionando e mudanças futuras não exigem busca-e-substitui.

Tipografia

Geist · Geist Mono

Geist

Família principal. Sans neo-grotesque, ótima legibilidade em densidades altas, números bem desenhados.

Aa Bb Cc 1234
400 Regular 500 Medium 600 Semibold 700 Bold

Geist Mono

Para preços, IDs, códigos. tabular-nums ativo por padrão — colunas alinham.

R$ 7,49
400 Regular 500 Medium

Escala

TokenTamanhoUso típicoAmostra
--text-xs12pxHelper, labels de tabelaA linha de helper
--text-sm14pxBody app, label formTexto base do painel
--text-base16pxBody site, parágrafoTexto base do site
--text-lg18pxLede, card titleSubtítulo de seção
--text-xl20pxH3 painelTítulo de card
--text-2xl24pxH2 painelTítulo de página
--text-3xl30pxH2 siteSection heading
--text-4xl36pxHero secundárioDisplay
--text-5xl48pxH1 siteHero
--text-6xl60pxHero grandeBig
--text-7xl72pxTV — preço hero7,49

Espaçamento

base 4px
TokenValorVisual
--space-14px
--space-28px
--space-312px
--space-416px
--space-624px
--space-832px
--space-1248px
--space-1664px
--space-2496px

Raio & sombra

Raio

--radius-sm · 4px
--radius · 8px
--radius-lg · 12px
--radius-2xl · 24px
--radius-full

Sombra

--shadow-sm
--shadow
--shadow-md
--shadow-lg

Sombras são discretas — usadas para popovers, dropdowns e dialogs. No painel, prefira borda; no site, sombra leve em cards de feature.

Motion

TokenValorUso
--duration-fast120msHover, foco, pequenos retornos
--duration180msPadrão — quase tudo
--duration-slow280msDialog/sheet abrindo, navegação
--ease-outcubic-bezier(.16, 1, .3, 1)Padrão de entrada/saída
--ease-in-outcubic-bezier(.65, 0, .35, 1)Movimento simétrico