Foundations

Typography

Two families, five sizes, three weights and two line heights, and every one of them is stage 04's, inherited rather than re-derived. Small and short on purpose: design principle 5 says density is the feature, and six hours a day means no decorative whitespace.

Two families

Chosen on a rendered comparison of four candidates each rather than on the name drawn on the brandbook plate. Archivo carries display and body; IBM Plex Mono is reserved for anything counted, which is what makes a number legible as a number at a glance rather than as a word.

Clerk proposes compromised identity

--font-sans · 'Archivo', system-ui, sans-serif

34 of 36 accepted, 30 days

--font-mono · 'IBM Plex Mono', ui-monospace, monospace
Neither family is loaded, and that is a finding rather than a decision. Nothing in the product links a webfont: no @font-face, no stylesheet from a font host, on any of the 52 coloured pages. Both names resolve from the reader's own machine. On a machine that has them the product looks as designed; everywhere else it falls back to system-ui and ui-monospace, and the character both families were chosen for is gone. Open at the step 3 gate.

The scale

The scale is in rem since stage 10, and two of its five sizes grow with the window. It was in px from stage 04 to stage 09: at a 16px root those are the same numbers, and for a reader who set a larger font a px scale simply ignores the setting, which is how a layout fails WCAG 1.4.4 quietly. The numbers below are what they resolve to at this window's width, measured, and the two fluid ones move if you drag the edge.

measuring

The two ends of each clamp are this product's own two widths, 1280 and 1920, so the type grows across exactly the band the analyst sits in and is stage 04's value everywhere below it. The three small sizes do not grow at all: density is the feature, and on a wider monitor this analyst wants more rows rather than larger ones. What makes dense text readable is the measure, and that is capped at 66ch. A font-size is never switched at a point, and the middle term of each clamp carries a rem addend rather than pure vw, because pure vw takes the page out of the reader's zoom. Full reasoning on Width.

Five sizes, live, in real product strings from voice/docs/microcopy.md and the coloured screens rather than in filler. The token is on the left and the class that carries it, where there is one, beside it.

--size-xl ·
the one heading a page is allowed
fluid
18 waiting across 12 of 40 tenants
--size-lg ·
screen title, pane title
fluid
Fleet
--size-md · 14px
body, controls, the verdict in a row
Clerk proposes compromised identity
--size-sm · 12px
dense data: rows, tables, the narrative
Token replay from a new ASN
--size-xs · 11px
column heads, chips, meta, keys, hints
34 of 36 accepted, 30 days

Nothing in the product is smaller than 11px except two places that are, and they are named under Tracking below.

Weights and line heights

Three weights, and the product uses no 500 anywhere. Attribute A3 gained a ceiling at stage 06: 600 is the working emphasis, and 700 is allowed on a counted value only. Halation makes this structural rather than stylistic: body text on a dark ground never drops below 400.

400 · regular
everything that is read
Clerk found no second signal on this tenant
600 · the working emphasis
the client, the verdict, a heading
Meridian Health
700 · a counted value only
and nothing else
34 of 36
--leading · 1.45
anything read in a paragraph
The order settles when the count does. Rows arrive as Clerk correlates them, and the queue is complete when the annunciator says so.
--leading-tight · 1.25
every heading
Case File in the detail pane

Tracking, and this is the open row of the whole foundation

Three tracking tokens were measured on the brandbook plate. No product rule reads any of them: all ten of their uses are on documentation pages. Meanwhile the product writes eight literal tracking values of its own, and they were never reconciled.

This page shows all of them together because that is the only way the question is answerable, and step 2 did not rule on it. Nothing was collapsed silently: the tokens are carried unchanged and the eight values are below.

ValueWhere it is writtenSampleReading
.04emchip--state, 194 uses unrecorded the tightest of the six
.06emclaim .tag, written as a literal identity this is exactly --track-mono, written past the token that holds it
.08emcolumn heads, the field label, 5 rules tenant the most used of the six
.09emrail, 1 rule record one rule, and one hundredth off its neighbour
.1emthe block headings, 3 rules evidence
.14emanote::before, toast .role why and both are 11px, which is below the 11px floor of the scale
-.01emwordmark, doormark Harrier against --track-display at -.038em
-.02emthe stand's own headings Harrier documentation, not product

The three tokens, for comparison

--track-mono · .06em
measured on plate J · 0 product uses
34 of 36 accepted
--track-display · -.038em
rendered test · 0 product uses
18 waiting
--track-wordmark · .16em
measured on plate J · 0 uses anywhere
HARRIER

The product's own tracking already meets what the dark ground needs, which is why forcing the token onto it would be the wrong way round. CLAUDE.md requires slightly open tracking on small monospace because of halation, and stage 04's spread of .04 to .14em is open throughout. Making the six into one to make a token look used would change stage 04's typography for the sake of the token. The question this page asks is the other one: should six values be six, and if not, which one survives.