← All palettes
Classic · No. 01

Light

Paper-white page, near-black ink and a single confident red. The default Lightbi look.

light cleaneditorialcrisp
Get the tokens
The idea

A white canvas lets the content lead. Warm off-white cards add just enough separation, and one red accent marks the links and actions so the reader always knows where to click. Libre Baskerville gives headings a bookish voice, while Geist keeps body text calm and modern.

Mode
Light
Family
Classic
Good for
blog, portfolio, docs
Fonts
Libre Baskerville + Geist
Colours

Eleven roles

Click any swatch to copy its hex code.

Accessibility

Contrast check

Worked out when the site is built, using the WCAG 2 formula.

Body text on background#1F1F1F on #FFFFFF
The quick brown fox jumps over the lazy dog
16.48:1
AAA
Headings on background#111111 on #FFFFFF
The quick brown fox jumps over the lazy dog
18.88:1
AAA
Muted text on background#5E5E5E on #FFFFFF
The quick brown fox jumps over the lazy dog
6.48:1
AA
Links on background#C02018 on #FFFFFF
The quick brown fox jumps over the lazy dog
6.07:1
AA
Text on raised cards#1F1F1F on #F7F6F3
The quick brown fox jumps over the lazy dog
15.25:1
AAA
Button label on accent#FFFFFF on #D3261E
The quick brown fox jumps over the lazy dog
5.17:1
AA
Accent shapes on background#D3261E on #FFFFFF
The quick brown fox jumps over the lazy dog
5.17:1
AA

AAA ≥ 7:1 and AA ≥ 4.5:1 for normal text. AA Large ≥ 3:1 is enough for large headings, icons and button shapes.

Typography

The font pairing

Every font is self-hosted, so pages load without calling a third-party font service.

Aa
Headings
Libre Baskerville

Small rooms full of light

Aa
Body
Geist

Good body type disappears: you stop noticing letters and start reading the story they carry.

{}
Code
Geist Mono

const palette = "light"; // 0O 1lI =>

In use

A page in Light

Headings, links, quotes, code, buttons and cards together.

Light Journal EssaysNotesAbout
clean · 6 min read

What a colour remembers

14 October 2026 · by the editors

Colour is never just decoration. A background sets the temperature of a room before a single word is read, and an accent tells the eye where to go next. Choose them together and a site starts to feel like a place.

A palette is a promise about how a page will feel.
// apply the palette
const root = document.querySelector("html");
root.dataset.lbTheme = "light";
Subscribe Read the archive
Use it

Copy the tokens

Paste into your own project. The font names match the files listed on the Credits page.

/* Light: Paper-white page, near-black ink and a single confident red. The default Lightbi look. */
:root {
  --color-bg:          #FFFFFF;
  --color-bg-alt:      #F7F6F3;
  --color-surface:     #F2F1ED;
  --color-text:        #1F1F1F;
  --color-heading:     #111111;
  --color-muted:       #5E5E5E;
  --color-accent:      #D3261E;
  --color-accent-2:    #1F5FAD;
  --color-link:        #C02018;
  --color-border:      #E5E2DA;
  --color-on-accent:   #FFFFFF;

  --font-heading: 'Libre Baskerville', Georgia, serif;
  --font-body:    'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'Geist Mono', ui-monospace, Consolas, monospace;
}