Newspaper grey, heavy black headlines and a masthead red. Serious, sharp, unmistakably editorial.
A broadsheet translated to the screen. High-contrast Playfair Display headlines do the shouting, Source Serif 4 carries dense body copy comfortably, and a deep masthead red is used sparingly for links and section markers. White cards sit on a newsprint grey like clippings on a desk.
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 = "newsprint"; // 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 = "newsprint";
Paste into your own project. The font names match the files listed on the Credits page.
/* Newsprint: Newspaper grey, heavy black headlines and a masthead red. Serious, sharp, unmistakably editorial. */
:root {
--color-bg: #F5F3EE;
--color-bg-alt: #FFFFFF;
--color-surface: #ECE9E1;
--color-text: #1C1C1C;
--color-heading: #0A0A0A;
--color-muted: #5C5A55;
--color-accent: #B3121B;
--color-accent-2: #1D3B6E;
--color-link: #B3121B;
--color-border: #D9D5CC;
--color-on-accent: #FFFFFF;
--font-heading: 'Playfair Display', Georgia, serif;
--font-body: 'Source Serif 4', Georgia, serif;
--font-mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;
}/* Newsprint for Tailwind CSS 4. Use as bg-canvas, text-ink, border-line, font-heading ... */
@import "tailwindcss";
@theme {
--color-canvas: #F5F3EE;
--color-canvas-alt: #FFFFFF;
--color-surface: #ECE9E1;
--color-ink: #1C1C1C;
--color-heading: #0A0A0A;
--color-muted: #5C5A55;
--color-accent: #B3121B;
--color-accent-2: #1D3B6E;
--color-link: #B3121B;
--color-line: #D9D5CC;
--color-on-accent: #FFFFFF;
--font-heading: 'Playfair Display', Georgia, serif;
--font-body: 'Source Serif 4', Georgia, serif;
--font-mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;
}{
"colors": {
"accent": "#B3121B",
"accent2": "#1D3B6E",
"bg": "#F5F3EE",
"bgAlt": "#FFFFFF",
"border": "#D9D5CC",
"heading": "#0A0A0A",
"link": "#B3121B",
"muted": "#5C5A55",
"onAccent": "#FFFFFF",
"surface": "#ECE9E1",
"text": "#1C1C1C"
},
"fonts": {
"body": "Source Serif 4",
"heading": "Playfair Display",
"mono": "JetBrains Mono"
},
"mode": "light",
"name": "Newsprint"
}<!-- Apply Newsprint to a Lightbi site -->
<html data-lb-theme="newsprint">
<!-- Or link to this page wearing it -->
https://lightbi-palettes.netlify.app/?palette=newsprint