Fixes #12674

* The problem with #12674 is that it reassigns the same variable, but the color values were purposely different.
* This uses Less's color functions to generate the proper darker colors.
* Why darker colors? Because those CSS carets render lighter than their solid border counterparts. Consider it a design hack.