Muted / structural chrome (list markers, table borders): bright
black / dark grey (SGR 90). The terminal’s profile maps this to a
shade with adequate contrast on either background — keep as constant.
dark: blue #61AFEF. light: very dark navy #002171 (≥ 14:1 —
earlier #0D47A1 at 8.8:1 read “ok but soft”; this is also where
the original fn main screenshot regression lived, old #61AFEF
at 2.04:1 made main invisible).
render/alt_screen.rs reads this to swap the session-name pill SGR
(reverse + bright cyan on dark; bold + standard magenta on light).
Named so the call site documents intent; behaviourally identical to
is_light_for_highlight.
dark: soft purple #C678DD. light: very dark violet #4A0072
(≥ 13:1 on white — earlier #7B1FA2 at 8.7:1 read soft on Mac
Terminal where colours render less crisp than iTerm2).
Heading H1-H3.
dark: bold + bright cyan (SGR 1;96, matches Palette::ACCENT).
light: bold + bright blue (SGR 1;94) — bright cyan renders too pale
on white in most light-theme terminal profiles; blue still maps to a
dark, readable variant on light profiles.
dark: green #98C379. light: dark green #006400 (≥ 13:1 —
greens read soft at any given luminance, so light pushes past the
other tokens’ contrast budget to compensate).
dark: sand #E5C07B. light: dark walnut #5B3A00 (≥ 11:1) —
distinct hue from number’s chestnut so type names don’t visually
collide with literals on a line like let x: U32 = 42.