The current syntax also makes it hard to characterize the class of predicates that can be expressed with CSS. Kind of hurts my sense of perfectionism, but I guess it wasn't their goal.
I assume CSS was made very restrictive on purpose so that it can be applied to the page elements and analyzed very efficiently.