v1.2

DESIGN TOKENS.

Todos os valores do sistema em um lugar. Tokens são a única fonte de verdade — cor, tipo, espaço, layout. Nenhum valor hardcoded fora daqui.

Localização: src/styles/tokens.css — importado via globals.css como primeiro arquivo. Todos os tokens são custom properties CSS (var(--nome)).

Token
Valor
Uso
--black-absolute
#000000
Preto total — fundos de modal, overlay
--black-rich
#0a0a0a
Background do body
--black-surface
#111111
Superfícies e painéis internos
--black-elevated
#161616
Elevação leve — cards em hover
--black-card
#1c1c1c
Cards e seções destacadas
--border
#222222
Bordas padrão
--border-subtle
#1a1a1a
Bordas muito sutis — separadores de lista

Único token customizável. Sobrescreva apenas --gold para mudar o acento do sistema inteiro. Todos os outros tokens são fixos e não devem ser alterados.

Token
Valor
Uso
--gold
#c8a44e
Acento principal — único token customizável
--gold-light
#e0c06a
Hover de elementos gold
--gold-bright
#f0d878
Estado ativo / destaque máximo
--gold-dim
rgba(200,164,78,0.12)
Background de badges gold
--gold-dimmer
rgba(200,164,78,0.06)
Background muito sutil — highlight de linha
--gold-glow
rgba(200,164,78,0.25)
Sombra com brilho gold
Token
Valor
Uso
--white
#f0ece4
Texto principal — levemente quente
Aa
--white-pure
#ffffff
Branco puro — sparingly, alto contraste
Aa
--gray-100
#e0dcd4
Texto de alta importância
Aa
--gray-200
#b0b0b0
Texto secundário, descrições
Aa
--gray-300
#8a8a8a
Muted legível — mínimo para texto funcional
Aa
--gray-400
#666666
Labels, metadata — mínimo decorativo
Aa
--gray-500
#444444
Apenas separadores e elementos decorativos
Aa
Token
Valor
Uso
--status-success
#4ec86a
Confirmação, sucesso
--status-warning
#e8a838
Aviso, atenção
--status-error
#c83232
Erro, proibição
--status-info
#4e8cc8
Informação neutra
Token
Família / Uso
--font-display
DARK N' BLACK
Títulos de impacto — caixa alta obrigatória
--font-display-alt
DARK N' BLACK
Títulos com hierarquia intermediária
--font-body
DARK N' BLACK
Corpo de texto, descrições, UI
--font-mono
DARK N' BLACK
Labels, código, dados técnicos
Token
Tamanho
Contexto de uso
--text-hero
72px
H1 de página / hero
--text-display-lg
48px
H2 de seção prioritária
--text-display-md
36px
H3 subseção com impacto
--text-display-sm
24px
H4 títulos menores
--text-body-lg
18px
Subtítulos e introduções
--text-body
16px
Corpo padrão de documentação
--text-body-sm
14px
Conteúdo secundário
--text-label
14px
Labels, captions, mono — mínimo absoluto
Token
Valor
Visualização
--space-xs
4px
--space-sm
8px
--space-md
16px
--space-lg
24px
--space-xl
32px
--space-2xl
48px
--space-3xl
64px
--space-4xl
96px
Token
Valor
Descrição
--nav-height
56px
Altura fixa da topnav
--sidebar-width
256px
Largura fixa da sidebar
--content-max
860px
Largura máxima do conteúdo central
--radius
0px
Border-radius — sempre zero (brutalismo)
--transition
200ms ease
Duração padrão de transições CSS
tokens.css — arquivo completo
:root {
  /* ── Pretos ─────────────────────────────────── */
  --black-absolute:  #000000;
  --black-rich:      #0a0a0a;
  --black-surface:   #111111;
  --black-elevated:  #161616;
  --black-card:      #1c1c1c;
  --border:          #222222;
  --border-subtle:   #1a1a1a;

  /* ── Gold — único token customizável ────────── */
  --gold:            #c8a44e;
  --gold-light:      #e0c06a;
  --gold-bright:     #f0d878;
  --gold-dim:        rgba(200,164,78,0.12);
  --gold-dimmer:     rgba(200,164,78,0.06);
  --gold-glow:       rgba(200,164,78,0.25);

  /* ── Texto ───────────────────────────────────── */
  --white:           #f0ece4;
  --white-pure:      #ffffff;
  --gray-100:        #e0dcd4;
  --gray-200:        #b0b0b0;
  --gray-300:        #8a8a8a;
  --gray-400:        #666666;
  --gray-500:        #444444;

  /* ── Status ──────────────────────────────────── */
  --status-success:  #4ec86a;
  --status-warning:  #e8a838;
  --status-error:    #c83232;
  --status-info:     #4e8cc8;

  /* ── Tipografia ──────────────────────────────── */
  --font-display:     'Bebas Neue', 'Anton', sans-serif;
  --font-display-alt: 'Oswald', sans-serif;
  --font-body:        'DM Sans', sans-serif;
  --font-mono:        'JetBrains Mono', monospace;

  --text-hero:        72px;
  --text-display-lg:  48px;
  --text-display-md:  36px;
  --text-display-sm:  24px;
  --text-body-lg:     18px;
  --text-body:        16px;
  --text-body-sm:     14px;
  --text-label:       14px;

  /* ── Espaçamento ─────────────────────────────── */
  --space-xs:   4px;
  --space-sm:   8px;
  --space-md:   16px;
  --space-lg:   24px;
  --space-xl:   32px;
  --space-2xl:  48px;
  --space-3xl:  64px;
  --space-4xl:  96px;

  /* ── Layout ──────────────────────────────────── */
  --nav-height:    56px;
  --sidebar-width: 256px;
  --content-max:   860px;
  --radius:        0px;
  --transition:    200ms ease;
}
tokens.json — uso programático (JS/TS)
{
  "color": {
    "black": {
      "absolute":  "#000000",
      "rich":      "#0a0a0a",
      "surface":   "#111111",
      "elevated":  "#161616",
      "card":      "#1c1c1c"
    },
    "border":      "#222222",
    "borderSubtle":"#1a1a1a",
    "gold":        "#c8a44e",
    "goldLight":   "#e0c06a",
    "goldBright":  "#f0d878",
    "white":       "#f0ece4",
    "gray": {
      "100": "#e0dcd4",
      "200": "#b0b0b0",
      "300": "#8a8a8a",
      "400": "#666666",
      "500": "#444444"
    },
    "status": {
      "success": "#4ec86a",
      "warning": "#e8a838",
      "error":   "#c83232",
      "info":    "#4e8cc8"
    }
  },
  "font": {
    "display":    "Bebas Neue",
    "displayAlt": "Oswald",
    "body":       "DM Sans",
    "mono":       "JetBrains Mono"
  },
  "size": {
    "hero":      "72px",
    "displayLg": "48px",
    "displayMd": "36px",
    "displaySm": "24px",
    "bodyLg":    "18px",
    "body":      "16px",
    "bodySm":    "14px",
    "label":     "14px"
  },
  "space": {
    "xs":  "4px",
    "sm":  "8px",
    "md":  "16px",
    "lg":  "24px",
    "xl":  "32px",
    "2xl": "48px",
    "3xl": "64px",
    "4xl": "96px"
  }
}
Como sobrescrever o gold
/* Em qualquer CSS depois do import do sistema */
:root {
  --gold: #ff5500;  /* laranja, por exemplo */
}

/* Todas as variantes (--gold-light, --gold-dim, etc.)
   precisam ser sobrescritas manualmente neste portal.
   No futuro framework npm elas serão derivadas via color-mix(). */

Use sempre var(--token). Nunca escreva um valor de cor, tamanho ou fonte diretamente no código — use o token correspondente. Isso garante consistência e facilita ajustes futuros.

Não crie tokens novos sem necessidade. Se o valor que você precisa já existe na escala (ex: 16px = --space-md), use o token existente. Tokens extras fragmentam o sistema.