Train loud.
Recover quiet.
A strength-and-conditioning identity built dark-first. Surfaces separate by value, not borders; depth is a volt-coloured glow rather than a grey shadow; and the numbers are always the biggest thing on the screen.
Dark is the default. "Day mode" is the secondary theme — and it's the harder one.
Three greys, one bright
The greys are a value ladder, not a palette. Each step up means "closer to the reader".
Do
- Move one step up the ladder per nesting level — void, carbon, graphite, stop.
- Put volt on the single most important number in any view.
- Let ember mean something bad. If it appears twice a screen, it means nothing.
Don't
- Set white or chalk on volt — 1.2:1. It is physically unreadable. Volt carries void, always.
- Put chalk on ember (3.2:1). Ember also carries void.
- Use volt as a text colour on a light ground in day mode. It is a fill only.
- Add a grey drop shadow. This brand has no grey shadows.
Anton shouts, Archivo explains
Anton has one weight and it is loud. That's a feature — it removes the temptation to make six sizes of heading.
Anton 400 — uppercase onlyOne number that matters.
Headings, the wordmark, numerals, table row keys, schedule times. Anton is uppercase-only in this system — its lowercase is fine but reads soft.
Archivo 400 / 500 / 600 / 700Every block starts with a movement screen and ends with a retest. If your numbers stall for two weeks running, the programme changes — you don't just add plates and hope.
Paragraphs, labels, buttons, forms, tags. Weight 700 for buttons and kickers, 400 for copy.
Anton · tabular · .86 leadingNumerals set at .86 line-height so they stack tight. Units drop to 1.1rem in ash. One volt numeral per card, maximum.
Type scale
| Role | Face | Size |
|---|---|---|
| Hero | Anton | 67 / .98 |
| Figure | Anton | 58 / .86 |
| H1 | Anton | 42 / .98 |
| H2 | Anton | 32 / 1.0 |
| H3 | Anton | 21 / 1.1 |
| Body | Archivo 400 | 16 / 1.55 |
| Small | Archivo 400 | 14 / 1.5 |
| Button | Archivo 700 | 13 / .14em |
| Kicker | Archivo 700 | 11 / .20em |
Rules of thumb
- Anton is always uppercase, always tracked at least
.005em. - Never set Anton below 16px — it turns to mud.
- All tracked caps in Archivo run .12em–.20em. Untracked caps are a bug.
- One hero numeral per screen. Two competing figures kill both.
Tight corners, no borders, coloured glow
Nothing here is outlined. If two surfaces need separating, change the value — don't draw a line between them.
The value ladder
inputs, meters, nested panels
Three steps is the whole system. A fourth would be indistinguishable, so nesting deeper means restructuring, not adding another grey.
Glow & radius
0 0 30px4px controls8px cardsTwo radii only: 4px for controls, 8px for cards. Pills are 999px and reserved for tags and meters. The glow has zero offset — it's light coming off the element, not a shadow falling from it.
The parts you'll reach for
Buttons
One glowing volt button per view. Graphite is the everyday secondary; ghost is tertiary and uses an inset hairline rather than a real border.
Tags & meters
Stats
Exactly one volt figure per group. The rest stay chalk.
Form fields
Fields sit on void, not carbon — inset, not raised.
Layout blocks
- 05:30Barbell strengthSquat · Press · Row6 left
- 07:00ConditioningIntervals, 40 min2 left
- 12:15Open gymCoached floorOpen
- 18:00Barbell strengthSquat · Press · RowFull
- 01A. Rivera405
- 02J. Okafor385
- 03M. Lindqvist340
- 04D. Osei315
Foundations
Eight weeks. Movement screen, technique, and a repeatable base.
Build
Twelve weeks. Linear progression with a deload every fourth week.
Peak
Six weeks. Intensity up, volume down, retest at the end.
Your first week is free
Movement screen included. No card, no contract, no upsell on the floor.