fixed textcolor & switched to HSL-based contrast