From the adversarial review of #49. The focus and hover outline on a heatmap cell button is a fixed var(--neon), but the cell background is a color-mix that sweeps the full range from card to accent-2 as the value grows. The ring's luminance sits inside that range in both themes, so contrast passes through 1:1: in the light theme cells around data-l 60 to 75 put the ring under about 1.3:1, and at data-l 100 it is 1.86:1, below the 3:1 WCAG 1.4.11 asks of a focus indicator; in dark the crossing lands around data-l 65 to 85. Those bands are populated. A two-tone ring would fix it, for instance an outer outline in var(--ink) with an inner one in var(--neon), so one of the two always contrasts with whatever shade the cell is.
From the adversarial review of #49. The focus and hover outline on a heatmap cell button is a fixed var(--neon), but the cell background is a color-mix that sweeps the full range from card to accent-2 as the value grows. The ring's luminance sits inside that range in both themes, so contrast passes through 1:1: in the light theme cells around data-l 60 to 75 put the ring under about 1.3:1, and at data-l 100 it is 1.86:1, below the 3:1 WCAG 1.4.11 asks of a focus indicator; in dark the crossing lands around data-l 65 to 85. Those bands are populated. A two-tone ring would fix it, for instance an outer outline in var(--ink) with an inner one in var(--neon), so one of the two always contrasts with whatever shade the cell is.