Overprint is allowed to be loud because it is strict about this page. The fifteen rules below are the contract: the token pipeline checks the colours before a component exists, and the press check walks every fixture in all 64 looks, runs axe and compares screenshots. A rule that fails stops the release. Personality is the bar; legibility is the floor.
Last verified 2026-10-24 at daed47d, over 80 looks.
- 1,586,044
- 24
- 80
Two layers
Every text node sits on a flat, opaque plate. No art (canvas, halftone, grain, a giant glyph, an image marked as art, video) lies between a text box and its plate.
270,319 checked, 0 failed
Body contrast
Reading text is at least 4.5:1 and APCA Lc 75; long-form copy aims for Lc 90 and 7:1.
252,473 checked, 0 failed
Size-aware contrast
Every text role meets the APCA floor for its size and weight; no text colour has alpha below 1; nothing meaningful under 14 px and nothing at all under 12 px.
262,175 checked, 0 failed
Sanctioned pairs only
Text on a coloured plate uses a generated pair token, and plates that carry body text stay out of the lightness dead zone.
232,644 checked, 0 failed
Focus you can see
Component edges and states reach 3:1; focus is a 2 px ring with a 2 px gap at 3:1 against everything around it, and is never hidden.
2,586 checked, 0 failed
Targets
Everything you can press is at least 24 by 24 px, and primary controls 44 px on phones.
1,632 checked, 0 failed
Colour budget
At rest, the share of saturated ink on screen stays inside the volume's budget: Quiet 10 %, Studio 35 %, Press 50 %, Rave 75 %; so does the count of distinct ink hues.
372 checked, 15 failed
Chroma cap
Any one region larger than a tenth of the viewport stays under the volume's chroma cap; small marks keep their full ink.
148 checked, 0 failed
No vibration
Saturated neighbours differ enough in lightness, or sit apart on a neutral rule; red never buzzes against blue.
60 checked, 0 failed
Colour vision
Meaning never rides on hue alone: every line ink and every status carries a letter, a word or a shape.
11,120 checked, 0 failed
Type discipline
Body in Schibsted at 16 px or more with room to breathe; one display moment per view; the width extremes only for three words or fewer on one line; the second ink only on display type of 2 rem and up.
452 checked, 0 failed
Square text
Anything with words sits at 0 degrees at rest. Art, stamps, tape and the blocks may tilt; stickers land leaning and settle.
267,270 checked, 0 failed
Calm motion
Reduced motion leaves only short fades; ambient loops stop within five seconds at Quiet and Studio or show a pause control; hover never moves text.
473 checked, 0 failed
Robust text
Components survive the WCAG text-spacing overrides and a 320 px reflow without clipping or overlap.
1,544 checked, 9 failed
Complete and consistent
One icon set, tokens only, lint at fail, real-length fixtures; sentence case and no em dashes in copy.
282,000 checked, 0 failed
What a rule is not#
A rule never says "be careful". Each one names the number it holds and the test that measures it, so an argument about legibility ends with a screenshot and a count, not a vibe.
Where the numbers come from
The budgets, caps and ink counts per volume are the tokens' volumes file, shown on the volume foundation. The pair floors are the APCA lookup by size and weight; every pair and its result in every look is on the colour foundation.