Index: src/wp-admin/css/install.css
===================================================================
--- src/wp-admin/css/install.css	(revision 36606)
+++ src/wp-admin/css/install.css	(working copy)
@@ -211,20 +211,16 @@
 	font-size: 18px;
 }
 
-#error-page {
+body.error-page {
 	margin-top: 50px;
 }
 
-#error-page p {
+body.error-page p {
 	font-size: 14px;
 	line-height: 18px;
 	margin: 25px 0 20px;
 }
 
-#error-page code, .code {
-	font-family: Consolas, Monaco, monospace;
-}
-
 .wp-hide-pw > .dashicons {
 	line-height: inherit;
 }
Index: src/wp-admin/setup-config.php
===================================================================
--- src/wp-admin/setup-config.php	(revision 36606)
+++ src/wp-admin/setup-config.php	(working copy)
@@ -142,14 +142,16 @@
 		}
 ?>
 <h1 class="screen-reader-text"><?php _e( 'Before getting started' ) ?></h1>
-<p><?php _e( 'Welcome to WordPress. Before getting started, we need some information on the database. You will need to know the following items before proceeding.' ) ?></p>
+<p><?php _e( "OK! We need some information about your database." )?></p>
+<p><?php _e( "This information is available through your web host. If you don't have it, you'll need to get in touch with them. Here's what you need:" ) ?></p>
 <ol>
 	<li><?php _e( 'Database name' ); ?></li>
 	<li><?php _e( 'Database username' ); ?></li>
 	<li><?php _e( 'Database password' ); ?></li>
 	<li><?php _e( 'Database host' ); ?></li>
-	<li><?php _e( 'Table prefix (if you want to run more than one WordPress in a single database)' ); ?></li>
 </ol>
+<p><?php _e( "Once you fill in this information, WordPress will create a configuration file called <code>wp-config.php</code>. This connects WordPress with your database, where your content and settings will be stored. Need more help? Check out our <a href='https://codex.wordpress.org/Editing_wp-config.php'>documentation</a>." ); ?></p>
+<p><?php _e( "If you&#8217;re all ready&hellip;" ); ?></p>
 <p><?php
 	/* translators: %s: wp-config.php */
 	printf( __( 'We&#8217;re going to use this information to create a %s file.' ),
@@ -171,7 +173,7 @@
 ?></p>
 <p><?php _e( 'In all likelihood, these items were supplied to you by your Web Host. If you don&#8217;t have this information, then you will need to contact them before you can continue. If you&#8217;re all ready&hellip;' ); ?></p>
 
-<p class="step"><a href="<?php echo $step_1; ?>" class="button button-large"><?php _e( 'Let&#8217;s go!' ); ?></a></p>
+<p class="step"><a href="setup-config.php?step=1<?php if ( isset( $_GET['noapi'] ) ) echo '&amp;noapi'; ?>" class="button button-large"><?php _e( 'Let&#8217;s Go!' ); ?></a></p>
 <?php
 	break;
 
@@ -244,14 +246,23 @@
 		$install .= '?language=en_US';
 	}
 
-	$tryagain_link = '</p><p class="step"><a href="' . $step_1 . '" onclick="javascript:history.go(-1);return false;" class="button button-large">' . __( 'Try again' ) . '</a>';
+	$tryagain_link = '</p><p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button button-large">' . __( 'Try Again' ) . '</a>';
 
-	if ( empty( $prefix ) )
-		wp_die( __( '<strong>ERROR</strong>: "Table Prefix" must not be empty.' . $tryagain_link ) );
+	// Validate $prefix: it must not be empty
+	if ( empty( $prefix ) ) {
+		$die .= '<p style="text-align: center;">' . __( "Oops, the Table Prefix field can't be empty. Please go back and try again." ) . '</p>';
+		$die .= '<p style="text-align: center;">' . __( "Need more help? Check out our <a href='https://codex.wordpress.org/Editing_wp-config.php#table_prefix'>documentation</a>." ) . '</p>';
+		$die .= ( __( $tryagain_link ) );
+		wp_die( $die );
+	}
 
 	// Validate $prefix: it can only contain letters, numbers and underscores.
-	if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
-		wp_die( __( '<strong>ERROR</strong>: "Table Prefix" can only contain numbers, letters, and underscores.' . $tryagain_link ) );
+	if ( preg_match( '|[^a-z0-9_]|i', $prefix ) ) {
+		$die .= '<p style="text-align: center;">' . __( "Oops, the Table Prefix field can only contain numbers, letters, and underscores. Please go back and try again. ") . '</p>';
+		$die .= '<p style="text-align: center;">' . __( "Need more help? Check out our <a href='https://codex.wordpress.org/Editing_wp-config.php#table_prefix'>documentation</a>." ) . '</p>';
+		$die .= ( __( $tryagain_link ) );
+		wp_die( $die );
+	}
 
 	// Test the db connection.
 	/**#@+
@@ -343,7 +354,7 @@
 ?></p>
 <p><?php
 	/* translators: %s: wp-config.php */
-	printf( __( 'You can create the %s manually and paste the following text into it.' ), '<code>wp-config.php</code>' );
+	printf( __( 'To continue, manually create a file named %s in the root directory where the rest of your WordPress files are located and copy and paste the following text into the file:'), '<code>wp-config.php</code>' );
 ?></p>
 <textarea id="wp-config" cols="98" rows="15" class="code" readonly="readonly"><?php
 		foreach ( $config_file as $line ) {
Index: src/wp-includes/functions.php
===================================================================
--- src/wp-includes/functions.php	(revision 36606)
+++ src/wp-includes/functions.php	(working copy)
@@ -2615,7 +2615,7 @@
 			$message = "<ul>\n\t\t<li>" . join( "</li>\n\t\t<li>", $errors ) . "</li>\n\t</ul>";
 			break;
 		}
-	} elseif ( is_string( $message ) ) {
+	} elseif ( is_string( $message ) && empty( $r['raw'] ) ) {
 		$message = "<p>$message</p>";
 	}
 
@@ -2639,6 +2639,16 @@
 			$text_direction = 'rtl';
 		elseif ( function_exists( 'is_rtl' ) && is_rtl() )
 			$text_direction = 'rtl';
+
+		$site_url = wp_guess_url();
+
+		$classes = 'wp-core-ui';
+		if ( ! empty( $r['error'] ) ) {
+			$classes .= ' error-page';
+		}
+		if ( 'rtl' === $text_direction ) {
+			$classes .= ' rtl';
+		}
 ?>
 <!DOCTYPE html>
 <!-- Ticket #11289, IE bug fix: always pad the error page with enough characters such that it is greater than 512 bytes, even after gzip compression abcdefghijklmnopqrstuvwxyz1234567890aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz11223344556677889900abacbcbdcdcededfefegfgfhghgihihjijikjkjlklkmlmlnmnmononpopoqpqprqrqsrsrtstsubcbcdcdedefefgfabcadefbghicjkldmnoepqrfstugvwxhyz1i234j567k890laabmbccnddeoeffpgghqhiirjjksklltmmnunoovppqwqrrxsstytuuzvvw0wxx1yyz2z113223434455666777889890091abc2def3ghi4jkl5mno6pqr7stu8vwx9yz11aab2bcc3dd4ee5ff6gg7hh8ii9j0jk1kl2lmm3nnoo4p5pq6qrr7ss8tt9uuvv0wwx1x2yyzz13aba4cbcb5dcdc6dedfef8egf9gfh0ghg1ihi2hji3jik4jkj5lkl6kml7mln8mnm9ono
@@ -2648,124 +2658,10 @@
 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 	<meta name="viewport" content="width=device-width">
 	<title><?php echo $title ?></title>
-	<style type="text/css">
-		html {
-			background: #f1f1f1;
-		}
-		body {
-			background: #fff;
-			color: #444;
-			font-family: "Open Sans", sans-serif;
-			margin: 2em auto;
-			padding: 1em 2em;
-			max-width: 700px;
-			-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
-			box-shadow: 0 1px 3px rgba(0,0,0,0.13);
-		}
-		h1 {
-			border-bottom: 1px solid #dadada;
-			clear: both;
-			color: #666;
-			font: 24px "Open Sans", sans-serif;
-			margin: 30px 0 0 0;
-			padding: 0;
-			padding-bottom: 7px;
-		}
-		#error-page {
-			margin-top: 50px;
-		}
-		#error-page p {
-			font-size: 14px;
-			line-height: 1.5;
-			margin: 25px 0 20px;
-		}
-		#error-page code {
-			font-family: Consolas, Monaco, monospace;
-		}
-		ul li {
-			margin-bottom: 10px;
-			font-size: 14px ;
-		}
-		a {
-			color: #0073aa;
-		}
-		a:hover,
-		a:active {
-			color: #00a0d2;
-		}
-		a:focus {
-			color: #124964;
-		    -webkit-box-shadow:
-		    	0 0 0 1px #5b9dd9,
-				0 0 2px 1px rgba(30, 140, 190, .8);
-		    box-shadow:
-		    	0 0 0 1px #5b9dd9,
-				0 0 2px 1px rgba(30, 140, 190, .8);
-			outline: none;
-		}
-		.button {
-			background: #f7f7f7;
-			border: 1px solid #ccc;
-			color: #555;
-			display: inline-block;
-			text-decoration: none;
-			font-size: 13px;
-			line-height: 26px;
-			height: 28px;
-			margin: 0;
-			padding: 0 10px 1px;
-			cursor: pointer;
-			-webkit-border-radius: 3px;
-			-webkit-appearance: none;
-			border-radius: 3px;
-			white-space: nowrap;
-			-webkit-box-sizing: border-box;
-			-moz-box-sizing:    border-box;
-			box-sizing:         border-box;
-
-			-webkit-box-shadow: 0 1px 0 #ccc;
-			box-shadow: 0 1px 0 #ccc;
-		 	vertical-align: top;
-		}
-
-		.button.button-large {
-			height: 30px;
-			line-height: 28px;
-			padding: 0 12px 2px;
-		}
-
-		.button:hover,
-		.button:focus {
-			background: #fafafa;
-			border-color: #999;
-			color: #23282d;
-		}
-
-		.button:focus  {
-			border-color: #5b9dd9;
-			-webkit-box-shadow: 0 0 3px rgba( 0, 115, 170, .8 );
-			box-shadow: 0 0 3px rgba( 0, 115, 170, .8 );
-			outline: none;
-		}
-
-		.button:active {
-			background: #eee;
-			border-color: #999;
-		 	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
-		 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
-		 	-webkit-transform: translateY(1px);
-		 	-ms-transform: translateY(1px);
-		 	transform: translateY(1px);
-		}
-
-		<?php
-		if ( 'rtl' == $text_direction ) {
-			echo 'body { font-family: Tahoma, Arial; }';
-		}
-		?>
-	</style>
+	<link rel="stylesheet" type="text/css" href="<?php echo $site_url; ?>/wp-admin/css/install.css" />
+	<link rel="stylesheet" type="text/css" href="<?php echo $site_url; ?>/wp-includes/css/buttons.css" />
 </head>
-<body id="error-page">
+<body class="<?php echo $classes; ?>">
 <?php endif; // ! did_action( 'admin_head' ) ?>
 	<?php echo $message; ?>
 </body>
Index: src/wp-load.php
===================================================================
--- src/wp-load.php	(revision 36606)
+++ src/wp-load.php	(working copy)
@@ -72,22 +72,46 @@
 	wp_load_translations_early();
 
 	// Die with an error message
-	$die  = sprintf(
+	$die = sprintf(
+		__( '<h1 id="logo"><a href="%s">WordPress</a></h1>' ),
+		/* translators: %s: WordPress url */
+		__( 'https://wordpress.org/' )
+	);
+	$die .= '<h1>' . __( 'Welcome to WordPress' ) . '</h1>';
+	$die .= '<p>' . __( "In just a few minutes, you'll be all set up with WordPress and ready to create your own corner of the web." ) . '</p>';
+	$die .= '<p>' . sprintf(
+		/* translators: %s: Codex plugins url, Codex themes url */
+			__( 'This free and Open Source software is built and maintained by a community of hundreds of volunteers. Transform your website with countless of <a href="%1$s">plugins</a> and <a href="%2$s">themes</a> available from right within WordPress.' ),
+		'https://wordpress.org/plugins/',
+		'https://wordpress.org/themes/'
+	) . '</p>';
+	$die .= '<p>' . __( 'Write your blog, build your first website, launch your business, share your photos with your friends. You can do just about anything you can imagine.' ) . '</p>';
+	$die .= '<p>' . sprintf(
+		__( '<a href="%1$s" class="button button-large">%1$s</a>' ),
+		$path,
+		__( "Let's Get Started!" )
+	) . '</p>';
+	$die .= sprintf(
 		/* translators: %s: wp-config.php */
 		__( "There doesn't seem to be a %s file. I need this before we can get started." ),
 		'<code>wp-config.php</code>'
 	) . '</p>';
 	$die .= '<p>' . sprintf(
 		/* translators: %s: Codex URL */
-		__( "Need more help? <a href='%s'>We got it</a>." ),
-		__( 'https://codex.wordpress.org/Editing_wp-config.php' )
+		__( 'Need more help? <a href="%1$s">%1$s</a>.' ),
+		__( 'https://codex.wordpress.org/Editing_wp-config.php' ),
+		__( 'We got it' )
 	) . '</p>';
 	$die .= '<p>' . sprintf(
 		/* translators: %s: wp-config.php */
 		__( "You can create a %s file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file." ),
 		'<code>wp-config.php</code>'
 	) . '</p>';
-	$die .= '<p><a href="' . $path . '" class="button button-large">' . __( "Create a Configuration File" ) . '</a>';
+	$die .= '<p>' . sprintf(
+			'<a href="%s" class="button button-large">%s</a>',
+			$path,
+			__( 'Create a Configuration File' )
+	) . '</p>';
 
-	wp_die( $die, __( 'WordPress &rsaquo; Error' ) );
+	wp_die( $die, __( 'Welcome to WordPress!' ), array( 'error' => false, 'raw' => true ) );
 }
