In hex you use three or six digits to define a color. By replacing all six-digit colors with the closest color which can be expressed with three digits, we save 3 bytes each! Hooray!
http://www.w3.org/TR/CSS2/syndata.html#value-def-color
The three-digit RGB notation (#rgb) is converted into six-digit form (#rrggbb) by replicating digits, not by adding zeros.
Examples:
'00ff00' -> '0f0'
'34cf9d' -> '3c9'
This is the best thing I came up with...
function(a){return((a="0x"+a)>>20).toString(16)+(a%65536>>12).toString(16)+(a%256>>4).toString(16)}
It's pretty shit, I know. :)