Understand
Color debt linter
Find the colours in your CSS that are the same colour under different names.
25%
colour debt
3 of 12 colours could be deleted without anyone seeing a difference.
Distinct colours
12
Declarations
20
Files scanned
3
The whole palette, most-used first
ΔE < 2.3 — the same colour in practice. Keep one, replace the rest.
Keep
Replace #0F172B
#0f172b·1 use·src/app/globals.css:1Keep
Replace #314158
#314158·1 use·src/app/globals.css:1Keep
Replace #90A1B9
#90a1b9·1 use·src/app/globals.css:1Take the report with you
Untimestamped, so the same files always produce a byte-identical report — commit it, diff it, paste it where the decision is actually being argued.
## Colour debt **3 of 12 colours are removable** (25%), across 20 declarations in 3 files. ### Duplicates (ΔE < 2.3 — the same colour in practice) | Keep | Merge | Uses | First seen | ΔE spread | | --- | --- | ---: | --- | ---: | | `#0F172A` | `#0F172B` | 1 | `src/app/globals.css:1` | 0.54 | | `#334155` | `#314158` | 1 | `src/app/globals.css:1` | 1.19 | | `#94A3B8` | `#90A1B9` | 1 | `src/app/globals.css:1` | 1.27 | ### Near-misses (ΔE < 5 — visible, but not reliably) | A | B | ΔE | First seen | | --- | --- | ---: | --- | | `#2563EB` | `#3070F0` | 4.51 | `src/styles/tokens.legacy.css:1` | Thresholds: ΔE < 2.3 is the CIEDE2000 just-noticeable difference; ΔE < 5 is visible under comparison but not across displays. Survivors are always colours already in the codebase, never averages, so the diff stays reviewable.