CSS is one code, but it has a wide range of options.
I don't actually know much about it, but I'll try my best to explain. (See
this guide if you want to know how to put it all together into a post template.)
Basics (read first!)
The basic formula for a CSS code is
[css=CODE1:DEFINITION; CODE2:DEFINITION; ETC.]TEXT[/css].
What makes it different from the rest of the BBCodes is that after the =, you can put any number of things - effectively, multiple codes in one. You just need to separate each code with a semicolon ( ; ).
For example, if you wanted to make a post with a background and text color, courier font, and bold text, you can join the four different codes like this.
Code
[css=background-image:url('http://i.imgur.com/lNASxUt.png'); color:#b536da; font-family:courier; font-weight:bold;]Hello all.[/css]
Which would become:
Hello all.
(Note: You do not need to put a space after each semicolon, but I personally find it easier to work with.)
Most of the following are a lot harder to type out than the simple BBCode (such as
[css=font-weight:bold;]TEXT[/css] as opposed to
[b]TEXT[/b], but if you're using it in a template or in conjunction with other codes, it saves space and makes it easier to remove and replace, since you don't have to hunt around for the end tag.
font-weight, text-decoration
[in progress]
Troubleshooting guide to be put here!