Design system
The shared visual language of Alluv pages. This page is built from the same stylesheet it documents.
Color
One dark palette. Hairlines are decorative; anything a reader must see to operate a control uses --field-line or stronger.
| Swatch | Token | Value | Role | Minimum contrast |
|---|---|---|---|---|
--paper |
#0e1518 |
Background | — | |
--ink |
#e4ebe8 |
Main text | 7:1 on #0e1518 |
|
--muted |
#9aaba8 |
Secondary text | 4.5:1 on #0e1518 |
|
--accent |
#a8c4ba |
Accent, links, primary control | 4.5:1 on #0e1518 |
|
--paper |
#0e1518 |
Text on a primary control | 4.5:1 on #a8c4ba |
|
--field-line |
#5f7672 |
Input and control boundaries | 3:1 on #0e1518 |
|
--error |
#f0b7ab |
Error text and border | 4.5:1 on #0e1518 |
|
--line |
#4a5e5c66 |
Decorative hairlines only | — |
Type
Newsreader for headings, the wordmark and running text; Manrope for labels, navigation, metadata and controls. Both self-hosted under the SIL Open Font License.
Annual reports
forening.alluv.devSpace
A 4px base. Prefer the larger steps between sections: open layouts, not dense ones.
Components
Index
.index — the umbrella's primary component: ruled entries, whole row clickable, no fills.
Entry
One sentence on what it is.
Links and buttons
An inline link keeps its underline.
Fields
Messages
Details
- Host
identity.alluv.dev- Purpose
- Sign-in shared by Alluv applications.
Prose
.prose sets running text to the measure and spaces its children.
Quotations are ruled, not boxed.
Artwork
A static, seeded point cloud on canvas.cloud. Decorative only: aria-hidden, out of every hit area, hidden in forced colors, and the page reads the same without it. Vary data-seed per page.