heu design

Colors

Each color carries its light and dark value through light-dark().

Type

Atkinson Hyperlegible Next for reading, JetBrains Mono for the interface.

Space

Radius

Depth

Raised things sit on a hard bottom edge. Sunken things get an inset well.

Other

Text

From base.css. Headings use the mono face, body text the sans face.

Heading one

Heading two

Heading three

Body text with italics, bold and a link.

Text fields

Fields sink into the surface. Focus one to see its halo.

Select

A keycap like the button. Browsers with customizable selects also get a raised option list.

Checkboxes

Radios

Details

Closed section Hidden until opened.
Open section Content shows below the summary.

Table

Rows line up with the content edge, so a table sits flush inside a card.

ModuleScoreStatus
Storage82%Passed
Networking64%Review
Security91%Passed

Dialog

A raised panel over a dimmed page. Open it with showModal().

Dialog title

Press Escape or the button to close it.

Button

A keycap that presses into its edge. Works on button and a elements.

Link

Card

Kicker

Card content sits on the raised surface.

Kicker

Section label

Segmented

One choice out of a few. The chosen item rises out of the well. Mark it with aria-pressed or the --on modifier.

Toolgroup

A raised group of tools. The active tool sinks in. Click again to release it.

Chip

A small pill. As a button it toggles with the --on modifier. Tones mark a status.

Static
Strong Review Weak

Meter

Callout

A message banner. Accent by default, with good, warn and bad tones.

A new version is available.
Progress saved.
You are two modules behind plan.
The file could not be read.

Screen reader only

Hidden on screen, read aloud by screen readers. The button below has a hidden label.

Together

Components composed into a settings card.

Reading speed

450 words per minute