Colour
black #000000
grey-800 #262626 · body in cards
grey-600 #6b6b6b · secondary text
grey-400 #a3a3a3 · placeholders
grey-200 #e5e5e5 · hairlines
grey-100 #f2f2f2 · fills
grey-50 #fafafa · notes
white #ffffff
signature yours · the mark only
Five ring palettes
Everything stays black, white and grey. When every person or project gets a ring, give each one a colour from a single palette. Mzansi is the South African flag set Version One uses, with the meanings its builders pick from.
Coast Fresh, open, outdoors.
dui-palette-coast
Type
hero 76 Before everyone
h1 54 Naledi is building Spaza Stock
h2 48 Just shipped
h3 26 Lift Club
h4 20 Start a club
lede 18 Meet them. Try what they shipped.
body 16 Shared school lifts for parents in the same suburb.
meta 14 Thandi Mokoena · v0.3 · 12 Oct
eyebrow 13 Builder of the week
Shape and space
pill
input 14
panel 16
card 22
menu 24
feature 28
Space runs on 4px: 4, 8, 12, 16, 20, 24, 32, 40, 56, 80, 112. Sections sit 80px apart on phones and 112px on desktop. The only shadow is on floating menus.
Badges
Live Beta Idea Featured v0.3 v1.0
Outline for status, solid for one highlight, soft grey for versions.
Cards
Hover turns the border black. No lift, no shadow.
Signature mark
ND
ND
v1.0
Three fillings: empty (a seat nobody has taken yet, grey and dashed), initials, or a photo. Each one dashed until it's live, solid once it ships.
ND v0.1
ND v1.0
LJ
DM
Not live (dashed), live (solid), an earned dot in someone else's colour, a person with no signature of their own (thin black), a group (double black).
TM
TM
v0.3
v0.3
Sizes: 20 in the logo, 36 in a card, 64 in a list, 108 in a faces row, 152 on a profile.
A
B
C
D
If every person in your product gets a colour, keep the set to five or fewer, saturated and easy to tell apart. Still only on marks.
Menu and tabs
All
Live
Beta
Tabs are pills. The open one is black.
The current page is bold, never coloured.
Notices
You're signed in as naledi@example.com .
Motion
Quick and quiet. Add distinctui.js and these work from attributes. Everything lands still for people who turn motion off.
dur-fast 120ms · press, hover
dur 200ms · tabs, menus, fields
dur-slow 480ms · reveals, rings drawing in
dur-live 700ms · dashed to solid
ease cubic-bezier(0.2, 0, 0, 1) · settle
ease-pop cubic-bezier(0.3, 1.5, 0.5, 1) · going live only
Goes live
v1.0
The day it ships, the dashed ring turns solid with one small pop.
Ship it
Draws in
Rings sweep round once when they first come into view.
Draw again
Counts up
128
Numbers count up once when seen. Press a pill and it sinks a little.
Follow
All
Live
Beta
Paused
Nothing paused. Good.
Filter tabs: data-filter on the tabs, data-tags on the items. What stays settles back in.
Page furniture
Docs Start Import your list
Breadcrumbs, when pages nest three deep or more. The page you're on isn't a link.
Bag Delivery Pay
Steps through a flow. Done and current are black.
Profile 60% done 60%
Page numbers are pills. The current one is black.
A side menu for docs and help: the current page is bold with a black edge.
Tables, questions and code
Item Qty Price Speckled mug 2 R640 Side plates, pair 1 R420 Total R1,060
A black line under the header, hairlines between rows, numbers on the right. No stripes.
Does it work offline? Yes. Counts save on the phone and sync later.
Can I pay in cash? Not yet.
npx skills add VenusOne-Lee/distinctui
Code people copy sits in a grey panel and scrolls sideways rather than wrapping.
Switches, chips and faces
Remind me on Sundays
Email me about new pieces
A switch saves straight away. Consent is never a switch: it's an unticked box, one per purpose.
Help Last year
Filters that are on. Press one to remove it.
Who else is here. Five faces at most, then say how many more.
Loading shapes, only after 300ms, in the shape of what's coming.
Open a dialog
Delete Lift Club? Its page and its 14 versions go for good.
A dialog only for a question that must be answered first. The veil behind is white, never dark.
Icons
search arrow-right arrow-left check x plus minus mail message map-pin clock lock bag truck copy external download refresh home bell settings user calendar phone play
Lucide outlines in icons.svg, drawn in the text colour, next to a word. Never filled, never coloured.