var(). That single rule is what makes the rest of the system portable: swapping the token
layer is one of the three declared fork seams, and it works because nothing above N1 has an
opinion about a hex code.
The live token set is published at GET https://mzizi.dev/api/v1/brand. Values below were
read from it on 11 September 2026 at brand version 4.0.31.
The Seven African Minerals
Each mineral also carries a container pair — a pale fill for light mode and a deep one for
dark — for hover states, selected rows and soft highlights.
Tanzanite is
--primary, not cobalt. Cobalt is the exceptional mineral, reserved for
links, informational states and the focus ring. Reaching for cobalt as a primary action
colour is the most common token mistake in this system.Semantic colours
Components reference semantic names, never minerals directly. Fourteen are published; these are the ones components reach for most:The --status-* aliases
Five aliases exist over the semantic set, and a large share of the registry references them by
those names:
Backgrounds
Surfaces are a ladder, not a single background colour:Radii
Four numbers, and one identity rule.
Buttons are always pill-shaped, and so are inputs, avatars and badges. That is a brand
identity decision rather than a styling preference, and it is why those categories carry
borderRadius: 9999 rather than a scale value.
Spacing
The scale runs from a 2px hairline upward, with names rather than raw numbers:How a value reaches a component
Component specifications
Some tokens are component-shaped rather than colour-shaped, and they are published the same way:
The 48px floor is not negotiable; see accessibility.