:root {
	--bg: #070a0f;
	--bg-elevated: #0f141c;
	--surface: #151c27;
	--surface-2: #1a2330;
	--border: #2a3648;
	--border-soft: rgba(255,255,255,0.06);
	--gold: #d4af37;
	--gold-soft: #e8c96a;
	--red: #9b1c31;
	--red-soft: #c42d45;
	--text: #eef2f7;
	--text-muted: #8b9aab;
	--success: #3ecf7a;
	--danger: #f07171;
	--info: #6eb5ff;
	--radius: 14px;
	--radius-sm: 10px;
	--shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
	--glow-red: rgba(155, 28, 49, 0.35);
	--glow-gold: rgba(212, 175, 55, 0.15);
	--scrollbar-size: 10px;
	--scrollbar-track: rgba(255, 255, 255, 0.04);
	--scrollbar-thumb: rgba(255, 255, 255, 0.16);
	--scrollbar-thumb-hover: rgba(212, 175, 55, 0.55);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); color-scheme: dark; }

*::-webkit-scrollbar {
	width: var(--scrollbar-size);
	height: var(--scrollbar-size);
}

*::-webkit-scrollbar-track {
	background: var(--scrollbar-track);
	border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1));
	border: 2px solid transparent;
	background-clip: padding-box;
	border-radius: 999px;
}

*::-webkit-scrollbar-thumb:hover {
	background: var(--scrollbar-thumb-hover);
}

*::-webkit-scrollbar-corner {
	background: transparent;
}

body {
	font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
	background: var(--bg);
	color: var(--text);
	line-height: 1.55;
	min-height: 100vh;
	position: relative;
}

.forum-bg-pattern {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background:
		linear-gradient(180deg, rgba(7,10,15,0.92), rgba(7,10,15,0.97)),
		var(--forum-bg-image, none) center/cover no-repeat,
		radial-gradient(ellipse 70% 45% at 85% -5%, var(--glow-red), transparent 55%),
		radial-gradient(ellipse 50% 35% at 0% 100%, var(--glow-gold), transparent 50%),
		linear-gradient(180deg, rgba(255,255,255,0.02) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
	background-size: auto, cover, auto, auto, 48px 48px, 48px 48px;
	opacity: 1;
}

/* Font Awesome in styled containers (font-weight on avatars breaks glyphs) */
.forum-board-icon .fa,
.forum-category-icon .fa,
.forum-topnav .fa,
.forum-rank .fa,
.forum-legend-body .fa {
	font-family: FontAwesome;
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
}

a { color: var(--gold-soft); text-decoration: none; transition: color 0.15s; }
a:hover { color: #fff; }

.container {
	width: min(1120px, calc(100% - 28px));
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.text-muted { color: var(--text-muted); }

/* Header */
.forum-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(7, 10, 15, 0.88);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--border);
	box-shadow: 0 8px 30px rgba(0,0,0,0.25);
}

.forum-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
}

.forum-brand {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #fff;
}

.forum-brand img {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.35);
	border: 1px solid rgba(212,175,55,0.25);
	object-fit: contain;
	background: rgba(0,0,0,0.35);
	padding: 3px;
}

.forum-brand span {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.forum-brand strong { font-size: 1.05rem; letter-spacing: 0.01em; }
.forum-brand small { color: var(--text-muted); font-size: 0.76rem; font-weight: 500; }

.forum-topnav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px 12px;
	font-size: 0.86rem;
}

.forum-topnav-group {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 8px;
}

.forum-topnav-sep {
	width: 1px;
	height: 22px;
	background: rgba(255, 255, 255, 0.1);
	flex-shrink: 0;
}

.forum-topnav a {
	color: var(--text-muted);
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 8px;
	white-space: nowrap;
}

.forum-topnav a:hover {
	color: var(--gold-soft);
	background: rgba(255,255,255,0.04);
}

.forum-user-pill {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 7px;
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid rgba(212, 175, 55, 0.22);
	padding: 4px 8px 4px 10px;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	max-width: 100%;
}

.forum-user-pill-name {
	color: #fff !important;
	text-decoration: none;
	padding: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.forum-user-pill-name:hover {
	color: var(--gold-soft) !important;
	background: transparent !important;
}

.forum-user-pill-rank {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.forum-user-pill-rank .forum-rank {
	font-size: 9px;
	padding: 1px 6px;
	line-height: 1.3;
}

.forum-nav-logout:hover {
	color: #ffb4b4 !important;
}

.forum-btn-login {
	background: linear-gradient(135deg, var(--red), #6d1424);
	color: #fff !important;
	padding: 8px 14px;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(155,28,49,0.35);
}

.forum-btn-login:hover { color: #fff !important; filter: brightness(1.08); }

.forum-main { padding: 28px 0 56px; }

.forum-guest-notice {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 18px;
	margin-bottom: 20px;
	border-radius: 12px;
	border: 1px solid rgba(56, 189, 248, 0.35);
	background: linear-gradient(135deg, rgba(14, 116, 144, 0.18), rgba(15, 23, 42, 0.55));
	box-shadow: var(--shadow);
}

.forum-guest-notice-compact {
	padding: 12px 14px;
	margin-bottom: 14px;
}

.forum-guest-notice-login {
	margin-bottom: 18px;
	border-color: rgba(212, 175, 55, 0.28);
	background: rgba(0, 0, 0, 0.18);
}

.forum-guest-notice-icon {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(56, 189, 248, 0.15);
	color: #7dd3fc;
	font-size: 1.1rem;
}

.forum-guest-notice-login .forum-guest-notice-icon {
	background: rgba(212, 175, 55, 0.12);
	color: var(--gold-soft);
}

.forum-guest-notice-body {
	min-width: 0;
	flex: 1;
}

.forum-guest-notice-body strong {
	display: block;
	color: #fff;
	font-size: 0.98rem;
	margin-bottom: 6px;
}

.forum-guest-notice-body p {
	margin: 0 0 10px;
	color: var(--text-muted);
	font-size: 0.88rem;
	line-height: 1.55;
}

.forum-guest-notice-steps {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	display: grid;
	gap: 6px;
}

.forum-guest-notice-steps li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.84rem;
	color: var(--text-muted);
}

.forum-guest-notice-steps li span {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--gold-soft);
	background: rgba(212, 175, 55, 0.12);
	border: 1px solid rgba(212, 175, 55, 0.25);
}

.forum-guest-notice-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.forum-guest-reply-hint {
	margin-top: 18px;
}

.forum-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 0.86rem;
	color: var(--text-muted);
	margin-bottom: 20px;
}

.forum-breadcrumb .sep { opacity: 0.45; font-size: 0.75rem; }
.forum-breadcrumb span:last-child { color: var(--text); font-weight: 600; }

/* Hero */
.forum-hero {
	position: relative;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 24px;
	align-items: center;
	margin-bottom: 28px;
	padding: 28px 30px;
	border-radius: calc(var(--radius) + 4px);
	border: 1px solid var(--border);
	background:
		linear-gradient(135deg, rgba(155,28,49,0.22), rgba(21,28,39,0.95) 45%, rgba(21,28,39,0.98)),
		radial-gradient(circle at top right, rgba(212,175,55,0.12), transparent 40%);
	box-shadow: var(--shadow);
	overflow: hidden;
}

.forum-hero-glow {
	position: absolute;
	right: -40px;
	top: -40px;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle, rgba(155,28,49,0.35), transparent 70%);
	pointer-events: none;
}

.forum-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,0.06);
	border: 1px solid var(--border-soft);
	color: var(--gold-soft);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 14px;
}

.forum-hero h1 {
	font-size: clamp(1.55rem, 3vw, 2.15rem);
	line-height: 1.15;
	margin-bottom: 10px;
	color: #fff;
}

.forum-hero p {
	color: var(--text-muted);
	max-width: 560px;
	font-size: 0.98rem;
}

.forum-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.forum-hero-art {
	display: flex;
	align-items: center;
	justify-content: center;
}

.forum-hero-art img {
	width: min(220px, 100%);
	filter: drop-shadow(0 20px 40px rgba(0,0,0,0.45));
	animation: forumFloat 5s ease-in-out infinite;
}

@keyframes forumFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

/* Stats */
.forum-stats-bar {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 24px;
}

.forum-stat-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.forum-stat-card i {
	font-size: 1.35rem;
	color: var(--gold-soft);
	width: 28px;
	text-align: center;
}

.forum-stat-card strong {
	display: block;
	font-size: 1.25rem;
	color: #fff;
	line-height: 1.1;
}

.forum-stat-card span {
	font-size: 0.78rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.forum-stat-wide { grid-column: span 1; }

.forum-recent-posts {
	margin: -8px 0 24px;
	padding: 12px 14px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

/* Kompakte Breadfish-Blöcke (Online, Legende, letzte Beiträge) */
.forum-breadfish-block {
	margin-bottom: 14px;
	padding: 10px 12px;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--surface);
	font-size: 0.82rem;
	line-height: 1.55;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.forum-breadfish-title {
	margin: 0 0 4px;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #8fa3bc;
}

.forum-breadfish-meta {
	margin: 0 0 6px;
	color: var(--text-muted);
	font-size: 0.8rem;
}

.forum-breadfish-meta strong {
	color: #fff;
	font-weight: 700;
}

.forum-breadfish-meta a {
	color: var(--gold-soft);
}

.forum-breadfish-names,
.forum-breadfish-lines {
	margin: 0;
	color: var(--text-muted);
	word-break: break-word;
}

.forum-breadfish-names a,
.forum-breadfish-lines a {
	text-decoration: none;
}

.forum-breadfish-names a:hover,
.forum-breadfish-lines a:hover,
.forum-breadfish-thread:hover {
	text-decoration: underline;
}

.forum-breadfish-sep,
.forum-breadfish-time {
	color: var(--text-muted);
}

.forum-breadfish-thread {
	color: var(--gold-soft);
}

.forum-breadfish-legend {
	margin: 8px 0 0;
	padding-top: 8px;
	border-top: 1px solid var(--border-soft);
	font-size: 0.76rem;
	color: var(--text-muted);
	line-height: 1.6;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.9rem;
}

.forum-breadfish-legend-label {
	font-weight: 700;
	color: #9aa8ba;
	margin-right: 0;
	flex: 0 0 100%;
	margin-bottom: 0.25rem;
}

.forum-legend-key {
	font-weight: 600;
	white-space: nowrap;
}

.forum-name-pl,
.forum-legend-key.forum-rank-pl { color: #ffb4b4; }

.forum-name-scripter,
.forum-legend-key.forum-rank-scripter { color: #38bdf8; }

.forum-name-admin,
.forum-legend-key.forum-rank-admin { color: #ffb4b4; }

.forum-name-mod,
.forum-legend-key.forum-rank-mod { color: #ff9f9f; }

.forum-name-team,
.forum-legend-key.forum-rank-team { color: #9ec5e8; }

.forum-name-donator,
.forum-legend-key.forum-rank-donator { color: #f5d77a; }

.forum-name-player,
.forum-legend-key.forum-rank-level { color: var(--gold-soft); }

.forum-name-system,
.forum-legend-key.forum-rank-system { color: #ddd; }

.forum-recent-posts-block {
	margin: -8px 0 18px;
}

.forum-users-online-block {
	margin-bottom: 0;
}

.forum-bottom-panels .forum-breadfish-block {
	margin-bottom: 0;
}

.forum-recent-posts h2 {
	margin: 0 0 10px;
	font-size: 0.82rem;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 7px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.forum-recent-posts h2 .fa {
	color: var(--gold-soft);
	font-size: 0.78rem;
}

.forum-recent-posts-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.forum-recent-posts-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 0.82rem;
	line-height: 1.35;
	padding: 6px 8px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.14);
	border: 1px solid var(--border-soft);
}

.forum-recent-posts-author {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.forum-recent-posts-author:hover {
	color: var(--gold-soft);
}

.forum-recent-posts-sep {
	color: var(--text-muted);
}

.forum-recent-posts-thread {
	color: var(--gold-soft);
	text-decoration: none;
	min-width: 0;
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.forum-recent-posts-thread:hover {
	text-decoration: underline;
}

.forum-recent-posts-time {
	margin-left: auto;
	flex-shrink: 0;
	font-size: 0.74rem;
	color: var(--text-muted);
	white-space: nowrap;
}

.forum-recent-posts-time .fa {
	margin-right: 3px;
}

/* Team strip */
.forum-team-strip {
	margin-bottom: 28px;
	padding: 20px 22px;
	border-radius: var(--radius);
	border: 1px solid rgba(52,120,180,0.25);
	background: linear-gradient(135deg, rgba(52,120,180,0.08), rgba(21,28,39,0.95));
}

.forum-team-strip-head h2 {
	font-size: 1.05rem;
	color: #fff;
	margin-bottom: 4px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.forum-team-strip-head p {
	color: var(--text-muted);
	font-size: 0.88rem;
	margin-bottom: 14px;
}

.forum-team-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.forum-team-chip {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px 8px 8px;
	background: rgba(0,0,0,0.22);
	border: 1px solid var(--border-soft);
	border-radius: 999px;
}

.forum-team-chip-body strong {
	display: block;
	font-size: 0.85rem;
	color: #fff;
}

.forum-team-chip-body .forum-rank { margin-top: 2px; font-size: 10px; padding: 2px 7px; }

/* Ranks */
.forum-rank {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;
	vertical-align: middle;
	white-space: nowrap;
}

.forum-rank .fa { font-size: 10px; }

.forum-rank-scripter { background: rgba(56,189,248,0.15); color: #38bdf8; border: 1px solid rgba(56,189,248,0.35); }
.forum-rank-pl { background: rgba(155,28,49,0.35); color: #ffb4b4; border: 1px solid rgba(155,28,49,0.65); }
.forum-rank-admin { background: rgba(155,28,49,0.22); color: #ffb4b4; border: 1px solid rgba(155,28,49,0.45); }
.forum-rank-mod { background: rgba(155,28,49,0.18); color: #ff9f9f; border: 1px solid rgba(155,28,49,0.35); }
.forum-rank-team { background: rgba(52,120,180,0.15); color: #9ec5e8; border: 1px solid rgba(52,120,180,0.35); }
.forum-rank-level { background: rgba(212,175,55,0.12); color: var(--gold-soft); border: 1px solid rgba(212,175,55,0.28); }
.forum-rank-donator { background: rgba(212,175,55,0.18); color: #f5d77a; border: 1px solid rgba(212,175,55,0.45); }
.forum-rank-system { background: rgba(255,255,255,0.08); color: #ddd; border: 1px solid rgba(255,255,255,0.12); }

.forum-inline-badges .forum-rank { font-size: 10px; padding: 2px 7px; margin-left: 4px; }

/* Category / boards */
.forum-category { margin-bottom: 28px; }

.forum-category-head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 20px;
	background: linear-gradient(90deg, rgba(155,28,49,0.28), rgba(21,28,39,0.95));
	border: 1px solid var(--border);
	border-bottom: none;
	border-radius: var(--radius) var(--radius) 0 0;
}

.forum-category-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.25);
	border: 1px solid rgba(212,175,55,0.2);
	color: var(--gold-soft);
	font-size: 1.1rem;
	flex-shrink: 0;
}

.forum-category-icon .fa { font-size: 1.05rem; }

.forum-category-head h2 { font-size: 1.08rem; color: #fff; margin-bottom: 4px; }
.forum-category-head p { font-size: 0.85rem; color: var(--text-muted); }

.forum-board-table {
	border: 1px solid var(--border);
	border-radius: 0 0 var(--radius) var(--radius);
	overflow: hidden;
	background: var(--bg-elevated);
}

.forum-board-row {
	display: grid;
	grid-template-columns: 1fr 84px 84px 170px;
	gap: 12px;
	align-items: center;
	padding: 15px 16px;
	border-top: 1px solid var(--border-soft);
	transition: background 0.15s;
}

.forum-board-row:hover:not(.forum-board-head):not(.forum-board-empty) {
	background: rgba(255,255,255,0.02);
}

.forum-board-row:first-child { border-top: none; }

.forum-board-head {
	background: rgba(0,0,0,0.25);
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--text-muted);
	font-weight: 700;
}

.forum-board-empty {
	grid-template-columns: 1fr;
	color: var(--text-muted);
	font-style: italic;
	padding: 24px;
	text-align: center;
}

.col-forum { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }

.forum-board-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(155,28,49,0.22), rgba(21,28,39,0.9));
	border: 1px solid rgba(212,175,55,0.22);
	color: var(--gold-soft);
	flex-shrink: 0;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.forum-board-icon .fa {
	font-size: 1rem;
	color: var(--gold-soft);
}

.forum-board-title {
	font-weight: 700;
	font-size: 1rem;
	color: var(--gold-soft);
}

.forum-board-title:hover { color: #fff; }

.forum-board-desc {
	font-size: 0.82rem;
	color: var(--text-muted);
	margin-top: 4px;
}

.forum-board-subboards {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

.forum-board-subboard {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.1);
	background: rgba(0,0,0,0.22);
	color: var(--text-muted);
	font-size: 0.71rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 0.15s, background 0.15s, border-color 0.15s, transform 0.12s;
}

.forum-board-subboard .fa {
	font-size: 0.65rem;
	opacity: 0.9;
	color: var(--gold-soft);
}

.forum-board-subboard:hover {
	color: #fff;
	background: rgba(155,28,49,0.18);
	border-color: rgba(212,175,55,0.4);
	transform: translateY(-1px);
}

.forum-board-subboard.is-intern .fa {
	color: rgba(255,255,255,0.55);
}

.forum-board-subboards-faction {
	margin-top: 6px;
}

.forum-board-access-hint {
	margin-top: 4px;
	font-size: 0.76rem;
	color: var(--gold-soft);
}

.forum-faction-group {
	border-top: 1px solid var(--border-soft);
}

.forum-faction-group-head {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 10px 16px;
	border: none;
	background: rgba(0,0,0,0.12);
	color: var(--gold-soft);
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	font-family: inherit;
	text-align: left;
	transition: background 0.15s, color 0.15s;
}

.forum-faction-group-head:hover {
	background: rgba(155,28,49,0.14);
	color: #fff;
}

.forum-faction-group-title {
	flex: 1 1 auto;
	min-width: 0;
}

.forum-faction-group-meta {
	flex: 0 0 auto;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	color: var(--text-muted);
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(255,255,255,0.06);
	border: 1px solid var(--border-soft);
}

.forum-faction-group-chevron {
	flex: 0 0 auto;
	font-size: 0.72rem;
	opacity: 0.75;
	transition: transform 0.18s ease;
}

.forum-faction-group.is-open .forum-faction-group-chevron {
	transform: rotate(180deg);
}

.forum-faction-group.is-open .forum-faction-group-head {
	background: rgba(155,28,49,0.1);
}

.forum-faction-group.is-own-faction-group .forum-faction-group-head {
	border-left: 3px solid var(--gold-soft);
}

.forum-faction-group.is-own-faction-group.is-open .forum-faction-group-head {
	background: rgba(212,175,55,0.08);
}

.forum-faction-group-body[hidden] {
	display: none;
}

.col-stats { text-align: center; }

.forum-stat-pill {
	display: inline-block;
	min-width: 42px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--border-soft);
	font-size: 0.88rem;
	color: var(--text);
}

.col-last { font-size: 0.82rem; }
.forum-last-author { color: var(--text); font-weight: 600; }
.forum-last-time { color: var(--text-muted); margin-top: 2px; }

/* Thread list */
.forum-thread-table .forum-board-row {
	grid-template-columns: 1fr 72px 72px 160px;
}

.forum-thread-leading { display: flex; gap: 10px; align-items: flex-start; min-width: 0; }

.forum-thread-status { display: flex; flex-direction: column; gap: 4px; flex-shrink: 0; }

.forum-thread-title { font-weight: 700; color: var(--gold-soft); display: block; word-break: break-word; }
.forum-thread-title:hover { color: #fff; }

.forum-thread-meta {
	font-size: 0.8rem;
	color: var(--text-muted);
	margin-top: 5px;
	line-height: 1.5;
}

.forum-board-row.is-sticky {
	background: linear-gradient(90deg, rgba(212,175,55,0.07), transparent);
}

.forum-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	font-size: 0.75rem;
}

.forum-label-sticky { background: rgba(212,175,55,0.15); color: var(--gold-soft); border: 1px solid rgba(212,175,55,0.3); }
.forum-label-locked { background: rgba(240,113,113,0.12); color: #ffb4b4; border: 1px solid rgba(240,113,113,0.3); }
.forum-label-solved { background: rgba(72,187,120,0.14); color: #9ae6b4; border: 1px solid rgba(72,187,120,0.35); }
.forum-label-team { background: rgba(52,120,180,0.15); color: #9ec5e8; border: 1px solid rgba(52,120,180,0.3); }

.forum-thread-labels { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.forum-thread-labels .forum-label { width: auto; padding: 0 10px; gap: 6px; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }

/* Page head */
.forum-page-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
}

.forum-page-head h1 {
	font-size: 1.5rem;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.forum-page-icon { color: var(--gold-soft); font-size: 1.15rem; }

.forum-page-sub {
	color: var(--text-muted);
	font-size: 0.9rem;
	margin-top: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.forum-page-sub span { display: inline-flex; align-items: center; gap: 6px; }

.forum-board-pl-only {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--text-muted);
	font-size: 0.86rem;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.18);
}

.forum-board-ucp-hint {
	margin-top: 4px;
	font-size: 0.78rem;
	color: var(--text-muted);
}

.forum-board-ucp-hint a {
	color: var(--accent-soft);
	text-decoration: none;
}

.forum-board-ucp-hint a:hover { text-decoration: underline; }

.forum-ucp-panel {
	margin-bottom: 20px;
	padding: 18px 20px;
	border-radius: var(--radius-lg);
	border: 1px solid rgba(155, 28, 49, 0.35);
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.12), rgba(0, 0, 0, 0.22));
}

.forum-ucp-panel-head {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 14px;
}

.forum-ucp-panel-head h2 {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.forum-ucp-panel-head p {
	margin: 0;
	font-size: 0.86rem;
	color: var(--text-muted);
	line-height: 1.45;
}

.forum-ucp-panel-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(155, 28, 49, 0.25);
	color: #f0b4bc;
	font-size: 1rem;
}

.forum-ucp-panel-links {
	display: grid;
	gap: 10px;
}

.forum-ucp-link-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border-radius: var(--radius-md);
	border: 1px solid var(--border-soft);
	background: rgba(0, 0, 0, 0.2);
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s, background 0.15s;
}

.forum-ucp-link-card:hover {
	border-color: rgba(155, 28, 49, 0.5);
	background: rgba(155, 28, 49, 0.1);
}

.forum-ucp-link-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.06);
	color: #e8a0a8;
}

.forum-ucp-link-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.forum-ucp-link-body strong { font-size: 0.92rem; }

.forum-ucp-link-body span {
	font-size: 0.8rem;
	color: var(--text-muted);
	line-height: 1.35;
}

.forum-ucp-link-arrow {
	flex-shrink: 0;
	color: var(--text-muted);
	font-size: 0.85rem;
}

/* Posts */
.forum-post-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 22px;
}

.forum-post {
	display: grid;
	grid-template-columns: 190px 1fr;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--surface);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.forum-post-team {
	border-color: rgba(52,120,180,0.35);
	box-shadow: inset 3px 0 0 rgba(52,120,180,0.75);
}

.forum-post-system {
	border-color: rgba(212,175,55,0.25);
	box-shadow: inset 3px 0 0 rgba(212,175,55,0.65);
}

.forum-post-user {
	background: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.08));
	padding: 18px 14px;
	text-align: center;
	border-right: 1px solid var(--border-soft);
}

.forum-avatar-wrap { position: relative; display: inline-block; margin-bottom: 10px; }

.forum-avatar {
	width: 72px;
	height: 72px;
	margin: 0 auto;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1.15rem;
	color: #fff;
	border: 3px solid rgba(255,255,255,0.08);
	box-shadow: 0 10px 24px rgba(0,0,0,0.35);
}

.forum-avatar-sm { width: 36px; height: 36px; font-size: 0.75rem; border-width: 2px; }
.forum-avatar-md { width: 48px; height: 48px; font-size: 0.82rem; border-width: 2px; }

.forum-avatar-player { background: linear-gradient(135deg, #334155, #1e293b); }
.forum-avatar-donator { background: linear-gradient(135deg, #b8860b, #5c4a10); box-shadow: 0 0 0 2px rgba(212,175,55,0.35), 0 8px 20px rgba(0,0,0,0.28); }
.forum-avatar-team { background: linear-gradient(135deg, #2563eb, #1e3a8a); }
.forum-avatar-admin { background: linear-gradient(135deg, var(--red-soft), #5c1420); }
.forum-avatar-pl { background: linear-gradient(135deg, #b91c1c, #450a0a); box-shadow: 0 0 0 2px rgba(212,175,55,0.35), 0 10px 24px rgba(0,0,0,0.35); }
.forum-avatar-scripter { background: linear-gradient(135deg, #0284c7, #0c4a6e); }
.forum-avatar-system { background: linear-gradient(135deg, var(--gold), #7c5e10); color: #111; }

.forum-post-number {
	position: absolute;
	right: -6px;
	bottom: -4px;
	background: var(--surface-2);
	border: 1px solid var(--border);
	color: var(--text-muted);
	font-size: 0.68rem;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 999px;
}

.forum-post-username {
	font-weight: 700;
	font-size: 0.92rem;
	word-break: break-word;
	color: #fff;
	margin-bottom: 8px;
}

.forum-user-badges {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
}

.forum-user-meta {
	font-size: 0.76rem;
	color: var(--text-muted);
	line-height: 1.45;
}

.forum-user-faction, .forum-user-guest {
	display: block;
	margin-top: 4px;
}

.forum-post-body {
	padding: 18px 20px;
	min-width: 0;
	position: relative;
}

.forum-post-body:has(.forum-post-report) {
	padding-right: 46px;
}

.forum-post-head {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	justify-content: space-between;
	font-size: 0.82rem;
	color: var(--text-muted);
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border-soft);
}

.forum-post-head-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	min-width: 0;
	flex: 1 1 auto;
}

.forum-post-head-actions {
	flex: 0 0 auto;
	margin-left: auto;
}

.forum-best-answer-form {
	margin: 0;
}

.forum-best-answer-form .forum-btn-xs {
	padding: 4px 9px;
	font-size: 0.72rem;
	line-height: 1.25;
	gap: 5px;
	white-space: nowrap;
}

.forum-post-author-mobile { display: none; color: #fff; }

.forum-post-content {
	font-size: 0.96rem;
	line-height: 1.7;
	word-break: break-word;
}

.forum-post-content a { word-break: break-all; }

.forum-post-content .forum-content-image,
.forum-profile-bio .forum-content-image,
.forum-post-signature-text .forum-content-image,
.forum-conv-message-body .forum-content-image {
	display: block;
	max-width: min(100%, 640px);
	height: auto;
	margin: 10px 0;
	border-radius: 8px;
	border: 1px solid var(--border-soft);
}

.forum-edited { font-style: italic; color: var(--text-muted); }

.forum-post-reactions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--border-soft);
	clear: both;
}

.forum-post-reaction-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.forum-reaction-chip,
.forum-reaction-option {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 4px 9px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: rgba(255,255,255,0.04);
	color: var(--text-muted);
	font-size: 0.82rem;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.12s;
}

.forum-reaction-chip:hover:not(:disabled),
.forum-reaction-option:hover {
	background: rgba(255,255,255,0.08);
	border-color: rgba(255,255,255,0.16);
	color: #fff;
}

.forum-reaction-chip.is-mine,
.forum-reaction-option.is-mine {
	border-color: rgba(245,215,122,0.45);
	background: rgba(245,215,122,0.12);
	color: #f5d77a;
}

.forum-reaction-chip:disabled {
	cursor: default;
	opacity: 0.95;
}

.forum-reaction-emoji {
	font-size: 1rem;
	line-height: 1;
}

.forum-reaction-count {
	font-weight: 700;
	font-size: 0.78rem;
}

.forum-post-reaction-picker {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.forum-reaction-picker-label {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--text-muted);
	white-space: nowrap;
}

.forum-reaction-menu {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.forum-reaction-option {
	padding: 5px 8px;
	min-width: 34px;
}

.forum-reaction-guest-hint {
	font-size: 0.76rem;
	color: var(--text-muted);
}

.forum-post-reactions.is-busy {
	opacity: 0.72;
	pointer-events: none;
}

.forum-post-best-answer .forum-post-reactions {
	border-top-color: rgba(72,187,120,0.25);
}

.forum-post-best-answer {
	border: 1px solid rgba(72,187,120,0.35);
	background: linear-gradient(90deg, rgba(72,187,120,0.08), rgba(0,0,0,0.08));
	box-shadow: inset 3px 0 0 rgba(72,187,120,0.65);
}

.forum-best-answer-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #9ae6b4;
	background: rgba(72,187,120,0.16);
	border: 1px solid rgba(72,187,120,0.35);
}

.forum-best-answer-callout {
	margin-bottom: 18px;
	padding: 16px;
	border-radius: var(--radius);
	border: 1px solid rgba(72,187,120,0.35);
	background: linear-gradient(180deg, rgba(72,187,120,0.1), rgba(12,16,23,0.92));
}

.forum-best-answer-callout-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.forum-best-answer-callout-head h2 {
	margin: 0;
	font-size: 1rem;
	color: #9ae6b4;
	display: flex;
	align-items: center;
	gap: 8px;
}

.forum-post-list-compact .forum-post {
	margin-bottom: 0;
}

.forum-post-actions {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--border-soft);
}

.forum-btn-xs {
	padding: 4px 9px;
	font-size: 0.72rem;
	line-height: 1.25;
}

/* Forms */
.forum-reply-box,
.forum-form-card,
.forum-login-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 22px;
	margin-top: 20px;
	box-shadow: var(--shadow);
}

.forum-reply-box h2,
.forum-login-card h1 {
	font-size: 1.12rem;
	margin-bottom: 14px;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 8px;
}

.forum-field { margin-bottom: 16px; }

.forum-field label {
	display: block;
	font-size: 0.85rem;
	font-weight: 700;
	margin-bottom: 6px;
	color: var(--text-muted);
}

.forum-field-editor .forum-editor-toolbar,
.forum-reply-box .forum-editor-toolbar,
.forum-conv-compose .forum-editor-toolbar {
	margin-bottom: 8px;
}

.forum-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(0,0,0,0.22);
}

.forum-editor-toolbar-group {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.forum-editor-toolbar-group + .forum-editor-toolbar-group {
	padding-left: 8px;
	border-left: 1px solid var(--border-soft);
}

.forum-editor-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: rgba(255,255,255,0.04);
	color: var(--text-muted);
	font-size: 0.82rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.forum-editor-btn:hover:not(:disabled) {
	background: rgba(255,255,255,0.08);
	color: #fff;
	border-color: var(--border-soft);
}

.forum-editor-btn:disabled {
	opacity: 0.55;
	cursor: wait;
}

.forum-editor-btn i {
	font-size: 0.95rem;
}

.forum-field-editor .forum-smilie-bar,
.forum-reply-box .forum-smilie-bar {
	margin-bottom: 8px;
}

.forum-smilie-bar {
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(0,0,0,0.18);
	overflow: hidden;
}

.forum-smilie-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	border-bottom: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.12);
}

.forum-smilie-label {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--text-muted);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.forum-smilie-toggle {
	border: none;
	background: transparent;
	color: var(--gold-soft);
	font-size: 0.76rem;
	cursor: pointer;
	padding: 2px 4px;
	font-family: inherit;
}

.forum-smilie-toggle:hover { color: #fff; }

.forum-smilie-body {
	padding-bottom: 2px;
}

.forum-smilie-tabs-wrap {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
	border-bottom: 1px solid var(--border-soft);
}

.forum-smilie-tabs-wrap::-webkit-scrollbar {
	height: 6px;
}

.forum-smilie-tabs-wrap::-webkit-scrollbar-thumb {
	background: var(--scrollbar-thumb);
	border-radius: 999px;
}

.forum-smilie-tabs-wrap::-webkit-scrollbar-thumb:hover {
	background: var(--scrollbar-thumb-hover);
}

.forum-smilie-tabs {
	display: inline-flex;
	flex-wrap: nowrap;
	gap: 6px;
	padding: 8px 10px;
	min-width: 100%;
}

.forum-smilie-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--text-muted);
	font-size: 0.74rem;
	font-weight: 700;
	padding: 6px 11px;
	border-radius: 999px;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
	flex-shrink: 0;
	transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.forum-smilie-tab-icon {
	font-size: 1rem;
	line-height: 1;
}

.forum-smilie-tab-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	font-size: 0.64rem;
	font-weight: 800;
	color: var(--text-muted);
	background: rgba(255,255,255,0.06);
}

.forum-smilie-tab:hover {
	color: #fff;
	background: rgba(255,255,255,0.06);
}

.forum-smilie-tab.is-active {
	color: var(--gold-soft);
	border-color: rgba(212,175,55,0.35);
	background: rgba(212,175,55,0.1);
}

.forum-smilie-tab.is-active .forum-smilie-tab-count {
	color: #fff;
	background: rgba(155,28,49,0.35);
}

.forum-smilie-panel {
	display: none;
}

.forum-smilie-panel[hidden] {
	display: none !important;
}

.forum-smilie-panel.is-active {
	display: block;
}

.forum-smilie-body.is-collapsed {
	display: none;
}

.forum-smilie-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 10px 12px 12px;
	max-height: 148px;
	overflow: auto;
}

.forum-smilie-btn {
	width: 36px;
	height: 36px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: rgba(255,255,255,0.04);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.forum-smilie-btn:hover {
	background: rgba(155,28,49,0.18);
	border-color: rgba(212,175,55,0.25);
	transform: scale(1.06);
}

.forum-field input,
.forum-field textarea,
.forum-reply-box textarea {
	width: 100%;
	padding: 12px 14px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 10px;
	color: var(--text);
	font: inherit;
	resize: vertical;
}

.forum-field input:focus,
.forum-field textarea:focus,
.forum-reply-box textarea:focus {
	outline: none;
	border-color: rgba(212,175,55,0.55);
	box-shadow: 0 0 0 3px rgba(212,175,55,0.12);
}

.forum-hint { font-size: 0.8rem; color: var(--text-muted); margin-top: 6px; }

.forum-form-actions {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 8px;
}

.forum-login-sub { color: var(--text-muted); margin-bottom: 18px; }
.forum-login-footer { margin-top: 18px; font-size: 0.88rem; color: var(--text-muted); }

/* Buttons */
.forum-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 10px;
	font-size: 0.9rem;
	font-weight: 700;
	border: 1px solid transparent;
	cursor: pointer;
	font-family: inherit;
	transition: transform 0.12s, filter 0.12s, background 0.12s;
}

.forum-btn:hover { transform: translateY(-1px); }

.forum-btn-primary {
	background: linear-gradient(135deg, var(--red), #6d1424);
	color: #fff !important;
	border-color: rgba(255,255,255,0.06);
	box-shadow: 0 10px 24px rgba(155,28,49,0.35);
}

.forum-btn-primary:hover { color: #fff !important; filter: brightness(1.06); }

.forum-btn-ghost {
	background: rgba(255,255,255,0.03);
	color: var(--text-muted) !important;
	border-color: var(--border);
}

.forum-btn-ghost:hover {
	border-color: rgba(212,175,55,0.45);
	color: var(--gold-soft) !important;
	background: rgba(212,175,55,0.06);
}

.forum-btn-block { width: 100%; }

/* Alerts */
.forum-alert {
	padding: 12px 16px;
	border-radius: 10px;
	margin-bottom: 16px;
	font-size: 0.9rem;
	border: 1px solid;
}

.forum-alert-danger { background: rgba(240,113,113,0.1); border-color: var(--danger); color: #ffb4b4; }
.forum-alert-info { background: rgba(110,181,255,0.1); border-color: var(--info); color: #b8d9ff; }
.forum-alert-warning { background: rgba(232,201,106,0.1); border-color: var(--gold); color: var(--gold-soft); }
.forum-alert code { background: rgba(0,0,0,0.3); padding: 2px 6px; border-radius: 4px; font-size: 0.85em; }

/* Pagination */
.forum-pagination { margin: 20px 0; }
.forum-pagination ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.forum-pagination a,
.forum-pagination span {
	display: inline-block;
	padding: 7px 12px;
	border-radius: 8px;
	border: 1px solid var(--border);
	font-size: 0.88rem;
}
.forum-pagination a { color: var(--text-muted); }
.forum-pagination a:hover { border-color: var(--gold); color: var(--gold-soft); background: rgba(212,175,55,0.06); }
.forum-pagination .active { background: var(--red); border-color: var(--red); color: #fff; }

/* Footer */
.forum-footer {
	border-top: 1px solid var(--border);
	padding: 26px 0;
	margin-top: auto;
	position: relative;
	z-index: 1;
}

.forum-footer-inner {
	text-align: center;
	font-size: 0.85rem;
	color: var(--text-muted);
}

.forum-footer-links { margin-top: 6px; }

/* Bottom panels: online */
.forum-bottom-panels {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 18px;
	margin: 28px 0 8px;
	align-items: stretch;
}

.forum-board-legend-embed,
.forum-category-legend {
	margin-top: 0;
	padding: 10px 16px 12px;
	background: rgba(0, 0, 0, 0.08);
	border-top: 1px solid var(--border-soft);
}

.forum-category-legend {
	padding: 10px 16px 12px;
}

.forum-category-legend .forum-breadfish-legend {
	margin: 0;
	padding: 0;
	border: none;
}

.forum-legend-compact {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: linear-gradient(180deg, rgba(21, 28, 39, 0.98), rgba(12, 16, 23, 0.96));
	box-shadow: var(--shadow);
	overflow: hidden;
}

.forum-legend-compact::before {
	content: '';
	display: block;
	height: 3px;
	background: linear-gradient(90deg, rgba(52, 120, 180, 0.85), rgba(212, 175, 55, 0.35));
}

.forum-legend-compact .forum-legend-head {
	padding: 10px 12px 0;
}

.forum-legend-compact .forum-legend-head h2 {
	margin: 0 0 4px;
	font-size: 0.86rem;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 6px;
}

.forum-legend-compact .forum-legend-head h2 .fa {
	font-size: 0.82rem;
}

.forum-legend-compact .forum-legend-head p {
	margin: 0 0 10px;
	padding: 0;
	border: none;
	color: var(--text-muted);
	font-size: 0.74rem;
	line-height: 1.35;
}

.forum-legend-compact .forum-legend-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	align-items: stretch;
	padding: 0 10px 10px;
}

.forum-legend-compact .forum-legend-item {
	display: flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
	padding: 3px 7px 3px 3px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.18);
	border: 1px solid var(--border-soft);
}

.forum-legend-compact .forum-legend-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.forum-legend-compact .forum-legend-body {
	display: flex;
	align-items: center;
	min-width: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: none;
}

.forum-legend-compact .forum-legend-rank {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.66rem;
	padding: 2px 7px;
	white-space: nowrap;
}

.forum-legend-compact .forum-legend-rank .fa {
	font-size: 0.62rem;
}

.forum-legend-compact .forum-avatar-legend {
	width: 22px;
	height: 22px;
	min-width: 22px;
	font-size: 0.52rem;
	border-width: 1px;
}

.forum-board-legend-embed .forum-legend.forum-side-panel {
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.forum-board-legend-embed .forum-legend {
	margin: 0;
}

.forum-side-panel {
	padding: 0;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: linear-gradient(180deg, rgba(21,28,39,0.98), rgba(12,16,23,0.96));
	box-shadow: var(--shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.forum-side-panel::before {
	content: '';
	display: block;
	height: 3px;
	background: linear-gradient(90deg, var(--red-soft), rgba(212,175,55,0.45));
}

.forum-legend.forum-side-panel::before {
	background: linear-gradient(90deg, rgba(52,120,180,0.85), rgba(212,175,55,0.35));
}

.forum-side-panel-head {
	padding: 18px 20px 0;
}

.forum-side-panel-desc {
	padding: 6px 20px 14px;
	color: var(--text-muted);
	font-size: 0.84rem;
	line-height: 1.45;
	border-bottom: 1px solid var(--border-soft);
	margin: 0;
}

.forum-online-panel .forum-online-head {
	padding: 18px 20px 16px;
	margin-bottom: 0;
	border-bottom: 1px solid var(--border-soft);
}

.forum-online-panel,
.forum-legend {
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

.forum-online-head,
.forum-legend-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.forum-online-head h2,
.forum-legend-head h2 {
	font-size: 1.05rem;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.forum-online-head p {
	font-size: 0.86rem;
	color: var(--text-muted);
	margin-top: 4px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.forum-online-grid {
	padding: 14px 20px 18px;
	flex: 1;
}

.forum-online-dot,
.forum-offline-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	display: inline-block;
}

.forum-online-dot {
	background: var(--success);
	box-shadow: 0 0 10px rgba(62,207,122,0.65);
}

.forum-offline-dot { background: var(--danger); }

.forum-btn-sm {
	padding: 7px 12px;
	font-size: 0.82rem;
}

.forum-online-grid {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 340px;
	overflow: auto;
	padding-right: 2px;
}

.forum-online-chip {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	border-radius: 12px;
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.22);
	transition: border-color 0.15s, background 0.15s;
}

.forum-online-chip:hover {
	border-color: rgba(212,175,55,0.22);
	background: rgba(255,255,255,0.03);
}

.forum-online-chip.is-team {
	border-color: rgba(52,120,180,0.35);
	background: linear-gradient(90deg, rgba(52,120,180,0.14), rgba(0,0,0,0.12));
	box-shadow: inset 3px 0 0 rgba(52,120,180,0.8);
}

.forum-online-chip.is-scripter {
	border-color: rgba(56,189,248,0.35);
	background: linear-gradient(90deg, rgba(56,189,248,0.14), rgba(0,0,0,0.12));
	box-shadow: inset 3px 0 0 rgba(56,189,248,0.85);
}

.forum-online-chip.is-pl {
	border-color: rgba(155,28,49,0.45);
	background: linear-gradient(90deg, rgba(155,28,49,0.18), rgba(0,0,0,0.12));
	box-shadow: inset 3px 0 0 rgba(212,175,55,0.75);
}

.forum-online-chip.is-admin {
	border-color: rgba(155,28,49,0.35);
	background: linear-gradient(90deg, rgba(155,28,49,0.12), rgba(0,0,0,0.12));
	box-shadow: inset 3px 0 0 rgba(196,45,69,0.75);
}

.forum-online-chip.is-donator {
	border-color: rgba(212,175,55,0.35);
	background: linear-gradient(90deg, rgba(212,175,55,0.12), rgba(0,0,0,0.12));
	box-shadow: inset 3px 0 0 rgba(212,175,55,0.75);
}

.forum-online-chip-body strong,
.forum-online-chip-body strong a {
	display: block;
	font-size: 0.88rem;
	color: #fff;
	text-decoration: none;
}

.forum-online-chip-body strong a:hover {
	color: var(--gold-soft);
}

.forum-online-chip-rank .forum-rank {
	font-size: 9px;
	padding: 2px 6px;
}

.forum-online-chip-meta {
	font-size: 0.74rem;
	color: var(--text-muted);
}

.forum-online-dot-forum {
	background: #38bdf8;
	box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.18);
}

.forum-online-window {
	color: var(--text-muted);
	font-size: 0.82em;
}

.forum-online-you {
	color: var(--gold-soft);
	font-weight: 600;
	font-size: 0.82em;
}

.forum-online-chip.is-self {
	border-color: rgba(212, 175, 55, 0.35);
	background: rgba(212, 175, 55, 0.08);
}

.forum-forum-users-online .forum-online-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 10px 12px 12px;
	max-height: 160px;
	overflow: auto;
}

.forum-forum-users-online .forum-online-chip,
.forum-forum-users-online .forum-online-chip-mini {
	width: auto;
	max-width: 100%;
	padding: 3px 8px 3px 3px;
	border-radius: 999px;
	gap: 6px;
	box-shadow: none;
}

.forum-forum-users-online .forum-online-chip.is-team,
.forum-forum-users-online .forum-online-chip.is-scripter,
.forum-forum-users-online .forum-online-chip.is-pl,
.forum-forum-users-online .forum-online-chip.is-admin,
.forum-forum-users-online .forum-online-chip.is-donator,
.forum-forum-users-online .forum-online-chip-mini.is-team,
.forum-forum-users-online .forum-online-chip-mini.is-scripter,
.forum-forum-users-online .forum-online-chip-mini.is-pl,
.forum-forum-users-online .forum-online-chip-mini.is-admin,
.forum-forum-users-online .forum-online-chip-mini.is-donator {
	box-shadow: none;
	background: rgba(0, 0, 0, 0.22);
}

.forum-forum-users-online .forum-online-chip-body {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 6px;
	min-width: 0;
}

.forum-forum-users-online .forum-online-chip-body strong {
	display: inline;
	font-size: 0.76rem;
	font-weight: 700;
	white-space: nowrap;
}

.forum-forum-users-online .forum-online-chip-rank {
	display: inline-flex;
	align-items: center;
}

.forum-forum-users-online .forum-online-chip-rank .forum-rank {
	font-size: 9px;
	padding: 1px 5px;
	line-height: 1.2;
}

.forum-forum-users-online .forum-avatar-online-mini,
.forum-forum-users-online .forum-avatar-xs.forum-avatar-online-mini {
	width: 24px;
	height: 24px;
	min-width: 24px;
	font-size: 0.62rem;
	border-width: 1px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}

.forum-forum-users-online .forum-avatar-online-mini.forum-avatar-skin,
.forum-forum-users-online .forum-avatar-xs.forum-avatar-online-mini.forum-avatar-skin {
	width: 24px;
	height: 24px;
	border-radius: 50%;
}

.forum-forum-users-online .forum-avatar-online-mini img,
.forum-forum-users-online .forum-avatar-xs.forum-avatar-online-mini img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.forum-forum-users-online .forum-online-head {
	padding: 12px 14px 10px;
}

.forum-forum-users-online .forum-online-head h2 {
	font-size: 0.95rem;
}

.forum-forum-users-online .forum-online-head p {
	font-size: 0.8rem;
	margin-top: 2px;
}

.forum-forum-users-online .forum-online-chip {
	width: auto;
	text-decoration: none;
	color: inherit;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.forum-forum-users-online .forum-online-empty {
	padding: 0 16px 16px;
	margin: 0;
	color: var(--text-muted);
	font-size: 0.88rem;
}

.forum-online-empty {
	color: var(--text-muted);
	font-size: 0.88rem;
}

.forum-avatar-xs {
	width: 34px;
	height: 34px;
	font-size: 0.72rem;
	border-width: 2px;
}

.forum-avatar-legend {
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.forum-avatar-legend span {
	line-height: 1;
}

.forum-avatar-xs .fa {
	font-size: 0.85rem;
	font-weight: normal;
	font-family: FontAwesome;
}

.forum-legend p {
	color: var(--text-muted);
	font-size: 0.86rem;
	margin-bottom: 14px;
}

.forum-legend-body .forum-rank,
.forum-legend-body .forum-legend-rank {
	font-size: 0.78rem;
	white-space: normal;
}

@media (max-width: 900px) {
	.forum-bottom-panels {
		grid-template-columns: 1fr;
	}
}

/* Responsive */
.forum-hero-compact {
	grid-template-columns: 1fr;
	padding: 20px 24px;
	margin-bottom: 20px;
}

.forum-hero-compact .forum-hero-glow { display: none; }

.forum-hero-compact h1 {
	font-size: 1.35rem;
	margin-bottom: 6px;
}

.forum-hero-compact p {
	font-size: 0.92rem;
	max-width: none;
}

/* Welcome block */
.forum-welcome {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 20px;
	align-items: center;
	margin-bottom: 22px;
	padding: 20px 22px;
	border-radius: calc(var(--radius) + 2px);
	border: 1px solid rgba(212,175,55,0.22);
	background:
		linear-gradient(135deg, rgba(7,10,15,0.88), rgba(21,28,39,0.94) 55%),
		var(--forum-bg-image, none) center/cover no-repeat;
	box-shadow: var(--shadow);
	position: relative;
	overflow: hidden;
}

.forum-welcome::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(155,28,49,0.2), rgba(7,10,15,0.75));
	pointer-events: none;
}

.forum-welcome > * { position: relative; z-index: 1; }

.forum-welcome-clock {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-right: 18px;
	border-right: 1px solid var(--border-soft);
	min-width: 150px;
}

.forum-welcome-clock-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.25);
	border: 1px solid rgba(212,175,55,0.25);
	color: var(--gold-soft);
	font-size: 1.15rem;
}

.forum-welcome-time {
	font-size: 1.45rem;
	font-weight: 800;
	color: #fff;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
	line-height: 1;
}

.forum-welcome-date {
	margin-top: 4px;
	font-size: 0.78rem;
	color: var(--text-muted);
	text-transform: capitalize;
}

.forum-welcome-main { min-width: 0; }

.forum-welcome-user {
	display: flex;
	align-items: center;
	gap: 18px;
}

.forum-welcome-avatar-ring {
	position: relative;
	flex-shrink: 0;
}

.forum-avatar-lg {
	width: 88px;
	height: 88px;
	font-size: 1.45rem;
}

.forum-avatar-lg:not(.forum-avatar-skin) {
	width: 88px;
	height: 88px;
}

.forum-welcome-team-dot {
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #2563eb, #1e3a8a);
	border: 2px solid var(--surface);
	color: #fff;
	font-size: 0.72rem;
	box-shadow: 0 6px 16px rgba(0,0,0,0.35);
}

.forum-welcome-kicker {
	font-size: 0.88rem;
	color: var(--gold-soft);
	margin-bottom: 2px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.forum-welcome-name {
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
	line-height: 1.1;
	color: #fff;
	margin-bottom: 6px;
}

.forum-welcome-sub {
	color: var(--text-muted);
	font-size: 0.92rem;
	max-width: 640px;
}

.forum-welcome-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
}

.forum-welcome-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin-top: 10px;
	font-size: 0.82rem;
	color: var(--text-muted);
}

.forum-welcome-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.forum-welcome-avatar-stack {
	display: flex;
	align-items: center;
	padding-left: 8px;
	flex-shrink: 0;
}

.forum-avatar-stack-item {
	width: 52px;
	height: 52px;
	font-size: 0.85rem;
	border: 3px solid var(--surface);
	margin-left: -14px;
	box-shadow: 0 8px 18px rgba(0,0,0,0.35);
}

.forum-avatar-stack-item:first-child { margin-left: 0; }

.forum-welcome-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.forum-welcome-quick {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-left: 18px;
	border-left: 1px solid var(--border-soft);
}

.forum-welcome-quick-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 10px;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--text-muted);
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.18);
	white-space: nowrap;
}

.forum-welcome-quick-link:hover {
	color: var(--gold-soft);
	border-color: rgba(212,175,55,0.35);
	background: rgba(212,175,55,0.06);
}

.forum-welcome-quick-admin.has-unread {
	border-color: rgba(245, 158, 11, 0.35);
	color: #fcd34d;
}

.forum-welcome-quick-logout:hover {
	color: #ffb4b4;
	border-color: rgba(240, 113, 113, 0.35);
	background: rgba(240, 113, 113, 0.08);
}

.forum-welcome-quick-link .forum-nav-badge {
	margin-left: 2px;
}

@media (max-width: 900px) {
	.forum-welcome {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.forum-welcome-clock {
		border-right: none;
		padding-right: 0;
		padding-bottom: 14px;
		border-bottom: 1px solid var(--border-soft);
	}

	.forum-welcome-quick {
		flex-direction: row;
		flex-wrap: wrap;
		border-left: none;
		padding-left: 0;
		padding-top: 14px;
		border-top: 1px solid var(--border-soft);
	}
}

@media (max-width: 640px) {
	.forum-welcome-user {
		flex-direction: column;
		align-items: flex-start;
	}

	.forum-welcome-avatar-stack {
		padding-left: 0;
	}
}

@media (max-width: 900px) {
	.forum-hero { grid-template-columns: 1fr; }
	.forum-hero-art { display: none; }
	.forum-stats-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
	.forum-board-row,
	.forum-thread-table .forum-board-row {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.forum-board-head { display: none; }
	.col-stats, .col-last { text-align: left; }

	.forum-post {
		grid-template-columns: 1fr;
	}

	.forum-post-user {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		gap: 8px 12px;
		text-align: left;
		align-items: center;
		border-right: none;
		border-bottom: 1px solid var(--border-soft);
	}

	.forum-avatar-wrap { margin: 0; }
	.forum-avatar { width: 48px; height: 48px; font-size: 0.9rem; }
	.forum-user-badges { flex-direction: row; flex-wrap: wrap; align-items: flex-start; margin: 0; }
	.forum-post-username { margin: 0; grid-column: 2; }
	.forum-user-meta { grid-column: 1 / -1; }
	.forum-post-author-mobile { display: inline; }
}

@media (max-width: 720px) {
	.forum-topnav-sep { display: none; }
	.forum-topnav { justify-content: flex-start; }
}

@media (max-width: 520px) {
	.forum-stats-bar { grid-template-columns: 1fr; }
	.forum-topnav-external a span,
	.forum-topnav-forum a span:not(.forum-nav-badge):not(.forum-user-pill-rank) { display: none; }
}

/* Avatar images + profile links */
.forum-avatar-link {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

.forum-avatar-img {
	padding: 0;
	overflow: hidden;
	background: rgba(0,0,0,0.25);
}

.forum-avatar-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* SA-MP Skin-Avatare: hochkant wie im UCP, nicht im Kreis quetschen */
.forum-avatar-img.forum-avatar-skin {
	border-radius: 12px;
	background: linear-gradient(180deg, #243044 0%, #121820 100%);
	border-color: rgba(212,175,55,0.28);
}

.forum-avatar-img.forum-avatar-skin img {
	object-fit: contain;
	object-position: center bottom;
	image-rendering: pixelated;
	image-rendering: crisp-edges;
	transform: scale(1.08);
}

.forum-avatar-lg.forum-avatar-skin,
.forum-welcome-avatar-ring .forum-avatar-skin {
	width: 72px;
	height: 118px;
	border-radius: 14px;
	font-size: 0;
}

.forum-avatar-xl.forum-avatar-skin {
	width: 88px;
	height: 144px;
	border-radius: 16px;
}

.forum-post-user .forum-avatar-skin {
	width: 58px;
	height: 96px;
	border-radius: 12px;
	margin: 0 auto;
}

.forum-avatar-sm.forum-avatar-skin {
	width: 40px;
	height: 66px;
	border-radius: 10px;
}

.forum-avatar-xs.forum-avatar-skin {
	width: 32px;
	height: 52px;
	border-radius: 8px;
}

.forum-profile-avatar-wrap .forum-avatar-skin {
	width: 96px;
	height: 156px;
	border-radius: 16px;
}

.forum-avatar-xl {
	width: 96px;
	height: 96px;
	font-size: 1.35rem;
	border-width: 3px;
}

.forum-post-username a {
	color: #fff;
	text-decoration: none;
	font-weight: 700;
}

.forum-post-username a:hover { color: var(--gold-soft); }

.forum-post-signature-wrap {
	margin-top: 18px;
	padding-top: 4px;
}

.forum-post-signature-divider {
	height: 1px;
	margin-bottom: 12px;
	background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5) 20%, rgba(155, 28, 49, 0.35) 80%, transparent);
}

.forum-post-signature {
	padding: 10px 12px 11px;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(0, 0, 0, 0.22);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	color: var(--text-muted);
	font-size: 0.84rem;
	line-height: 1.55;
	max-width: 100%;
}

.forum-post-signature-label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 6px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(212, 175, 55, 0.75);
}

.forum-post-signature-text {
	word-break: break-word;
}

.forum-post-signature-text a {
	word-break: break-all;
}

.forum-alert-success {
	background: rgba(62,207,122,0.12);
	border-color: rgba(62,207,122,0.35);
	color: #9ef0c0;
}

/* Profile view */
.forum-profile-card,
.forum-profile-edit {
	padding: 24px;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: var(--surface);
	box-shadow: var(--shadow);
}

.forum-profile-hero {
	display: grid;
	grid-template-columns: auto minmax(0, 1.2fr) minmax(240px, 0.9fr);
	gap: 22px 28px;
	align-items: start;
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--border-soft);
}

.forum-profile-title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin-bottom: 8px;
}

.forum-profile-title-row h1 {
	font-size: 1.6rem;
	color: #fff;
	margin: 0;
	line-height: 1.15;
}

.forum-profile-badges {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.forum-profile-badges .forum-rank {
	font-size: 10px;
	padding: 3px 9px;
}

.forum-profile-motto {
	margin: 0 0 12px;
	color: var(--gold-soft);
	font-size: 0.92rem;
	font-style: italic;
	line-height: 1.45;
}

.forum-profile-motto .fa {
	margin-right: 6px;
	opacity: 0.75;
}

.forum-profile-head h1 {
	font-size: 1.6rem;
	color: #fff;
	margin-bottom: 8px;
}

.forum-profile-details {
	padding: 14px 16px;
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.18);
	border: 1px solid var(--border-soft);
	min-height: 100%;
}

.forum-profile-details-empty {
	border-style: dashed;
}

.forum-profile-details-title {
	margin: 0 0 12px;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8fa3bc;
}

.forum-profile-details-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.forum-profile-detail-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3px;
}

.forum-profile-detail-item dt {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--text-muted);
}

.forum-profile-detail-item dt .fa {
	margin-right: 5px;
	color: var(--gold-soft);
}

.forum-profile-detail-item dd {
	margin: 0;
	font-size: 0.88rem;
	color: #fff;
	line-height: 1.45;
	word-break: break-word;
}

.forum-profile-detail-item dd a {
	color: var(--gold-soft);
}

.forum-profile-section-muted {
	opacity: 0.92;
}

.forum-profile-avatar-wrap { position: relative; }

.forum-profile-team-badge {
	position: absolute;
	right: -4px;
	bottom: -4px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--red-soft), #5c1420);
	border: 2px solid var(--surface);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 0.75rem;
}

.forum-profile-head h1 {
	font-size: 1.6rem;
	color: #fff;
	margin-bottom: 8px;
}

.forum-profile-location,
.forum-profile-website {
	color: var(--text-muted);
	font-size: 0.9rem;
	margin-top: 6px;
}

.forum-profile-actions { margin-top: 14px; }

.forum-profile-section {
	margin-top: 22px;
}

.forum-profile-section h2 {
	font-size: 1rem;
	color: #fff;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.forum-profile-bio,
.forum-profile-signature-preview {
	color: var(--text);
	line-height: 1.6;
}

.forum-profile-stats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 12px;
}

.forum-profile-stat {
	padding: 14px;
	border-radius: 12px;
	background: rgba(0,0,0,0.18);
	border: 1px solid var(--border-soft);
}

.forum-profile-stat strong {
	display: block;
	font-size: 1.15rem;
	color: #fff;
	margin-bottom: 4px;
}

.forum-profile-stat span {
	font-size: 0.78rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.forum-profile-presence {
	margin: 0 0 10px;
	font-size: 0.82rem;
	color: var(--text-muted);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.forum-profile-presence.is-online {
	color: #9ef0c0;
}

.forum-profile-presence-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3ecf7a;
	box-shadow: 0 0 0 0 rgba(62,207,122,0.45);
	animation: forum-presence-pulse 2s infinite;
}

@keyframes forum-presence-pulse {
	0% { box-shadow: 0 0 0 0 rgba(62,207,122,0.45); }
	70% { box-shadow: 0 0 0 8px rgba(62,207,122,0); }
	100% { box-shadow: 0 0 0 0 rgba(62,207,122,0); }
}

.forum-profile-ingame {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px 20px;
	align-items: start;
}

.forum-profile-ingame-skin {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 10px;
	border-radius: 12px;
	background: rgba(0,0,0,0.22);
	border: 1px solid var(--border-soft);
	min-width: 96px;
}

.forum-profile-ingame-skin img {
	width: 72px;
	height: auto;
	image-rendering: pixelated;
}

.forum-profile-ingame-skin span {
	font-size: 0.76rem;
	color: var(--text-muted);
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
}

.forum-profile-stats-ingame {
	margin-top: 0;
}

.forum-profile-activity-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.forum-profile-activity-col h3 {
	margin: 0 0 10px;
	font-size: 0.88rem;
	color: var(--gold-soft);
	font-weight: 800;
}

.forum-profile-activity-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.forum-profile-activity-list li {
	padding: 10px 0;
	border-bottom: 1px solid var(--border-soft);
}

.forum-profile-activity-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.forum-profile-activity-title {
	display: block;
	color: #fff;
	font-weight: 700;
	font-size: 0.86rem;
	text-decoration: none;
	line-height: 1.35;
}

.forum-profile-activity-title:hover {
	color: var(--gold-soft);
}

.forum-profile-activity-meta {
	display: block;
	margin-top: 4px;
	font-size: 0.74rem;
	color: var(--text-muted);
}

.forum-profile-activity-meta a {
	color: var(--text-muted);
	text-decoration: none;
}

.forum-profile-activity-meta a:hover {
	color: var(--gold-soft);
}

/* Profile edit form */
.forum-fieldset {
	border: 1px solid var(--border-soft);
	border-radius: var(--radius);
	padding: 18px 20px;
	margin-bottom: 20px;
	background: rgba(0,0,0,0.12);
}

.forum-fieldset legend {
	padding: 0 8px;
	color: var(--gold-soft);
	font-weight: 700;
	font-size: 0.95rem;
}

.forum-profile-edit-avatar-row {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	align-items: start;
	margin-bottom: 16px;
}

.forum-profile-edit-avatar-options {
	display: grid;
	gap: 10px;
}

.forum-radio-card {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.15);
	cursor: pointer;
}

.forum-radio-card input { margin-top: 4px; }

.forum-radio-card strong {
	display: block;
	color: #fff;
	font-size: 0.9rem;
}

.forum-radio-card small {
	display: block;
	color: var(--text-muted);
	font-size: 0.78rem;
	margin-top: 2px;
}

.forum-radio-card:has(input:checked) {
	border-color: rgba(212,175,55,0.45);
	background: rgba(155,28,49,0.12);
}

.forum-skin-picker {
	display: flex;
	align-items: center;
	gap: 14px;
}

.forum-skin-picker input {
	width: 100px;
}

.forum-skin-picker img {
	width: 64px;
	height: 120px;
	object-fit: contain;
	background: rgba(0,0,0,0.25);
	border-radius: 8px;
	border: 1px solid var(--border-soft);
}

.forum-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.forum-check-inline {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-muted);
	font-size: 0.88rem;
	margin-top: 10px;
}

.forum-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.forum-profile-edit-avatar-options [data-avatar-panel] {
	margin-top: 4px;
}

.forum-profile-edit-avatar-options [data-avatar-panel].is-active {
	display: block;
}

.forum-fieldset:has([name="avatar_mode"][value="skin"]:checked) .forum-profile-edit-avatar-options [data-avatar-panel="skin"],
.forum-fieldset:has([name="avatar_mode"][value="upload"]:checked) .forum-profile-edit-avatar-options [data-avatar-panel="upload"] {
	display: block;
}

[data-avatar-panel] { display: none; margin-top: 14px; }
[data-avatar-panel].is-active { display: block; }

.forum-fieldset:has([name="avatar_mode"][value="skin"]:checked) [data-avatar-panel="skin"],
.forum-fieldset:has([name="avatar_mode"][value="upload"]:checked) [data-avatar-panel="upload"] {
	display: block;
}

.forum-upload-dropzone {
	position: relative;
	border: 2px dashed rgba(212,175,55,0.35);
	border-radius: 14px;
	background: rgba(0,0,0,0.22);
	overflow: hidden;
	transition: border-color 0.15s, background 0.15s;
}

.forum-upload-dropzone.is-dragover {
	border-color: var(--gold-soft);
	background: rgba(212,175,55,0.08);
}

.forum-upload-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}

.forum-upload-dropzone-inner {
	position: relative;
	z-index: 1;
	padding: 28px 20px;
	text-align: center;
	pointer-events: none;
}

.forum-upload-dropzone-inner .fa {
	font-size: 1.8rem;
	color: var(--gold-soft);
	margin-bottom: 10px;
}

.forum-upload-dropzone-inner strong {
	display: block;
	color: #fff;
	margin-bottom: 6px;
}

.forum-upload-hint,
.forum-upload-filename {
	display: block;
	font-size: 0.82rem;
	color: var(--text-muted);
}

.forum-upload-filename {
	margin-top: 8px;
	color: var(--gold-soft);
	word-break: break-all;
}

.forum-upload-preview {
	display: block;
	max-width: 160px;
	max-height: 160px;
	margin: 0 auto 14px;
	border-radius: 12px;
	border: 2px solid rgba(212,175,55,0.35);
	object-fit: cover;
}

.forum-upload-preview[hidden] { display: none !important; }

.forum-upload-current {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(0,0,0,0.18);
	border: 1px solid var(--border-soft);
}

.forum-upload-current img {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	object-fit: cover;
	border: 1px solid var(--border);
}

.forum-upload-current span {
	font-size: 0.84rem;
	color: var(--text-muted);
}

/* Konversationen / PN */
.forum-nav-messages {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.forum-nav-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	background: var(--red-soft);
	color: #fff;
}

.forum-conv-empty {
	text-align: center;
	padding: 48px 24px;
	border: 1px dashed var(--border-soft);
	border-radius: var(--radius);
	background: rgba(0,0,0,0.15);
}

.forum-conv-empty .fa {
	display: block;
	font-size: 2.2rem;
	color: var(--text-muted);
	margin-bottom: 14px;
}

.forum-conv-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 18px;
	margin-bottom: 16px;
	padding: 12px 14px;
	border-radius: var(--radius);
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.14);
}

.forum-conv-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	font-size: 0.84rem;
	color: var(--text-muted);
}

.forum-conv-stats strong {
	color: #fff;
}

.forum-conv-stats-unread {
	color: var(--gold-soft);
}

.forum-conv-filters {
	display: inline-flex;
	gap: 6px;
	padding: 4px;
	border-radius: 999px;
	background: rgba(0,0,0,0.22);
	border: 1px solid var(--border-soft);
}

.forum-conv-filter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--text-muted);
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}

.forum-conv-filter:hover {
	color: #fff;
	background: rgba(255,255,255,0.05);
}

.forum-conv-filter.is-active {
	color: #fff;
	background: rgba(155,28,49,0.35);
}

.forum-conv-filter-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	font-size: 0.68rem;
	background: var(--red-soft);
	color: #fff;
}

.forum-conv-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 14px;
}

.forum-conv-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-radius: var(--radius);
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.28);
	box-shadow: var(--shadow);
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s, background 0.15s, transform 0.15s;
}

.forum-conv-item:hover {
	border-color: rgba(212,175,55,0.35);
	background: rgba(255,255,255,0.03);
	transform: translateY(-1px);
}

.forum-conv-item.is-unread {
	border-color: rgba(155,28,49,0.45);
	background: rgba(155,28,49,0.08);
}

.forum-conv-item-avatar {
	flex-shrink: 0;
}

.forum-conv-item-avatar-group,
.forum-conv-item-avatar-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,0.08);
	background: rgba(155,28,49,0.18);
	color: var(--gold-soft);
	font-size: 1.1rem;
}

.forum-conv-item-main {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.forum-conv-item-title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 8px;
}

.forum-conv-item-kicker {
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--gold-soft);
}

.forum-conv-item-title {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
}

.forum-conv-item-main strong {
	color: #fff;
	font-size: 0.96rem;
}

.forum-conv-item-subline {
	font-size: 0.76rem;
	color: var(--text-muted);
}

.forum-conv-item-badges .forum-rank {
	font-size: 9px;
	padding: 2px 7px;
}

.forum-conv-group-tag {
	font-size: 0.78rem;
	color: var(--text-muted);
}

.forum-conv-preview {
	font-size: 0.84rem;
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.forum-conv-item-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	flex-shrink: 0;
	font-size: 0.78rem;
	color: var(--text-muted);
}

.forum-conv-unread-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--red-soft);
	box-shadow: 0 0 0 2px rgba(155,28,49,0.25);
}

.forum-conv-view {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.forum-conv-view-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border-radius: var(--radius);
	border: 1px solid var(--border-soft);
	background: var(--surface);
	box-shadow: var(--shadow);
}

.forum-conv-view-head-main {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.forum-conv-view-head h1 {
	margin: 0 0 6px;
	font-size: 1.35rem;
	color: #fff;
	line-height: 1.2;
}

.forum-conv-view-head h1 a {
	color: inherit;
	text-decoration: none;
}

.forum-conv-view-head h1 a:hover {
	color: var(--gold-soft);
}

.forum-conv-partner-link {
	flex-shrink: 0;
	text-decoration: none;
}

.forum-conv-partner-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 6px;
	font-size: 0.82rem;
	color: var(--text-muted);
}

.forum-conv-view-group-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(155,28,49,0.15);
	border: 2px solid rgba(155,28,49,0.35);
	color: var(--gold-soft);
	font-size: 1.4rem;
	flex-shrink: 0;
}

.forum-conv-view-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.forum-conv-hide-form {
	margin: 0;
}

.forum-btn-danger-ghost {
	color: #f0a0a8;
	border-color: rgba(155,28,49,0.35);
}

.forum-btn-danger-ghost:hover {
	color: #fff;
	background: rgba(155,28,49,0.22);
	border-color: rgba(155,28,49,0.55);
}

.forum-conv-participants {
	padding: 14px 16px;
	border-radius: var(--radius);
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.15);
	font-size: 0.84rem;
}

.forum-conv-participants > strong {
	display: block;
	margin-bottom: 10px;
	color: #fff;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.forum-conv-participant-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.forum-conv-participant {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px 6px 6px;
	border-radius: 999px;
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.18);
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s, background 0.15s;
}

.forum-conv-participant:hover {
	border-color: rgba(212,175,55,0.35);
	background: rgba(255,255,255,0.04);
}

.forum-conv-participant .forum-rank {
	font-size: 9px;
	padding: 2px 7px;
}

.forum-conv-thread {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 16px;
	min-height: 220px;
	max-height: min(62vh, 720px);
	overflow-y: auto;
	border-radius: var(--radius);
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.18);
	scroll-behavior: smooth;
}

.forum-conv-day-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 8px 0 4px;
}

.forum-conv-day-divider span {
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--text-muted);
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--border-soft);
}

.forum-conv-message {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	max-width: 78%;
}

.forum-conv-message.is-mine {
	margin-left: auto;
	flex-direction: row-reverse;
}

.forum-conv-message.is-theirs {
	margin-right: auto;
}

.forum-conv-message-avatar {
	flex-shrink: 0;
	text-decoration: none;
}

.forum-conv-message-bubble {
	position: relative;
	padding: 10px 14px 22px;
	border-radius: 16px;
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.24);
	min-width: 120px;
}

.forum-conv-message.is-mine .forum-conv-message-bubble {
	border-color: rgba(155,28,49,0.35);
	background: rgba(155,28,49,0.14);
	border-bottom-right-radius: 6px;
}

.forum-conv-message.is-theirs .forum-conv-message-bubble {
	border-bottom-left-radius: 6px;
}

.forum-conv-message-author-name {
	margin-bottom: 4px;
	font-size: 0.78rem;
	font-weight: 700;
}

.forum-conv-message-author-name a {
	color: var(--gold-soft);
	text-decoration: none;
}

.forum-conv-message-body {
	font-size: 0.92rem;
	line-height: 1.6;
	word-break: break-word;
}

.forum-conv-message-time {
	position: absolute;
	right: 12px;
	bottom: 6px;
	font-size: 0.68rem;
	color: var(--text-muted);
	opacity: 0.85;
}

.forum-conv-compose {
	margin-top: 0;
}

.forum-conv-compose-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 10px;
}

.forum-conv-compose-foot .forum-hint {
	margin: 0;
}

.forum-conv-compose-section {
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--border-soft);
}

.forum-conv-compose-section:last-of-type {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.forum-conv-compose-section h2 {
	margin: 0 0 12px;
	font-size: 0.92rem;
	color: #fff;
}

.forum-conv-compose-section h2 .fa {
	margin-right: 8px;
	color: var(--gold-soft);
}

.forum-conv-compose-form .forum-field-group-subject {
	display: none;
}

.forum-conv-compose-form.is-group .forum-field-group-subject {
	display: block;
}

@media (max-width: 768px) {
	.forum-profile-hero,
	.forum-profile-edit-avatar-row,
	.forum-profile-activity-grid,
	.forum-profile-ingame,
	.forum-field-row {
		grid-template-columns: 1fr;
	}

	.forum-conv-item {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.forum-conv-item-meta {
		grid-column: 2;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
	}

	.forum-conv-view-head-main {
		width: 100%;
	}

	.forum-conv-view-actions {
		width: 100%;
	}

	.forum-conv-message {
		max-width: 92%;
	}

	.forum-conv-thread {
		max-height: none;
	}

	.forum-smilie-tab-label {
		display: none;
	}

	.forum-smilie-tab {
		padding: 6px 9px;
	}
}

/* Legal pages */
.forum-legal-head {
	margin-bottom: 18px;
}

.forum-legal-page {
	display: grid;
	gap: 14px;
	max-width: 920px;
}

.forum-legal-note {
	margin-bottom: 0;
}

.forum-legal-section {
	background: var(--surface);
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	padding: 18px 20px;
	box-shadow: var(--shadow);
}

.forum-legal-section-highlight {
	border-color: rgba(212, 175, 55, 0.28);
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.08), rgba(15, 23, 42, 0.55));
}

.forum-legal-section h2 {
	margin: 0 0 12px;
	font-size: 1.02rem;
	color: #fff;
}

.forum-legal-section-body p,
.forum-legal-section-body li {
	color: var(--text-muted);
	line-height: 1.6;
	font-size: 0.9rem;
}

.forum-legal-section-body p {
	margin: 0 0 10px;
}

.forum-legal-section-body p:last-child {
	margin-bottom: 0;
}

.forum-legal-list {
	margin: 0;
	padding-left: 1.2rem;
}

.forum-legal-list li {
	margin-bottom: 8px;
}

.forum-legal-list li:last-child {
	margin-bottom: 0;
}

.forum-legal-stand {
	margin: 4px 0 0;
	font-size: 0.82rem;
	color: var(--text-muted);
}

/* Reports & Admin */
.forum-text-muted { color: var(--text-muted); }

.forum-label-warn {
	background: rgba(245, 158, 11, 0.14);
	color: #fcd34d;
	border: 1px solid rgba(245, 158, 11, 0.35);
}

.forum-label-muted {
	background: rgba(255, 255, 255, 0.06);
	color: var(--text-muted);
	border: 1px solid var(--border-soft);
}

.forum-btn-danger {
	background: rgba(240, 113, 113, 0.14);
	border: 1px solid rgba(240, 113, 113, 0.35);
	color: #ffb4b4;
}

.forum-btn-danger:hover {
	background: rgba(240, 113, 113, 0.22);
	color: #fff !important;
}

.forum-btn-report {
	color: #fcd34d;
	border-color: rgba(245, 158, 11, 0.25);
}

.forum-post-report {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
}

.forum-post-report-flag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--red-soft);
	font-size: 1.05rem;
	line-height: 1;
	cursor: pointer;
	transition: color 0.15s, background 0.15s, transform 0.1s;
}

.forum-post-report-flag:hover {
	color: #ff6b7a;
	background: rgba(155,28,49,0.12);
	transform: scale(1.06);
}

.forum-post-report-flag.is-reported {
	color: rgba(255, 107, 122, 0.45);
	cursor: default;
}

.forum-post-report-flag.is-reported:hover {
	background: transparent;
	transform: none;
}

.forum-post-report-flag.is-open {
	color: #fff;
	background: rgba(155,28,49,0.35);
}

.forum-post-report-panel {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	width: min(320px, calc(100vw - 40px));
	padding: 14px;
	border-radius: 12px;
	border: 1px solid rgba(155,28,49,0.35);
	background: var(--surface);
	box-shadow: var(--shadow);
}

.forum-post-report-panel[hidden] {
	display: none !important;
}

.forum-post-report-panel label {
	display: block;
	margin: 0 0 6px;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.forum-post-report-panel label + select,
.forum-post-report-panel label + textarea {
	margin-bottom: 12px;
}

.forum-post-report-panel select,
.forum-post-report-panel textarea {
	width: 100%;
	padding: 10px 12px;
	border-radius: 8px;
	border: 1px solid var(--border-soft);
	background: rgba(0,0,0,0.22);
	color: #fff;
	font-family: inherit;
	font-size: 0.88rem;
}

.forum-post-report-panel textarea {
	min-height: 88px;
	resize: vertical;
	line-height: 1.5;
}

.forum-post-report-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.forum-post-report-note {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.5;
	color: var(--text-muted);
}

.forum-post-head-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}

.forum-mod-delete-form,
.forum-best-answer-form {
	margin: 0;
}

.forum-thread-mod-bar {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--border-soft);
}

.forum-thread-mod-form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.forum-nav-admin.has-unread {
	color: #fcd34d;
}

.forum-report-card label {
	display: block;
	margin: 14px 0 6px;
	font-size: 0.86rem;
	font-weight: 600;
	color: #fff;
}

.forum-report-card select,
.forum-report-card textarea {
	width: 100%;
}

.forum-report-preview {
	margin-bottom: 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border-soft);
}

.forum-report-preview h2 {
	margin: 0 0 8px;
	font-size: 0.95rem;
}

.forum-report-meta {
	margin: 0 0 10px;
	color: var(--text-muted);
	font-size: 0.84rem;
}

.forum-report-snippet {
	padding: 12px 14px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid var(--border-soft);
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--text-muted);
}

.forum-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.forum-admin-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

.forum-admin-stat {
	padding: 14px 16px;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: var(--surface);
	text-align: center;
}

.forum-admin-stat-value {
	display: block;
	font-size: 1.35rem;
	font-weight: 700;
	color: #fff;
}

.forum-admin-stat-label {
	display: block;
	margin-top: 4px;
	font-size: 0.78rem;
	color: var(--text-muted);
}

.forum-admin-tabs,
.forum-admin-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.forum-admin-tabs a,
.forum-admin-filter a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid var(--border-soft);
	background: rgba(0, 0, 0, 0.18);
	color: var(--text-muted);
	font-size: 0.84rem;
}

.forum-admin-tabs a.is-active,
.forum-admin-filter a.is-active {
	color: #fff;
	border-color: rgba(52, 120, 180, 0.45);
	background: rgba(52, 120, 180, 0.16);
}

.forum-admin-report-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.forum-admin-report {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--surface);
	overflow: hidden;
}

.forum-admin-report-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--border-soft);
	background: rgba(0, 0, 0, 0.12);
}

.forum-admin-report-head strong {
	margin-left: 8px;
	color: #fff;
}

.forum-admin-report-meta {
	margin-left: 8px;
	color: var(--text-muted);
	font-size: 0.78rem;
}

.forum-admin-report-body {
	padding: 14px 16px;
	font-size: 0.88rem;
}

.forum-admin-report-body p {
	margin: 0 0 8px;
}

.forum-admin-review-note {
	margin-top: 10px !important;
	font-size: 0.8rem;
	color: var(--text-muted);
}

.forum-admin-report-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 16px;
	border-top: 1px solid var(--border-soft);
	background: rgba(0, 0, 0, 0.1);
}

.forum-admin-inline-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.forum-admin-inline-form input[type="text"] {
	min-width: 180px;
	max-width: 100%;
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid var(--border-soft);
	background: rgba(0, 0, 0, 0.25);
	color: #fff;
	font-size: 0.82rem;
}

.forum-admin-thread-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.forum-admin-thread-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid var(--border-soft);
	background: rgba(0, 0, 0, 0.15);
}

.forum-admin-thread-row a {
	color: #fff;
	font-weight: 600;
}

.forum-admin-thread-row span {
	display: block;
	margin-top: 2px;
	font-size: 0.8rem;
}

.forum-admin-help-list {
	margin: 0;
	padding-left: 1.2rem;
	color: var(--text-muted);
	font-size: 0.88rem;
}

.forum-admin-help-list li {
	margin-bottom: 8px;
}

.forum-empty-state {
	padding: 28px 20px;
	text-align: center;
	border: 1px dashed var(--border-soft);
	border-radius: var(--radius);
	color: var(--text-muted);
}

.forum-empty-state .fa {
	display: block;
	font-size: 1.6rem;
	margin-bottom: 10px;
	color: rgba(72, 187, 120, 0.75);
}

@media (max-width: 768px) {
	.forum-admin-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.forum-admin-report-actions {
		flex-direction: column;
		align-items: stretch;
	}
}
