Perhaps we can use transparent images or regenerate with backgrounds for different faces.  ^shows the problem: the blue portion is highlighted because the text is selected, the light gray portion because it's the current line.