Colorscheme
How 1159 assigns colour to meaning, and the two rules that keep 26 shades legible.
The idea
1159 is named for the last minute of the day — a liminal hour where the date has not turned over yet. The palette follows that idea literally: it moves from the deeps, through the failing light, into the glow, and stops just before daybreak.
Rule one — hue carries meaning
A hue is never decorative. If something is blue, it is a link, an operator, or type information; if it is warm, it is attention.
- aether — links, operators, control flow
- laelia — keywords and functions
- moss — strings
- rose — errors
- sunbeam — warnings and attention
- cerulean — types
Rule two — lightness carries rank
Lightness is the hierarchy. Bright shades are what you are meant to read first; dark shades are structure that should recede.
- halo — primary text
- gloam — punctuation and chrome
- drowse — comments and status text
- dusk — line numbers
- eclipse — panel fill
- abyss — the ground
Because the two channels are independent, a hue can be recoloured without breaking the hierarchy, and a level can be moved without changing the meaning.
The ground
The background is abyss #15111F, not pure black. Bright
glyphs on true black bloom — light scatters inside the panel and the text
vibrates. Lifting the ground to a low blue-violet removes the shimmer without
adding any visible tint, and everything above it can stay soft.
Hue families
The chromatic shades are not spread evenly around the wheel. They gather into families that read as a single mood, and the gaps between families are deliberate.
- water (192°–209°) — cerulean, fathom, aether, hadal
- periwinkle (226°–232°) — wisp, morrow, vesper
- orchid (275°–356°) — lilac, laelia, amaranth, rose, blush
- dawn (15°–28°) — coral, rust, ember, sunbeam
- green — moss alone at 72°, and jade / seafoam at 167°
The largest gap sits between moss at 72° and the teals at 167° — a 95° void where the yellow-greens would sit. High-chroma yellow-greens live near the peak of human luminance, where hue discrimination collapses and dark backgrounds turn them into a legibility hazard. Leaving that wedge open keeps the olive and the teals legible and stops the palette from turning to wallpaper.
Cream and concentrate
Every chromatic terminal slot has a pair — a deep shade and a light one from the same family. The deep shade is the concentrate and sits in the base slot (1–6); the light shade is the cream and sits in the bright slot (9–14), so bold and emphasis always get lighter, never dimmer. Within a pair the shades stay inside one hue family — at most a few degrees apart — and change in lightness and chroma, which is what keeps a bright colour recognisable as the same colour as its base rather than a different one.
The neutrals follow the same logic. Slot 0 is the ground, slot 7 is the light grey, slot 8 is the dim grey reserved for comments and inactive chrome, and slot 15 is halo itself — the lightest thing in the palette, and equal to the default foreground.
Attention
wisp is the cursor and the brightest thing on screen. Because it is used for exactly one purpose, attention stays a single channel across the whole theme rather than a colour per widget. Selection uses hadal — the text sinks into the deep water rather than being tinted a new colour.
Structure
Panels use eclipse, borders use fathom, and inactive chrome uses drowse. These are the quietest shades in the palette and are reserved for surfaces that carry no meaning of their own. Loud colour is spent only on tokens that mean something.