.bsl-dex-head,
.bsl-dex-sub,
.bsl-dex-list,
.bsl-dex-tools {
	--dex-bg: #121a1f;
	--dex-panel: #1b252a;
	--dex-alt: #223138;
	--dex-screen: #0e1418;
	--dex-line: #2a3d46;
	--dex-line-strong: #3b4d55;
	--dex-accent: #895b32;
	--dex-accent-2: #c7945c;
	--dex-hover: #e1b37f;
	--dex-text: #cfc5c1;
	--dex-dim: #8d979b;
	--dex-head: #ece4df;
	--dex-font: 'Aldrich', sans-serif;
}
 
/* ---------- 0. Breite: alles mittig und nicht über die volle Seite ---------- */
 
.bsl-dex-head,
.bsl-dex-sub,
table.bsl-dex-list,
.bsl-dex-tools {
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
 
/* ---------- 1. Kopf: Forumname im Doppelrahmen, Linie, Thema erstellen ---------- */
 
.bsl-dex-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
	margin-top: 10px;
	margin-bottom: 18px;
	padding: 0 3px;
}
 
.bsl-dex-head__title {
	margin: 0;
	padding: 8px 18px;
	background: var(--dex-alt);
	color: var(--dex-head);
	font-family: var(--dex-font);
	font-size: 30px;
	font-weight: normal;
	letter-spacing: 2px;
	text-transform: uppercase;
	box-shadow: inset 0 0 0 3px var(--dex-alt), inset 0 0 0 5px var(--dex-accent-2), 0 -3px 0 0 var(--dex-accent), 0 3px 0 0 var(--dex-accent), -3px 0 0 0 var(--dex-accent), 3px 0 0 0 var(--dex-accent);
}
 
.bsl-dex-head__line {
	flex: 1 1 80px;
	height: 3px;
	background: var(--dex-line-strong);
}
 
.bsl-dex-head a.button.new_thread_button:link,
.bsl-dex-head a.button.new_thread_button:visited {
	display: inline-block;
	margin: 0;
	padding: 8px 14px;
	background: var(--dex-alt);
	border: 0;
	border-radius: 0;
	color: var(--dex-head);
	font-family: var(--dex-font);
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	box-shadow: inset 0 0 0 3px var(--dex-alt), inset 0 0 0 5px var(--dex-accent-2), 0 -3px 0 0 var(--dex-accent), 0 3px 0 0 var(--dex-accent), -3px 0 0 0 var(--dex-accent), 3px 0 0 0 var(--dex-accent);
}
 
.bsl-dex-head a.button.new_thread_button:hover {
	color: var(--dex-hover);
}
 
.bsl-dex-head a.button.new_thread_button span {
	padding: 0;
	background: none;
}
 
/* ---------- 2. Zeile darunter: Seitenzahlen, gelesen markieren, abonnieren ---------- */
 
.bsl-dex-sub {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 20px;
	margin-bottom: 14px;
	font-size: 12px;
	color: var(--dex-dim);
}
 
.bsl-dex-sub:has(> .bsl-dex-sub__pages:empty):not(:has(.bsl-dex-sub__links)) {
	display: none;
}
 
.bsl-dex-sub__links a:link,
.bsl-dex-sub__links a:visited {
	color: var(--dex-dim);
}
 
.bsl-dex-sub__links a:hover {
	color: var(--dex-hover);
}
 
.bsl-dex-sub .pagination a:link,
.bsl-dex-sub .pagination a:visited,
.bsl-dex-sub .pagination .pagination_current {
	padding: 4px 9px;
	background: var(--dex-bg);
	border: 1px solid var(--dex-line-strong);
	border-radius: 6px;
	color: var(--dex-text);
}
 
.bsl-dex-sub .pagination .pagination_current,
.bsl-dex-sub .pagination a:hover {
	border-color: var(--dex-accent-2);
	color: var(--dex-accent-2);
}
 
/* ---------- 3. Die Liste selbst ---------- */
 
table.bsl-dex-list {
	width: 100%;
	border: 0;
	border-collapse: separate;
	border-spacing: 0 14px;
	background: none;
	color: var(--dex-text);
	font-size: 13px;
	line-height: 1.5;
}
 
table.bsl-dex-list > tbody > tr > td {
	padding: 0;
	background: none;
	border: 0;
	vertical-align: middle;
}
 
/* Trenner "Wichtige Themen" / "Normale Themen" */
table.bsl-dex-list td.trow_sep {
	padding: 6px 4px 0;
	background: none;
	border: 0;
	color: var(--dex-accent-2);
	font-family: var(--dex-font);
	font-size: 11px;
	font-weight: normal;
	letter-spacing: 3px;
	text-transform: uppercase;
}
 
/* "Keine Themen" und Ankündigungen */
table.bsl-dex-list td.trow1,
table.bsl-dex-list td.trow2 {
	padding: 14px 20px;
	background: var(--dex-bg);
	border: 2px solid var(--dex-line);
	color: var(--dex-text);
}
 
table.bsl-dex-list td.selectall {
	padding: 8px 14px;
	background: var(--dex-alt);
	border: 0;
	color: var(--dex-text);
}
 
/* Sortieren (unterste Zeile der Liste) */
table.bsl-dex-list td.tfoot {
	padding: 14px 20px;
	background: var(--dex-bg);
	border: 2px solid var(--dex-line);
	border-radius: 12px;
	text-align: left;
}
 
/* ---------- 4. Ein Eintrag ---------- */
 
.bsl-dex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 22px;
	padding: 16px 20px;
	background: var(--dex-bg);
	border: 2px solid var(--dex-line);
	border-radius: 12px;
}
 
.bsl-dex[class*="new"] {
	border-color: var(--dex-line-strong);
}
 
/* Links: Icon im doppelten Ring */
.bsl-dex__icon {
	flex: none;
	width: 96px;
	height: 96px;
	margin: 7px;
	padding: 4px;
	box-sizing: border-box;
	border-radius: 50%;
	background: var(--dex-bg);
	box-shadow: 0 0 0 3px var(--dex-line-strong), 0 0 0 6px var(--dex-bg), 0 0 0 7px var(--dex-line);
}
 
.bsl-dex[class*="new"] .bsl-dex__icon {
	box-shadow: 0 0 0 3px var(--dex-accent-2), 0 0 0 6px var(--dex-bg), 0 0 0 7px var(--dex-accent);
}
 
.bsl-dex__icon img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	background: var(--dex-alt);
}
 
/* Mitte: Pokédex-Eintrag */
.bsl-dex__entry {
	flex: 999 1 380px;
	min-width: 0;
	background: var(--dex-panel);
	border: 1px solid var(--dex-line);
	border-radius: 8px;
	overflow: hidden;
}
 
.bsl-dex__titlebar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 4px 16px;
	padding: 8px 16px;
	background: var(--dex-alt);
	border-bottom: 1px solid var(--dex-line);
}
 
.bsl-dex__title {
	min-width: 0;
	font-family: var(--dex-font);
	font-size: 18px;
	letter-spacing: 2px;
	text-transform: uppercase;
}
 
.bsl-dex__title a:link,
.bsl-dex__title a:visited {
	color: var(--dex-head);
}
 
.bsl-dex__title a:hover {
	color: var(--dex-hover);
}
 
.bsl-dex__title .smalltext {
	font-family: Tahoma, Verdana, sans-serif;
	font-size: 11px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dex-dim);
}
 
.bsl-dex__title img {
	vertical-align: middle;
}
 
.bsl-dex__no {
	font-family: var(--dex-font);
	font-size: 12px;
	letter-spacing: 2px;
	color: var(--dex-dim);
	white-space: nowrap;
}
 
.bsl-dex[class*="new"] .bsl-dex__no {
	color: var(--dex-accent-2);
}
 
.bsl-dex[class*="close"] .bsl-dex__no::after {
	content: " · Geschlossen";
}
 
/* TW-Markierung direkt am Titel */
.bsl-dex__cw:empty {
	display: none;
}
 
.bsl-dex__cw {
	margin-left: 10px;
	font-family: Tahoma, Verdana, sans-serif;
	font-size: 11px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dex-accent-2);
	vertical-align: middle;
}
 
.bsl-dex__cw br {
	display: none;
}
 
/* Felder mit Beschriftung */
.bsl-dex__fields {
	columns: 2;
	column-gap: 28px;
	padding: 12px 16px 6px;
	font-size: 12px;
}
 
.bsl-dex__field,
.bsl-dex__tw {
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
	margin-bottom: 6px;
	break-inside: avoid;
}
 
.bsl-dex__label {
	flex: none;
	width: 118px;
	padding: 1px 6px;
	box-sizing: border-box;
	background: var(--dex-alt);
	color: var(--dex-dim);
	font-family: var(--dex-font);
	font-size: 9px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
 
.bsl-dex__value {
	min-width: 0;
	overflow-wrap: anywhere;
}
 
/* Triggerwarnung aus dem Szenen-Plugin: eigene Zeile über die ganze Breite */
.bsl-dex__tw:empty {
	display: none;
}
 
.bsl-dex__tw {
	display: block;
	color: var(--dex-accent-2);
}
 
.bsl-dex__tw br {
	display: none;
}
 
.bsl-dex__tw b,
.bsl-dex__tw strong {
	display: inline-block;
	margin-right: 8px;
	padding: 1px 6px;
	background: var(--dex-accent);
	color: var(--dex-head);
	font-family: var(--dex-font);
	font-size: 9px;
	font-weight: normal;
	letter-spacing: 2px;
	text-transform: uppercase;
}
 
/* Themenbeschreibung (z. B. bei Gesuchen): Textstreifen wie im Pokédex */
.bsl-dex__desc:empty {
	display: none;
}
 
.bsl-dex__desc {
	margin: 0 16px 14px;
	padding: 10px 14px;
	background: var(--dex-screen);
	border-radius: 6px;
	color: var(--dex-text);
	font-size: 12px;
	font-style: italic;
	line-height: 1.6;
}
 
.bsl-dex__desc br {
	display: none;
}
 
.bsl-dex__desc .smalltext {
	font-size: inherit;
	color: inherit;
}
 
/* Rechts: Bildschirm mit dem letzten Beitrag */
.bsl-dex__screen {
	flex: 1 1 220px;
	padding: 5px;
	border: 2px solid var(--dex-line);
	border-radius: 16px;
}
 
.bsl-dex__screen-inner {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 16px;
	background: var(--dex-screen);
	border: 2px solid var(--dex-line-strong);
	border-radius: 11px;
	font-size: 12px;
}
 
.bsl-dex[class*="new"] .bsl-dex__screen {
	border-color: var(--dex-line-strong);
}
 
.bsl-dex[class*="new"] .bsl-dex__screen-inner {
	border-color: var(--dex-accent-2);
}
 
.bsl-dex__state {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--dex-dim);
	font-family: var(--dex-font);
	font-size: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
}
 
.bsl-dex__state::before {
	content: "";
	width: 7px;
	height: 7px;
	box-sizing: border-box;
	border: 1px solid var(--dex-line-strong);
	border-radius: 50%;
}
 
.bsl-dex__state-new {
	display: none;
}
 
.bsl-dex[class*="new"] .bsl-dex__state {
	color: var(--dex-accent-2);
}
 
.bsl-dex[class*="new"] .bsl-dex__state::before {
	background: var(--dex-accent-2);
	border-color: var(--dex-accent-2);
}
 
.bsl-dex[class*="new"] .bsl-dex__state-new {
	display: inline;
}
 
.bsl-dex[class*="new"] .bsl-dex__state-old {
	display: none;
}
 
.bsl-dex__screen a.bsl-dex__lastdate:link,
.bsl-dex__screen a.bsl-dex__lastdate:visited {
	color: var(--dex-head);
	font-family: var(--dex-font);
	font-size: 15px;
}
 
.bsl-dex__screen a.bsl-dex__lastdate:hover {
	color: var(--dex-hover);
}
 
.bsl-dex__stats,
.bsl-dex__stats a:link,
.bsl-dex__stats a:visited {
	color: var(--dex-dim);
}
 
/* ---------- 5. Unten: Moderation, Suche, Gehe zu ---------- */
 
.bsl-dex-tools {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 14px 24px;
	margin-top: 6px;
	margin-bottom: 20px;
	padding: 16px 24px;
	background: var(--dex-bg);
	border: 2px solid var(--dex-line);
	border-radius: 12px;
	font-size: 12px;
	color: var(--dex-dim);
}
 
.bsl-dex-tools > br {
	display: none;
}
 
.bsl-dex-tools form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
}
 
.bsl-dex-tools .smalltext strong,
.bsl-dex-tools strong {
	font-family: var(--dex-font);
	font-size: 10px;
	font-weight: normal;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--dex-dim);
}
 
.bsl-dex-tools select,
.bsl-dex-tools input.textbox,
table.bsl-dex-list td.tfoot select {
	padding: 9px 10px;
	background: var(--dex-screen);
	border: 1px solid var(--dex-line);
	border-radius: 6px;
	color: var(--dex-head);
	font-family: inherit;
	font-size: 12px;
}
 
.bsl-dex-tools input.button,
table.bsl-dex-list td.tfoot input.button {
	padding: 9px 14px;
	background: transparent;
	border: 1px solid var(--dex-accent);
	border-radius: 6px;
	box-shadow: none;
	color: var(--dex-accent-2);
	font-family: var(--dex-font);
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
}
 
.bsl-dex-tools input.button:hover,
table.bsl-dex-list td.tfoot input.button:hover {
	border-color: var(--dex-accent-2);
	color: var(--dex-hover);
}
 
/* ---------- 5b. Markieren fürs Team, Anhänge ---------- */
 
/* rechts im Titelbalken: Büroklammer, Nummer, Markier-Häkchen */
.bsl-dex__meta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
}
 
.bsl-dex__meta .float_right {
	float: none;
	margin: 0;
	line-height: 0;
}
 
.bsl-dex__mod {
	display: inline-flex;
	align-items: center;
	padding-left: 10px;
	border-left: 1px solid var(--dex-line-strong);
	cursor: pointer;
}
 
.bsl-dex__mod input,
.bsl-dex-sub__all input {
	margin: 0;
	accent-color: var(--dex-accent-2);
	cursor: pointer;
}
 
/* "Alle auswählen" in der Zeile mit gelesen markieren / abonnieren */
.bsl-dex-sub__all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: 12px;
	padding-left: 12px;
	border-left: 1px solid var(--dex-line-strong);
	cursor: pointer;
}
 
/* markierte Themen bekommen einen Kupferrahmen */
table.bsl-dex-list tr.trow_selected .bsl-dex {
	border-color: var(--dex-accent-2);
	background: var(--dex-panel);
}
 
/* ---------- 6. Schmale Bildschirme ---------- */
 
@media (max-width: 760px) {
	.bsl-dex__fields {
		columns: 1;
	}
 
	.bsl-dex__icon {
		width: 72px;
		height: 72px;
	}
 
	.bsl-dex-head__title {
		font-size: 22px;
	}
}