Foundations

Surfaces .

A espinha dorsal de theming do sistema. Qualquer elemento com o atributo data-surface redefine todos os role tokens para a sua subárvore — sem nenhum override em componente individual. É assim que um Card escurece automaticamente quando entra numa seção carbon ou ink.

Como funciona

Em tokens.css, cada bloco [data-surface="X"] reescreve os role tokens — --surface, --text-strong, --text-body, --card-bg, --btn-primary-bg e outros — para os valores corretos daquela superfície. Não há condicionais em componente: o componente consome sempre o mesmo token, e o token muda de valor conforme o contexto de superfície.

O resultado: qualquer novo componente que respeite os role tokens funciona corretamente em todas as quatro superfícies sem código adicional.

Demonstração

As quatro superfícies a seguir são demonstradas em sequência. Cada uma contém um Card para mostrar o cascade em ação — o card adapta seu fundo automaticamente.

data-surface="paper"

Paper

#F8FAF8

A superfície base do sistema. Quase branco com um toque de menta — confortável para leitura longa e páginas de conteúdo.

Uso típico

Páginas de conteúdo, documentação, layouts de formulário.

Card em Paper

O card usa --card-bg e --card-border, que resolvem automaticamente para esta superfície. Texto em --text-strong e --text-body.

Acento → --text-accent

data-surface="cream"

Cream

#EFF4EF

A segunda superfície — ligeiramente mais escura que o paper. Ideal para alternar seções sem criar contraste duro.

Uso típico

Seções alternadas, cartões sobre paper, estados de chip.

Card em Cream

O card usa --card-bg e --card-border, que resolvem automaticamente para esta superfície. Texto em --text-strong e --text-body.

Acento → --text-accent

data-surface="carbon"

Carbon

#1C1C1C

Grafite neutro de declaração. O verde elétrico aparece aqui como acento puro. Usado em seções de destaque, hero escuro e CTAs.

Uso típico

Hero escuro, seções de destaque, CTAs de contraste.

Card em Carbon

O card usa --card-bg e --card-border, que resolvem automaticamente para esta superfície. Texto em --text-strong e --text-body.

Acento → --text-accent

data-surface="ink"

Ink

#121312

Quase-preto com whisper de verde. A superfície mais profunda do sistema — reservada para o rodapé e camadas de máxima ênfase.

Uso típico

Rodapé, superfície de máxima profundidade.

Card em Ink

O card usa --card-bg e --card-border, que resolvem automaticamente para esta superfície. Texto em --text-strong e --text-body.

Acento → --text-accent