{
  "$description": "Dataland design tokens, formato DTCG 2025.10 (Final Community Group Report, 28/out/2025 — NAO e padrao W3C). Gerado de estilo/00-tokens.css por ds/gera.py. Nao editar a mao. Validado contra ds/dtcg-2025.10-format.schema.json por ds/valida-tokens.py, no CI.",
  "cor": {
    "acao": {
      "$description": "ROXO OFICIAL DE MARCA (Indigo Velvet #3D2177, do manual em brandfetch). Antes era #6106D2, amostrado de print do GeoImóvel. O manual manda, e o tom oficial ainda é MAIS sóbrio: 12,5:1 no branco contra 8,5:1 do anterior.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.2392,
          0.1294,
          0.4667
        ],
        "hex": "#3D2177"
      },
      "$type": "color"
    },
    "acao-2": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.1725,
          0.0902,
          0.3451
        ],
        "hex": "#2C1758"
      },
      "$type": "color"
    },
    "acao-fraco": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.2392,
          0.1294,
          0.4667
        ],
        "alpha": 0.06
      },
      "$type": "color"
    },
    "acao-borda": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.2392,
          0.1294,
          0.4667
        ],
        "alpha": 0.28
      },
      "$type": "color"
    },
    "marca-ouro": {
      "$description": "dourado de marca: só a marca usa. Âmbar nesta interface já significa \"atenção\", então dourado em qualquer outro lugar colidiria de sentido.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9882,
          0.7216,
          0.1882
        ],
        "hex": "#FCB830"
      },
      "$type": "color"
    },
    "tinta": {
      "$description": "grafite — o dado mora aqui. t2 8,9:1 · t3 4,8:1 — passam AA para texto pequeno, mas só contra --papel (branco); nenhum dos dois foi medido contra composição translúcida real. O tom mais claro virou --decor e NÃO carrega texto: só régua, ponto e traço. Hierarquia de rótulo se faz por peso, caixa e tracking, não por clarear até sumir. --t4 CORRIGIDO na fonte (31/ago/2026): o valor antigo (#73737F, quase idêntico a --t3) tinha reprovado 4,5:1 SEIS vezes em sessões anteriores (`.rotcorte small`/`.escala` a 4,19:1, `.morta-tx` a 4,31:1 — ver `contratos/ruler.md`), e cada vez foi remendado só no seletor que reprovou (trocado pra --t2 em `12-v3-terreno.css`/`11-v2-fila.css`), sem nunca corrigir o token. A sétima ocorrência apareceu na Fila (`.pos.num`/`.mapa-pe`, medido ao vivo com getComputedStyle + composição real de fundo translúcido, não a string do CSS): 4,19–4,41:1. Valor novo medido pra passar com folga contra o pior caso real (~rgb(245,245,246), o `--shell` translúcido composto sobre `--mundo`): 4,97–5,11:1. Fica mais escuro que --t3 de propósito — --t3 segue documentado como \"só sobre --papel\", --t4 precisa segurar composição translúcida, então não são mais o mesmo degrau. Os dois remendos antigos em --t2 continuam válidos (mais contraste que o necessário não é defeito) e não foram revertidos.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0863,
          0.0863,
          0.1098
        ],
        "hex": "#16161C"
      },
      "$type": "color"
    },
    "ink": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.1647,
          0.1647,
          0.2039
        ],
        "hex": "#2A2A34"
      },
      "$type": "color"
    },
    "ink-2": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.2902,
          0.2902,
          0.3412
        ],
        "hex": "#4A4A57"
      },
      "$type": "color"
    },
    "t2": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.2863,
          0.2863,
          0.3294
        ],
        "hex": "#494954"
      },
      "$type": "color"
    },
    "t3": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.4431,
          0.4431,
          0.4902
        ],
        "hex": "#71717D"
      },
      "$type": "color"
    },
    "t4": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.4,
          0.4,
          0.4392
        ],
        "hex": "#666670"
      },
      "$type": "color"
    },
    "decor": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.6902,
          0.6902,
          0.7294
        ],
        "hex": "#B0B0BA"
      },
      "$type": "color"
    },
    "ok": {
      "$description": "aprovado em produção — landbank.html v282 (15/set/2026), #1C7548→#007A55",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0,
          0.4784,
          0.3333
        ],
        "hex": "#007A55"
      },
      "$type": "color"
    },
    "ok-tx": {
      "$description": "green-800 · texto, 7,13:1 no branco — NÃO reavaliado contra o --ok novo, ver nota acima",
      "$value": {
        "colorSpace": "oklch",
        "components": [
          0.448,
          0.119,
          151.328
        ]
      },
      "$type": "color"
    },
    "at": {
      "$description": "aprovado em produção — landbank.html v282 (15/set/2026), #846014→#BB4D00",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.7333,
          0.302,
          0.0
        ],
        "hex": "#BB4D00"
      },
      "$type": "color"
    },
    "at-tx": {
      "$description": "orange-700 · texto, 5,22:1 no branco — NÃO reavaliado contra o --at novo, ver nota acima",
      "$value": {
        "colorSpace": "oklch",
        "components": [
          0.553,
          0.195,
          38.402
        ]
      },
      "$type": "color"
    },
    "no": {
      "$description": "aprovado em produção — landbank.html v282 (15/set/2026), #B0322A→#C10007",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.7569,
          0.0,
          0.0275
        ],
        "hex": "#C10007"
      },
      "$type": "color"
    },
    "no-tx": {
      "$description": "red-700 · texto, 6,42:1 no branco — NÃO reavaliado contra o --no novo, ver nota acima",
      "$value": {
        "colorSpace": "oklch",
        "components": [
          0.505,
          0.213,
          27.518
        ]
      },
      "$type": "color"
    },
    "info": {
      "$description": "aprovado em produção — nunca mudou desde antes de 25/ago, nos dois repositórios",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.1059,
          0.3725,
          0.7216
        ],
        "hex": "#1B5FB8"
      },
      "$type": "color"
    },
    "info-tx": {
      "$description": "blue-700 · texto, 6,83:1 no branco — NÃO reavaliado contra o --info novo, ver nota acima",
      "$value": {
        "colorSpace": "oklch",
        "components": [
          0.488,
          0.243,
          264.376
        ]
      },
      "$type": "color"
    },
    "ok-t": {
      "$description": "Tingimentos de fundo — recalculados junto com o veredito em landbank.html v282 (mesma entrega, \"pra manter contraste, os badges usam a tinta como texto sobre o próprio -t\"). Copiados de lá, não recalculados aqui: --info-t não mudou, o mesmo valor já estava certo nos dois lados.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.949,
          0.9725,
          0.9647
        ],
        "hex": "#F2F8F6"
      },
      "$type": "color"
    },
    "at-t": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9882,
          0.9725,
          0.9608
        ],
        "hex": "#FCF8F5"
      },
      "$type": "color"
    },
    "no-t": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9882,
          0.949,
          0.9529
        ],
        "hex": "#FCF2F3"
      },
      "$type": "color"
    },
    "info-t": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.898,
          0.9333,
          0.9843
        ],
        "hex": "#E5EEFB"
      },
      "$type": "color"
    },
    "off": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.3294,
          0.3294,
          0.3725
        ],
        "hex": "#54545F"
      },
      "$type": "color"
    },
    "off-t": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9451,
          0.9451,
          0.9529
        ],
        "hex": "#F1F1F3"
      },
      "$type": "color"
    },
    "dourado": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.5176,
          0.3765,
          0.0784
        ],
        "hex": "#846014"
      },
      "$type": "color"
    },
    "c1": {
      "$description": "categórica das camadas: um conjunto harmônico, não cinco cores soltas",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.3569,
          0.3882,
          0.6588
        ],
        "hex": "#5B63A8"
      },
      "$type": "color"
    },
    "c2": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.6902,
          0.5176,
          0.1882
        ],
        "hex": "#B08430"
      },
      "$type": "color"
    },
    "c3": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.6706,
          0.3216,
          0.3216
        ],
        "hex": "#AB5252"
      },
      "$type": "color"
    },
    "c4": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.2471,
          0.502,
          0.4118
        ],
        "hex": "#3F8069"
      },
      "$type": "color"
    },
    "c5": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.4314,
          0.4549,
          0.502
        ],
        "hex": "#6E7480"
      },
      "$type": "color"
    },
    "papel": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          1.0,
          1.0,
          1.0
        ],
        "hex": "#FFFFFF"
      },
      "$type": "color"
    },
    "shell": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          1.0,
          1.0,
          1.0
        ],
        "alpha": 0.94
      },
      "$type": "color"
    },
    "mundo": {
      "$description": "O FUNDO DA JANELA — a \"prancheta\" atrás de tudo. Existir como token é correção de defeito, não adição (25/ago/2026): o valor vivia como `background:#F2F2F6` literal na regra do body, logo abaixo, e portanto era o único papel de superfície do sistema que não tinha nome. O sintoma: comentários em estilo/11-v2-fila.css e na vitrine JÁ citavam \"--mundo\" pra explicar contraste (\"--t3 dá 4,31:1 sobre --mundo\"), como se o token existisse — e ninguém podia consultá-lo. Depois, a página de documentação escreveu `var(--mundo, #f2f2f6)`, que caía SEMPRE no fallback: um literal disfarçado de token, exatamente o que a Regra 3 proíbe. Não é igual a --sup nem a --papel de propósito: os dois são branco, e o card branco precisa flutuar contra algo.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.949,
          0.949,
          0.9647
        ],
        "hex": "#F2F2F6"
      },
      "$type": "color"
    },
    "linha": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0784,
          0.0784,
          0.1333
        ],
        "alpha": 0.1
      },
      "$type": "color"
    },
    "linha-2": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0784,
          0.0784,
          0.1333
        ],
        "alpha": 0.055
      },
      "$type": "color"
    },
    "linha-3": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0784,
          0.0784,
          0.1333
        ],
        "alpha": 0.2
      },
      "$type": "color"
    },
    "veu-modal": {
      "$description": "escurece o que fica atrás de uma camada modal centrada (o véu da busca Ctrl/Cmd+K). Não muda por tema de propósito, igual --sombreia: o papel dele é escurecer, não servir de hairline visível contra o canvas, então não precisa inverter no escuro. Achado no gate (26/ago/2026): estava rgba(20,20,34,.32) literal direto em Layout.css, violação da Regra 3.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0784,
          0.0784,
          0.1333
        ],
        "alpha": 0.32
      },
      "$type": "color"
    },
    "sup": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          1.0,
          1.0,
          1.0
        ],
        "hex": "#FFFFFF"
      },
      "$type": "color"
    },
    "sup-2": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0784,
          0.0784,
          0.1333
        ],
        "alpha": 0.05
      },
      "$type": "color"
    },
    "sup-3": {
      "$description": "hover de item",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0784,
          0.0784,
          0.1333
        ],
        "alpha": 0.08
      },
      "$type": "color"
    },
    "flutua": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          1.0,
          1.0,
          1.0
        ],
        "alpha": 0.98
      },
      "$type": "color"
    },
    "marca-tinta": {
      "$value": {
        "colorSpace": "srgb",
        "components": [
          1.0,
          1.0,
          1.0
        ],
        "hex": "#FFFFFF"
      },
      "$type": "color"
    },
    "cheio-tinta": {
      "$description": "tinta sobre preenchimento CHEIO de qualquer tom semântico: badge sólido de ok, atenção, risco, calado. São dois papéis e não um: --marca-tinta é o par da marca e muda se a marca mudar; este acompanha verde, âmbar e vermelho, que são outra família e outra decisão.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          1.0,
          1.0,
          1.0
        ],
        "hex": "#FFFFFF"
      },
      "$type": "color"
    },
    "sombreia": {
      "$description": "o agente de ESCURECIMENTO: o que se mistura a um preenchimento cheio pra produzir o hover dele. Preto puro de propósito, e não --tinta: --tinta é papel de texto e tem viés azul (#16161C), então escurecer o verde e o vermelho com ela deslocaria o matiz em vez de só baixar o brilho.",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0,
          0.0,
          0.0
        ],
        "hex": "#000000"
      },
      "$type": "color"
    }
  },
  "medida": {
    "focus-ring-width": {
      "$description": "CONFERIDO contra mercado (usuário, `tokens-mercado-avancado-dataland.md`, 01/set/2026, rodada 6): a LARGURA de 3px converge de verdade — shadcn, Landbank (aqui) e os dois componentes medidos ao vivo da Attio batem nela. A COR não converge (Linear usa marca nos dois componentes, Attio é neutro no input mas azulado no botão, Stripe não tem anel visível) — fica com --anel como já era, não é decisão de mercado, é decisão nossa que o mercado não contradiz com força. Só a largura vira token — era `3px` literal solto nas duas regras que usam essa largura (`:focus-visible` global e `.inp-lei:focus-visible`), violação da Regra 3 anterior a esta medição.",
      "$value": {
        "value": 3.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "r": {
      "$description": "EXCEÇÃO REGISTRADA À REGRA 10 (usuário, Alessandro, 01/set/2026) — não é reversão da pesquisa de mercado, é a exceção por escrito que a própria Regra 10 exige quando alguém escolhe fugir do padrão de propósito. Migrou pra 10px (base do shadcn puro) mais cedo neste mesmo dia, depois de medir contra 5 sistemas reais. Revertido pra 6px (a base original do Landbank) depois de VER renderizado ao vivo — Botão e o card \"Cenário A\" liam como mais arredondado do que o produto quer parecer. Motivo coerente com uma decisão já tomada antes, não isolado: `landbank- design-system.md` já registra que o Badge em pílula total foi rejeitado três vezes por ser \"público premium, não consumer\" — o raio menor no botão/card segue a MESMA lógica de identidade visual, não é gosto solto. --card-radius (14px) e --card-compacto-radius (8px) — nunca chegaram a ser aplicados a `.shell` — ficam como registro de que o shadcn puro foi considerado e conscientemente não escolhido, não como pendência. Fórmula preservada (--r-m/--r-s numa relação de .67 do zero de --r, --r-xs em .5) — só o número da base voltou.",
      "$value": {
        "value": 6.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "r-cheio": {
      "$value": {
        "value": 999.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "rail": {
      "$value": {
        "value": 162.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "gut": {
      "$value": {
        "value": 16.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-1": {
      "$value": {
        "value": 4.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-2": {
      "$value": {
        "value": 8.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-3": {
      "$value": {
        "value": 12.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-4": {
      "$value": {
        "value": 16.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-6": {
      "$value": {
        "value": 24.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-8": {
      "$value": {
        "value": 32.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-12": {
      "$value": {
        "value": 48.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "space-16": {
      "$value": {
        "value": 64.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "card-padding": {
      "$value": {
        "value": 24.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "card-radius": {
      "$description": "xl do shadcn — considerado e rejeitado, ver acima",
      "$value": {
        "value": 14.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "card-gap-grade": {
      "$description": "16px em grade mais densa (>4 cards visíveis)",
      "$value": {
        "value": 24.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "card-compacto-padding": {
      "$description": "12px se precisar de mais densidade ainda",
      "$value": {
        "value": 16.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "card-compacto-radius": {
      "$description": "shadcn md — considerado e rejeitado, ver acima",
      "$value": {
        "value": 8.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "icon-xs": {
      "$description": "ponto, indicador mínimo",
      "$value": {
        "value": 8.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "icon-sm": {
      "$description": "dentro de badge/tag — já é o que `.bdg{--is:12px}` usa",
      "$value": {
        "value": 12.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "icon-md": {
      "$description": "checkbox, radio",
      "$value": {
        "value": 14.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "icon-lg": {
      "$description": "botão, item de menu — padrão de uso mais comum",
      "$value": {
        "value": 16.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "icon-xl": {
      "$description": "NOVO, sem uso ainda — navegação solta, destaque, cabeçalho",
      "$value": {
        "value": 20.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "dialog-cmdk-radius": {
      "$value": {
        "value": 12.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "l1": {
      "$description": "fecha com Esc e com clique fora — Radix Dialog já faz os dois por padrão, sem código extra, contanto que ninguém sobrescreva onEscapeKeyDown/onPointerDownOutside sem motivo (Regra 5).",
      "$value": {
        "value": 20.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-exibicao": {
      "$description": "display · numero-hero do resultado, raríssimo",
      "$value": {
        "value": 40.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-titulo-1": {
      "$description": "h1 · titulo de tela",
      "$value": {
        "value": 32.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-titulo-2": {
      "$description": "h2 · titulo de secao",
      "$value": {
        "value": 24.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-titulo-3": {
      "$description": "h3 · titulo de bloco/cartao",
      "$value": {
        "value": 19.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-destaque": {
      "$description": "corpo enfatizado, texto de intro",
      "$value": {
        "value": 15.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-corpo": {
      "$description": "corpo padrao — o que body{} ja usava",
      "$value": {
        "value": 14.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-pequeno": {
      "$description": "legenda, nota, texto secundario",
      "$value": {
        "value": 13.0,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-mono": {
      "$description": "numero tabular, codigo, dado monoespacado",
      "$value": {
        "value": 12.5,
        "unit": "px"
      },
      "$type": "dimension"
    },
    "fs-rotulo": {
      "$description": "rotulo em caixa alta, gutter, texto minimo. CORRIGIDO (31/ago/2026): era 11px, subiu pra 12px. As quatro referencias que o paragrafo acima cita foram medidas ponto a ponto (Stripe, Linear, Carbon, Radix Themes, GitHub Primer, Material Design 3): 3 das 4 que este arquivo ja citava como referencia (Carbon, Radix, Primer) usam 12px como piso, so a Material Design 3 bate com 11px. O sistema estava um degrau abaixo da companhia que ele mesmo escolheu como espelho. Resto da escala (13/14/15px) ja batia ponto a ponto com Stripe/Carbon, sem necessidade de mudar.",
      "$value": {
        "value": 12.0,
        "unit": "px"
      },
      "$type": "dimension"
    }
  },
  "tracking": {
    "tr-display": {
      "$description": "unidade em (relativa a fonte do proprio elemento, nao do documento) — o DTCG 2025.10 nao tem unidade `em`, ver ds/gera.py. 32-40px · título de tela e display",
      "$value": -0.03,
      "$type": "number"
    },
    "tr-titulo": {
      "$description": "unidade em (relativa a fonte do proprio elemento, nao do documento) — o DTCG 2025.10 nao tem unidade `em`, ver ds/gera.py. 19-24px · título de seção e de bloco",
      "$value": -0.015,
      "$type": "number"
    },
    "tr-corpo": {
      "$description": "unidade em (relativa a fonte do proprio elemento, nao do documento) — o DTCG 2025.10 nao tem unidade `em`, ver ds/gera.py. corpo: zero. Inter já é desenhada pra ser lida assim. `0em` e não `0`: em CSS os dois são idênticos, mas o exportador de DESIGN.md publica isto como Dimension, e o validador do formato reprova número sem unidade. Custou nada e evita um erro no lint.",
      "$value": 0.0,
      "$type": "number"
    },
    "tr-rotulo": {
      "$description": "unidade em (relativa a fonte do proprio elemento, nao do documento) — o DTCG 2025.10 nao tem unidade `em`, ver ds/gera.py. rótulo em CAIXA ALTA pequeno — precisa de ar, não de aperto",
      "$value": 0.06,
      "$type": "number"
    },
    "tr-gutter": {
      "$description": "unidade em (relativa a fonte do proprio elemento, nao do documento) — o DTCG 2025.10 nao tem unidade `em`, ver ds/gera.py. rótulo de gutter, o menor de todos: mais ar ainda",
      "$value": 0.12,
      "$type": "number"
    }
  },
  "fonte": {
    "fonte": {
      "$value": [
        "Inter",
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "Helvetica",
        "Arial",
        "sans-serif"
      ],
      "$type": "fontFamily"
    },
    "fonte-mono": {
      "$description": "Código, nome de token, dado tabular. Uma fonte carregada e não a do sistema porque a do sistema muda por máquina, e aí a mesma tabela de token tem largura diferente pra cada pessoa do time.",
      "$value": [
        "Geist Mono",
        "ui-monospace",
        "SF Mono",
        "Menlo",
        "Consolas",
        "monospace"
      ],
      "$type": "fontFamily"
    }
  },
  "peso": {
    "fw-normal": {
      "$description": "Dois pesos no sistema. 500 e reservado pra tecla (kbd), nunca pra texto corrido: um terceiro peso no meio de 400 e 600 fica ambiguo de longe.",
      "$value": 400,
      "$type": "fontWeight"
    },
    "fw-forte": {
      "$value": 600,
      "$type": "fontWeight"
    },
    "fw-tecla": {
      "$value": 500,
      "$type": "fontWeight"
    }
  }
}
