I’ve been trying to figure out the logic of RGB hex codes, and this is starting to make more sense…
R G B
00 00 00
Only every 3rd pair is supported, like 003300, 006600, (shortened as #030 or #360 for css).
But what about letters? Same thing, but there is no equivalent of 0, so we do every third starting at “A”…so
00CC00 is browser safe, but not 00AA00 or 00BB00.
00FF00, or #0f0 in css short-hand.
Thanks to Dave Child over at ILoveJackDaniels for the image.

It’s just a nice way to divide 255 shades evenly, such that the total number of colours (6×6x6=216) is less than 256 (minus a few for the system colours that were already in use).
255 / 5 = 51
0×00 = 0
0×33 = 51
0×66 = 102
0×99 = 153
0xCC = 204
0xFF = 255
If you’re interested, see http://en.wikipedia.org/wiki/Web_colors