EDFL

A monochromatic design system

Philosophy

Monochrome first

Color is noise. The system lives in the gray spectrum — warm and cool tints create hierarchy without distraction.

Semantic color only

Color is reserved for meaning: errors, warnings, success, info. Never for decoration.

Hierarchy through luminance

Elements are differentiated by brightness, not hue. Important things are brighter, subordinate things fade.

Desaturated calm

Even diagnostics use muted tones. No screaming reds — the interface stays calm under pressure.

Colors

Surface

bg
surface
surface-raised
border
border-subtle

Text

text
text-secondary
text-muted
text-faint

Semantic

accent
error
warning
success
info

Syntax

keyword
string
function
constant
comment
parameter

Typography

xs The quick brown fox jumps over the lazy dog
sm The quick brown fox jumps over the lazy dog
base The quick brown fox jumps over the lazy dog
lg The quick brown fox jumps over the lazy dog
xl The quick brown fox jumps
2xl The quick brown fox
3xl Design System

Spacing

4
8
12
16
24
32
48
64
96

Components

Buttons

Inputs

Badges

Default Error Warning Success Info

Cards

Surface card

A basic card using the surface background with subtle border.

Raised card

Elevated variant with a slightly lighter surface.

Interactive card

Hover to see the subtle transition effect.

Code

const theme = 'min-mono';

function getToken(name) {
  // Resolve a design token at runtime
  return getComputedStyle(document.documentElement)
    .getPropertyValue(`--${name}`);
}

Alerts

Info: Monochrome is the default. Color is opt-in.
Success: Token applied successfully.
Warning: Saturated colors break the system.
Error: Pure #ff0000 is never acceptable.