diff --git a/core/modules/system/src/Tests/Installer/InstallerTest.php b/core/modules/system/src/Tests/Installer/InstallerTest.php
index 6d48123..0b63e04 100644
--- a/core/modules/system/src/Tests/Installer/InstallerTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerTest.php
@@ -32,4 +32,11 @@ public function testInstaller() {
     )));
   }
 
+  /**
+   * Installer step: Select language.
+   */
+  protected function setUpLanguage() {
+    $this->assertRaw('core/themes/seven/css/components/buttons.css', 'Seven\'s css is attached.');
+    parent::setUpLanguage();
+  }
 }
diff --git a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
index 5dba9db..ce06f98 100644
--- a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
@@ -170,44 +170,8 @@ public function testRebuildThemeData() {
     $this->assertEquals('twig', $info->prefix);
 
     $this->assertEquals('twig', $info->info['engine']);
-    $this->assertEquals(array(), $info->info['libraries']);
-
-    // Ensure that the css paths are set with the proper prefix.
-    $this->assertEquals(array(
-      'screen' => array(
-        'css/base/elements.css' => $this->root . '/core/themes/seven/css/base/elements.css',
-        'css/base/typography.css' => $this->root . '/core/themes/seven/css/base/typography.css',
-        'css/components/admin-list.css' => $this->root . '/core/themes/seven/css/components/admin-list.css',
-        'css/components/admin-options.css' => $this->root . '/core/themes/seven/css/components/admin-options.css',
-        'css/components/admin-panel.css' => $this->root . '/core/themes/seven/css/components/admin-panel.css',
-        'css/components/block-recent-content.css' => $this->root . '/core/themes/seven/css/components/block-recent-content.css',
-        'css/components/content-header.css' => $this->root . '/core/themes/seven/css/components/content-header.css',
-        'css/components/breadcrumb.css' => $this->root . '/core/themes/seven/css/components/breadcrumb.css',
-        'css/components/buttons.css' => $this->root . '/core/themes/seven/css/components/buttons.css',
-        'css/components/buttons.theme.css' => $this->root . '/core/themes/seven/css/components/buttons.theme.css',
-        'css/components/comments.css' => $this->root . '/core/themes/seven/css/components/comments.css',
-        'css/components/messages.css' => $this->root . '/core/themes/seven/css/components/messages.css',
-        'css/components/dropbutton.component.css' => $this->root . '/core/themes/seven/css/components/dropbutton.component.css',
-        'css/components/entity-meta.css' => $this->root . '/core/themes/seven/css/components/entity-meta.css',
-        'css/components/field-ui.css' => $this->root . '/core/themes/seven/css/components/field-ui.css',
-        'css/components/form.css' => $this->root . '/core/themes/seven/css/components/form.css',
-        'css/components/help.css' => $this->root . '/core/themes/seven/css/components/help.css',
-        'css/components/menus-and-lists.css' => $this->root . '/core/themes/seven/css/components/menus-and-lists.css',
-        'css/components/modules-page.css' => $this->root . '/core/themes/seven/css/components/modules-page.css',
-        'css/components/node.css' => $this->root . '/core/themes/seven/css/components/node.css',
-        'css/components/page-title.css' => $this->root . '/core/themes/seven/css/components/page-title.css',
-        'css/components/pager.css' => $this->root . '/core/themes/seven/css/components/pager.css',
-        'css/components/skip-link.css' => $this->root . '/core/themes/seven/css/components/skip-link.css',
-        'css/components/tables.css' => $this->root . '/core/themes/seven/css/components/tables.css',
-        'css/components/tabs.css' => $this->root . '/core/themes/seven/css/components/tabs.css',
-        'css/components/tour.theme.css' => $this->root . '/core/themes/seven/css/components/tour.theme.css',
-        'css/components/update-status.css' => $this->root . '/core/themes/seven/css/components/update-status.css',
-        'css/components/views-ui.css' => $this->root . '/core/themes/seven/css/components/views-ui.css',
-        'css/layout/layout.css' => $this->root . '/core/themes/seven/css/layout/layout.css',
-        'css/layout/node-add.css' => $this->root . '/core/themes/seven/css/layout/node-add.css',
-        'css/theme/appearance-page.css' => $this->root . '/core/themes/seven/css/theme/appearance-page.css',
-      ),
-    ), $info->info['stylesheets']);
+    $this->assertEquals(['seven/base'], $info->info['libraries']);
+    $this->assertEquals([], $info->info['stylesheets']);
     $this->assertEquals($this->root . '/core/themes/seven/screenshot.png', $info->info['screenshot']);
   }
 
diff --git a/core/themes/seven/seven.info.yml b/core/themes/seven/seven.info.yml
index 1277db9..ced18ef 100644
--- a/core/themes/seven/seven.info.yml
+++ b/core/themes/seven/seven.info.yml
@@ -7,39 +7,8 @@ tags: 'multi-column, fluid, responsive, sans-serif, accessible'
 package: Core
 version: VERSION
 core: 8.x
-stylesheets:
-  screen:
-    - css/base/elements.css
-    - css/base/typography.css
-    - css/components/admin-list.css
-    - css/components/admin-options.css
-    - css/components/admin-panel.css
-    - css/components/block-recent-content.css
-    - css/components/content-header.css
-    - css/components/breadcrumb.css
-    - css/components/buttons.css
-    - css/components/buttons.theme.css
-    - css/components/comments.css
-    - css/components/messages.css
-    - css/components/dropbutton.component.css
-    - css/components/entity-meta.css
-    - css/components/field-ui.css
-    - css/components/form.css
-    - css/components/help.css
-    - css/components/menus-and-lists.css
-    - css/components/modules-page.css
-    - css/components/node.css
-    - css/components/page-title.css
-    - css/components/pager.css
-    - css/components/skip-link.css
-    - css/components/tables.css
-    - css/components/tabs.css
-    - css/components/tour.theme.css
-    - css/components/update-status.css
-    - css/components/views-ui.css
-    - css/layout/layout.css
-    - css/layout/node-add.css
-    - css/theme/appearance-page.css
+libraries:
+  - seven/base
 stylesheets-override:
   - css/components/vertical-tabs.css
   - css/components/jquery.ui.theme.css
diff --git a/core/themes/seven/seven.libraries.yml b/core/themes/seven/seven.libraries.yml
index a794871..ae31ba4 100644
--- a/core/themes/seven/seven.libraries.yml
+++ b/core/themes/seven/seven.libraries.yml
@@ -1,3 +1,39 @@
+base:
+  version: VERSION
+  css:
+    theme:
+      css/base/elements.css: { media: screen }
+      css/base/typography.css: { media: screen }
+      css/components/admin-list.css: { media: screen }
+      css/components/admin-options.css: { media: screen }
+      css/components/admin-panel.css: { media: screen }
+      css/components/block-recent-content.css: { media: screen }
+      css/components/content-header.css: { media: screen }
+      css/components/breadcrumb.css: { media: screen }
+      css/components/buttons.css: { media: screen }
+      css/components/buttons.theme.css: { media: screen }
+      css/components/comments.css: { media: screen }
+      css/components/messages.css: { media: screen }
+      css/components/dropbutton.component.css: { media: screen }
+      css/components/entity-meta.css: { media: screen }
+      css/components/field-ui.css: { media: screen }
+      css/components/form.css: { media: screen }
+      css/components/help.css: { media: screen }
+      css/components/menus-and-lists.css: { media: screen }
+      css/components/modules-page.css: { media: screen }
+      css/components/node.css: { media: screen }
+      css/components/page-title.css: { media: screen }
+      css/components/pager.css: { media: screen }
+      css/components/skip-link.css: { media: screen }
+      css/components/tables.css: { media: screen }
+      css/components/tabs.css: { media: screen }
+      css/components/tour.theme.css: { media: screen }
+      css/components/update-status.css: { media: screen }
+      css/components/views-ui.css: { media: screen }
+      css/layout/layout.css: { media: screen }
+      css/layout/node-add.css: { media: screen }
+      css/theme/appearance-page.css: { media: screen }
+
 maintenance-page:
   version: VERSION
   js:
@@ -7,6 +43,7 @@ maintenance-page:
       css/theme/maintenance-page.css: {}
   dependencies:
     - system/maintenance
+    - seven/base
 
 install-page:
   version: VERSION
