Gerados do seed-tokens.json (formato DTCG) — o mesmo arquivo que produz o CSS, o registry do shadcn e o tokens.md dos agentes. Regra da casa: componente consome só a camada semântica; cores primitivas são repertório. Amostras nos dois temas; o botão copia o nome da variável.
faixas de marca; texto branco apenas 24px+/bold 19px+ (3.22:1)
semantic.surface.brand-subtle
#E8FBF7 / #1A3833
--seed-surface-brand-subtle
superficie de marca SUTIL — balao de mensagem propria, faixa de destaque leve. Nasce em 2026-08-17 pelo defeito BT-P6: nao existia semantico para isso e o artefato alcancou a primitiva --seed-turquesa-50, que nao inverte com o tema (par media 1,14 no escuro contra piso 3,00). Medido contra --seed-text-primary: 12,79 claro e 10,40 escuro, piso de texto 4,50
semantic.surface.brand-strong
#098475 / #098475
--seed-surface-brand-strong
v1.17: superficie de marca que CARREGA TEXTO — turquesa-600, igual nos dois temas. Texto branco mede 4,60; a fronteira do controle contra a pagina mede 4,60 no claro, 4,05 sobre a pagina escura e 3,31 sobre a superficie elevada escura, todas acima do piso 3,00 da SC 1.4.11. A marca CHAPADA (surface.brand #11B0A0) continua a ancora visual e fica reservada para area SEM texto funcional.
semantic.surface.brand-deep
#006C62 / #005048
--seed-surface-brand-deep
capas e secoes profundas; substitui o hex nao-oficial #0d8f82
semantic.surface.inverse
#242E34 / #F2F6F9
--seed-surface-inverse
semantic.text.primary
#0B3330 / #DDECE8
--seed-text-primary
titulos e texto de alta enfase; substitui o #2a3942 ad-hoc do DS v1
semantic.text.secondary
#2F5A54 / #A3C4BE
--seed-text-secondary
corpo de texto padrao
semantic.text.muted
#40706A / #8FB5AD
--seed-text-muted
metadados, placeholders, captions - nunca corpo
semantic.text.disabled
#90A6B3 / #617683
--seed-text-disabled
semantic.text.brand
#098475 / #66D1C2
--seed-text-brand
texto na cor da marca com AA garantido
semantic.text.brand-strong
#006C62 / #66D1C2
--seed-text-brand-strong
v1.19 (2026-08-20, HV-P5): TINTA DE MARCA QUE SOBREVIVE A SUPERFICIE DE INTERACAO. text.brand mede 4,60 sobre a pagina branca — 0,10 acima do piso 4,5 — e cai abaixo do piso no instante em que a superficie deixa de ser branco puro: 4,23 sobre surface.subtle e action-neutral-hover (#F2F6F9) e 3,81 sobre action-neutral-active e surface.sunken (#E3EBF0). Medido: para #098475 alcancar 4,5 o fundo precisa de luminancia >= 0,978, ou seja o cinza neutro mais escuro que serve e #FDFDFD — NAO EXISTE superficie de interacao possivel para aquela tinta. Este token e a saida: #006C62 no claro mede 6,32 na pagina, 5,82 sobre surface.subtle e 5,24 sobre action-neutral-active. NENHUM HEX NOVO: o claro e o valor de surface.brand-deep e action.primary-hover, o escuro e o mesmo de text.brand (#66D1C2, que ja media 8,31 a 10,16 sobre todas as superficies escuras — no tema escuro nada muda). PRECEDENTE DE MERCADO: o Carbon (IBM) tem exatamente este par — $link-primary (Blue 60 #0f62fe) e $link-primary-hover (Blue 70 #0043ce), mais $link-secondary (Blue 70) descrito como "secondary link color for lower contrast backgrounds" — e a issue #7647 do Carbon nomeia o caso fundador com estas palavras: "the current link color for selected rows and rows with hover doesn't have enough visual contrast". NORMA: SC 1.4.3 vale em TODOS os estados (WebAIM, verbatim: "the 4.5:1 (or 7:1) contrast requirement to the background does apply to all link states"). ALTERNATIVA DESCARTADA, com numero: reusar action.primary-hover como tinta PASSA (5,24 a 12,85 em todas as superficies dos dois temas) e foi recusada por acoplamento de proposito — e token de FUNDO de botao; uma mudanca futura no sobrevoo do botao moveria a tinta do link em silencio. E o mesmo criterio que na v1.18 recusou action-ghost-hover para o sobrevoo neutro.
semantic.text.inverse
#FFFFFF / #242E34
--seed-text-inverse
semantic.text.on-brand
#00352F / #00352F
--seed-text-on-brand
v1.15 (MR-P1): tinta sobre a marca CHAPADA (surface.brand #11B0A0). ESCURA nos dois temas porque a marca chapada nao inverte. Mede 4,99. ANTES da v1.15 este token valia #FFFFFF no claro e a sua descricao dizia texto sobre action.primary: um unico token servia tres fundos de marca com necessidades opostas, e branco sobre #11B0A0 mede 2,71, que reprova ate o piso 3,00 do texto grande. Quem serve o botao primario agora e on-action-primary.
semantic.text.on-brand-deep
#FFFFFF / #FFFFFF
--seed-text-on-brand-deep
v1.15 (MR-P2): tinta sobre a marca PROFUNDA (surface.brand-deep #006C62 no claro, #005048 no escuro). BRANCA nos dois temas: mede 6,32 no claro e 9,37 no escuro. Nasce de defeito medido: com a tinta unica anterior o escuro punha #00352F sobre #005048 e media 1,45, em tres textos do tela-tabela.
semantic.text.on-brand-strong
#FFFFFF / #FFFFFF
--seed-text-on-brand-strong
v1.17 (MR-P1, decisao do Rafael pela opcao B): tinta sobre surface.brand-strong (turquesa-600 #098475). BRANCA nos dois temas, mede 4,60. Foi a forma de manter o texto branco sobre a marca, que era o pedido, sem reprovar a SC 1.4.3 — o branco sobre a marca chapada #11B0A0 mede 2,71.
semantic.text.on-action-destructive
#FFFFFF / #521112
--seed-text-on-action-destructive
v1.16 (AD-P1): tinta sobre o BOTAO destrutivo (action.destructive #C6393B no claro, #FC6F6A no escuro). Inverte com o tema: mede 5,19 no claro e 5,26 no escuro; no hover, 7,18 e 7,21. Nasce de defeito medido: antes da v1.16 a tinta ali era branca literal e media 2,76 no escuro, porque a superficie de acao CLAREIA no tema escuro. Mesma forma do papel on-error do Material Design 3.
semantic.text.on-action-primary
#FFFFFF / #00352F
--seed-text-on-action-primary
v1.15: tinta sobre o BOTAO primario (action.primary #098475 no claro, #66D1C2 no escuro). Inverte com o tema: mede 4,60 no claro e 7,39 no escuro. Estes sao exatamente os valores que on-brand tinha antes da v1.15, entao o botao primario NAO muda de aparencia nesta edicao.
semantic.text.link
#098475 / #66D1C2
--seed-text-link
semantic.border.subtle
#E3EBF0 / #38464F
--seed-border-subtle
semantic.border.default
#C8D6DF / #4D606C
--seed-border-default
semantic.border.strong
#90A6B3 / #788F9D
--seed-border-strong
semantic.border.interactive
#788F9D / #788F9D
--seed-border-interactive
v1.12 (fecha SH-P1/PN-P5): fronteira de componente interativo, SC 1.4.11 piso 3:1. Promocao do emprestimo declarado do cinza-500 no campo de busca do shell — medido >=3 nas seis superficies dos dois temas. Slot dark declarado de proposito (mesmo valor hoje por medicao, nao por lei de invariancia).
semantic.border.focus
#00A192 / #66D1C2
--seed-border-focus
anel de foco - sempre visivel, 2px + offset
semantic.action.primary
#098475 / #66D1C2
--seed-action-primary
fundo do botao primario. Light: verde institucional #098475 (4.60:1 com branco). Dark: turquesa-300 com texto turquesa-900 (7.39:1)
semantic.action.primary-hover
#006C62 / #9CE4D8
--seed-action-primary-hover
semantic.action.primary-active
#005048 / #11B0A0
--seed-action-primary-active
semantic.action.secondary-bg
#E8FBF7 / #1A3833
--seed-action-secondary-bg
semantic.action.secondary-text
#006C62 / #66D1C2
--seed-action-secondary-text
semantic.action.ghost-hover
#F2F6F9 / #1D272D
--seed-action-ghost-hover
semantic.action.neutral-hover
#F2F6F9 / #141D23
--seed-action-neutral-hover
HV1 (v1.18, 2026-08-19): SOBREVOO de controle NEUTRO, qualquer que seja a superficie neutra sob ele. Nasce de medicao: 619 de 1.410 controles ativos do acervo nao tinham NENHUMA resposta ao ponteiro. Sem hex novo — e o valor de surface-subtle nos dois temas; o que nasce e o PROPOSITO com nome. NAO se reusou action-ghost-hover porque no tema escuro ele vale #1D272D, igual a surface-raised, e o hover ficaria invisivel sobre a barra elevada do shell.
semantic.action.neutral-active
#E3EBF0 / #0B1419
--seed-action-neutral-active
HV1 (v1.18, 2026-08-19): PRESSIONADO de controle NEUTRO — um passo ADIANTE do sobrevoo, na mesma direcao, que e o canon convergente de Material Design 3, Adobe Spectrum (que registra hover e down como estados INDEPENDENTES), eBay Playbook (hover 8%, press 12%) e Sainsbury's. Nasce de medicao: 1.350 de 1.410 controles ativos tinham o pressionado indistinguivel do sobrevoo — o mesmo buraco que o shadcn/ui, stack de producao do ERP, deixa por nao definir active. Sem hex novo: e o valor de surface-sunken nos dois temas.
semantic.action.destructive
#C6393B / #FC6F6A
--seed-action-destructive
semantic.action.destructive-hover
#A5272A / #FF9C95
--seed-action-destructive-hover
semantic.accent.highlight
#FAD61D / #FAD61D
--seed-accent-highlight
acento oficial de marca - grifos, marcadores, detalhes de enfase; sempre com texto/elemento escuro por cima
semantic.accent.highlight-subtle
#FFF6D2 / #3A3410
--seed-accent-highlight-subtle
fundo de grifo suave (marca-texto)
semantic.accent.on-highlight
#242E34 / #242E34
--seed-accent-on-highlight
texto sobre o acento amarelo - sempre escuro, nunca branco (9.70:1)
semantic.feedback.success-bg
#E8FBF7 / #00352F
--seed-feedback-success-bg
semantic.feedback.success-text
#006C62 / #9CE4D8
--seed-feedback-success-text
semantic.feedback.success-border
#66D1C2 / #006C62
--seed-feedback-success-border
semantic.feedback.success-solid
#098475 / #11B0A0
--seed-feedback-success-solid
semantic.feedback.warning-bg
#FFF4E4 / #3D2800
--seed-feedback-warning-bg
semantic.feedback.warning-text
#5B3E00 / #FECA76
--seed-feedback-warning-text
semantic.feedback.warning-border
#F9B11C / #7B5500
--seed-feedback-warning-border
semantic.feedback.warning-solid
#F9B11C / #F9B11C
--seed-feedback-warning-solid
semantic.feedback.danger-bg
#FFF2F1 / #521112
--seed-feedback-danger-bg
semantic.feedback.danger-text
#A5272A / #FFC2BD
--seed-feedback-danger-text
semantic.feedback.danger-border
#FF9C95 / #A5272A
--seed-feedback-danger-border
semantic.feedback.danger-solid
#C6393B / #FC6F6A
--seed-feedback-danger-solid
semantic.feedback.info-bg
#ECF4FC / #003241
--seed-feedback-info-bg
semantic.feedback.info-text
#006783 / #96E0FD
--seed-feedback-info-text
semantic.feedback.info-border
#53C2E9 / #006783
--seed-feedback-info-border
semantic.feedback.info-solid
#0099C1 / #53C2E9
--seed-feedback-info-solid
semantic.chart.cat-1
#00A192 / #66D1C2
--seed-chart-cat-1
Categorica ESTENDIDA v1.5 (supersede da v1.0; valores e medicoes na secao 3c do seed-tokens.md). Sequencia obrigatoria: turquesa -> dourado -> magenta -> azul -> violeta -> azul-800; 5 familias de matiz, nenhuma repete antes da 6a posicao. Magenta (#CD518B light / #E8A1C2 dark) e violeta (#966AC8 / #BD9CE2) sao matizes EXCLUSIVOS de dado: nunca aparecem em UI e nao tem rampa primitiva no 2.1 de proposito. cat-2 (dourado, 1.85 vs branco) so em area grande com rotulo direto - vetado como fill solitario. O cinza saiu da categorica (exclusivo de chart-no-data).
semantic.chart.cat-2
#F9B11C / #F9B11C
--seed-chart-cat-2
semantic.chart.cat-3
#CD518B / #E8A1C2
--seed-chart-cat-3
semantic.chart.cat-4
#0099C1 / #53C2E9
--seed-chart-cat-4
semantic.chart.cat-5
#966AC8 / #BD9CE2
--seed-chart-cat-5
semantic.chart.cat-6
#004C61 / #96E0FD
--seed-chart-cat-6
semantic.chart.positive
#00A192 / #66D1C2
--seed-chart-positive
semantic.chart.negative
#D94545 / #FC6F6A
--seed-chart-negative
semantic.chart.grid
#E3EBF0 / #38464F
--seed-chart-grid
semantic.chart.axis
#788F9D / #90A6B3
--seed-chart-axis
semantic.chart.seq-1
#CDF3EC / #005048
--seed-chart-seq-1
Sequencial 7 classes. Light 100->900 (pula 500 e 700); dark 800->100 (pula 300 e 900). Semantica: valor cresce, tinta cresce (light) / valor cresce, luz cresce (dark). ISENCAO WCAG 1.4.11 declarada (a norma isenta heatmap); condicoes obrigatorias: valor acessivel por rotulo/tooltip/tabela, fronteira por chart-grid, legenda com limites numericos. Escala decidida no gate visual de 2026-08-09: a proposta 50->800 foi reprovada porque os dois primeiros stops liam como CINZA, ambiguos com 'sem dado'.
semantic.chart.seq-2
#9CE4D8 / #006C62
--seed-chart-seq-2
semantic.chart.seq-3
#66D1C2 / #098475
--seed-chart-seq-3
semantic.chart.seq-4
#11B0A0 / #00A192
--seed-chart-seq-4
semantic.chart.seq-5
#098475 / #11B0A0
--seed-chart-seq-5
semantic.chart.seq-6
#005048 / #9CE4D8
--seed-chart-seq-6
semantic.chart.seq-7
#00352F / #CDF3EC
--seed-chart-seq-7
semantic.chart.no-data
#E3EBF0 / #38464F
--seed-chart-no-data
Celula/regiao SEM MEDICAO. REGRA DURA: sempre com HACHURA DIAGONAL (padrao repetido ~45 graus), nunca cor lisa. O cinza e EXCLUSIVO deste papel em qualquer grafico SEED — nenhuma escala de valor pode usa-lo. A hachura garante que a distincao 'gerou pouco x nao reportou' nunca dependa de cor (1.4.1), inclusive em grayscale e impresso. A legenda ganha o item 'sem medicao' sempre que houver celula no-data.
semantic.chart.no-data-hatch
#617683 / #90A6B3
--seed-chart-no-data-hatch
Tinta das LINHAS da hachura do no-data (NOVO na v1.7). Papel proprio, token proprio: a errata E3 provou que papel de desenho sem token proprio acaba tomando emprestado o token de outro papel — a hachura desenhava em chart-cat-5-stroke, que a v1.5 tornou VIOLETA, no lugar mais sensivel possivel, porque 'sem medicao' e exatamente o que nao pode parecer categoria. A correcao apontou para chart-axis e QUEBROU A MEDICAO: cinza-500 mede 2.80 contra o preenchimento cinza-100, abaixo do piso de 3:1 do 1.4.11. Valores atuais medidos contra o proprio preenchimento: 3.93 (light) e 3.84 (dark). Descartado consumir o primitivo cinza-700 direto (5.43, passa): repetiria a estrutura do erro, emprestando de um primitivo em vez de emprestar de uma categoria.
semantic.chart.geo-base
#F2F6F9 / #141D23
--seed-chart-geo-base
Territorio de CONTEXTO de um mapa (NOVO na v1.8): a area geografica que NAO e objeto de medicao. Papel proprio, token proprio, pelo mesmo racional que criou o no-data-hatch na v1.7 (errata E3): papel de desenho sem token proprio acaba tomando emprestado o de outro papel. Num mapa existem TRES cinzas — contexto, sem medicao e com dado — e num grafico de barras existem so DOIS; o terceiro papel nasce aqui. Valor identico ao surface-subtle vigente, o que e proposital: o que muda nao e a cor, e a responsabilidade de mante-la. Medido contra a fronteira geografica: 3.11 (light) e 6.74 (dark), ambos >=3.
semantic.chart.geo-boundary
#788F9D / #90A6B3
--seed-chart-geo-boundary
Fronteira de municipio desenhada num mapa (NOVO na v1.8). Ela PORTA INFORMACAO — e a linha que responde 'o que esta dentro deste municipio' — logo entra no piso de 3:1 do WCAG 1.4.11. NAO consome chart-grid: medicao de 2026-08-11 mostrou que chart-grid tem o MESMO HEX de chart-no-data nos dois temas (#E3EBF0 light, #38464F dark), o que faz a fronteira desaparecer sobre um municipio sem medicao (razao 1.00). NAO consome chart-axis por emprestimo: no tema escuro chart-axis tem o mesmo hex do chart-no-data-hatch (#90A6B3), e emprestar repetiria a estrutura da errata E3. Medido contra o territorio de contexto: 3.11 (light) e 6.74 (dark).
semantic.chart.div-neg-3
#A5272A / #FF9C95
--seed-chart-div-neg-3
Divergente 7 posicoes: vermelho <-> neutro <-> turquesa. Alinhada por construcao ao par chart-positive/chart-negative da v1.0 (os stops +-2 SAO turquesa-500 e vermelho-500). REGRA DA ZONA-ZERO (declaracao, nao isencao): as posicoes +-1 e o zero representam 'perto de zero' e aproximar-se do fundo E a semantica; consequencia dura: dado cuja distincao do fundo e necessaria ao entendimento NUNCA usa sozinho +-1/zero — leva borda chart-axis ou rotulo de valor. As posicoes plenas (+-2, +-3) passam o gate 3:1 medido nos 2 modos.
semantic.chart.div-neg-2
#D94545 / #D94545
--seed-chart-div-neg-2
semantic.chart.div-neg-1
#FFC2BD / #7A1C1E
--seed-chart-div-neg-1
semantic.chart.div-zero
#E3EBF0 / #38464F
--seed-chart-div-zero
semantic.chart.div-pos-1
#9CE4D8 / #005048
--seed-chart-div-pos-1
semantic.chart.div-pos-2
#00A192 / #00A192
--seed-chart-div-pos-2
semantic.chart.div-pos-3
#005048 / #66D1C2
--seed-chart-div-pos-3
semantic.chart.cat-1-stroke
#098475 / #66D1C2
--seed-chart-cat-1-stroke
Variante de STROKE para traco fino (linha <=3px, marcador pequeno — o pior caso do 1.4.11). REGRA DE CONSUMO: grafico de linha e sparkline usam cat-N-stroke; barra, area e fatia usam cat-N (fill). O fill v1.0 fica INTOCADO. Nasceu de remedicao que reprovou cat-1 (2.71), cat-2 (1.85) e cat-5 (2.53) contra branco; os pares dark nasceram do achado V2 do render de 2026-08-09 (cat-4-stroke light lia a ~2:1 no fundo escuro). DEPENDENCIA DECLARADA: no dark, cat-2 e cat-6 comprimem para stops vizinhos da rampa dourado (300/100) — a distincao mutua dessas duas series em modo escuro e sustentada pelo tracejado/marcador (1.4.1), nunca so pela cor.
semantic.chart.cat-2-stroke
#B67F00 / #F9B11C
--seed-chart-cat-2-stroke
semantic.chart.cat-3-stroke
#B23871 / #E8A1C2
--seed-chart-cat-3-stroke
semantic.chart.cat-4-stroke
#0099C1 / #53C2E9
--seed-chart-cat-4-stroke
semantic.chart.cat-5-stroke
#7B42BD / #BD9CE2
--seed-chart-cat-5-stroke
semantic.chart.cat-6-stroke
#004C61 / #96E0FD
--seed-chart-cat-6-stroke
semantic.gauge.track
#C8D6DF / #4D606C
--seed-gauge-track
Trilha de fundo. Decorativa em si; o contraste exigido e do VALOR contra ela.
semantic.gauge.value
#098475 / #66D1C2
--seed-gauge-value
3.09 vs track e 4.60 vs branco (light); 3.58 vs track e 10.16 vs page (dark).
semantic.gauge.range-ok
#098475 / #66D1C2
--seed-gauge-range-ok
= feedback-success-solid; herda as medicoes de gauge.value.
semantic.gauge.range-warning
#986900 / #F9B11C
--seed-gauge-range-warning
3.25 vs track e 4.82 vs branco (light); 3.54 vs track e 10.04 vs page (dark).
semantic.gauge.range-critical
#C6393B / #FF9C95
--seed-gauge-range-critical
3.49 vs track (light); 3.26 vs track e 9.25 vs page (dark).
semantic.rail.background
linear-gradient(180deg, #006C62 0%, #005048 100%)
--seed-rail-background
CP20 adotado no gate G2 (2026-08-14): gradiente linear entre dois degraus adjacentes da rampa da marca (turquesa-700 -> turquesa-800). Tinta branca passa NOS DOIS EXTREMOS, nao na media: 6.32 e 9.37. Semantico proprio porque sem ele o tema escuro vira regra manual (custo C13: ClickUp escreveu 22 regras a mao).
semantic.chrome.overlay-hover
rgba(255, 255, 255, 0.12)
--seed-chrome-overlay-hover
Hover de item do rail: veu branco a 12% (valor que o shell ja praticava). Rotulo branco sobre a COMPOSICAO (overlay sobre os dois extremos do gradiente): 4.88 e 6.82, ambos >=4.5.
semantic.chrome.overlay-active
rgba(255, 255, 255, 0.14)
--seed-chrome-overlay-active
Estado pressionado de item do rail: veu branco a 14% (valor que o preview da composicao ja praticava). Rotulo branco sobre a composicao: 4.68 e 6.50, ambos >=4.5. O item ATIVO (aria-current) continua sendo a pilula clara do SH15-b — este token e o pressed, nao o current.
Tinta declarada da posicao E6 (CP22: verificacao na definicao da paleta, nunca em render).
semantic.marker.now
#098475
--seed-marker-now
CP24 (gate G4): marcador de AGORA em turquesa-600, MESMO hex nos dois temas — terceiro membro nomeado da classe invariante de tema (SH15/DG12/CP24). Medido >=3.0 (non-text, SC 1.4.11) contra as cinco superficies canonicas: 4.60/4.23/4.05/3.72/3.31. Em telas sobre o passado o marcador NAO aparece (C16).
semantic.row-selected.bg
#E8FBF7 / #00352F
--seed-row-selected-bg
v1.13 (F7.2, fecha a lacuna achada na producao do gabarito A2): realce da LINHA SELECIONADA em lista e tabela. Nasce porque o realce nao pode ser um primitivo fixo — turquesa-100 mede 1,57 contra a tinta do tema escuro — e porque a bancada banco-dados.html ja havia inventado estes tres nomes LOCALMENTE, sem definicao no gemeo: o nome existia no sistema sem dono. Valores identicos aos que a bancada usava (adicao pura: nenhum valor anterior muda). Par medido: bg x text = 12,53 claro / 11,12 escuro; border x bg = 3,42 / 4,64.
semantic.row-selected.text
#242E34 / #E3EBF0
--seed-row-selected-text
v1.13 (F7.2, fecha a lacuna achada na producao do gabarito A2): realce da LINHA SELECIONADA em lista e tabela. Nasce porque o realce nao pode ser um primitivo fixo — turquesa-100 mede 1,57 contra a tinta do tema escuro — e porque a bancada banco-dados.html ja havia inventado estes tres nomes LOCALMENTE, sem definicao no gemeo: o nome existia no sistema sem dono. Valores identicos aos que a bancada usava (adicao pura: nenhum valor anterior muda). Par medido: bg x text = 12,53 claro / 11,12 escuro; border x bg = 3,42 / 4,64.
semantic.row-selected.border
#098475 / #66D1C2
--seed-row-selected-border
v1.13 (F7.2, fecha a lacuna achada na producao do gabarito A2): realce da LINHA SELECIONADA em lista e tabela. Nasce porque o realce nao pode ser um primitivo fixo — turquesa-100 mede 1,57 contra a tinta do tema escuro — e porque a bancada banco-dados.html ja havia inventado estes tres nomes LOCALMENTE, sem definicao no gemeo: o nome existia no sistema sem dono. Valores identicos aos que a bancada usava (adicao pura: nenhum valor anterior muda). Par medido: bg x text = 12,53 claro / 11,12 escuro; border x bg = 3,42 / 4,64.
semantic.field.height-sm
32px
--seed-field-height-sm
§2.5 l.388 — altura sm do controle, fixada pela spec (densidade desktop).
semantic.field.height-md
44px
--seed-field-height-md
§2.5 l.388 — altura md (padrao): alvo de toque WCAG, igual botao. Decisao explicita da spec: 'md = 44px (nao 40px)' (§1.9/§2.2 do seed-componentes.md). DIFERE de proposito da regua generica --seed-control-md (40px, v1.14) — coexistencia declarada no gemeo CSS; reconciliar e decisao de canonico.
semantic.field.height-lg
52px
--seed-field-height-lg
§2.5 l.388 — altura lg do controle, fixada pela spec.
semantic.field.radius
8px
--seed-field-radius
§2.5 l.389 — alias de radius-md (que aponta radius-4 = 8px).
semantic.field.gap
8px
--seed-field-gap
§2.5 l.390 — alias de sp-2. Rotulo->controle e controle->mensagem.
semantic.field.stack-gap
24px
--seed-field-stack-gap
§2.5 l.391 — alias de sp-6. Campo->campo confortavel; o denso (ERP) usa sp-4 (16px) por regra de layout, nao por token proprio.
semantic.field.bg
#FFFFFF / #1D272D
--seed-field-bg
§2.5 l.394/413 — fundo do controle: surface-page no claro, surface-raised no escuro.
Borda default do campo — e ela que identifica o controle (SC 1.4.11). SUPERSEDE CD-P2 (2026-08-17, fechada; seed-componentes.md §66.4 e tabela vigente do §64.6-supersede) sobre a §2.5 l.400: o alias deixa de ser cinza-600 e vira --seed-border-interactive (cinza-500, mesmo hex nos dois temas). Motivo medido: o local degradava na inversao de tema (4,74 claro / 3,21 escuro), o semantico e equilibrado (3,13 claro / 5,05 escuro, ambos >=3). No escuro coincide com o que a §2.5 l.419 ja dizia. A bancada banco-formfield.html consome o alias desde CD-P2. As variantes de estado (-hover/-error/-success/-warning) NAO migram por decisao da propria CD-P2 (nao tem semantico proprio no gemeo) e seguem a §2.5.
semantic.field.border-hover
#4D606C / #90A6B3
--seed-field-border-hover
§2.5 l.401/420 — borda no hover: cinza-700 / cinza-400 (6,01:1).
§2.5 l.405/424 — borda no estado success: turquesa-600 (4,60:1) / turquesa-300 (8,31:1).
semantic.field.readonly-bg
#E3EBF0 / #0B1419
--seed-field-readonly-bg
§2.5 l.406/425 — fundo do readonly: surface-sunken nos dois temas (hoje cinza-100 no claro; o comentario da spec media cinza-50 — nota de divergencia registrada na emissao v1.21, o alias vence).
semantic.field.warning-text
#7B5500 / #F9B11C
--seed-field-warning-text
§2.5 l.407/426 (emenda v0.7) — mensagem de warning: dourado-700 (6,68:1) / dourado-300 (9,22:1). Guarda-corpo da spec: warning e SO plausibilidade, nunca obrigatoriedade, nunca bloqueia submit.
semantic.field.border-warning
#986900 / #F9B11C
--seed-field-border-warning
§2.5 l.408/427 (emenda v0.7) — borda no estado warning: dourado-600 (4,82:1) / dourado-300 (8,21:1).
semantic.button.radius
8px
--seed-button-radius
§1.6 l.126 — alias de radius-md (que aponta radius-4 = 8px). Invariante de tema.
semantic.button.font-weight
600
--seed-button-font-weight
§1.6 l.127 — alias de fw-semibold. Invariante de tema.
semantic.button.height-sm
32px
--seed-button-height-sm
§1.6 l.128 — altura sm, fixada pela spec (densidade desktop). Coincide com --seed-control-sm e com --seed-field-height-sm: os tres valem 32px.
semantic.button.height-md
44px
--seed-button-height-md
§1.6 l.129 — altura md (padrao), fixada pela spec como alvo de toque WCAG 2.5.8. ⚠ COLISAO DECLARADA E NAO RESOLVIDA, com os tres numeros lado a lado: --seed-button-height-md 44px = --seed-field-height-md 44px (v1.21, decisao explicita do canonico 'md = 44px (nao 40px)') CONTRA --seed-control-md 40px (v1.14, regua generica de altura de controle). Dois numeros para o mesmo degrau da escala. Emitido como a §1.6 fixa; reconciliar as duas reguas e decisao do Rafael, nao dos gemeos.
semantic.button.height-lg
52px
--seed-button-height-lg
§1.6 l.130 — altura lg, fixada pela spec. ⚠ MESMA COLISAO da height-md: 52px (botao) = 52px (field) CONTRA --seed-control-lg 48px.
semantic.button.gap
8px
--seed-button-gap
§1.6 l.131 — alias de sp-2. Espaco entre icone e rotulo dentro do botao. Invariante de tema.
semantic.button.secondary-border
#098475 / #66D1C2
--seed-button-secondary-border
§1.6 l.135/143 — borda do botao secundario: turquesa-600 / turquesa-300. Medido nesta emissao: 4,28:1 sobre o action-secondary-bg claro e 6,92:1 sobre o tint dark, ambos acima do piso 3,00 da SC 1.4.11 (a spec declara 9,32 para o dark contra outra superficie de referencia).
semantic.button.secondary-text
#005048 / #CDF3EC
--seed-button-secondary-text
§1.6 l.136/144 — rotulo do botao secundario: turquesa-800 / turquesa-100. Medido sobre o action-secondary-bg de cada tema: 8,73:1 claro e 10,64:1 escuro — o 10,64 confere EXATAMENTE com o numero que a spec anota na propria linha.
semantic.button.outline-border
#617683 / #90A6B3
--seed-button-outline-border
§1.6 l.137/145 — borda do botao outline (fundo transparente): cinza-600 / cinza-400. Medido sobre a surface-page de cada tema: 4,74:1 claro e 7,35:1 escuro.
semantic.button.ghost-text
#006C62 / #66D1C2
--seed-button-ghost-text
§1.6 l.138/146 — rotulo do botao fantasma: turquesa-700 / turquesa-300. Medido sobre a surface-page: 6,32:1 claro e 10,16:1 escuro. Este e o token que a propria spec usa para explicar por que o par dark e OBRIGATORIO: com o primitivo fixo do claro, o escuro mediria 2,7.
§1.6 l.140/148 — glifo/rotulo sobre a placa ligada. O claro e o UNICO valor de cor deste grupo que a spec FIXA em hex (#FFFFFF) em vez de nomear um alias; o dark e turquesa-900. Medido: 9,37:1 claro e 7,39:1 escuro (o 7,39 confere com o numero da spec).
semantic.card.bg
#FFFFFF / #1D272D
--seed-card-bg
§26 l.1954 — fundo do cartao: alias de surface-raised nos dois temas.
semantic.card.border
#E3EBF0 / #38464F
--seed-card-border
§26 l.1954 — contorno do cartao: alias de border-subtle. BORDA DECORATIVA DECLARADA, e a spec escreve por que: 1,21:1 no claro e 1,75:1 no escuro (remedidos nesta emissao contra a superficie de pagina de cada tema — o 1,75 e contra surface-subtle #141D23, que e o fundo real da bancada), abaixo do piso 3,00 da SC 1.4.11 DE PROPOSITO, porque a separacao e carregada por espaco + raio + mudanca de superficie + tipografia, e contorno nao e portador unico de informacao (mesmo racional do skeleton §19.2).
semantic.card.radius
12px
--seed-card-radius
§26 l.1954 — 'radius lg': alias de radius-lg (que aponta radius-6 = 12px). Invariante de tema.
semantic.divider.color
#E3EBF0 / #38464F
--seed-divider-color
§26-F l.1976 — linha divisoria: alias de border-subtle nos dois temas, decorativo declarado (1,21 claro / 1,75 escuro). O consumidor vivo banco-superficies.html declara exatamente isto.
semantic.divider.strong
#C8D6DF / #4D606C
--seed-divider-strong
§26-F l.1976 = border-default nos DOIS temas. Divisor full-width enfatico, DECORATIVO DECLARADO: 1,49 sobre surface-page clara / 2,84 sobre surface-page escura. A linha da spec dizia 1,91 e esse numero nao sai de nenhuma superficie do tema.
semantic.list.hover
#F2F6F9 / #273137
--seed-list-hover
§26-F l.2000 — realce de item sob o ponteiro. A spec escreve '(surface-subtle / #273137)': o claro por ALIAS e o escuro por HEX, e o hex #273137 e o surface-overlay do tema escuro, nao o surface-subtle (#141D23) — a assimetria e da spec e foi preservada de proposito, porque e o que os QUATRO consumidores vivos renderizam (banco-cn, banco-dados, banco-navegacao, banco-superficies). Reforco, nunca canal unico: o foco tem anel medido (§1). Medido nesta emissao: texto primary sobre o hover = 12,75:1 claro (confere com o numero da propria spec) e 10,90:1 escuro.
semantic.danger.item
#A5272A / #FFC2BD
--seed-danger-item
§27 l.2181 — rotulo do item DESTRUTIVO dentro do painel de menu: vermelho-700 / vermelho-200. Remedido nesta emissao contra a superficie de overlay de cada tema: 7,18:1 e 8,67:1 — os DOIS numeros conferem exatamente com os pares que a propria spec anota como medidos pela contraste-navegacao.py. Consumidores vivos (banco-dados.html, banco-navegacao.html) ja declaram estes hex localmente.
semantic.wait.delay
1000ms
--seed-wait-delay
§17 R3-c l.1687 — atraso antes de mostrar indicador de espera de REGIAO (regime 3). A spec fixa o numero por escrito ('default 1000ms') e fundamenta no limite de 1s de Nielsen, que pressupoe o clique reconhecido em <=0,1s pelo controle disparador (regime 1). Invariante de tema. A propria linha declara a revisao futura com telemetria real do ERP na Fase 4 — nas palavras dela, 'pendencia declarada, nao decisao aberta', e por isso o token nasce com valor em vez de ficar em lacuna.
v1.14 (retrofit RV1/RV3): Texto de UI DENSA (celula de tabela, item de lista). lh apertado por decisao, nunca por omissao — o Carbon usa 1.28 no body-compact-01 pelo mesmo motivo.
v1.14 (retrofit RV1/RV3): Rotulo de controle, chip, contador, coluna. O ls negativo e ajuste optico: texto pequeno em peso alto empasta sem ele (medido no produto de referencia).
v1.14 (retrofit RV1/RV3): Microrrotulo em caixa alta: rail, caption, cabecalho de estatistica.
semantic.switch.off-bg
#788F9D / #617683
--seed-switch-off-bg
§8.3 l.1292 = cinza-500 claro / cinza-600 escuro. Trilho DESLIGADO. 3,38:1 sobre a pagina e 3,38:1 sobre o thumb no claro; 3,92 e 3,93 no escuro. A spec dizia cinza-300 e dava 1,91 nos dois pares.
semantic.switch.on-bg
#098475 / #66D1C2
--seed-switch-on-bg
§8.3 l.1292 = action-primary. Trilho LIGADO. 4,60:1 claro / 10,16:1 escuro. A spec apontava para --seed-action-primary-bg, token FANTASMA da FF-P2/FF-P3, e dizia turquesa-400 no escuro quando o valor e #66D1C2 = turquesa-300.
semantic.switch.thumb
#FFFFFF / #E3EBF0
--seed-switch-thumb
§8.3 l.1292 — thumb DESLIGADO: branco fixado pela spec / cinza-100. 3,38:1 sobre o trilho off no claro, 3,93:1 no escuro.
semantic.switch.thumb-on
#FFFFFF / #00352F
--seed-switch-thumb-on
§8.3 l.1292 = text-on-action-primary — thumb LIGADO. 4,60:1 claro / 7,39:1 escuro. E o token que NASCEU da medicao: no escuro, o thumb cinza-100 sobre o trilho ligado dava 2,25. No claro ele coincide com o thumb desligado, e isso e a regra colapsando, nao duplicacao.
semantic.slider.track
#788F9D / #617683
--seed-slider-track
= cinza-500 claro / cinza-600 escuro. Trilho NAO preenchido. 3,38:1 / 3,92:1 sobre a pagina.
token (caminho no JSON)
valor (claro / escuro)
variável CSS
descrição
color.turquesa.50
#E8FBF7
--seed-turquesa-50
color.turquesa.100
#CDF3EC
--seed-turquesa-100
color.turquesa.200
#9CE4D8
--seed-turquesa-200
color.turquesa.300
#66D1C2
--seed-turquesa-300
color.turquesa.400
#11B0A0
--seed-turquesa-400
ANCORA CANONICA #11B0A0 - cor principal da marca (Pantone 3275C)
color.turquesa.500
#00A192
--seed-turquesa-500
color.turquesa.600
#098475
--seed-turquesa-600
ANCORA CANONICA #098475 - verde institucional (Pantone 327C); stop de acao acessivel: 4.60:1 com branco
color.turquesa.700
#006C62
--seed-turquesa-700
color.turquesa.800
#005048
--seed-turquesa-800
color.turquesa.900
#00352F
--seed-turquesa-900
color.amarelo.50
#FFF6D2
--seed-amarelo-50
color.amarelo.100
#FDEA9E
--seed-amarelo-100
color.amarelo.200
#FAD61D
--seed-amarelo-200
ANCORA CANONICA #FAD61D - amarelo da marca (Pantone 115C); ACENTO OFICIAL de marca (highlight, EEny, simbolo); sempre com texto escuro; nunca na mesma peca que o dourado
color.amarelo.300
#DABA00
--seed-amarelo-300
color.amarelo.400
#BDA100
--seed-amarelo-400
color.amarelo.500
#A28A00
--seed-amarelo-500
color.amarelo.600
#877200
--seed-amarelo-600
color.amarelo.700
#6D5C00
--seed-amarelo-700
color.amarelo.800
#504300
--seed-amarelo-800
color.amarelo.900
#352C00
--seed-amarelo-900
color.dourado.50
#FFF4E4
--seed-dourado-50
color.dourado.100
#FFE6C0
--seed-dourado-100
color.dourado.200
#FECA76
--seed-dourado-200
color.dourado.300
#F9B11C
--seed-dourado-300
ANCORA CANONICA #F9B11C - amarelo dourado (Pantone 7409C); COR DE TRABALHO: warning, dataviz (cat-2), detalhe fotografico - fora de pecas de marca; nunca na mesma peca que o amarelo
color.dourado.400
#D49400
--seed-dourado-400
color.dourado.500
#B67F00
--seed-dourado-500
color.dourado.600
#986900
--seed-dourado-600
color.dourado.700
#7B5500
--seed-dourado-700
color.dourado.800
#5B3E00
--seed-dourado-800
color.dourado.900
#3D2800
--seed-dourado-900
color.azul.50
#ECF4FC
--seed-azul-50
ANCORA CANONICA #ECF4FC - antigo 'azul claro' da paleta (Pantone 656C), absorvido como stop 50
color.azul.100
#CDF1FF
--seed-azul-100
color.azul.200
#96E0FD
--seed-azul-200
color.azul.300
#53C2E9
--seed-azul-300
ANCORA CANONICA #53C2E9 - azul da marca (Pantone 2985C). Papel formal: familia de INFO na interface, cat-3 no dataviz, badges/tags informativos, ceu/agua em ilustracao. Livre no produto digital; contido em material de marca (nao compete com turquesa em titulos/fundos/CTAs). Acao primaria e sempre familia turquesa/verde - nunca azul
color.azul.400
#01B3E0
--seed-azul-400
color.azul.500
#0099C1
--seed-azul-500
color.azul.600
#007FA1
--seed-azul-600
color.azul.700
#006783
--seed-azul-700
color.azul.800
#004C61
--seed-azul-800
color.azul.900
#003241
--seed-azul-900
color.cinza.50
#F2F6F9
--seed-cinza-50
color.cinza.100
#E3EBF0
--seed-cinza-100
color.cinza.200
#C8D6DF
--seed-cinza-200
color.cinza.300
#ACBECA
--seed-cinza-300
color.cinza.400
#90A6B3
--seed-cinza-400
color.cinza.500
#788F9D
--seed-cinza-500
color.cinza.600
#617683
--seed-cinza-600
ANCORA CANONICA #617683 - cinza da marca (Pantone 5487C); corpo de texto minimo em fundo claro (4.74:1)
color.cinza.700
#4D606C
--seed-cinza-700
color.cinza.800
#38464F
--seed-cinza-800
color.cinza.900
#242E34
--seed-cinza-900
color.vermelho.50
#FFF2F1
--seed-vermelho-50
color.vermelho.100
#FFE2DF
--seed-vermelho-100
color.vermelho.200
#FFC2BD
--seed-vermelho-200
color.vermelho.300
#FF9C95
--seed-vermelho-300
color.vermelho.400
#FC6F6A
--seed-vermelho-400
color.vermelho.500
#D94545
--seed-vermelho-500
ANCORA #D94545 - vermelho funcional (nao e cor de marca; formalizado a partir do uso previo no DS digital)
Familia tecnica: dados de medicao (kWh/kWp), identificadores (UC, ART, proposta), codigo, timestamps, acento em labels. Nunca em titulos ou paragrafos.
font.family.expressive
["Caveat", "Segoe Script", "cursive"]
—
TERCIARIA. Familia expressiva, EXCLUSIVA de peca de MARKETING que precise de algo alegorico, fora do normal, festivo. Nunca em interface, nunca em documento tecnico, nunca como assinatura padrao de peca de rotina. Decisao do Rafael em 2026-08-20; supersede a linha do seed-tokens.md que dizia 'sistema final: 2 familias'. Nome escolhido por PROPOSITO (expressive) e nao por tamanho (display), para impedir leitura de 'fonte de titulo grande'. A familia Caveat vem do marca-seed.md v5.0 §4.3 por INFERENCIA declarada — ele decidiu papel e escopo, nao repetiu o nome; confirmar (pendencia MR-P3).
font.weight.light
300
—
font.weight.regular
400
—
font.weight.medium
500
—
uso exclusivo da mono
font.weight.semibold
600
—
font.weight.bold
700
—
font.size.display
64px
—
font.size.h1
42px
—
font.size.h2
32px
—
font.size.h3
24px
—
font.size.h4
18px
—
font.size.body-lg
17px
—
font.size.body
14px
—
font.size.small
12px
—
font.size.caption
11px
—
font.size.field-touch
16px
—
Fonte MINIMA de campo em superficie de toque. Aplicada via @media (pointer: coarse). Resolve o zoom automatico do iOS na causa. Alternativa descartada: maximum-scale=1 (bloquear zoom viola WCAG e pune baixa visao).
font.lineHeight.display
1.125
—
font.lineHeight.heading
1.2
—
font.lineHeight.body
1.57
—
font.lineHeight.body-relaxed
1.65
—
texto corrido longo (blog, relatorio) - regra Montserrat Light
font.lineHeight.caption
1.27
—
font.letterSpacing.display
-2px
—
font.letterSpacing.h1
-0.5px
—
font.letterSpacing.normal
0px
—
font.letterSpacing.caption
2px
—
labels micro UPPERCASE
font.size-fluid.display
clamp(2.5rem, 1.9rem + 2.6vw, 4rem)
—
40px -> 64px
font.size-fluid.h1
clamp(1.875rem, 1.58rem + 1.3vw, 2.625rem)
—
30px -> 42px
font.size-fluid.h2
clamp(1.5rem, 1.3rem + 0.87vw, 2rem)
—
24px -> 32px
font.size-fluid.h3
clamp(1.25rem, 1.15rem + 0.43vw, 1.5rem)
—
20px -> 24px
token (caminho no JSON)
valor (claro / escuro)
variável CSS
descrição
dimension.space.0
0px
—
dimension.space.1
4px
—
dimension.space.2
8px
—
dimension.space.3
12px
—
dimension.space.4
16px
—
dimension.space.5
20px
—
dimension.space.6
24px
—
dimension.space.8
32px
—
dimension.space.10
40px
—
dimension.space.12
48px
—
dimension.space.16
64px
—
dimension.space.20
80px
—
dimension.space.24
96px
—
dimension.radius.sm
4px
--seed-radius-sm
chips, badges, inputs compactos
dimension.radius.md
8px
--seed-radius-md
botoes, inputs, padrao de controle
dimension.radius.lg
12px
--seed-radius-lg
cards
dimension.radius.xl
16px
--seed-radius-xl
modais, paineis
dimension.radius.full
9999px
--seed-radius-full
pills, avatares
dimension.safe-area.top
env(safe-area-inset-top)
—
dimension.safe-area.bottom
env(safe-area-inset-bottom)
—
dimension.safe-area.left
env(safe-area-inset-left)
—
dimension.safe-area.right
env(safe-area-inset-right)
—
token (caminho no JSON)
valor (claro / escuro)
variável CSS
descrição
radius.1
2px
--seed-radius-1
v1.14: escala de raio em passo 2 (o 6px era o valor mais usado do acervo e nao existia na escala).
radius.2
4px
--seed-radius-2
v1.14: escala de raio em passo 2 (o 6px era o valor mais usado do acervo e nao existia na escala).
radius.3
6px
--seed-radius-3
v1.14: escala de raio em passo 2 (o 6px era o valor mais usado do acervo e nao existia na escala).
radius.4
8px
--seed-radius-4
v1.14: escala de raio em passo 2 (o 6px era o valor mais usado do acervo e nao existia na escala).
radius.5
10px
--seed-radius-5
v1.14: escala de raio em passo 2 (o 6px era o valor mais usado do acervo e nao existia na escala).
radius.6
12px
--seed-radius-6
v1.14: escala de raio em passo 2 (o 6px era o valor mais usado do acervo e nao existia na escala).
radius.8
16px
--seed-radius-8
v1.14: escala de raio em passo 2 (o 6px era o valor mais usado do acervo e nao existia na escala).
v1.23 (2026-08-26) — a curva que a spec usava QUATRO vezes e nunca fixava, deixando dois valores no acervo (.2,.8,.4,1 em 3 artefatos e .2,.7,.3,1 em 2). Medidos em 21 instantes de um movimento de 120 ms, os dois diferem no maximo 1,5% do percurso e 0,3 MILISSEGUNDO — a 60 Hz um quadro dura 16,7 ms, entao a diferenca e 1/56 de quadro e nao existe em nenhum monitor. Escolhida a de maior uso. E o mesmo teste respondeu se o token deve EXISTIR: contra o `productive` a diferenca e 36,8% do percurso e 24,9 ms, 83x maior. Sao curvas diferentes de verdade.
token (caminho no JSON)
valor (claro / escuro)
variável CSS
descrição
control-height.sm
32px
—
v1.14: altura de controle. O DS nao tinha token e a auditoria mediu botao de 18px a 608px.
control-height.md
44px
—
v1.23 (2026-08-26): RECONCILIADO com --seed-button-height-* e --seed-field-height-*, que a §1.6 e a §2.5 fixam por escrito em 32/44/52. De 2026-08-15 a 2026-08-26 o DS teve TRES reguas de altura com DOIS numeros. O desempate nao foi por gosto: medido, NENHUM artefato do acervo consome --seed-control-* — os tres consumidores sao a spec, a guarda de paridade e o gemeo. A regua generica era a de papel; vence quem tem spec. O preset compacto (28/32/40) nao muda: e escala de densidade para tela de dado com mouse. Era 40px.
control-height.lg
52px
—
v1.23 (2026-08-26): RECONCILIADO com --seed-button-height-* e --seed-field-height-*, que a §1.6 e a §2.5 fixam por escrito em 32/44/52. De 2026-08-15 a 2026-08-26 o DS teve TRES reguas de altura com DOIS numeros. O desempate nao foi por gosto: medido, NENHUM artefato do acervo consome --seed-control-* — os tres consumidores sao a spec, a guarda de paridade e o gemeo. A regua generica era a de papel; vence quem tem spec. O preset compacto (28/32/40) nao muda: e escala de densidade para tela de dado com mouse. Era 48px.
control-height.sm-compacto
28px
—
v1.14: altura de controle. O DS nao tinha token e a auditoria mediu botao de 18px a 608px.
control-height.md-compacto
32px
—
v1.14: altura de controle. O DS nao tinha token e a auditoria mediu botao de 18px a 608px.
control-height.lg-compacto
40px
—
v1.14: altura de controle. O DS nao tinha token e a auditoria mediu botao de 18px a 608px.
token (caminho no JSON)
valor (claro / escuro)
variável CSS
descrição
spacing-half.1-5
6px
—
v1.14: meio-passo de espaco, medido em 824 (6px) e 417 (10px) ocorrencias fora da escala.
spacing-half.2-5
10px
—
v1.14: meio-passo de espaco, medido em 824 (6px) e 417 (10px) ocorrencias fora da escala.