The background colour of the selected line was the player colour, making it virtually impossible to fix this issue without setting gui_color_text_highlight to either black or white. Now it follows the same colours as a normal list would.

I'm having trouble understanding how the calls to get_color works to change back to the default. My only guess is that it's not returning to orange when selecting another theme because this colour is saved in the settings, but I can't understand how the other colours work. I'll have to try to debug it.