I'm going to cheat slightly and post Jeremy Keith's recent blog - adactio.com/journal/11551 and a really great tip pointing out how far designers can get with a single JS trick - css-tricks.com/video-screencasts/150-hey-designer…
To more directly answer the question, to get better at CSS; first properly understand HTML and pattern/naming systems. Once you can write modular HTML, it becomes much easier to write clean CSS on top of that. You need to understand semantic markup and naming-for-purpose (class="warning" not class="red") otherwise you'll end up throwing CSS at bad foundations.
CSS itself is a huge topic; but start with core stuff like the cascade and how to use it (it's a powerful tool!); selector weights; rendering contexts and document flow. Skipping these core concepts will bite you forever. Then after that ultimately like everything else you learn by making things and extending your knowledge.