The Ink Theme — Palette, Contrast and CSS Variables
The Ink theme is five colours, not thirty: a page wash, an editor surface, a tint for chrome, an accent for keywords and one text colour that has to sit legibly on all three surfaces. The table below turns the palette into the numbers you actually need when re-implementing it — channels, hue and, most importantly, contrast against each surface.
Palette in every notation
| Token | HEX | RGB | HSL |
|---|---|---|---|
| Background | #EEF0F2 | rgb(238, 240, 242) | hsl(210, 13%, 94%) |
| Editor | #FCFCFD | rgb(252, 252, 253) | hsl(240, 20%, 99%) |
| Tint | #E6E9EE | rgb(230, 233, 238) | hsl(218, 19%, 92%) |
| Accent | #3D4451 | rgb(61, 68, 81) | hsl(219, 14%, 28%) |
| Text | #22252B | rgb(34, 37, 43) | hsl(220, 12%, 15%) |
Contrast on each surface
Ratios use the WCAG 2.1 relative-luminance definition (sRGB gamma linearisation, 0.2126 / 0.7152 / 0.0722 weights). AA wants 4.5:1 for body text and 3:1 for large text; AAA raises those to 7:1 and 4.5:1.
| Pair | Ratio | AA text | AA large | AAA text |
|---|---|---|---|---|
| Text on background | 13.44:1 | pass | pass | pass |
| Text on editor | 14.98:1 | pass | pass | pass |
| Text on tint | 12.62:1 | pass | pass | pass |
| Accent on editor | 9.55:1 | pass | pass | pass |
Copy-paste tokens
:root {
--snippet-bg: #eef0f2;
--snippet-editor: #fcfcfd;
--snippet-tint: #e6e9ee;
--snippet-accent: #3d4451;
--snippet-text: #22252b;
}
What this palette is good for
Neutral grey with a graphite accent — the safest choice for documentation, where a snippet may sit next to prose for pages at a time.
Other themes
Frequently asked questions
Does the Ink text colour pass WCAG on every surface?
Against the editor surface it measures 14.98:1 and against the page background 13.44:1. AA for body text needs 4.5:1, so the pair that matters for a code screenshot — text on editor — is comfortably above the bar.
Can I reuse these values in my own syntax theme?
Yes, and the copy block above is written as CSS custom properties for that reason. Map background to your editor canvas, editor to the code area, accent to keywords and text to identifiers. Because the palette is light-first, invert the two surfaces rather than the text colour if you need a dark variant.
Render your own snippet in this palette with the Code2Image code to image tool, or compare every palette in the theme library.