# Contrast matrix (generated 2026-06-09T20:08:15.813Z)

| theme | tier | role | usage | fg | bg | CR | gate | pass |
|---|---|---|---|---|---|---|---|---|
| night-city | truecolor | route.active | text | cyan #00D6FF | dark #070B14 | 11.31 | ≥4.5 | ✓ |
| night-city | truecolor | route.active | text | cyan #00D6FF | surface #101826 | 10.22 | ≥4.5 | ✓ |
| night-city | truecolor | route.fallback | text | amber #FFB000 | dark #070B14 | 10.74 | ≥4.5 | ✓ |
| night-city | truecolor | route.fallback | text | amber #FFB000 | surface #101826 | 9.71 | ≥4.5 | ✓ |
| night-city | truecolor | route.dead | text | red #FF5874 | dark #070B14 | 6.47 | ≥4.5 | ✓ |
| night-city | truecolor | route.dead | text | red #FF5874 | surface #101826 | 5.84 | ≥4.5 | ✓ |
| night-city | truecolor | evidence.pass | text | mint #00FFC2 | dark #070B14 | 15.07 | ≥4.5 | ✓ |
| night-city | truecolor | evidence.pass | text | mint #00FFC2 | surface #101826 | 13.62 | ≥4.5 | ✓ |
| night-city | truecolor | evidence.fail | text | red #FF5874 | dark #070B14 | 6.47 | ≥4.5 | ✓ |
| night-city | truecolor | evidence.fail | text | red #FF5874 | surface #101826 | 5.84 | ≥4.5 | ✓ |
| night-city | truecolor | evidence.pending | text | amber #FFB000 | dark #070B14 | 10.74 | ≥4.5 | ✓ |
| night-city | truecolor | evidence.pending | text | amber #FFB000 | surface #101826 | 9.71 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.running | text | cyan #00D6FF | dark #070B14 | 11.31 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.running | text | cyan #00D6FF | surface #101826 | 10.22 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.blocked | text | amber #FFB000 | dark #070B14 | 10.74 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.blocked | text | amber #FFB000 | surface #101826 | 9.71 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.done | text | mint #00FFC2 | dark #070B14 | 15.07 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.done | text | mint #00FFC2 | surface #101826 | 13.62 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.queued | text | muted #9DB3C7 | dark #070B14 | 9.10 | ≥4.5 | ✓ |
| night-city | truecolor | dag.lane.queued | text | muted #9DB3C7 | surface #101826 | 8.22 | ≥4.5 | ✓ |
| night-city | truecolor | telemetry.info | text | cream #E8F8FF | dark #070B14 | 18.09 | ≥4.5 | ✓ |
| night-city | truecolor | telemetry.info | text | cream #E8F8FF | surface #101826 | 16.35 | ≥4.5 | ✓ |
| night-city | truecolor | telemetry.warn | text | amber #FFB000 | dark #070B14 | 10.74 | ≥4.5 | ✓ |
| night-city | truecolor | telemetry.warn | text | amber #FFB000 | surface #101826 | 9.71 | ≥4.5 | ✓ |
| night-city | truecolor | telemetry.error | text | red #FF5874 | dark #070B14 | 6.47 | ≥4.5 | ✓ |
| night-city | truecolor | telemetry.error | text | red #FF5874 | surface #101826 | 5.84 | ≥4.5 | ✓ |
| night-city | truecolor | control.accent | indicator | purple #9D4EDD | dark #070B14 | 4.28 | ≥3 | ✓ |
| night-city | truecolor | control.accent | indicator | purple #9D4EDD | surface #101826 | 3.87 | ≥3 | ✓ |
| night-city | truecolor | control.dim | text | gray #758FA8 | dark #070B14 | 5.86 | ≥4.5 | ✓ |
| night-city | truecolor | control.dim | text | gray #758FA8 | surface #101826 | 5.29 | ≥4.5 | ✓ |
| night-city | truecolor | control.fg | text | cream #E8F8FF | dark #070B14 | 18.09 | ≥4.5 | ✓ |
| night-city | truecolor | control.fg | text | cream #E8F8FF | surface #101826 | 16.35 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | route.active | text | brightCyan #55FFFF | black #000000 | 17.13 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | route.fallback | text | brightYellow #FFFF55 | black #000000 | 19.69 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | route.dead | text | brightRed #FF5555 | black #000000 | 6.68 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | evidence.pass | text | brightGreen #55FF55 | black #000000 | 15.82 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | evidence.fail | text | brightRed #FF5555 | black #000000 | 6.68 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | evidence.pending | text | brightYellow #FFFF55 | black #000000 | 19.69 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | dag.lane.running | text | brightCyan #55FFFF | black #000000 | 17.13 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | dag.lane.blocked | text | brightYellow #FFFF55 | black #000000 | 19.69 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | dag.lane.done | text | brightGreen #55FF55 | black #000000 | 15.82 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | dag.lane.queued | text | white #AAAAAA | black #000000 | 9.04 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | telemetry.info | text | brightWhite #FFFFFF | black #000000 | 21.00 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | telemetry.warn | text | brightYellow #FFFF55 | black #000000 | 19.69 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | telemetry.error | text | brightRed #FF5555 | black #000000 | 6.68 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | control.accent | indicator | brightMagenta #FF55FF | black #000000 | 8.00 | ≥3 | ✓ |
| night-city | 16-color(VGA) | control.dim | text | white #AAAAAA | black #000000 | 9.04 | ≥4.5 | ✓ |
| night-city | 16-color(VGA) | control.fg | text | brightWhite #FFFFFF | black #000000 | 21.00 | ≥4.5 | ✓ |
