Fix @page output

CssPrinter now emits correct CSS when @page body includes both declarations and
page-margin boxes.
diff --git a/lib/src/css_printer.dart b/lib/src/css_printer.dart
index a62ca47..035bc46 100644
--- a/lib/src/css_printer.dart
+++ b/lib/src/css_printer.dart
@@ -107,16 +107,14 @@
       emit(node._ident);
       emit(node.hasPseudoPage ? ':${node._pseudoPage}' : '');
     }
-    emit(' ');
 
     var declsMargin = node._declsMargin;
     var declsMarginLength = declsMargin.length;
+    emit(' {$_newLine');
     for (var i = 0; i < declsMarginLength; i++) {
-      if (i > 0) emit(_newLine);
-      emit('{$_newLine');
       declsMargin[i].visit(this);
-      emit('}');
     }
+    emit('}');
   }
 
   /** @charset "charset encoding" */
diff --git a/test/declaration_test.dart b/test/declaration_test.dart
index a553522..ba12344 100644
--- a/test/declaration_test.dart
+++ b/test/declaration_test.dart
@@ -287,6 +287,7 @@
   width: 10px;
 }
 @page bar : left { @top-left { margin: 8px; } }
+@page { @top-left { margin: 8px; } width: 10px; }
 @charset "ISO-8859-1";
 @charset 'ASCII';''';
 
@@ -308,6 +309,12 @@
   margin: 8px;
 }
 }
+@page {
+@top-left {
+  margin: 8px;
+}
+  width: 10px;
+}
 @charset "ISO-8859-1";
 @charset "ASCII";''';