Before I give an answer, I'd like to ask a question. Why are you limited to only one CSS file? There's no limit to the number you can use on a web page, other than practical concerns with HTTP connections but that won't matter much for two or three stylesheets and that would be enough target several different browsers in an organised fashion.
Having said all that, there are two different aspects you need to consider. The first is browser specific CSS hacks and the second is to deisgn with fluid or elastic layouts so that your design will adapt for different screen resolutions.
In the upcoming CSS3 you can use media queries at a more fine grained level within your CSS file, but you might have trouble getting that to work in some popular current browsers, which will leave you back at using multiple CSS files again.