Sistema Tipográfico Operacional
Precisão Viva v3.0: Inter (display e body) + JetBrains Mono, as duas escalas (chrome × documento) e a fronteira entre elas — aplicação dos tokens v1.5.
Sistema Tipográfico Operacional Sincronow v3.0 — Precisão Viva
Status: Documento de execução, recalibrado para a família "Precisão Viva" (DL-015, 18/07/2026). Substitui integralmente as gerações anteriores (v1.0 Newsreader/Mona Sans e v2.0 Bricolage) — ver §6 "O que a DL-015 revogou".
Versão: 3.0.0 — recalibração Precisão Viva (21-22/08/2026).
Quando consultar: antes de definir hierarquia de página, configurar fontes em projeto digital, ou criar/usar tokens tipográficos.
1. Papel deste documento e fonte da verdade
Este documento é APLICAÇÃO, não origem. Os valores nascem em um único lugar:
- Fonte da verdade dos valores: vault
sincronow-mind/1-projects/design-system-v2/tokens/00-tokens.md(Precisão Viva, v1.5). - Régua de aplicação entre produtos: vault
2-areas/@sincronow/05-sincronow-mind/21-style-guide-da-marca.md(as 8 regras — Decisão 98). - Implementação neste app:
styles/typography.cssestyles/fonts.cssdosincronow-brand-app(famílias também declaradas no@themedeapp/globals.css).
Este documento nunca diverge do 00-tokens. Se divergir, os tokens vencem.
2. As famílias — uma família, dois papéis, mais a voz técnica
| Papel | Var CSS (neste app) | Família | Onde usar |
|---|---|---|---|
| Display (títulos, hero) | --font-display | Inter (fallback system-ui, sans-serif) | h1/h2, página, capa — o registro muda por peso e tamanho, não por família |
| Body (UI, corpo, h3-h6) | --font-body | Inter (fallback system-ui, sans-serif) | corpo de texto, UI, formulários |
| Mono (voz técnica) | --font-mono | JetBrains Mono (fallback "Fira Code", monospace) | micro-rótulos (uppercase, tracking largo), dados, código, assinaturas técnicas |
Inter é display E body — uma família, dois papéis. A hierarquia nasce de peso, tamanho e tracking, nunca de troca de família. É a tipografia neutra engineered do produto claro.
JetBrains Mono é a assinatura técnica da marca: labels mono-uppercase com tracking largo, número de dado, token, versão, hash. Nunca carrega identidade sozinha — entra como suporte dentro de um sistema que já tem Inter.
⛔ Bricolage Grotesque está APOSENTADA pela DL-015 (era o display da família editorial v1.2/v2.0). Newsreader e Mona Sans já estavam aposentadas desde a v2.0. Peça nova não usa nenhuma das três.
3. As DUAS escalas — e a fronteira entre elas
A fronteira é deliberada, e é a mesma lógica do chrome neutro (regra 2 do doc 21):
- Chrome (navegação, sidebar, botões, UI) usa a escala do framework —
Tailwind
text-sm/text-xs/text-lg, que é a do shadcn e está consistente entre os produtos. - Documento (a peça que o cliente lê: entregável, relatório, doc da marca) usa a escala da casa.
Tamanho arbitrário (text-[Npx]) é dívida — o 10.5px já morreu uma vez
na tokenização, não renasce.
3.1 Escala do documento — a escala da casa (00-tokens v1.4)
| Token | Valor | Papel |
|---|---|---|
--text-micro | 10px | micro-rótulo mono: fonte, janela, badge |
--text-corpo | 15px | corpo de entregável |
--text-lead | 17px | subtítulo do cabeçalho |
--text-numero | 26px | número em destaque |
--text-numero-lg | 40px | número manchete |
--text-titulo | 32px | h1 de entregável |
3.2 Escala local deste app (styles/typography.css)
O brand-app carrega uma escala própria de 14 tokens, base 16px × major-third (1.25) em grid 8px — é a implementação vigente das páginas de documentação:
| Grupo | Tokens | Valores |
|---|---|---|
| Microtipografia | --text-microcopy · --text-label · --text-caption | 10px · 12px · 14px |
| Corpo | --text-body-sm · --text-body-md · --text-body-lg | 16px · 18px · 20px |
| Títulos (Inter semibold) | --text-heading-sm · --text-heading-md · --text-heading-lg · --text-heading-xl | 16px · 18px · 20px · 24px |
| Display (Inter — só página/hero) | --text-display-sm · --text-display-md · --text-display-lg · --text-display-xl | 28px · 36px · 44px · 56px |
A escala editorial de 44-80px da geração Newsreader está aposentada; o display atual para em 56px.
3.3 Leading e tracking (vars deste app)
| Leading | Valor | Papel | Tracking | Valor | Papel | |
|---|---|---|---|---|---|---|
--leading-tight | 1.2 | display grande | --tracking-tighter | −0.04em | display bold | |
--leading-snug | 1.35 | títulos menores | --tracking-tight | −0.02em | headings | |
--leading-normal | 1.6 | corpo padrão | --tracking-normal | 0 | corpo | |
--leading-relaxed | 1.75 | corpo longo editorial | --tracking-wide | 0.05em | labels/captions uppercase | |
--leading-loose | 2 | código, specs tabulares | --tracking-wider | 0.1em | identificadores mono | |
--tracking-widest | 0.15em | selos, badges uppercase |
Pesos oficiais: --weight-light 300 · --weight-regular 400 ·
--weight-medium 500 · --weight-semibold 600 · --weight-bold 700 ·
--weight-black 900.
Medidas de linha: --measure-narrow 45ch (citações) ·
--measure-default 65ch (corpo) · --measure-wide 85ch (tabelas/specs).
Na Central, os tokens de largura são --container-portal (1140px, trabalho)
e --container-medida (70ch, prosa) — container largo, texto capado por
dentro (00-tokens v1.3).
4. Regras de aplicação (recorte do doc 21 — a régua vale em TODO produto)
Do 21-style-guide-da-marca.md (as 8 regras), as pertinentes a tipografia:
- Regra 1 — valor vive em token. Tamanho, leading e tracking saem das tabelas §3, nunca de número solto em componente.
- Regra 2 — a fronteira das escalas é única: chrome na escala do
framework; documento/peça na escala da casa.
text-[Npx]é dívida. - Regra 3 — Inter + JetBrains Mono em todo repo. Produto sem
--font-monoda marca está incompleto. Bricolage aposentada. - Regra 7 — um idioma por conceito nos nomes de token — renomear é PR, não achado.
O que NÃO mudou com a DL-015: a microtipografia brasileira (aspas curly,
reticências como glyph único, NBSP entre valor e unidade) segue válida — no
app ela é aplicada pelo pipeline MDX (remark-microtypography). Regras de
texto para mensagem a cliente moram no vault
(05-sincronow-mind/20-padroes-de-mensagem.md), não aqui.
5. Como conferir uma peça (checklist mínimo)
[ ] Só Inter e JetBrains Mono? (Bricolage/Newsreader/Mona Sans = material antigo)
[ ] Cada texto está num degrau das escalas §3 — nenhum tamanho arbitrário?
[ ] Chrome na escala do framework; documento na escala da casa?
[ ] Micro-rótulo técnico em mono uppercase com tracking largo?
[ ] Leading/tracking saem dos tokens, não de valor solto?
6. Registro de mudança — o que a DL-015 revogou
A tipografia Precisão Viva foi decidida em 18/07/2026 (DL-015). A recalibração deste documento é de 21-22/08/2026. Quem tiver material antigo confere contra esta tabela:
| Saiu (gerações anteriores) | Entrou (Precisão Viva) |
|---|---|
| Bricolage Grotesque como display (v2.0, 06/2026) | Inter no display E no body — uma família, dois papéis |
| Newsreader (display serifado) + Mona Sans (texto), v1.0 | idem — já haviam sido aposentadas na v2.0; seguem fora |
| Escala editorial display 44-80px, opsz da Newsreader, smallcaps reais | display do app para em 56px; sem optical sizing (Inter não pede) |
| Pairing "3 vozes" (serifa + sans + mono) | 2 vozes: Inter + JetBrains Mono |
| Migração futura "Reckless Neue + Söhne" | morta — não há migração de família prevista |
| JetBrains Mono | permanece — a voz técnica atravessou as três gerações |
| Microtipografia brasileira (aspas, NBSP, glyphs) | permanece — é agnóstica de família |
7. A régua renderizada ao vivo
Para conferência rápida, a página viva brand.sincronow.com/tokens
renderiza a régua direto dos tokens do app — é a documentação que não
diverge porque É o código.
Histórico de versões
- v3.0.0 (21-22/08/2026) — Recalibração completa para Precisão Viva (DL-015 de 18/07/2026, tokens v1.5). A nota-curativo de 20/08 morre; o documento passa a ser aplicação da fonte única (00-tokens.md) em vez de registro histórico com aviso.
- v2.0 (11/06/2026) — Pairing Bricolage Grotesque + Inter + JetBrains Mono. Revogada pela DL-015.
- v1.0 (05/2026) — Newsreader + Mona Sans + JetBrains Mono, escala major-third editorial. Revogada.