I've been adhering to the "Object Oriented CSS" pattern when writing CSS lately. One of the guiding principles in that is that you never style anything based on its container. Another principle is never style anything based on ids (ids can be used for javascript logic but for styling you use classes for reusability etc).

In effect the example you give of styling based on an id in body is pretty much the most extreme way of breaking the pattern (one thing I've noticed out of experience is that the "further away" the container definition is the more complicated it becomes to make sense of the css logic).

Would prefer Flash being the default and HTML5 video being the fallback for playback though. Fullscreen is kind of crippled in HTML5 (possible with Chromes fullscreen mode activated but noticed that screen dimming and screensaver will still activate).