* { box-sizing: border-box; }
body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	max-width: 900px;
	margin: 0 auto;
	padding: 2rem 1rem;
	line-height: 1.5;
	color: #222;
	background: #fafafa;
}
header h1 { margin-bottom: 0; }
.subtitle { color: #666; margin-top: 0.2rem; }
.search-box { display: flex; gap: 0.5rem; margin: 1.5rem 0; }
.search-box input {
	flex: 1;
	padding: 0.75rem;
	font-size: 1rem;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.search-box button {
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	background: #2563eb;
	color: white;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}
.search-box button:hover { background: #1d4ed8; }
.banner {
	padding: 0.75rem;
	margin: 1rem 0;
	background: #fef3c7;
	border-left: 4px solid #f59e0b;
	border-radius: 4px;
}
.banner.hidden { display: none; }
.card {
	background: white;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 1.5rem;
	margin: 1rem 0;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.card h2 { margin-top: 0; color: #1e3a8a; }
.card .aliases { color: #666; font-size: 0.9rem; margin-top: -0.5rem; }
.card section { margin-top: 1rem; }
.card section h3 {
	font-size: 1rem;
	color: #444;
	margin-bottom: 0.3rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.card ul { margin: 0; padding-left: 1.2rem; }
.card .fundstelle { display: inline-block; margin-right: 0.5rem; padding: 0.1rem 0.4rem; background: #eff6ff; border-radius: 3px; font-size: 0.85rem; }
.querverweis {
	display: inline-block;
	margin: 0.2rem 0.3rem 0.2rem 0;
	padding: 0.2rem 0.6rem;
	background: #f3f4f6;
	border-radius: 3px;
	cursor: pointer;
	text-decoration: none;
	color: #1e3a8a;
}
.querverweis:hover { background: #e5e7eb; }
.no-results { color: #666; font-style: italic; }
.suggestions { margin-top: 1rem; }
.suggestions strong { color: #444; }
.chunk-card { border-left: 4px solid #94a3b8; }
.chunk-card h2 { color: #334155; font-size: 1.25rem; }
.chunk-card p { margin: 0.5rem 0; }
.chunk-card ul { margin: 0.4rem 0; padding-left: 1.4rem; }
.chunk-card li { margin: 0.15rem 0; }
.chunk-card section h4, .chunk-card section h5, .chunk-card section h6 {
	margin: 0.8rem 0 0.3rem;
	color: #1e3a8a;
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
}
.chunk-card blockquote {
	margin: 0.5rem 0;
	padding: 0.4rem 0.8rem;
	border-left: 3px solid #cbd5e1;
	background: #f8fafc;
	color: #475569;
	font-style: italic;
}
.chunk-card code {
	background: #f1f5f9;
	padding: 0.1rem 0.3rem;
	border-radius: 3px;
	font-size: 0.9em;
}
.uebungen-toggle {
	cursor: pointer;
	user-select: none;
}
.uebungen-toggle:hover { color: #1e3a8a; }
.uebungen-body.hidden { display: none; }
.aufgabe {
	margin: 0.75rem 0;
	padding: 0.5rem 0.75rem;
	border-left: 3px solid #cbd5e1;
	border-radius: 0 4px 4px 0;
}
.loesung-btn {
	margin-top: 0.4rem;
	padding: 0.3rem 0.8rem;
	font-size: 0.85rem;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	border-radius: 4px;
	cursor: pointer;
	color: #0369a1;
}
.loesung-btn:hover { background: #e0f2fe; }
.loesung.hidden { display: none; }
.loesung {
	margin-top: 0.4rem;
	padding: 0.5rem 0.75rem;
	background: #f8fafc;
	border-radius: 4px;
	font-style: italic;
	color: #444;
}
