diff --git a/core/modules/system/src/Tests/Menu/MenuRouterTest.php b/core/modules/system/src/Tests/Menu/MenuRouterTest.php
index 4089931..d75bd6c 100644
--- a/core/modules/system/src/Tests/Menu/MenuRouterTest.php
+++ b/core/modules/system/src/Tests/Menu/MenuRouterTest.php
@@ -296,19 +296,19 @@ protected function doTestThemeCallbackMaintenanceMode() {
    */
   protected function doTestThemeCallbackOptionalTheme() {
     // Request a theme that is not installed.
-    $this->drupalGet('menu-test/theme-callback/use-stark-theme');
+    $this->drupalGet('menu-test/theme-callback/use-test-theme');
     $this->assertText('Active theme: bartik. Actual theme: bartik.', 'The theme negotiation system falls back on the default theme when a theme that is not installed is requested.');
     $this->assertRaw('bartik/css/base/elements.css', "The default theme's CSS appears on the page.");
 
     // Now install the theme and request it again.
     $theme_handler = $this->container->get('theme_handler');
-    $theme_handler->install(array('stark'));
+    $theme_handler->install(array('test_theme'));
 
-    $this->drupalGet('menu-test/theme-callback/use-stark-theme');
-    $this->assertText('Active theme: stark. Actual theme: stark.', 'The theme negotiation system uses an optional theme once it has been installed.');
-    $this->assertRaw('stark/css/layout.css', "The optional theme's CSS appears on the page.");
+    $this->drupalGet('menu-test/theme-callback/use-test-theme');
+    $this->assertText('Active theme: test_theme. Actual theme: test_theme.', 'The theme negotiation system uses an optional theme once it has been installed.');
+    $this->assertRaw('test_theme/kitten.css', "The optional theme's CSS appears on the page.");
 
-    $theme_handler->uninstall(array('stark'));
+    $theme_handler->uninstall(array('test_theme'));
   }
 
   /**
diff --git a/core/modules/system/tests/modules/menu_test/src/Theme/TestThemeNegotiator.php b/core/modules/system/tests/modules/menu_test/src/Theme/TestThemeNegotiator.php
index b4cdd0a..2d8c5f3 100644
--- a/core/modules/system/tests/modules/menu_test/src/Theme/TestThemeNegotiator.php
+++ b/core/modules/system/tests/modules/menu_test/src/Theme/TestThemeNegotiator.php
@@ -35,8 +35,8 @@ public function determineActiveTheme(RouteMatchInterface $route_match) {
       return \Drupal::config('system.theme')->get('admin');
     }
     // Test using a theme that exists, but may or may not be installed.
-    elseif ($argument == 'use-stark-theme') {
-      return 'stark';
+    elseif ($argument == 'use-test-theme') {
+      return 'test_theme';
     }
     // Test using a theme that does not exist.
     elseif ($argument == 'use-fake-theme') {
diff --git a/core/modules/system/tests/themes/test_theme/test_theme.info.yml b/core/modules/system/tests/themes/test_theme/test_theme.info.yml
index 7ddcb2d..e9d6602 100644
--- a/core/modules/system/tests/themes/test_theme/test_theme.info.yml
+++ b/core/modules/system/tests/themes/test_theme/test_theme.info.yml
@@ -16,6 +16,8 @@ base theme: classy
 core: 8.x
 stylesheets-remove:
   - '@system/css/system.module.css'
+libraries:
+  - test_theme/global-styling
 regions:
   content: Content
   left: Left
diff --git a/core/modules/system/tests/themes/test_theme/test_theme.libraries.yml b/core/modules/system/tests/themes/test_theme/test_theme.libraries.yml
new file mode 100644
index 0000000..c1fe4a5
--- /dev/null
+++ b/core/modules/system/tests/themes/test_theme/test_theme.libraries.yml
@@ -0,0 +1,5 @@
+global-styling:
+  version: VERSION
+  css:
+    base:
+      kitten.css: {}
diff --git a/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php b/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php
index 6fbce81..0f8ad49 100644
--- a/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php
+++ b/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php
@@ -484,6 +484,16 @@ function testLanguageSwitching() {
   }
 
   /**
+   * Test that back to site link exists on admin pages, not on content pages.
+   */
+  public function testBackToSiteLink() {
+    // Back to site link should exist in the markup.
+    $this->drupalGet('test-page');
+    $back_link = $this->cssSelect('.home-toolbar-tab');
+    $this->assertTrue($back_link);
+  }
+
+  /**
    * Get the hash value from the admin menu subtrees route path.
    *
    * @return string
diff --git a/core/themes/stark/README.txt b/core/themes/stark/README.txt
index 141a3d0..552261a 100644
--- a/core/themes/stark/README.txt
+++ b/core/themes/stark/README.txt
@@ -10,9 +10,7 @@ default markup without the interference of changes commonly made by more
 complex themes.
 
 To avoid obscuring CSS added to the page by Drupal or a contrib module, the
-Stark theme itself has no styling, except just enough CSS to arrange the page
-in a traditional "Header, sidebars, content, and footer" layout. See the
-layout.css file for more information.
+Stark theme itself has no styling.
 
 
 ABOUT DRUPAL THEMING
diff --git a/core/themes/stark/config/schema/stark.schema.yml b/core/themes/stark/config/schema/stark.schema.yml
deleted file mode 100644
index 2b7f958..0000000
--- a/core/themes/stark/config/schema/stark.schema.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-# Schema for the configuration files of the Stark theme.
-
-stark.settings:
-  type: theme_settings
-  label: 'Stark settings'
diff --git a/core/themes/stark/css/layout.css b/core/themes/stark/css/layout.css
index 486014b..e69de29 100644
--- a/core/themes/stark/css/layout.css
+++ b/core/themes/stark/css/layout.css
@@ -1,123 +0,0 @@
-/**
- * @file
- * Stark layout method
- *
- * To avoid obscuring CSS added to the page by Drupal or a contrib module, the
- * Stark theme itself has no styling, except just enough CSS to arrange the page
- * in a traditional "Header, sidebars, content, and footer" layout.
- *
- * This layout method works reasonably well, but shouldn't be used on a
- * production site because it can break. For example, if an over-large image
- * (one that is wider than 20% of the viewport) is in the left sidebar, the
- * image will overlap with the .layout-content to the right.
- */
-img {
-  height: auto;
-  max-width: 100%;
-}
-main:after {
-  content: "";
-  display: table;
-  clear: both;
-}
-
-.layout-content,
-.layout-sidebar-first,
-.layout-sidebar-second {
-  display: inline;
-  position: relative;
-}
-
-details,
-summary {
-  display: block;
-}
-
-@media all and (min-width: 480px) and (max-width: 959px) {
-  .layout-content {
-    width: 67%;
-    float: right; /* LTR */
-  }
-  [dir="rtl"] .layout-content {
-    float: left;
-  }
-
-  .layout-sidebar-first {
-    width: 33%;
-    float: left; /* LTR */
-  }
-  [dir="rtl"] .layout-sidebar-first {
-    float: right;
-  }
-
-  .layout-sidebar-second {
-    float: right; /* LTR */
-    clear: both;
-    width: 100%;
-  }
-  [dir="rtl"] .layout-sidebar-second {
-    float: right;
-    clear: right;
-  }
-
-  .layout-sidebar-second .block {
-    float: left; /* LTR */
-    width: 33%;
-  }
-  [dir="rtl"] .layout-sidebar-second .block {
-    float: right;
-  }
-  .layout-sidebar-second .block:nth-child(3n+1) {
-    clear: both;
-  }
-}
-
-@media all and (min-width: 960px) {
-  .layout-content {
-    width: 60%;
-    float: left; /* LTR */
-    left: 20%; /* LTR */
-  }
-  [dir="rtl"] .layout-content {
-    float: right;
-    left: 0;
-    right: 20%;
-  }
-
-  .layout-sidebar-first {
-    width: 20%;
-    float: left; /* LTR */
-    left: -60%; /* LTR */
-  }
-  [dir="rtl"] .layout-sidebar-first {
-    float: right;
-    left: 0;
-    right: -60%;
-  }
-
-  .layout-sidebar-second {
-    float: right; /* LTR */
-    width: 20%;
-  }
-  [dir="rtl"] .layout-sidebar-second {
-    float: left;
-  }
-}
-
-/**
- * Responsive tables.
- */
-@media screen and (max-width:28.125em) { /* 450px */
-  th.priority-low,
-  td.priority-low,
-  th.priority-medium,
-  td.priority-medium {
-    display: none;
-  }
-}
-@media screen and (max-width:45em) { /* 720px */
-  th.priority-low,
-  td.priority-low {
-    display: none;
-  }
-}
diff --git a/core/themes/stark/stark.breakpoints.yml b/core/themes/stark/stark.breakpoints.yml
deleted file mode 100644
index 92d33b2..0000000
--- a/core/themes/stark/stark.breakpoints.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-stark.mobile:
-  label: mobile
-  mediaQuery: '(min-width: 0px)'
-  weight: 2
-  multipliers:
-   - 1x
-stark.narrow:
-  label: narrow
-  mediaQuery: 'all and (min-width: 480px) and (max-width: 959px)'
-  weight: 1
-  multipliers:
-    - 1x
-stark.wide:
-  label: wide
-  mediaQuery: 'all and (min-width: 960px)'
-  weight: 0
-  multipliers:
-    - 1x
diff --git a/core/themes/stark/stark.info.yml b/core/themes/stark/stark.info.yml
index 69337d5..e513ca8 100644
--- a/core/themes/stark/stark.info.yml
+++ b/core/themes/stark/stark.info.yml
@@ -4,7 +4,3 @@ description: 'An intentionally plain theme with almost no styling to demonstrate
 package: Core
 version: VERSION
 core: 8.x
-libraries:
-  - stark/global-styling
-stylesheets-remove:
-  - core/assets/vendor/normalize-css/normalize.css
diff --git a/core/themes/stark/stark.libraries.yml b/core/themes/stark/stark.libraries.yml
deleted file mode 100644
index 7655147..0000000
--- a/core/themes/stark/stark.libraries.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-global-styling:
-  version: VERSION
-  css:
-    base:
-      css/layout.css: {}
