Deep pine, misty sage and amber gold, like late sunlight breaking through a canopy.
Everything here comes from a forest floor at dusk. The pine-green background is dark but never black, sage text feels like morning mist, and amber is the single shaft of sunlight. Cinzel’s carved Roman capitals give headings an old-world gravity, softened by Inter for body text.
Click any swatch to copy its hex code.
Worked out when the site is built, using the WCAG 2 formula.
AAA ≥ 7:1 and AA ≥ 4.5:1 for normal text. AA Large ≥ 3:1 is enough for large headings, icons and button shapes.
Every font is self-hosted, so pages load without calling a third-party font service.
Small rooms full of light
Good body type disappears: you stop noticing letters and start reading the story they carry.
const palette = "forest"; // 0O 1lI =>
Headings, links, quotes, code, buttons and cards together.
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 = "forest";
Paste into your own project. The font names match the files listed on the Credits page.
/* Forest: Deep pine, misty sage and amber gold, like late sunlight breaking through a canopy. */
:root {
--color-bg: #1A2421;
--color-bg-alt: #23302C;
--color-surface: #15201C;
--color-text: #E2E8E4;
--color-heading: #F0F4F1;
--color-muted: #97A69E;
--color-accent: #E5A93B;
--color-accent-2: #8FBF9F;
--color-link: #EBB65A;
--color-border: #31443D;
--color-on-accent: #1A2421;
--font-heading: 'Cinzel', 'Trajan Pro', Georgia, serif;
--font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;
}/* Forest for Tailwind CSS 4. Use as bg-canvas, text-ink, border-line, font-heading ... */
@import "tailwindcss";
@theme {
--color-canvas: #1A2421;
--color-canvas-alt: #23302C;
--color-surface: #15201C;
--color-ink: #E2E8E4;
--color-heading: #F0F4F1;
--color-muted: #97A69E;
--color-accent: #E5A93B;
--color-accent-2: #8FBF9F;
--color-link: #EBB65A;
--color-line: #31443D;
--color-on-accent: #1A2421;
--font-heading: 'Cinzel', 'Trajan Pro', Georgia, serif;
--font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;
}{
"colors": {
"accent": "#E5A93B",
"accent2": "#8FBF9F",
"bg": "#1A2421",
"bgAlt": "#23302C",
"border": "#31443D",
"heading": "#F0F4F1",
"link": "#EBB65A",
"muted": "#97A69E",
"onAccent": "#1A2421",
"surface": "#15201C",
"text": "#E2E8E4"
},
"fonts": {
"body": "Inter",
"heading": "Cinzel",
"mono": "JetBrains Mono"
},
"mode": "dark",
"name": "Forest"
}<!-- Apply Forest to a Lightbi site -->
<html data-lb-theme="forest">
<!-- Or link to this page wearing it -->
https://lightbi-palettes.netlify.app/?palette=forest