For what it's worth, the semicolons are needed between elements. So
leaving off the last semicolon is not an error. But it is bad style --
if you decide to add another element, you would likely do it at the end
of the declaration and then you would need the semicolon. Some online
css compactors will remove the trailing semicolons (as well as almost
all the whitespace except between the element definitions. So in your
case, ".viewer pre" is necessary whitespace but "color: #330;" is not.
Jonathan