Client work Single-colour system #D6FF00
Colour specification sRGB reference Vilnius · 2026

ACID

#D6FF00

One value, black, and the rule for when to swap them.

The colour takes the surface and black does the reading. There is no third value to reach for, which is the whole of the system and most of the difficulty.

Every number printed here is measured in the browser from the colours the page is actually painting. Change the value further down and the document follows it, including into the range where it stops working.

RGB
214 255 0
OKLCH
0.937 0.224 120.8
On black
18.16:1
On white
1.16:1
Read the spec

A drench takes colour off the table

With one value covering everything, nothing can be emphasised by hue. Emphasis has to come from size, weight, and position instead. The page gets harder to lay out and easier to read. That trade is the reason to do it.

A flat value also survives where work actually gets seen: a screenshot, a 200-pixel app tile, a badly compressed export, a monitor nobody has ever calibrated. Photography and gradients lose their character in all four and there is no way to specify around it.

The cost is that no quiet register is left. Everything sits at full volume, so anything that needs to step back has to become black, and black ends up carrying more of the layout than the colour does. A page like this is mostly a black-management problem.

The value, measured

Hex
#D6FF00
RGB 8-bit
214 255 0
sRGB linear
0.6725 1.0000 0.0000
HSL
69.6° 100% 50%
OKLCH
0.937 0.224 120.8
Luminance
0.8582
Against black
18.16:1
Against white
1.16:1

Every row is read from the computed style at runtime. Nothing here is typed in by hand, so the table cannot drift away from the thing it describes. If a row is wrong, the page is wrong.

Two states, one hard edge

Black on the colour, or the colour on black. Nothing sits between them: a tint step would introduce a second value, and the system has one.

The swap is a cut and never a fade. Type on this page is painted once, in the colour, and composited in difference mode against whatever is behind it. Over the colour it resolves to black; over black it resolves to the colour. The black layer is the only thing that moves, and the type never changes colour at all.

Aa

Set long text this way round. Black holds its weight at any size and the colour does the work of the page behind it.

Black on colour18.16:1

Aa

Same measured ratio, and still the wrong choice past a line or two: high-luminance type on black leaves an afterimage.

Colour on black18.16:1

Move it and watch it fail

Chroma is pinned to the sRGB gamut edge for whatever you pick, so every position is a fully saturated drench. Lightness and hue are yours. The pass marks come from WCAG 2.1, so they are not a matter of taste. Most of the wheel does not survive them.

0.937
120.8°

18.16:1

Against black 1.16:1 against white
Body text4.5:1 minimum
Large text3:1 minimum
Body, AAA7:1 minimum

Where it stops working

On white

High-luminance colours have almost nothing to give against a white ground. This is not a near miss to be fixed with a heavier weight; it is invisible.

1.16:1

Screened back

Reducing it to 40% over white to make a lighter version produces a different colour with a worse ratio, and one the specification does not cover.

1.08:1

As body copy at length

It clears every contrast threshold against black and still leaves an afterimage by the end of a paragraph. Hold it to a line or a heading and set long text in black on the colour instead.

passes, still wrong

Gradients into a second hue

A gradient is two colours with a ramp between them. Every step along that ramp needs its own measured pair, which is the problem a one-value system exists to avoid.

out of system

CMYK has no honest equivalent. Fluorescents sit outside the process gamut, and a four-colour build of this value comes back dull and slightly green every time. Print it as a fluorescent spot ink or on a fifth unit, or do not print it.

Fluorescent pigments also fade faster under UV than process inks do. For anything living outdoors, specify a replacement interval alongside the colour. Pretending it holds is how an identity ends up two shades down its own swatch after a summer.

On screen, sRGB is the reference. A wide-gamut display renders it correctly when the content is tagged and the browser is managing colour, and oversaturates it whenever either of those is missing, which covers most of what happens outside a browser. Author in sRGB and tag it.

Display P3 can hold a more intense version of this hue. That would be a different value with a different ratio, so it belongs in this document as its own line, measured the same way. It should never arrive as a silent substitution.

Handover

--acid: #D6FF00;
--ink:  #000000;

/* the whole rule */
Black on acid, or acid on black.
Cut between them. Never fade.

Two custom properties and one sentence. That is the entire delivery. Everything else on this page is the argument for why nothing more should be added, and the measurements that keep the argument honest.

Where the system needs a third value, the answer is a different system rather than a third value.

Back to the index ACID · #D6FF00 · sRGB
Out of spec