A few weeks ago I was mired in trying to fix something in a CSS file and by chance I came across a mention of a program called CSSEdit from MacRabbit Software. I confess that the website put me off a little, it was a little too... well I'm not sure but it didn't immediately grab me, however I was feeling pain and I decided to download it anyway.
I'm very glad I did. It couldn't have been more than an hour after I started using it that I went back to register it and I've been using it for all my CSS needs since then. What CSSEdit does, in a nutshell, is to give you a live preview (using WebKit I think) of a page and download & override (with a local file if it's your own app, e.g. working with Rails) the stylesheet or sheets which can be edited using a smart, auto-completing, text editor as well as a comprehensive set of inspectors.
The highlights for me are that it acts as a CSS reference auto-filling much of what you normally type in. But also giving you structured inspectors with an "unchanged" feature that lets you revert a change back to nothing without editing. This alone makes it much easier for someone like me to tinker with the properties trying to figure out how to get the effect I am looking for (e.g. experimenting with floating, margins, and padding).
The X-Ray feature is nice but not as good as Firebugs inspector or XyleScope's advanced inspectors, however it gets the job done and I think developer Jan has some improvements on the way.
But CSSEdit also gives me something that I was never able to manage on my own. The group feature, it's priceless! It uses comments to organise styles into nested folders and will move styles around the file appropriately. This makes comprehending the stylesheet so much easier.
What I love most about CSSEdit is that it has allowed me to up my game in terms of designing my own pages. Where before I felt completely helpless now I feel I can at least begin to emulate some of the things that I see and like in other peoples web apps.
One area where CSSEdit needs to work better is in it's relationship with Rails development mode. In development mode Rails automatically tacks a session id to the end of URLs to ensure that caching doesn't take place and you always see the latest version of your styles, Javascript, templates, etc... This is a great Rails feature. Unfortunately it also plays havoc with CSSEdit's matching of a stylesheet name to an overridden stylesheet so that it works, sometimes. It's not a huge problem as a reload typically brings it back into alignment, but it could be smoother and I hope Jan will find a way to address it.
All-in-all if, like me, you're not a CSS wizard I'd heartily recommend giving CSSEdit a try. $30 is a steal for this app.