/* Forums */

.forums .panel {
	font-size: 1.125rem;
}

/* Layout */
.forums .forums-layout {
	display: flex;
	gap: 1.5rem;
}
.forums .forums-main {
	flex: 1;
	min-width: 0;
}

/* Toolbar */
.forums .toolbar {
	display: flex; align-items: center; gap: 1rem;
	margin-bottom: 1rem;
}
.forums .toolbar .browse-desc {
	font-size: 0.875rem; color: #fff9;
}

/* Badge */
.forums .badge {
	font-size: 0.8125rem;
}
.forums .badge.pinned {
	color: #ffd54f;
}
.forums .badge.locked {
	color: #f66;
}

/* Tables */
.forums .forums-table {
	margin: 0;
}
.forums .forums-table th {
	text-align: left;
	font-size: 0.75rem; text-transform: uppercase; color: #fff7; letter-spacing: 0.05em;
	background: none; border: none; border-bottom: 1px solid #fff3;
	padding: 0.5rem 0.75rem;
}
.forums .forums-table td {
	padding: 0.75rem;
	border: none; border-bottom: 1px solid #fff1;
	vertical-align: top;
}
.forums .forums-table tbody tr:hover td {
	background: #fff1;
}

.forums .col-threads, .forums .col-posts {
	width: 4.5rem;
	text-align: center;
}
.forums .col-first, .forums .col-last {
	width: 10rem;
	font-size: 0.875rem;
}
.forums .col-last .none {
	color: #fff3;
}

/* Activity bars */
.forums .col-activity {
	width: 1rem;
	padding-right: 0 !important;
	vertical-align: middle;
}
.forums .col-activity .bar {
	display: inline-block;
	width: 0.1875rem;
	height: 2.625rem;
	border-radius: 1px;
	vertical-align: middle;
	margin-right: 0.125rem;
}

/* Category listing */
.forums .cat-name a {
	color: #fff; font-weight: 700; text-decoration: none;
}
.forums .cat-name a:hover {
	color: #7bf; text-decoration: underline;
}
.forums .cat-desc {
	margin-top: 0.125rem;
	font-size: 0.875rem; color: #fff7;
}

.forums .handle {
	font-weight: 600; color: #fffc;
}
.forums .last-handle {
	font-weight: 600; color: #fffc;
}

/* Thread list */
.forums .threads-table .col-subject a {
	color: #fff; font-weight: 600; text-decoration: none;
}
.forums .threads-table .col-subject a:hover {
	color: #7bf; text-decoration: underline;
}
.forums .threads-table tr.pinned td {
	background: #ffd54f0d;
}
.forums .threads-table tr.pinned:hover td {
	background: #ffd54f1a;
}

/* Type cards */
.forums .types-list {
	display: flex; flex-direction: column; gap: 0;
}
.forums .type-card {
	display: flex; align-items: center; justify-content: space-between;
	padding: 1rem 0;
	border-bottom: 1px solid #fff1;
	text-decoration: none; color: #fff;
}
.forums .type-card:first-child {
	padding-top: 0;
}
.forums .type-card:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.forums .type-card:hover {
	color: #7bf; text-decoration: none;
}
.forums .type-title {
	font-size: 1.125rem; font-weight: 600;
}
.forums .type-arrow {
	color: #fff5;
}
.forums .type-card:hover .type-arrow {
	color: #7bf;
}

/* Thread header */
.forums .thread {
	display: block; position: relative;
	padding: 1rem;
	background: #333b;
		-webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
}

/* Posts */
.forums .posts {
	margin: 0;
}
.forums .post.panel {
	padding: 0;
	margin-top: 1rem;
}
.forums .post-head {
	display: flex; align-items: center; gap: 0.75rem;
	padding: 0.625rem 1rem;
	background: #0003; border-bottom: 1px solid #fff1;
	font-size: 0.875rem;
}
.forums .post-author {
	font-weight: 700; color: #fff;
}
.forums .post-time {
	color: #fff7;
}
.forums .post-num {
	margin-left: auto;
	color: #fff4; font-size: 0.8125rem;
}

.forums .post-content {
	display: flex;
	padding: 1rem;
	gap: 1rem;
}
.forums .post-icon {
	flex-shrink: 0;
	width: 5rem;
}
.forums .post-main {
	flex: 1;
	min-width: 0;
}

.forums .post-body {
	line-height: 1.6;
	word-wrap: break-word;
}
.forums .post-main .quote {
	margin: 0 0 0.75rem;
}
.forums .post-body a {
	color: #7bf;
}
.forums .post-body a:visited {
	color: #9bf;
}
.forums .post-body .mention {
	color: #7bf; font-weight: 600;
}

.forums .post-edited {
	padding: 0 1rem 0.5rem;
	font-size: 0.75rem; color: #fff5; font-style: italic;
}

.forums .post-foot {
	display: flex; align-items: center; justify-content: flex-end;
	padding: 0.5rem 1rem;
	border-top: 1px solid #fff1;
}
.forums .post-actions {
	display: flex; align-items: center; gap: 0.75rem;
}

/* Ratings */
.forums .rate-btn {
	background: none; border: 1px solid #fff2; border-radius: 3px;
	padding: 0.2rem 0.5rem;
	cursor: pointer;
	font-size: 0.8125rem; color: #fff7;
}
.forums .rate-btn:hover {
	background: #fff1; color: #fffc;
}
.forums .rate-btn.active.rate-up {
	color: #81c784; border-color: #81c784; background: #81c7841a;
}
.forums .rate-btn.active.rate-down {
	color: #e57373; border-color: #e57373; background: #e573731a;
}
.forums .rate-btn .count:empty {
	display: none;
}

.forums .rating-display {
	font-size: 0.8125rem; color: #fff7;
}
.forums .rating-display .rate-up {
	color: #81c784; margin-right: 0.5rem;
}
.forums .rating-display .rate-down {
	color: #e57373;
}

.forums .action-link {
	color: #fff5; font-size: 0.9375rem; text-decoration: none;
}
.forums .action-link:hover {
	color: #7bf; text-decoration: none;
}

/* Quote */
.forums .quote {
	margin: 1rem 1rem 0;
	padding: 0.75rem 1rem;
	background: #0003; border-left: 3px solid #fff3; border-radius: 0 4px 4px 0;
	font-size: 0.9375rem;
}
.forums .quote-author {
	font-weight: 600; color: #fffc;
	margin-bottom: 0.25rem;
}
.forums .quote-author .quote-time {
	font-weight: normal; color: #fff7;
}
.forums .quote-text {
	color: #fff9; line-height: 1.5;
}

/* Compose */
.forums .compose-form {
}
.forums .compose-form fieldset .cell {
	margin-top: 1rem;
}
.forums .compose-form fieldset .cell:first-of-type {
	margin-top: 0;
}

.forums .compose-quote {
	margin-top: 1rem; padding: 0.75rem 1rem;
	background: #0003; border-left: 3px solid #fff3; border-radius: 0 4px 4px 0;
}
.forums .compose-quote .quote-label {
	font-size: 0.8125rem; font-weight: 600; color: #fff9;
	margin-bottom: 0.25rem;
}
.forums .compose-quote .quote-preview {
	font-size: 0.9375rem; color: #fff7; line-height: 1.5;
}

.forums .compose-actions {
	display: flex; justify-content: flex-end; gap: 1rem;
	margin-top: 1.25rem;
}

/* Thread actions (reply button at bottom) */
.forums .thread-actions.panel {
	margin-top: 1rem;
	text-align: right;
}

/* Empty state */
.forums .empty {
	color: #fff7;
}

/* Sidebar */
.forums .forums-sidebar {
	width: 20%;
	flex-shrink: 0;
}
.forums .sidebar-box {
	margin-bottom: 1.25rem;
}
.forums .sidebar-box:last-child {
	margin-bottom: 0;
}
.forums .sidebar-box h3 {
	font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em;
	color: #fff7;
	margin: 0 0 0.5rem;
}
.forums .sidebar-categories {
	list-style: none;
	margin: 0; padding: 0;
}
.forums .sidebar-categories li {
	padding: 0.3rem 0;
	font-size: 0.875rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.forums .sidebar-categories li a {
	color: #fff9; text-decoration: none;
}
.forums .sidebar-categories li a:hover {
	color: #7bf; text-decoration: underline;
}
.forums .sidebar-categories li.active a {
	color: #fff; font-weight: 600;
}

/* Responsive */
@media (max-width: 640px) {
	.forums .forums-layout {
		flex-direction: column;
	}
	.forums .forums-sidebar {
		width: 100%;
	}
	.forums .col-activity {
		display: none;
	}
	.forums .col-first {
		display: none;
	}
	.forums .col-threads, .forums .col-posts {
		width: 3.5rem;
	}
	.forums .col-last {
		width: 7.5rem;
	}
	.forums .post-head {
		flex-wrap: wrap; gap: 0.375rem;
	}
	.forums .post-num {
		margin-left: 0;
	}
}
