/* Base */

body {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	background: #f7f9fc;
	color: #222;
	line-height: 1.6;
}

/* Header */

.site-header {
	text-align: center;
	padding: 80px 20px 40px;
	background: linear-gradient(135deg, #7cc1ff, #7fa2ff);
	color: #fff;
}

.site-header h1 {
	font-size: 2.5rem;
	margin-bottom: 10px;
	font-weight: 700;
}

.site-header p {
	font-size: 1.15rem;
	opacity: 0.95;
	max-width: 640px;
	margin: 0 auto;
}

/* Layout */

.container {
	max-width: 700px;
	margin: 40px auto;
	padding: 0 20px 60px;
}

.card {
	background: #fff;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.07);
}

/* Lab-specific */

.lab-meta {
	font-size: 0.85rem;
	color: #666;
	margin-bottom: 10px;
}

.lab-title {
	font-size: 1.8rem;
	margin-top: 0;
	margin-bottom: 15px;
}

.lab-intro {
	font-size: 1rem;
	color: #444;
	margin-bottom: 25px;
}

/* Typography */

h3 {
	font-size: 1.2rem;
	margin-top: 30px;
	margin-bottom: 10px;
}

ul,
ol {
	padding-left: 20px;
}

/* Code */

pre {
	background: #f6f8fa;
	padding: 16px;
	border-radius: 6px;
	overflow-x: auto;
	font-size: 0.9rem;
	line-height: 1.5;
}

.copy-wrap {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 6px;
}

/* Buttons */

.btn {
	display: inline-block;
	padding: 10px 18px;
	background: #3870ff;
	color: #fff;
	font-size: 0.9rem;
	font-weight: bold;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease;
}

.btn:hover {
	background: #2d5be0;
}

/* Footer */

.site-footer {
	text-align: center;
	padding: 20px 0 40px;
	font-size: 0.9rem;
	color: #666;
}
