[css] Fix @media styling and indentation (closes #1657)

This fixes a great deal of the errors with `@media` indentation. There's still some edge cases with invalid code causing weird indentation, but valid code indents well.

With indentation becoming a pretty big deal, do you have any suggestions for testing indentation? I'd rather not reinvent the wheel if you already have something in place and I have noticed it, and I'd also rather stay away from initiating my own editor instance to do the testing. Something like highlighting tests would be great, with an indentation level taking the place of the style names after `[`.