Every brand kit we build sites from, side by side. The rows are the roles a site needs filled, whatever the colours. Each column header is painted in that kit's own page and text colours, and every swatch is read from the kit's own files. An empty circle marks a role the kit leaves unfilled.
Core roles across 5 kits: 29 filled · 4 partial · 2 missing.
One company card, worn by every kit in each of its themes, in the kit's own fonts. Nothing on a card is typed: each value is read from the kit's files, and an unfilled role shows the way the kit leaves it. Under each card are the WCAG contrast ratios for its four reading pairs (✅ 4.5 or more, 🟡 3 or more, 🔴 below), computed from the same values.
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: no ring here: one table's rows only · link: the default erases the role · nav: no mark for where you are
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: no ring here: one table's rows only · link: the default erases the role · nav: no mark for where you are
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: its own ring · nav: no mark for where you are
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: its own ring · nav: no mark for where you are
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: its own ring · nav: no mark for where you are · chart: no chart family, drawn in accent
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: its own ring · nav: no mark for where you are · chart: no chart family, drawn in accent
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: no ring of its own · chart: no chart family, drawn in accent
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: no ring of its own · chart: no chart family, drawn in accent
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: no ring of its own · link: the browser's own blue · link: no rule for a link in prose: the browser's blue underline, not the kit's · chart: no chart family, drawn in accent
Revenue rose eleven per cent while costs held; read the filing for the full table. Updated today.
focus: no ring of its own · link: the browser's own blue · link: no rule for a link in prose: the browser's blue underline, not the kit's · chart: no chart family, drawn in accent
Frozen. Its brand kit (PDF, the visual kit of 10-11) stays on the bench as a reference and is not copied into the library; its served site is the engine's stylesheet with SPARQ's own profile, pinned from the kit.
| The Algo 2026KevinapprovedThe redesign, the one approved kit. Its tokens are the schema's reference fill; its two stylesheets hold the rules.Geist · Geist Monolight + dark | The Algo 2026, oursours (the handoff to Kevin)proposalKevin's tokens unchanged, plus ours.css: a global focus ring and underlined links in prose, the two defaults his kit leaves to one component each. The whole delta is two rules.Geist · Geist Monolight + dark | Tumblewell (the sample)the sample companysampleThe engine's own stylesheet, filled by a company's four bases. Every colour here is derived by engine/palette.py from tumblewell's profile: four typed, the rest computed.Interlight + dark | D'agere (the book)ours (books)in useThe book's site and covers: night ground, door light, gold. Dark is the default; light is the kit page's own palette.CG (Cormorant Garamond) · DM Sansdark + light | thealgo.ioours (io, retiring)retiringThe old dashboard mesh: a raw palette (tokens.css), its two modes (theme.css), its components (base.css). When the io repo goes, these copies become the source.Manrope · SF Monodark + light | SPARQ SystemsSPRQ (frozen)referenceFrozen. Its brand kit (PDF, the visual kit of 10-11) stays on the bench as a reference and is not copied into the library; its served site is the engine's stylesheet with SPARQ's own profile, pinned from the kit. | |
|---|---|---|---|---|---|---|
| core | ||||||
| a surface / card | filled--core | filled--core | filled--surface | filled--surfacethe ground lifted toward its own ink (color-mix) | filled--m-surface | |
| text and quiet | filled--ink-1 | filled--ink-1 | filled--ink | filled--text | filled--m-text | |
| the accent, and its text strength where it is pale | filled--accentthe -ink pairs (--up-ink, --down-ink, --warn-ink) are the text strengths | filled--accent | filled--accent--accent-deep is its stronger twin | filled--accentgold on night; #9a7a2c on paper | partial--db-accentone accent, no darker text twin | |
| the way on | filled--cta-bg | filled--cta-bg | filled.btn-primary | filled--primary · .btn.go | filled.cbtn-p | |
| back | filled.btn.ghost | filled.btn.ghost | filled.btn-ghost | filled.btn{display:inline-blockthe plain .btn is the outline | filled.cbtn-g | |
| keyboard focus | partial.dt-table tbody tr:focus-visibleone table's rows only; no global :focus-visible (his card cms-kevin-kit-defaults-2026-10-29) | filled:focus-visible added: a global ring in the accent (Kevin's: one table's rows) | filled--highlight · :focus-visible{outline:2px solid var(--highlight) | missingno focus rule in site.css; the browser's own ring only (the schema's books ✅ was struck on books v2.6, another parent) | missingno focus rule in the shared lib, and .hp sets outline:none; one page (yt-page.css) rings its own swatches | |
| a link in text | partiala { color: inherit; text-decoration: none; }the default erases the role; only screens.css .link restores it (same card) | filledp a added: the accent, underlined (Kevin's: inherit, no underline) | filled--accent · a{color:var(--accent);text-decoration:none}colour only, no underline | filled--link · a{color:var(--link)}the browser's underline is kept | partialno rule for a link in prose: the browser's blue underline, not the kit's | |
| if the kit has it | ||||||
| states | filled--warn | filled--warn | declinedthe engine has no state tokens yet | declinedthe site shows no states | filled--db-sys-warning | |
| where you are | missingnot found in tokens.css or screens.css; its app pages not struck | missingas Kevin's: not found in tokens.css or screens.css | missingnot struck in v2.css | filled.bar nav a.on | filled.snav a.active | |
| charts | filled--s1 | filled--s1 | declinedthe engine draws no charts | declinedthe book's drawings are paths, not a chart kit | declinedcharts drew from the market tokens, no chart family | |
engine/kits/*/kit.json, held to their files by kits.py before rendering (gates/g10-kits.sh). Roles: kit.schema.json v0.1.2. Files: the-algo-2026 b91abcc7 · the-algo-ours b91abcc7 · the-algo-ours 92c31e81 · tumblewell df76c906 · tumblewell 30298dce · dagere 8b778af4 · io 3a3c30e6 · io 2e486329 · io 51e33f8d