paleta brand

01 · 11 cores primárias

Cores que carregam a identidade Casa Hacker. Code é a cor de destaque (CTA, focus, links), Dos é o fundo escuro, Console o claro. As demais são níveis intermediários e cores de apoio.

primárias

Code
#32FA96
destaque · CTA · focus
Dos
#3C433C
fundo escuro · texto primário
Java
#91938C
texto helper · borda forte
Inspect
#D7DCD7
borda sutil · layer-03
Console
#F0F5F0
background hover · layer-02
CSS
#F8FCF8
background (light theme)

secundárias e apoio

Sec Green
#E1FFDE
tag green light
Sec Blue
#B3D9FE
tag info
Sec Pink
#FF9ECF
tag pink · destaque alternativo
Script
#D79B2E
support warning
Error red
#DA1E28
support error · danger

paleta estendida · purple

02 · perifa impacto

O PerifaImpacto introduz uma paleta roxa que estende o sistema sem quebrá-lo. O mesmo roxo é usado pra marcar conteúdo gerado por IA (ver Casa Hacker for AI).

Purple Light

#D3BAF5

Purple

#AA78E6

Purple Dark

#6C44A0

tokens semânticos

03 · carbon-mapped

Toda cor em componente é via token semântico. var(--background) em vez de #F8FCF8. Lista completa, agrupada por função.

backgrounds

tokenlightdarkuso
--background#F8FCF8#3C433Cfundo da página
--background-hover#F0F5F0#444B44hover sobre o background
--background-active#D7DCD7#525952pressed state
--background-selectedrgba(50,250,150,.12)rgba(50,250,150,.16)item selecionado
--background-inverse#3C433C#F8FCF8tooltip · modal backdrop
--background-brand#32FA96#32FA96destaque brand

layers (cards, painéis)

tokenlightdarkuso
--layer-01#FFFFFF#2C322Ccard primário
--layer-02#F0F5F0#383E38card aninhado
--layer-03#D7DCD7#444B443º nível de aninhamento

text

tokenlightdarkuso
--text-primary#3C433C#F8FCF8corpo de texto e títulos
--text-secondary#5C625C#D7DCD7descrições, suporte
--text-tertiary#91938C#ADB1A9placeholders, metadados
--text-helper#91938C#ADB1A9helper de form
--text-on-color#3C433C#3C433Ctexto sobre cor brand
--text-inverse#F8FCF8#3C433Ctexto em fundo invertido
--text-error#DA1E28#FF8389mensagem de erro

support (estados)

tokenlightuso
--support-error#DA1E28erros e danger
--support-success#24C775confirmações
--support-warning#D79B2Eavisos
--support-info#0F62FEinformação neutra

light e dark theme

04 · troca por atributo

O tema é controlado por data-theme="dark" no elemento <html>. Sem JS, sem build — só CSS variables sendo redeclaradas dentro do seletor de atributo.

// light theme

casa hacker

background sutil, texto Dos, destaques Code.

// dark theme

casa hacker

fundo Dos, texto CSS, mesmo Code de destaque.

contraste & a11y

05 · wcag aa

Todo par de tokens texto/fundo do sistema passa em WCAG AA (4.5:1 para texto normal, 3:1 para texto grande). Tabela verificada manualmente.

parrazãoaa textaa large
text-primary / background (light)11.7 : 1
text-secondary / background (light)7.2 : 1
text-on-color / background-brand11.5 : 1
text-primary / background (dark)13.4 : 1
text-secondary / background (dark)9.1 : 1
support-error / background (light)5.2 : 1

quando usar cada cor

06 · diretrizes

use

  • --ch-code só pra UMA ação primária por contexto
  • --ch-purple pra IA, PerifaImpacto, conteúdo generativo
  • --support-error pra erros · --support-warning pra avisos · --support-success pra OK
  • --ch-script (D79B2E) só pra warning, nunca como destaque comum

não use

  • cores cruas (#32FA96) em componentes — usa o token semântico
  • cor sozinha pra transmitir significado (sempre acompanhe de ícone/texto)
  • --ch-code como cor de texto longo — só destaque pontual
  • 3+ cores de destaque numa mesma tela — gera ruído visual

código

07 · css
/* usar tokens semânticos sempre que possível */ .my-card { background: var(--layer-01); color: var(--text-primary); border: 1px solid var(--border-subtle-00); } /* cor brand crua só pra destaques muito específicos */ .brand-stamp { background: var(--ch-code); color: var(--ch-dos); } /* trocar de tema */ html[data-theme="dark"] { /* todos os tokens são re-declarados automaticamente */ }