Vercel design system.

Vercel design system — Deploy frontend. Precisão em preto e branco, fonte Geist.

Veja em contexto

Os mesmos design tokens aplicados a diferentes tipos de artefato — um site, um app, um slide, um pôster. Mockups originais retematizados com este sistema, não capturas de tela.

Site
Slides
App
Pôster

Design tokens

56 tokens em conformidade com o contrato de tokens do Open Design — os mesmos valores estruturados de paleta, tipografia, espaçamento e movimento que seu agent lê para tematizar qualquer artefato.

Superfície

  • --bg #ffffff
  • --surface #ffffff
  • --surface-warm var(--surface)

Texto

  • --fg #171717
  • --fg-2 #4d4d4d
  • --muted #666666
  • --meta #808080

Borda

  • --border rgba(0, 0, 0, 0.08)
  • --border-soft rgba(0, 0, 0, 0.04)

Destaque

  • --accent #0070f3
  • --accent-on #ffffff
  • --accent-hover color-mix(in oklab, var(--accent), black 8%)
  • --accent-active color-mix(in oklab, var(--accent), black 14%)

Semântico

  • --success #16a34a
  • --warn #eab308
  • --danger #dc2626

Tipografia

  • --font-display "Geist", "Geist Sans", -apple-system, "Segoe UI", Arial, sans-serif
  • --font-body "Geist", "Geist Sans", -apple-system, "Segoe UI", Arial, sans-serif
  • --font-mono "Geist Mono", ui-monospace, "SF Mono", "Roboto Mono", Menlo, Monaco, "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace

Escala tipográfica

  • --text-xs 12px
  • --text-sm 14px
  • --text-base 16px
  • --text-lg 20px
  • --text-xl 24px
  • --text-2xl 32px
  • --text-3xl 40px
  • --text-4xl 48px
  • --leading-body 1.5
  • --leading-tight 1.1
  • --tracking-display -0.05em

Espaçamento

  • --space-1 4px
  • --space-2 8px
  • --space-3 12px
  • --space-4 16px
  • --space-5 20px
  • --space-6 24px
  • --space-8 32px
  • --space-12 48px
  • --section-y-desktop 96px
  • --section-y-tablet 64px
  • --section-y-phone 48px

Raio

  • --radius-sm 6px
  • --radius-md 8px
  • --radius-lg 12px
  • --radius-pill 9999px

Elevação

  • --elev-flat none
  • --elev-ring 0 0 0 1px var(--border)
  • --elev-raised 0 0 0 1px rgba(0, 0, 0, 0.08), 0 2px 2px rgba(0, 0, 0, 0.04), 0 8px 8px -8px rgba(0, 0, 0, 0.04), 0 0 0 1px #fafafa

Foco

  • --focus-ring 0 0 0 2px var(--accent)

Movimento

  • --motion-fast 150ms
  • --motion-base 200ms
  • --ease-standard cubic-bezier(0.2, 0, 0, 1)

Layout

  • --container-max 1200px
  • --container-gutter-desktop 24px
  • --container-gutter-tablet 16px
  • --container-gutter-phone 12px

Design System Inspired by Vercel

Category: Ferramentas para Desenvolvedores Implantação de frontend. Precisão em preto e branco, fonte Geist.

1. Tema Visual & Atmosfera

O site da Vercel é a tese visual de infraestrutura para desenvolvedores tornada invisível — um design system tão contido que beira o filosófico. A página é predominantemente branca (#ffffff) com texto quase-preto (#171717), criando um vazio de galeria onde cada elemento merece seu pixel. Isso não é minimalismo como decoração; é minimalismo como princípio de engenharia. O design system Geist trata a interface como um compilador trata o código — cada token desnecessário é removido até restar apenas estrutura.

A família de fontes Geist personalizada é a joia da coroa. Geist Sans utiliza espaçamento entre letras negativamente agressivo (-2,4px a -2,88px em tamanhos de exibição), criando títulos que parecem comprimidos, urgentes e engenheirados — como código que foi minificado para produção. Em tamanhos de corpo, o espaçamento relaxa, mas a precisão geométrica persiste. Geist Mono completa o sistema como a fonte monoespaçada para código, saída de terminal e rótulos técnicos. Ambas as fontes habilitam OpenType "liga" (ligaduras) globalmente, adicionando uma camada de sofisticação tipográfica que recompensa uma leitura atenta.

O que distingue a Vercel de outros design systems monocromáticos é sua filosofia de sombra-como-borda. Em vez de bordas CSS tradicionais, a Vercel usa box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.08) — uma sombra de deslocamento zero, desfoque zero e espalhamento de 1px que cria uma linha semelhante a uma borda sem as implicações do modelo de caixa. Essa técnica permite que bordas existam na camada de sombra, possibilitando transições mais suaves, cantos arredondados sem recorte e um peso visual mais sutil do que bordas tradicionais. Todo o sistema de profundidade é construído sobre pilhas de sombras em múltiplas camadas, onde cada camada serve a um propósito específico: uma para a borda, outra para elevação suave e outra para profundidade ambiente.

Características Principais:

  • Geist Sans com espaçamento entre letras extremamente negativo (-2,4px a -2,88px no tamanho de exibição) — texto como infraestrutura comprimida
  • Geist Mono para código e rótulos técnicos com OpenType "liga" globalmente
  • Técnica de sombra-como-borda: box-shadow 0px 0px 0px 1px substitui bordas tradicionais em todo o sistema
  • Pilhas de sombras em múltiplas camadas para profundidade refinada (borda + elevação + ambiente em declarações únicas)
  • Tela quase-branca pura com texto #171717 — não completamente preto, criando uma suavidade de micro-contraste
  • Cores de destaque específicas para fluxo de trabalho: Vermelho Ship (#ff5b4f), Rosa Preview (#de1d8d), Azul Develop (#0a72ef)
  • Sistema de anel de foco usando hsla(212, 100%, 48%, 1) — um azul saturado para acessibilidade
  • Emblemas pílula (9999px) com fundos matizados para indicadores de status

2. Paleta de Cores & Funções

Primária

  • Vercel Black (#171717): Texto primário, títulos, fundos de superfícies escuras. Não é preto puro — o leve calor previne a dureza.
  • Branco Puro (#ffffff): Fundo da página, superfícies de cartões, texto de botões em escuro.
  • Preto Verdadeiro (#000000): Uso secundário, --geist-console-text-color-default, usado em contextos específicos de console/código.

Cores de Destaque para Fluxo de Trabalho

  • Vermelho Ship (#ff5b4f): --ship-text, a etapa de fluxo de trabalho “enviar para produção” — coral-vermelho quente e urgente.
  • Rosa Preview (#de1d8d): --preview-text, o fluxo de trabalho de implantação em preview — magenta-rosa vívido.
  • Azul Develop (#0a72ef): --develop-text, o fluxo de trabalho de desenvolvimento — azul brilhante e focado.

Cores do Console / Código

  • Azul Console (#0070f3): --geist-console-text-color-blue, azul de realce de sintaxe.
  • Roxo Console (#7928ca): --geist-console-text-color-purple, roxo de realce de sintaxe.
  • Rosa Console (#eb367f): --geist-console-text-color-pink, rosa de realce de sintaxe.

Interativo

  • Azul Link (#0072f5): Cor primária de link com decoração de sublinhado.
  • Azul Foco (hsla(212, 100%, 48%, 1)): --ds-focus-color, anel de foco em elementos interativos.
  • Azul Anel (rgba(147, 197, 253, 0.5)): --tw-ring-color, utilitário de anel do Tailwind.

Escala de Neutros

  • Cinza 900 (#171717): Texto primário, títulos, texto de navegação.
  • Cinza 600 (#4d4d4d): Texto secundário, texto descritivo.
  • Cinza 500 (#666666): Texto terciário, links discretos.
  • Cinza 400 (#808080): Texto de placeholder, estados desabilitados.
  • Cinza 100 (#ebebeb): Bordas, contornos de cartões, divisores.
  • Cinza 50 (#fafafa): Matiz sutil de superfície, destaque de sombra interna.

Superfície & Sobreposição

  • Fundo de Sobreposição (hsla(0, 0%, 98%, 1)): --ds-overlay-backdrop-color, fundo de modal/diálogo.
  • Texto de Seleção (hsla(0, 0%, 95%, 1)): --geist-selection-text-color, destaque de seleção de texto.
  • Fundo Azul do Emblema (#ebf5ff): Fundo do emblema pílula, superfície azul matizada.
  • Texto Azul do Emblema (#0068d6): Texto do emblema pílula, azul mais escuro para legibilidade.

Sombras & Profundidade

  • Sombra de Borda (rgba(0, 0, 0, 0.08) 0px 0px 0px 1px): A assinatura — substitui bordas tradicionais.
  • Elevação Sutil (rgba(0, 0, 0, 0.04) 0px 2px 2px): Elevação mínima para cartões.
  • Pilha de Cartão (rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, rgba(0,0,0,0.04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px): Sombra de cartão completa em múltiplas camadas.
  • Borda de Anel (rgb(235, 235, 235) 0px 0px 0px 1px): Anel-borda cinza claro para abas e imagens.

3. Regras Tipográficas

Família de Fonte

  • Primária: Geist, com fallbacks: Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol
  • Monoespaçada: Geist Mono, com fallbacks: ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New
  • Recursos OpenType: "liga" habilitado globalmente em todo texto Geist; "tnum" para números tabulares em legendas específicas.

Hierarquia

FunçãoFonteTamanhoPesoAltura de LinhaEspaçamento entre LetrasObservações
Display HeroGeist48px (3,00rem)6001,00–1,17 (compacto)-2,4px a -2,88pxCompressão máxima, impacto de outdoor
Título de SeçãoGeist40px (2,50rem)6001,20 (compacto)-2,4pxTítulos de seções de funcionalidades
Subtítulo GrandeGeist32px (2,00rem)6001,25 (compacto)-1,28pxTítulos de cartões, subseções
SubtítuloGeist32px (2,00rem)4001,50-1,28pxSubtítulos mais leves
Título de CartãoGeist24px (1,50rem)6001,33-0,96pxCartões de funcionalidades
Título de Cartão LeveGeist24px (1,50rem)5001,33-0,96pxTítulos de cartões secundários
Corpo GrandeGeist20px (1,25rem)4001,80 (relaxado)normalIntroduções, descrições de funcionalidades
CorpoGeist18px (1,13rem)4001,56normalTexto de leitura padrão
Corpo PequenoGeist16px (1,00rem)4001,50normalTexto de interface padrão
Corpo MédioGeist16px (1,00rem)5001,50normalNavegação, texto enfatizado
Corpo SeminegritoGeist16px (1,00rem)6001,50-0,32pxRótulos fortes, estados ativos
Botão / LinkGeist14px (0,88rem)5001,43normalBotões, links, legendas
Botão PequenoGeist14px (0,88rem)4001,00 (compacto)normalBotões compactos
LegendaGeist12px (0,75rem)400–5001,33normalMetadados, tags
Mono CorpoGeist Mono16px (1,00rem)4001,50normalBlocos de código
Mono LegendaGeist Mono13px (0,81rem)5001,54normalRótulos de código
Mono PequenoGeist Mono12px (0,75rem)5001,00 (compacto)normaltext-transform: uppercase, rótulos técnicos
Micro EmblemaGeist7px (0,44rem)7001,00 (compacto)normaltext-transform: uppercase, emblemas minúsculos

Princípios

  • Compressão como identidade: Geist Sans em tamanhos de exibição usa espaçamento entre letras de -2,4px a -2,88px — o espaçamento negativo mais agressivo de qualquer design system importante. Isso cria um texto que parece minificado, como código otimizado para produção. O espaçamento relaxa progressivamente conforme o tamanho diminui: -1,28px em 32px, -0,96px em 24px, -0,32px em 16px, e normal em 14px.
  • Ligaduras em toda parte: Cada elemento de texto Geist habilita OpenType "liga". Ligaduras não são decorativas — são estruturais, criando combinações de glifos mais compactas e eficientes.
  • Três pesos, funções estritas: 400 (corpo/leitura), 500 (interface/interativo), 600 (títulos/ênfase). Sem negrito (700), exceto para micro-emblemas minúsculos. Essa faixa estreita de pesos cria hierarquia através de tamanho e espaçamento, não de peso.
  • Mono como identidade: Geist Mono em maiúsculas com "tnum" ou "liga" serve como a voz do “console de desenvolvedor” — rótulos técnicos compactos que conectam o site de marketing ao produto.

4. Estilização de Componentes

Botões

Branco Primário (Com borda por sombra)

  • Fundo: #ffffff
  • Texto: #171717
  • Padding: 0px 6px (mínimo — largura guiada pelo conteúdo)
  • Raio: 6px (levemente arredondado)
  • Sombra: rgb(235, 235, 235) 0px 0px 0px 1px (borda de anel)
  • Hover: fundo muda para var(--ds-gray-1000) (escuro)
  • Foco: contorno 2px solid var(--ds-focus-color) + sombra var(--ds-focus-ring)
  • Uso: Botão secundário padrão

Escuro Primário (Inferido do sistema Geist)

  • Fundo: #171717
  • Texto: #ffffff
  • Padding: 8px 16px
  • Raio: 6px
  • Uso: CTA principal (“Start Deploying”, “Get Started”)

Botão Pílula / Emblema

  • Fundo: #ebf5ff (azul matizado)
  • Texto: #0068d6
  • Padding: 0px 10px
  • Raio: 9999px (pílula completa)
  • Fonte: 12px peso 500
  • Uso: Emblemas de status, tags, rótulos de funcionalidades

Pílula Grande (Navegação)

  • Fundo: transparente ou #171717
  • Raio: 64px–100px
  • Uso: Navegação por abas, seletores de seção

Cartões & Contêineres

  • Fundo: #ffffff
  • Borda: via sombra — rgba(0, 0, 0, 0.08) 0px 0px 0px 1px
  • Raio: 8px (padrão), 12px (cartões em destaque/imagem)
  • Pilha de sombras: rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px
  • Cartões de imagem: 1px solid #ebebeb com raio superior de 12px
  • Hover: intensificação sutil da sombra

Entradas & Formulários

  • Rádio: estilização padrão com fundo var(--ds-gray-200) no foco
  • Sombra de foco: 1px 0 0 0 var(--ds-gray-alpha-600)
  • Contorno de foco: 2px solid var(--ds-focus-color) — anel de foco azul consistente
  • Borda: via técnica de sombra, não borda tradicional
  • Navegação horizontal limpa em branco, fixa
  • Logotipo Vercel alinhado à esquerda, 262x52px
  • Links: Geist 14px peso 500, texto #171717
  • Ativo: peso 600 ou sublinhado
  • CTA: botões pílula escuros (“Start Deploying”, “Contact Sales”)
  • Mobile: menu hamburguer recolhível
  • Dropdowns de produtos com menus de múltiplos níveis

Tratamento de Imagens

  • Capturas de tela do produto com borda 1px solid #ebebeb
  • Imagens com topo arredondado: raio 12px 12px 0px 0px
  • Capturas de tela de painel/visualização de código dominam seções de funcionalidades
  • Fundos com gradiente suave atrás de imagens de herói (multi-cor pastel)

Componentes Distintos

Pipeline de Fluxo de Trabalho

  • Pipeline horizontal em três etapas: Develop → Preview → Ship
  • Cada etapa tem sua própria cor de destaque: Azul → Rosa → Vermelho
  • Conectados com linhas/setas
  • A metáfora visual para a proposta de valor central da Vercel

Barra de Confiança / Grade de Logos

  • Logos de empresas (Perplexity, ChatGPT, Cursor, etc.) em escala de cinza
  • Rolagem horizontal ou layout em grade
  • Separação sutil com borda #ebebeb

Cartões de Métricas

  • Exibição de números grandes (ex.: “10x mais rápido”)
  • Geist 48px peso 600 para a métrica
  • Descrição abaixo em texto cinza de corpo
  • Contêiner de cartão com borda de sombra

5. Princípios de Layout

Sistema de Espaçamento

  • Unidade base: 8px
  • Escala: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 16px, 32px, 36px, 40px
  • Salto notável: pula de 16px para 32px — sem 20px ou 24px na escala primária

Grade & Contêiner

  • Largura máxima do conteúdo: aproximadamente 1200px
  • Herói: coluna única centralizada com padding superior generoso
  • Seções de funcionalidades: grades de 2–3 colunas para cartões
  • Divisores de largura total usando border-bottom: 1px solid #171717
  • Capturas de tela de código/painel em largura total ou contidas com borda

Filosofia de Espaçamento em Branco

  • Vazio de galeria: Padding vertical massivo entre seções (80px–120px+). O espaço em branco É o design — ele comunica que a Vercel não tem nada a provar nem a esconder.
  • Texto comprimido, espaço expandido: O espaçamento entre letras negativamente agressivo nos títulos é contrabalançado por espaçamento em branco generoso ao redor. O texto é denso; o espaço ao seu redor é vasto.
  • Ritmo de seção: Seções brancas alternam com seções brancas — não há variação de cor entre as seções. A separação vem apenas de bordas (sombras-borda) e espaçamento.

Escala de Raio de Borda

  • Micro (2px): Trechos de código inline, pequenos spans
  • Sutil (4px): Pequenos contêineres
  • Padrão (6px): Botões, links, elementos funcionais
  • Confortável (8px): Cartões, itens de lista
  • Imagem (12px): Cartões em destaque, contêineres de imagem (arredondados no topo)
  • Grande (64px): Pílulas de navegação por abas
  • XL (100px): Links de navegação grandes
  • Pílula Completa (9999px): Emblemas, pílulas de status, tags
  • Círculo (50%): Alternador de menu, contêineres de avatar

6. Profundidade & Elevação

NívelTratamentoUso
Plano (Nível 0)Sem sombraFundo da página, blocos de texto
Anel (Nível 1)rgba(0,0,0,0.08) 0px 0px 0px 1pxSombra-como-borda para a maioria dos elementos
Anel Claro (Nível 1b)rgb(235,235,235) 0px 0px 0px 1pxAnel mais claro para abas, imagens
Cartão Sutil (Nível 2)Anel + rgba(0,0,0,0.04) 0px 2px 2pxCartões padrão com elevação mínima
Cartão Completo (Nível 3)Anel + Sutil + rgba(0,0,0,0.04) 0px 8px 8px -8px + anel #fafafa internoCartões em destaque, painéis realçados
Foco (Acessibilidade)Contorno 2px solid hsla(212, 100%, 48%, 1)Foco do teclado em todos os elementos interativos

Filosofia de Sombras: A Vercel tem indiscutivelmente o sistema de sombras mais sofisticado no design web moderno. Em vez de usar sombras para elevação no sentido tradicional do Material Design, a Vercel usa pilhas de sombras com múltiplos valores, onde cada camada tem um propósito arquitetônico distinto: uma cria a “borda” (0px de espalhamento, 1px), outra adiciona suavidade ambiente (2px de desfoque), outra cuida da profundidade à distância (8px de desfoque com espalhamento negativo) e um anel interno (#fafafa) cria o destaque sutil que faz o cartão “brilhar” por dentro. Essa abordagem em camadas faz com que os cartões pareçam construídos, não flutuando.

Profundidade Decorativa

  • Gradiente do herói: lavagem de gradiente suave e multi-cor pastel atrás do conteúdo do herói (quase invisível, atmosférico)
  • Bordas de seção: 1px solid #171717 (linha escura completa) entre seções principais
  • Sem variação de cor de fundo — a profundidade vem inteiramente do empilhamento de sombras e do contraste de bordas

7. Faça e Não Faça

Faça

  • Use Geist Sans com espaçamento entre letras negativamente agressivo em tamanhos de exibição (-2,4px a -2,88px em 48px)
  • Use sombra-como-borda (0px 0px 0px 1px rgba(0,0,0,0.08)) em vez de bordas CSS tradicionais
  • Habilite "liga" em todo o texto Geist — ligaduras são estruturais, não opcionais
  • Use o sistema de três pesos: 400 (corpo), 500 (interface), 600 (títulos)
  • Aplique cores de destaque de fluxo de trabalho (Vermelho/Rosa/Azul) apenas no contexto do respectivo fluxo
  • Use pilhas de sombras em múltiplas camadas para cartões (borda + elevação + ambiente + destaque interno)
  • Mantenha a paleta de cores acromática — os cinzas de #171717 a #ffffff são o sistema
  • Use #171717 em vez de #000000 para texto primário — o micro-calor importa

Não Faça

  • Não use espaçamento entre letras positivo no Geist Sans — ele é sempre negativo ou zero
  • Não use peso 700 (negrito) em texto de corpo — 600 é o máximo, usado apenas para títulos
  • Não use border CSS tradicional em cartões — use a técnica de sombra-borda
  • Não introduza cores quentes (laranjas, amarelos, verdes) no cromo da interface
  • Não aplique as cores de destaque de fluxo de trabalho (Vermelho Ship, Rosa Preview, Azul Develop) de forma decorativa
  • Não use sombras pesadas (> 0,1 de opacidade) — o sistema de sombras é no nível de sussurro
  • Não aumente o espaçamento entre letras do texto de corpo — Geist foi projetado para ser compacto
  • Não use raio pílula (9999px) em botões de ação primários — pílulas são apenas para emblemas/tags
  • Não omita o anel #fafafa interno nas sombras de cartão — é o brilho que faz o sistema funcionar

8. Comportamento Responsivo

Breakpoints

NomeLarguraPrincipais Mudanças
Mobile Pequeno<400pxColuna única compacta, padding mínimo
Mobile400–600pxMobile padrão, layout empilhado
Tablet Pequeno600–768pxGrades de 2 colunas começam
Tablet768–1024pxGrades completas de cartões, padding expandido
Desktop Pequeno1024–1200pxLayout de desktop padrão
Desktop1200–1400pxLayout completo, largura máxima de conteúdo
Desktop Grande>1400pxCentralizado, margens generosas

Alvos de Toque

  • Botões usam padding confortável (8px–16px vertical)
  • Links de navegação em 14px com espaçamento adequado
  • Emblemas pílula têm 10px de padding horizontal para alvos de toque
  • Alternador de menu mobile usa botão circular com raio de 50%

Estratégia de Colapso

  • Herói: display 48px → escala para baixo, mantendo o espaçamento negativo proporcionalmente
  • Navegação: links horizontais + CTAs → menu hamburguer
  • Cartões de funcionalidades: 3 colunas → 2 colunas → coluna única empilhada
  • Capturas de tela de código: mantêm proporção, podem rolar horizontalmente
  • Logos da barra de confiança: grade → rolagem horizontal
  • Rodapé: múltiplas colunas → coluna única empilhada
  • Espaçamento de seção: 80px+ → 48px no mobile

Comportamento de Imagens

  • Capturas de tela do painel mantêm tratamento de borda em todos os tamanhos
  • Gradiente do herói suaviza/simplifica no mobile
  • Capturas de tela do produto usam imagens responsivas com raio de borda consistente
  • Seções de largura total mantêm tratamento de borda a borda

9. Guia de Prompt para Agente

Referência Rápida de Cores

  • CTA Primário: Vercel Black (#171717)
  • Fundo: Branco Puro (#ffffff)
  • Texto de título: Vercel Black (#171717)
  • Texto de corpo: Cinza 600 (#4d4d4d)
  • Borda (sombra): rgba(0, 0, 0, 0.08) 0px 0px 0px 1px
  • Link: Azul Link (#0072f5)
  • Anel de foco: Azul Foco (hsla(212, 100%, 48%, 1))

Exemplos de Prompts de Componentes

  • “Crie uma seção de herói em fundo branco. Título em 48px Geist peso 600, line-height 1,00, letter-spacing -2,4px, cor #171717. Subtítulo em 20px Geist peso 400, line-height 1,80, cor #4d4d4d. Botão CTA escuro (#171717, raio 6px, padding 8px 16px) e botão fantasma (branco, sombra-borda rgba(0,0,0,0.08) 0px 0px 0px 1px, raio 6px).”
  • “Projete um cartão: fundo branco, sem borda CSS. Use pilha de sombras: rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px. Raio 8px. Título em 24px Geist peso 600, letter-spacing -0,96px. Corpo em 16px peso 400, #4d4d4d.”
  • “Construa um emblema pílula: fundo #ebf5ff, texto #0068d6, raio 9999px, padding 0px 10px, Geist 12px peso 500.”
  • “Crie navegação: cabeçalho fixo branco. Geist 14px peso 500 para links, texto #171717. CTA pílula escuro ‘Start Deploying’ alinhado à direita. Sombra-borda na parte inferior: rgba(0,0,0,0.08) 0px 0px 0px 1px.”
  • “Projete uma seção de fluxo de trabalho mostrando três etapas: Develop (cor de texto #0a72ef), Preview (#de1d8d), Ship (#ff5b4f). Cada etapa: rótulo Geist Mono 14px maiúsculas + título 24px Geist peso 600 + descrição 16px peso 400 em #4d4d4d.”

Guia de Iteração

  1. Sempre use sombra-como-borda em vez de borda CSS — 0px 0px 0px 1px rgba(0,0,0,0.08) é a base
  2. O espaçamento entre letras escala com o tamanho da fonte: -2,4px em 48px, -1,28px em 32px, -0,96px em 24px, normal em 14px
  3. Apenas três pesos: 400 (leitura), 500 (interação), 600 (anúncio)
  4. A cor é funcional, nunca decorativa — cores de fluxo de trabalho (Vermelho/Rosa/Azul) marcam apenas etapas do pipeline
  5. O anel #fafafa interno nas sombras de cartão é o que dá aos cartões Vercel seu brilho interno sutil
  6. Geist Mono maiúsculas para rótulos técnicos, Geist Sans para todo o resto
Modo
design-system
Cena
design
Superfície
web
ID do manifest
design-system-vercel

Tags

  • design-system
  • first-party
  • design
  • developer-tools