Klein Blue scores Lc -12 as text — here's the two-slot fix A developer created a terminal theme for Claude Code based on Yves Klein's International Klein Blue (IKB), but discovered the pigment fails APCA contrast at Lc -12 on dark backgrounds. The fix splits IKB into two slots: pure IKB (hex 002FA7) for decorative elements via ansi:blue, and a legible Klein-family blue (A8BEF0) for body text via ansi:blueBright. The theme requires Claude Code to be set to dark-ansi mode to respect the Terminal.app ANSI palette. 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 ansi:blueBright = A8BEF0 // Klein-family, APCA-legible for permission text The broader contrast system uses per-role APCA gates: body text = Lc 90, subtle = 75, muted = 45, accents = 60. The V3 Prot variation is the only one where every accent slot clears strict gates. The other three variations Refined, Sand & Sea, Gallery make deliberate tradeoffs — Sand & Sea accepts Claude's redBright brand color as a second hero rather than neutralizing it; Gallery maximizes void at the cost of some accent strictness. One requirement worth knowing before you install: Claude Code has to be set to dark-ansi via /theme . If it's on any other setting, it ignores the Terminal.app ANSI palette entirely and falls back to hardcoded RGB — your .terminal profile does nothing.