Index: src/wp-content/themes/twentyeleven/css/blocks.css
===================================================================
--- src/wp-content/themes/twentyeleven/css/blocks.css	(nonexistent)
+++ src/wp-content/themes/twentyeleven/css/blocks.css	(working copy)
@@ -0,0 +1,276 @@
+/*
+Theme Name: Twenty Eleven
+Description: Used to style Gutenberg Blocks.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+1.0 General Block Styles
+2.0 Blocks - Common Blocks
+3.0 Blocks - Formatting
+4.0 Blocks - Layout Elements
+5.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/*--------------------------------------------------------------
+1.0 General Block Styles
+--------------------------------------------------------------*/
+
+figure[class^="wp-block-"] {
+	margin-left: 0;
+	margin-right: 0;
+}
+
+/* Captions */
+
+[class^="wp-block-"] figcaption {
+	color: #666;
+	font-family: Georgia, serif;
+	font-size: 12px;
+	margin-bottom: 1.625em;
+	max-width: 96%;
+	max-width: calc( 100% - 18px );
+	padding: 3px 0 5px 40px;
+	position: relative;
+	text-align: left;
+}
+
+[class^="wp-block-"] figcaption:before {
+	color: #666;
+	content: '\2014';
+	font-size: 14px;
+	font-style: normal;
+	font-weight: bold;
+	margin-right: 5px;
+	position: absolute;
+	left: 10px;
+	top: 0;
+}
+
+/*--------------------------------------------------------------
+2.0 Blocks - Common Blocks
+--------------------------------------------------------------*/
+
+/* Paragraph */
+
+p.has-drop-cap:not(:focus)::first-letter {
+	font-size: 5em;
+	margin-top: 0.1em;
+}
+
+/* Gallery */
+
+.wp-block-gallery {
+	margin-bottom: 1.625em;
+}
+
+.wp-block-gallery figcaption {
+	margin-bottom: 0;
+}
+
+.wp-block-gallery .blocks-gallery-item img {
+	border: 0;
+	padding: 0;
+}
+
+/* Quote */
+
+.wp-block-quote {
+	margin: 0 3em;
+}
+
+.wp-block-quote:not(.is-large):not(.is-style-large) {
+	border-left: 0;
+	padding-left: 0;
+}
+
+.wp-block-quote cite {
+	color: #666;
+	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
+	font-weight: 300;
+	letter-spacing: 0.05em;
+	text-transform: uppercase;
+}
+
+/* Audio */
+
+.wp-block-audio audio {
+	display: block;
+	width: 100%;
+}
+
+/* Cover Image */
+
+.wp-block-cover-image.aligncenter {
+	clear: both;
+	display: flex;
+}
+
+/* File */
+
+.wp-block-file .wp-block-file__button {
+	background: #222;
+	border: none;
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	-webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	-moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	color: #eee;
+	cursor: pointer;
+	font-size: 15px;
+	padding: 5px 42px 5px 22px;
+	text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
+}
+
+.wp-block-file .wp-block-file__button:active {
+	background: #1982d1;
+	color: #bfddf3;
+}
+
+/*--------------------------------------------------------------
+3.0 Blocks - Formatting
+--------------------------------------------------------------*/
+
+/* Code */
+
+.wp-block-code {
+	background-color: transparent;
+	border: 0;
+	padding: 0;
+}
+
+/* Pullquote */
+
+.wp-block-pullquote__citation,
+.wp-block-pullquote cite,
+.wp-block-pullquote footer {
+	color: #141412;
+}
+
+/* Table */
+
+.wp-block-table {
+	border-bottom: 1px solid #ddd;
+	border-collapse: collapse;
+	border-spacing: 0;
+	width: 100%;
+}
+
+.wp-block-table th {
+	border: 0;
+	font-weight: bold;
+	padding: 6px 10px 6px 0;
+	text-transform: uppercase;
+}
+
+.wp-block-table td {
+	border: 0;
+	border-top: 1px solid #ddd;
+	padding: 6px 10px 6px 0;
+}
+
+/*--------------------------------------------------------------
+4.0 Blocks - Layout Elements
+--------------------------------------------------------------*/
+
+/* Buttons */
+
+.wp-block-button .wp-block-button__link {
+	background: #222;
+	border: none;
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	-webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	-moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	color: #eee;
+	cursor: pointer;
+	font-size: 15px;
+	margin: 20px 0;
+	padding: 5px 42px 5px 22px;
+	text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
+}
+
+.wp-block-button .wp-block-button__link:active {
+	background: #1982d1;
+	color: #bfddf3;
+}
+
+/* Separator */
+
+.wp-block-separator {
+	border: 0;
+	max-width: 100px;
+}
+
+.wp-block-separator.is-style-wide {
+	max-width: 100%;
+}
+
+/*--------------------------------------------------------------
+5.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/* Comments */
+
+.wp-block-latest-comments {
+	margin: 0;
+	padding: 0;
+}
+
+.wp-block-latest-comments .avatar,
+.wp-block-latest-comments__comment-avatar {
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	-webkit-box-shadow: 0 1px 2px #ccc;
+	-moz-box-shadow: 0 1px 2px #ccc;
+	box-shadow: 0 1px 2px #ccc;
+	left: -70px;
+	padding: 0;
+	position: absolute;
+	top: 0;
+}
+
+.wp-block-latest-comments__comment,
+.wp-block-latest-comments__comment-excerpt,
+.wp-block-latest-comments__comment-excerpt p {
+	font-size: 15px;
+}
+
+.wp-block-latest-comments__comment-excerpt p:last-child {
+	margin-bottom: 0;
+}
+
+.wp-block-latest-comments__comment-meta,
+.wp-block-latest-comments__comment-date {
+	color: #666;
+	font-size: 12px;
+	line-height: 2.2em;
+}
+
+.wp-block-latest-comments__comment-meta a {
+	font-weight: bold;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment {
+	background: #f6f6f6;
+	border: 1px solid #ddd;
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	margin: 0 0 1.625em 70px;
+	padding: 1.5em;
+	position: relative;
+}
+
+.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,
+.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta {
+	margin-left: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:before {
+	content: url(../images/comment-arrow.png);
+	left: -21px;
+	position: absolute;
+}
Index: src/wp-content/themes/twentyeleven/css/editor-blocks.css
===================================================================
--- src/wp-content/themes/twentyeleven/css/editor-blocks.css	(nonexistent)
+++ src/wp-content/themes/twentyeleven/css/editor-blocks.css	(working copy)
@@ -0,0 +1,410 @@
+/*
+Theme Name: Twenty Eleven
+Description: Used to style Gutenberg Blocks in the editor.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+1.0 General Typography
+2.0 General Block Styles
+3.0 Blocks - Common Blocks
+4.0 Blocks - Formatting
+5.0 Blocks - Layout Elements
+6.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/*--------------------------------------------------------------
+1.0 General Typography
+--------------------------------------------------------------*/
+
+.edit-post-visual-editor .editor-block-list__block,
+.edit-post-visual-editor .editor-block-list__block p,
+.editor-default-block-appender input[type="text"].editor-default-block-appender__content {
+	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+	font-size: 15px;
+	font-size: 300;
+	line-height: 1.625;
+}
+
+.edit-post-visual-editor .editor-block-list__block {
+	color: #333;
+}
+
+.editor-post-title__block .editor-post-title__input {
+	color: #000;
+	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+	font-size: 36px;
+	line-height: 48px;
+}
+
+.edit-post-visual-editor h1,
+.wp-block-freeform.block-library-rich-text__tinymce h1,
+.edit-post-visual-editor h2,
+.wp-block-freeform.block-library-rich-text__tinymce h2 {
+	font-size: 15px;
+	margin: 0 0 0.8125em;
+}
+
+.edit-post-visual-editor h3,
+.wp-block-freeform.block-library-rich-text__tinymce h3 {
+	font-size: 10px;
+	font-weight: 300;
+	letter-spacing: 0.1em;
+	line-height: 2.6em;
+	text-transform: uppercase;
+}
+
+.edit-post-visual-editor h4,
+.wp-block-freeform.block-library-rich-text__tinymce h4,
+.edit-post-visual-editor h5,
+.wp-block-freeform.block-library-rich-text__tinymce h5,
+.edit-post-visual-editor h6,
+.wp-block-freeform.block-library-rich-text__tinymce h6 {
+	font-size: 15px;
+	font-weight: 300;
+	line-height: 1.625;
+}
+
+/*--------------------------------------------------------------
+2.0 General Block Styles
+--------------------------------------------------------------*/
+
+/* Main column width */
+
+body.gutenberg-editor-page .edit-post-visual-editor .editor-post-title__block,
+body.gutenberg-editor-page .edit-post-visual-editor .editor-default-block-appender,
+body.gutenberg-editor-page .edit-post-visual-editor .editor-block-list__block {
+	max-width: 614px;
+}
+
+body.gutenberg-editor-page .edit-post-visual-editor .wp-block-columns .editor-block-list__block {
+	width: auto;
+}
+
+/* Link styles */
+
+.edit-post-visual-editor a,
+.editor-block-list__block a,
+.wp-block-freeform.block-library-rich-text__tinymce a {
+	color: #1982d1;
+}
+
+/* List styles */
+
+.edit-post-visual-editor ul:not(.wp-block-gallery),
+.editor-block-list__block ul:not(.wp-block-gallery),
+.block-library-list ul,
+.edit-post-visual-editor ol,
+.editor-block-list__block ol,
+.block-library-list ol {
+	margin: 0 0 1.6em 1.3333em;
+	padding: 0;
+}
+
+.block-library-list .editor-rich-text__tinymce {
+	padding: 0;
+}
+
+.edit-post-visual-editor ul:not(.wp-block-gallery),
+.edit-post-visual-editor .editor-block-list__block ul:not(.wp-block-gallery),
+.block-library-list ul {
+	list-style-type: square;
+}
+
+.edit-post-visual-editor ol,
+.editor-block-list__block ol,
+.block-library-list ol {
+	list-style: decimal;
+}
+
+.edit-post-visual-editor ol ol,
+.editor-block-list__block ol ol,
+.block-library-list ol ol {
+	list-style: upper-alpha;
+}
+
+.edit-post-visual-editor ol ol ol,
+.editor-block-list__block ol ol ol,
+.block-library-list ol ol ol {
+	list-style: lower-roman;
+}
+
+.edit-post-visual-editor ol ol ol ol,
+.editor-block-list__block ol ol ol ol,
+.block-library-list ol ol ol ol {
+	list-style: lower-alpha;
+}
+
+.edit-post-visual-editor ul:not(.wp-block-gallery) li > ul,
+.editor-block-list__block ul:not(.wp-block-gallery) li > ul,
+.block-library-list li > ul,
+.edit-post-visual-editor li > ol,
+.editor-block-list__block li > ol,
+.block-library-list li > ol,
+.wp-block-freeform.block-library-rich-text__tinymce li,
+.editor-block-list__block li {
+	margin-bottom: 0;
+}
+
+/* Captions */
+
+[class^="wp-block-"] figcaption {
+	color: #666;
+	font-family: Georgia, serif;
+	font-size: 12px;
+	margin-bottom: 1.625em;
+	max-width: 96%;
+	max-width: calc( 100% - 18px );
+	padding: 3px 0 5px 40px;
+	position: relative;
+	text-align: left;
+}
+
+[class^="wp-block-"]:not(.wp-block-gallery) figcaption:before {
+	color: #666;
+	content: '\2014';
+	font-size: 14px;
+	font-style: normal;
+	font-weight: bold;
+	margin-right: 5px;
+	position: absolute;
+	left: 10px;
+	top: 0;
+}
+
+/* Quote */
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote {
+	border: 0;
+	font-style: italic;
+	margin: 0 3em;
+	padding: 0;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote p {
+	font-family: Georgia, "Bitstream Charter", serif;
+	font-size: 15px;
+	font-weight: normal;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote cite {
+	color: #666;
+	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
+	font-weight: 300;
+	letter-spacing: 0.05em;
+	text-transform: uppercase;
+}
+
+/* Code */
+
+.wp-block-freeform.block-library-rich-text__tinymce code {
+	background: transparent;
+}
+
+/*--------------------------------------------------------------
+3.0 Blocks - Common Blocks
+--------------------------------------------------------------*/
+
+/* Paragraph */
+
+p.has-drop-cap:not(:focus)::first-letter {
+	font-size: 5em;
+	margin-top: 0.1em;
+}
+
+/* Gallery */
+
+.wp-block-gallery {
+	margin-bottom: 1.625em;
+}
+
+.wp-block-gallery figcaption {
+	margin-bottom: 0;
+	max-width: 100%;
+}
+
+.wp-block-gallery .blocks-gallery-item img {
+	border: 0;
+	padding: 0;
+}
+
+/* Quote */
+
+.wp-block-quote {
+	font-family: Georgia, "Bitstream Charter", serif;
+	font-style: italic;
+	font-weight: normal;
+	margin: 0 3em;
+	padding: 0;
+}
+
+.wp-block-quote:not(.is-large):not(.is-style-large) {
+	border-left: 0;
+	padding-left: 0;
+}
+
+.wp-block-quote .wp-block-quote__citation.editor-rich-text__tinymce.mce-content-body {
+	color: #666;
+	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
+	font-weight: 300;
+	letter-spacing: 0.05em;
+	text-transform: uppercase;
+}
+
+/* Cover Image */
+
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover-image p.wp-block-cover-image-text {
+	font-size: 30px;
+	line-height: 37.5px;
+}
+
+/* File */
+
+.wp-block-file .wp-block-file__textlink {
+	color: #1982d1;
+}
+
+.wp-block-file .wp-block-file__button {
+	background: #222;
+	border: none;
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	-webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	-moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	color: #eee;
+	cursor: pointer;
+	font-size: 15px;
+	line-height: 24px;
+	padding: 5px 42px 5px 22px;
+	text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
+}
+
+/*--------------------------------------------------------------
+4.0 Blocks - Formatting
+--------------------------------------------------------------*/
+
+/* Code */
+
+.wp-block-code {
+	background: transparent;
+	border: 0;
+	padding: 0;
+}
+
+/* Custom HTML */
+
+.wp-block-html .CodeMirror-lines pre {
+	background-color: inherit;
+	border: inherit;
+	font-size: inherit;
+	line-height: inherit;
+	margin: inherit;
+	padding: inherit;
+}
+
+/* Pullquote */
+
+.edit-post-visual-editor .editor-block-list__block .wp-block-pullquote p {
+	font-family: Georgia, "Bitstream Charter", serif;
+	font-style: italic;
+	font-weight: normal;
+}
+
+/* Table */
+
+.editor-block-list__block .wp-block-table th,
+.editor-block-list__block .wp-block-table td {
+	padding: 0;
+}
+
+
+/*--------------------------------------------------------------
+5.0 Blocks - Layout Elements
+--------------------------------------------------------------*/
+
+/* Buttons */
+
+.wp-block-button .wp-block-button__link {
+	background: #222;
+	border: none;
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	-webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	-moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	box-shadow: 0px 1px 2px rgba(0,0,0,0.3);
+	color: #eee;
+	cursor: pointer;
+	font-size: 15px;
+	line-height: 24px;
+	margin: 20px 0;
+	padding: 5px 42px 5px 22px;
+	text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
+}
+
+/*--------------------------------------------------------------
+6.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/* Comments */
+
+.editor-block-list__block ol.wp-block-latest-comments {
+	margin: 0;
+	padding: 0;
+}
+
+.wp-block-latest-comments .avatar,
+.wp-block-latest-comments__comment-avatar {
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	-webkit-box-shadow: 0 1px 2px #ccc;
+	-moz-box-shadow: 0 1px 2px #ccc;
+	box-shadow: 0 1px 2px #ccc;
+	left: -70px;
+	padding: 0;
+	position: absolute;
+	top: 0;
+}
+
+.wp-block-latest-comments__comment,
+.wp-block-latest-comments__comment-excerpt,
+.wp-block-latest-comments__comment-excerpt p {
+	font-size: 15px;
+}
+
+.wp-block-latest-comments__comment-excerpt p:last-child {
+	margin-bottom: 0;
+}
+
+.wp-block-latest-comments__comment-meta,
+.wp-block-latest-comments__comment-date {
+	color: #666;
+	font-size: 12px;
+	line-height: 2.2em;
+}
+
+.wp-block-latest-comments__comment-meta a {
+	font-weight: bold;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment {
+	background: #f6f6f6;
+	border: 1px solid #ddd;
+	-moz-border-radius: 3px;
+	border-radius: 3px;
+	margin: 0 0 1.625em 70px;
+	padding: 1.5em;
+	position: relative;
+}
+
+.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,
+.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta {
+	margin-left: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:before {
+	content: url(../images/comment-arrow.png);
+	left: -21px;
+	position: absolute;
+}
Index: src/wp-content/themes/twentyeleven/functions.php
===================================================================
--- src/wp-content/themes/twentyeleven/functions.php	(revision 43731)
+++ src/wp-content/themes/twentyeleven/functions.php	(working copy)
@@ -82,6 +82,12 @@
 	// This theme styles the visual editor with editor-style.css to match the theme style.
 	add_editor_style();
 
+	// Load regular editor styles into the new block-based editor.
+	add_theme_support( 'editor-styles' );
+
+	// Load default block styles.
+	add_theme_support( 'wp-block-styles' );
+
 	// Load up our theme options page and related code.
 	require( get_template_directory() . '/inc/theme-options.php' );
 
@@ -232,6 +238,28 @@
 }
 endif; // twentyeleven_setup
 
+/**
+ * Enqueue scripts and styles for front end.
+ *
+ * @since Twenty Eleven 2.9
+ */
+function twentyeleven_scripts_styles() {
+	// Theme block stylesheet.
+	wp_enqueue_style( 'twentyeleven-block-style', get_theme_file_uri( '/css/blocks.css' ), array(), '1.0' );
+}
+add_action( 'wp_enqueue_scripts', 'twentyeleven_scripts_styles' );
+
+/**
+ * Enqueue editor styles for Gutenberg
+ *
+ * @since Twenty Eleven 2.9
+ */
+function twentyeleven_block_editor_styles() {
+	// Block styles.
+	wp_enqueue_style( 'twentyeleven-block-editor-style', get_template_directory_uri() . '/css/editor-blocks.css' );
+}
+add_action( 'enqueue_block_editor_assets', 'twentyeleven_block_editor_styles' );
+
 if ( ! function_exists( 'twentyeleven_header_style' ) ) :
 /**
  * Styles the header image and text displayed on the blog.
