diff --git a/theme.css b/theme.css index 1009ffd..b79353c 100644 --- a/theme.css +++ b/theme.css @@ -88,6 +88,17 @@ --chart-4: oklch(0.72 0.2 350); --chart-5: oklch(0.5 0.18 150); + /* Text drawn ON a chart tint — a filled avatar, a category pill, a bar + * label. A palette is tuned so the series stay distinguishable from each + * other, which says nothing about whether white sits on them: of these + * five, white clears AA on two. Each tint therefore names its own + * foreground, measured (worst pair 5.32:1). */ + --chart-1-foreground: oklch(1 0 0); + --chart-2-foreground: oklch(0.16 0.03 295); + --chart-3-foreground: oklch(0.16 0.03 295); + --chart-4-foreground: oklch(0.16 0.03 295); + --chart-5-foreground: oklch(1 0 0); + --sidebar: oklch(1 0 0 / 0.5); --sidebar-foreground: oklch(0.16 0.025 285); --sidebar-primary: oklch(0.55 0.22 295); @@ -234,6 +245,15 @@ --chart-4: oklch(0.82 0.2 350); --chart-5: oklch(0.6 0.18 150); + /* Dark lifts every tint to stay visible against the dark ground, which + * puts all five out of reach of white — including chart-1 at 3.36:1, + * the assistant avatar in a chat transcript. */ + --chart-1-foreground: oklch(0.16 0.03 295); + --chart-2-foreground: oklch(0.16 0.03 295); + --chart-3-foreground: oklch(0.16 0.03 295); + --chart-4-foreground: oklch(0.16 0.03 295); + --chart-5-foreground: oklch(0.16 0.03 295); + --sidebar: oklch(0.2 0.04 290 / 0.55); --sidebar-foreground: oklch(0.97 0.005 280); --sidebar-primary: oklch(0.7 0.2 295);