.forum-main { min-height:65vh; padding-block:36px 52px; }
.forum-main h1 { font-size:clamp(28px,4vw,38px); margin:0; letter-spacing:-.03em; line-height:1.18; overflow-wrap:anywhere; }
.forum-main h2 { font-size:20px; letter-spacing:0; }
.forum-main a { text-underline-offset:3px; }
.forum-main :focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.forum-main ::selection { background:#bcebe4; color:#071D2E; }
.forum-main input,.forum-main textarea { caret-color:var(--green); }
.forum-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; font-size:13px; }
.forum-breadcrumb a { color:#176d6c; }
.forum-breadcrumb span { color:#526276; }
.forum-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.forum-intro { max-width:68ch; color:#526276; margin:12px 0 0; font-size:15px; line-height:1.65; }
.forum-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 17px; border:1px solid #147C0E; border-radius:6px; background:#147C0E; color:#fff; font:inherit; font-size:14px; font-weight:650; text-decoration:none; cursor:pointer; white-space:nowrap; }
.forum-button:hover { background:#0d5c5b; border-color:#0d5c5b; }
.forum-button.secondary { background:#fff; color:#18324d; border-color:#c6d1df; }
.forum-button.secondary:hover { background:#edf3f8; }
.forum-button:disabled { opacity:.65; cursor:wait; }
.forum-section-title { margin:0; padding:18px 22px; background:#14263b; color:#fff; border-radius:8px 8px 0 0; }
.forum-categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:#fff; border:1px solid var(--line); border-top:0; padding:0 22px; column-gap:36px; }
.forum-category { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid #e2e8ef; text-decoration:none; min-width:0; color:#132b45; }
.forum-category:hover strong { color:#087575; text-decoration:underline; }
.forum-category strong { display:block; font-size:17px; margin-bottom:5px; }
.forum-category p { margin:0; font-size:13px; line-height:1.5; color:#526276; }
.forum-category-count { flex-shrink:0; text-align:right; font-size:13px; color:#526276; font-variant-numeric:tabular-nums; }
.forum-category-count b { display:block; color:#18324d; font-size:20px; }
.forum-ranks { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.forum-ranks h2 { margin:0 0 8px; }
.forum-ranks p { max-width:72ch; color:#526276; line-height:1.65; }
.forum-tier-list { display:flex; flex-wrap:wrap; gap:12px 28px; margin:18px 0; padding:0; list-style:none; }
.forum-tier-list li { display:grid; gap:4px; font-size:13px; }
.forum-tier-list span { color:#526276; }
.forum-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:22px 0 16px; }
.forum-search { display:flex; gap:8px; align-items:end; }
.forum-search label { display:grid; gap:6px; font-size:13px; font-weight:600; }
.forum-main input,.forum-main textarea { border:1px solid #aebccd; border-radius:5px; background:#fff; color:#132b45; font:inherit; padding:11px 12px; max-width:100%; }
.forum-main input::placeholder,.forum-main textarea::placeholder { color:#667386; }
.forum-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:13px; }
.forum-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:#fff; }
.forum-table { width:100%; border-collapse:collapse; }
.forum-table th { padding:12px 16px; background:#14263b; color:#fff; text-align:left; font-size:12px; white-space:nowrap; }
.forum-table td { padding:17px 16px; border-bottom:1px solid #e6ebf1; font-size:13px; vertical-align:top; }
.forum-table tbody tr:last-child td { border-bottom:0; }
.forum-table tbody tr:hover { background:#f7fafc; }
.forum-table .topic-cell { width:50%; }
.forum-topic-link { font-weight:700; font-size:15px; color:#132b45; text-decoration:none; overflow-wrap:anywhere; }
.forum-topic-link:hover { color:#087575; text-decoration:underline; }
.forum-topic-meta { display:block; margin-top:6px; color:#526276; font-size:12px; }
.forum-tag { display:inline-block; padding:3px 7px; margin:0 6px 6px 0; border-radius:4px; color:#0b6462; background:#e1f2ef; font-size:11px; font-weight:700; }
.forum-tag.staff { color:#fff; background:#18324d; }
.forum-tag.hidden { color:#8a2330; background:#ffedf0; }
.forum-empty { padding:36px 22px; background:#fff; border:1px solid var(--line); border-radius:8px; line-height:1.65; }
.forum-notice { padding:16px 20px; margin:18px 0; border:1px solid #b9d6d2; background:#edf7f5; color:#174a47; border-radius:6px; line-height:1.6; }
.forum-error { color:#a02035; white-space:pre-wrap; }
.forum-post { display:grid; grid-template-columns:210px minmax(0,1fr); border:1px solid var(--line); background:#fff; margin:16px 0; border-radius:8px; overflow:hidden; }
.forum-post-author { padding:24px 20px; background:#f8fafc; border-right:1px solid var(--line); }
.forum-avatar { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#d7eee9; color:#17364b; font-weight:750; overflow:hidden; margin-bottom:12px; }
.forum-avatar img { width:100%; height:100%; object-fit:cover; }
.forum-author-name { display:block; font-weight:700; color:#16334e; overflow-wrap:anywhere; margin-bottom:8px; }
.forum-author-stats { display:grid; gap:5px; margin:12px 0 0; color:#526276; font-size:12px; line-height:1.5; }
.forum-post-content { padding:22px 24px; min-width:0; }
.forum-post-meta { display:flex; justify-content:space-between; gap:12px; color:#526276; font-size:12px; margin-bottom:25px; }
.forum-prose { max-width:75ch; min-height:80px; font-size:15px; line-height:1.8; overflow-wrap:anywhere; white-space:pre-wrap; }
.forum-prose a { color:#086e70; }
.forum-prose blockquote { margin:12px 0; padding:12px 16px; background:#f0f4f8; border:1px solid #dce5ef; border-radius:5px; color:#44586f; white-space:pre-wrap; }
.forum-post-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:28px; }
.forum-post-actions button { font-size:12px; min-height:36px; }
.forum-composer { background:#fff; padding:26px; border:1px solid var(--line); border-radius:8px; margin:24px 0; }
.forum-composer label { display:grid; gap:9px; font-size:15px; font-weight:650; margin-bottom:20px; }
.forum-composer textarea { width:100%; min-height:230px; resize:vertical; line-height:1.65; font-weight:400; border-radius:0 0 5px 5px; }
.forum-message-field { margin-bottom:20px; }
.forum-message-field label { margin-bottom:9px; }
.forum-message-field textarea { display:block; }
.forum-formatting { display:flex; flex-wrap:wrap; gap:5px; padding:7px; background:#f0f4f8; border:1px solid #aebccd; border-bottom:0; border-radius:5px 5px 0 0; }
.forum-formatting button { min-height:34px; padding:5px 12px; border:1px solid transparent; border-radius:4px; background:transparent; color:#16334e; cursor:pointer; font:inherit; font-size:13px; }
.forum-formatting button:hover { background:#fff; border-color:#b5c5d5; }
.forum-composer-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.forum-composer-help { color:#526276; font-size:12px; line-height:1.6; }
.forum-main [hidden] { display:none!important; }
@media(max-width:700px) {
 .forum-main { padding-top:24px; }
 .forum-heading { align-items:flex-start; flex-direction:column; gap:16px; }
 .forum-categories { grid-template-columns:1fr; padding-inline:16px; }
 .forum-category { gap:12px; padding:18px 0; }
 .forum-table th,.forum-table td { padding:12px; }
 .forum-table .activity-cell { display:none; }
 .forum-table .topic-cell { width:auto; }
 .forum-post { grid-template-columns:1fr; }
 .forum-post-author { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:12px; padding:16px; border-right:0; border-bottom:1px solid var(--line); }
 .forum-avatar { width:42px; height:42px; margin:0; grid-row:1 / 4; }
 .forum-author-stats { display:flex; flex-wrap:wrap; gap:5px 14px; margin-top:4px; }
 .forum-post-content { padding:18px 16px; }
 .forum-composer { padding:20px 16px; }
 .forum-search { width:100%; }
 .forum-search label { flex:1; min-width:0; }
 .forum-search input { width:100%; }
}
