A terminal colour palette with a warm neutral ramp and a green lean
OKLCH · Base16 · Base24 · 17 variants · 32 colours
Neutral ramp, base00 to base07
#000000 #0C0C0B #242321 #43423E #6A6862 #96948B #C8C4B8 #FFFAEB
Accents, normal tone, base08 to base0F
#DF212A #D05502 #C98A04 #83BE05 #06C268 #1687D9 #9041F9 #D5268A
Accents, bright tone, the bright ANSI half
#FF4C49 #E7A739 #9DDB3C #44E084 #3EA4F8 #A573FF
Base24 scheme
system: "base24"
name: "Phosphor"
author: "@guterion"
slug: "phosphor"
variant: "dark"
palette:
base00: "#000000"
base01: "#0C0C0B"
base02: "#242321"
base03: "#43423E"
base04: "#6A6862"
base05: "#96948B"
base06: "#C8C4B8"
base07: "#FFFAEB"
base08: "#DF212A"
base09: "#D05502"
base0A: "#C98A04"
base0B: "#83BE05"
base0C: "#06C268"
base0D: "#1687D9"
base0E: "#9041F9"
base0F: "#D5268A"
base10: "#000000"
base11: "#000000"
base12: "#FF4C49"
base13: "#E7A739"
base14: "#9DDB3C"
base15: "#44E084"
base16: "#3EA4F8"
base17: "#A573FF"CSS custom properties
:root {
--ph-base00: #000000; --ph-base04: #6A6862;
--ph-base01: #0C0C0B; --ph-base05: #96948B;
--ph-base02: #242321; --ph-base06: #C8C4B8;
--ph-base03: #43423E; --ph-base07: #FFFAEB;
--ph-red-dim: #A80215; --ph-red-normal: #DF212A; --ph-red-bright: #FF4C49;
--ph-orange-dim: #9A3D01; --ph-orange-normal: #D05502; --ph-orange-bright: #F07232;
--ph-yellow-dim: #9B6902; --ph-yellow-normal: #C98A04; --ph-yellow-bright: #E7A739;
--ph-green-dim: #669603; --ph-green-normal: #83BE05; --ph-green-bright: #9DDB3C;
--ph-cyan-dim: #039750; --ph-cyan-normal: #06C268; --ph-cyan-bright: #44E084;
--ph-blue-dim: #0263A4; --ph-blue-normal: #1687D9; --ph-blue-bright: #3EA4F8;
--ph-violet-dim: #6E02CD; --ph-violet-normal: #9041F9; --ph-violet-bright: #A573FF;
--ph-magenta-dim: #A20265; --ph-magenta-normal: #D5268A; --ph-magenta-bright: #F64AA6;
}The full stylesheet, with every variant, is at
dist/css/phosphor.css. Every variant with its OKLCH
and contrast figures is at dist/json/phosphor.json.
One full palette, eight Tint variants and eight Mono variants. A Tint leans the whole scheme towards one hue. A Mono holds one hue across every chromatic slot and separates the families by lightness alone.
| variant | scheme | strength |
|---|---|---|
| Phosphor | phosphor |
— |
| Phosphor Tint Red | phosphor-tint-red |
0.425 |
| Phosphor Tint Orange | phosphor-tint-orange |
0.519 |
| Phosphor Tint Yellow | phosphor-tint-yellow |
0.595 |
| Phosphor Tint Green | phosphor-tint-green |
0.639 |
| Phosphor Tint Cyan | phosphor-tint-cyan |
0.279 |
| Phosphor Tint Blue | phosphor-tint-blue |
0.460 |
| Phosphor Tint Violet | phosphor-tint-violet |
0.261 |
| Phosphor Tint Magenta | phosphor-tint-magenta |
0.319 |
| Phosphor Mono Red | phosphor-mono-red |
— |
| Phosphor Mono Orange | phosphor-mono-orange |
— |
| Phosphor Mono Yellow | phosphor-mono-yellow |
— |
| Phosphor Mono Green | phosphor-mono-green |
— |
| Phosphor Mono Cyan | phosphor-mono-cyan |
— |
| Phosphor Mono Blue | phosphor-mono-blue |
— |
| Phosphor Mono Violet | phosphor-mono-violet |
— |
| Phosphor Mono Magenta | phosphor-mono-magenta |
— |
Each variant ships as a Base16 and a Base24 scheme, in
schemes/.
Copy a scheme from schemes/base24/ into the tool that reads
Base24 schemes, or take the hex values from the blocks above.
Application themes come from the tinted-theming builder. Point it at a scheme file here and it produces the theme for Alacritty, Kitty, WezTerm, Neovim, tmux and the rest, from templates their maintainers keep current.
uv run scripts/generate.py # rewrite schemes/, dist/, assets/ and the tables
uv run scripts/validate.py # check the source and everything generatedsrc/phosphor.yaml is the only file a person edits.
CONTRIBUTING.md holds the constraints a colour proposal works inside, the commit conventions and the translation rules.