body {
	font-family: system-ui, sans-serif;
	background: #111;
	color: #eee;
	margin: 0;
	padding: 0;
	line-height: 1.5
}

h1,
h2 {
	margin: 0
}

h2 {
	font-size: 1.1rem;
	margin: 2rem 0 1rem;
	color: #bbb;
	font-weight: 500
}

a {
	color: #60a5fa
}

.topbar {
	position: sticky;
	top: 0;
	z-index: 10;
	background: rgba(17, 17, 17, .92);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid #333
}

.topbar-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem 2rem;
	display: flex;
	align-items: center;
	gap: .8rem
}

.logo {
	width: 32px;
	height: 32px;
	flex-shrink: 0
}

.topbar h1 {
	font-size: 1.2rem
}

.topbar small {
	color: #888;
	font-size: .85rem;
	margin-left: .4rem
}

.content {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem
}

.intro {
	background: #1c1c1c;
	padding: 1.2rem 1.5rem;
	border-radius: 6px;
	border-left: 3px solid #3b82f6;
	margin-bottom: 1rem
}

.intro p {
	margin: .4rem 0
}

.stats {
	color: #888;
	font-size: .9rem;
	margin-top: .5rem
}

.lib {
	background: #1c1c1c;
	border-radius: 6px;
	margin-bottom: .8rem;
	overflow: hidden;
	transition: box-shadow .15s ease
}

.lib:hover {
	box-shadow: 0 0 0 1px #3b82f6
}

.lib-head {
	padding: .8rem 1rem;
	background: #262626;
	border-bottom: 1px solid #333
}

.lib-name {
	font-weight: 600;
	font-size: 1.05rem
}

.lib-meta {
	color: #888;
	font-size: .85rem;
	margin-top: .15rem
}

.file {
	padding: .6rem 1rem;
	border-bottom: 1px solid #2a2a2a
}

.file:last-child {
	border-bottom: 0
}

.file-path {
	font-family: ui-monospace, monospace;
	font-size: .85rem;
	color: #ddd;
	word-break: break-all
}

.file-source {
	color: #777;
	font-size: .8rem;
	margin-top: .25rem;
	word-break: break-all
}

.file-source a {
	color: #888
}

.file-stats {
	color: #666;
	font-size: .78rem;
	margin-top: .25rem
}

small {
	color: #888
}

footer {
	max-width: 1100px;
	margin: 1rem auto 0;
	padding: 1rem;
	color: #666;
	font-size: .85rem;
	border-top: 1px solid #2a2a2a
}

.lib-files {
	--file-row-h: 5.5rem;          /* HÖHE EINER mehrzeiligen Datei-Zeile — siehe Hinweis */
	max-height: calc(var(--file-row-h) * 3);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #888 transparent;
}
.lib-files::-webkit-scrollbar { width: 10px; }
.lib-files::-webkit-scrollbar-track { background: transparent; }
.lib-files::-webkit-scrollbar-thumb { background: #888; border-radius: 5px; }
.lib-files::-webkit-scrollbar-thumb:hover { background: #aaa; }

.file-asset { background: #161616; }
.file-asset .file-path   { padding-left: 1.1rem; color: #777; }
.file-asset .file-source { padding-left: 1.1rem; }
.file-asset .file-stats  { padding-left: 1.1rem; color: #555; }