I read Claude Code output for hours every day: tool results, reasoning traces, permission prompts, explanations. The screen is 80% prose, not code. Every terminal theme I tried was optimized for syntax highlighting — wrong problem. I wanted something tuned for body-size prose legibility over long sessions, anchored to a color I actually cared about: Yves Klein's IKB.

First thing I checked after picking the pigment: APCA contrast on a dark ground. Lc -12. Effectively invisible as text. Klein blue, the color I built the whole theme around, cannot be the text color.

The fix was a two-slot split. Claude Code renders decorative elements — borders, structural highlights — through the ansi:blue slot. That's where pure IKB lives (hex 002FA7). It reads fine at large size and low information density; you're not parsing it as body text. Claude Code routes permission-prompt text — the thing you actually read and act on — through ansi:blueBright. That slot gets A8BEF0, a lifted Klein-family blue that passes APCA at body size.

So the theme still reads as Klein blue. The decorative layer carries the pigment. The readable layer carries a legible relative.

ansi:blue = 002FA7 // IKB — decorative borders, highlights