I love CSS 😀 But if I had to pick a few things I love a little less:
You can't label interaction style changes in CSS (i.e. there is no ::toggled pseudo-selector)
Support may lead to non-uniform vendor prefixing (which is a problem especially if you're writing vanilla CSS)
It's not very DRY (i.e. in vanilla CSS you have to rewrite classes to target pseudo-states)