O sistema visual, medido
Guia vivo dos dois registros. Se algum bloco desta página estiver errado, o erro se multiplica por todas as fases seguintes.
Os dois registros
Editorial — formulário público
Três camadas, 48px de altura. Moldura 8px com bandeja 4px — a fórmula concêntrica fecha exata. Padding assimétrico 4·16·4·4.
Produto — builder e dashboard
Mesma luz, mesma sombra, mesma família. Altura 36px, raio 4px, 150ms. Densidade oposta.
Escala editorial
Aplicação enviada
54px / 110%
Aplicação enviada
42px / 110% · 25px no celular
Aplicação enviada
36px / 135%
Aplicação enviada
24px / 135%
Aplicação enviada
20px / 115%
Aplicação enviada
18px / 140% — não encolhe
Aplicação enviada
14px / 125%
A entrelinha está embutida no token: não existe título grande com entrelinha de corpo por acidente. Quanto maior o tipo, menor a entrelinha.
Hierarquia de texto
Nenhum #ccc, #999 ou #666. Alfa atravessa qualquer troca de fundo sem retradução — é o que torna o white-label da Fase 3.7 possível trocando quatro tokens.
Raio — escala corporativa
xs · 2px
bandeja interna, tag
sm · 4px
botão, campo — o padrão
md · 6px
cartão, painel
lg · 8px
modal, folha
O raio codifica nível de hierarquia, não tamanho do objeto: um cartão de 400px tem o mesmo raio de um de 60px. A cápsula foi eliminada.
As quatro camadas — a prova
Retângulo pintado com uma mancha embaixo.
Objeto físico: os dois inset dão a espessura.
A diferença está nos inset: o fio claro é luz batendo na borda de cima, o escuro é a espessura da peça. Com raio de 4px isto deixou de ser acabamento e virou obrigação — sem a cápsula, é a sombra que carrega a sensação de objeto.
A fonte de luz — 51.4% 6.1%
51.4% 6.1% — peça moldada50% 50% — adesivo20% 90% — luz de baixo, errada
Um valor só, para a página inteira. Se o botão tem luz de cima e o cartão tem luz da esquerda, o cérebro registra “montagem” sem saber apontar por quê.
As três densidades de linha
Controles de formulário — produto
O <select> nativo foi abandonado por um motivo concreto: o menu dele é desenhado pelo sistema operacional. Num painel escuro ele abre branco, com a fonte do Windows e o azul de seleção do Windows, e nenhuma linha de CSS alcança aquilo. É o único componente capaz de fazer um produto inteiro parecer amador em um clique.
O preço de trocar é reimplementar o que ele fazia de graça — setas, Home/End, digitar para pular, Esc, foco de volta no gatilho, virar para cima quando falta espaço. Essa aritmética vive pura em navigation.ts, com teste: é o tipo de coisa que quebra sem lançar erro e sem aparecer em log.
Campo afunda, botão sobe. A sombra interna no campo e as quatro camadas no botão não são acabamento — são como a mão sabe onde clicar antes de ler.
Movimento editorial — GSAP
Cada palavra sobe dez pixels, em escada de setenta milissegundos
Recarregue a página para ver de novo. Se o bundle do GSAP falhar em carregar, a trava se solta em 2,5s e este bloco aparece sem animação — nunca em branco. Numa rota que recebe aplicação de R$ 50 mil, a diferença entre “sem animação” e “página quebrada” é a venda.