Builder stays calm. Live earns the heat. Marketing and share artifacts
carry the swagger. Every surface uses the same color channels, type
roles, spacing, geometry, and accessibility rules.
Color channels
Meaning before hue.
Surface / #0B0A08
Brand / #E07E3C
Interactive / #3AC0D4
Peak only / #FF2E88
DisciplineCopper is identity and primary action. Cyan is interaction and
focus. Plasma is never a control.
Reconnect to keep building. Your class structure is still here.
Provider connection
Every provider state is explicit.
✓Spotify connected
↻Reconnecting…
!Disconnected
⧖Session expired
⊘Permission needed
×Provider error
Color reinforces; the label and glyph carry the meaning. Every failure
state pairs with an inline recovery action — see
Builder states for these in context.
Class sections
Segments read by label, tinted by role.
Warm-up
Climb
Sprint
Recovery
Cool-down
Filter chips toggle on a raised surface; the selected chip adds a cyan
border and heavier weight, never color alone.
Typography
The numbers carry the brand.
Display / Bricolage GrotesqueShape the room.Marketing, section heroes, and Live headers.Data / Azeret Mono138BPM, timecodes, zones, durations, and counts.
Controls
One primary action per surface.
Intensity
Zone + bars + label + color.
Zone 0 · NoneZone 1 · BuildZone 2 · PushZone 3 · AttackZone 4 · All Out
03The Marble Has a BeatNorth Room · 3:42Z3 · Attack132BPM
Class shape
Height carries the meaning.
45-minute class · 3 peaks · All Out at 32:10The textual summary preserves the same information for
screen-reader users.