/* Content-first forum layout: Montana colors and mark, compact community surfaces. */
.forum-surface {
 --forum-bg:#191919; --forum-card:#242424; --forum-card-soft:#202020;
 --forum-line:#343030; --forum-text:#d0cccc; --forum-muted:#969090; --forum-accent:#ce7777;
 background:var(--forum-bg); color:var(--forum-text);
}
.forum-surface #app { padding:24px 28px 28px; }
.forum-surface #forum-chrome { position:sticky; top:0; z-index:100; }
.forum-surface .forum-navbar { position:relative; background:#1c1c1cf7; border-bottom:1px solid #080808; box-shadow:0 3px 12px #0003; }
.forum-surface .forum-navbar-search { background:#252525; border:1px solid #080808; border-radius:4px; }
.forum-surface .forum-menu-toggle { background:#282424; border-color:#413434; }
.forum-surface .forum-side-menu { background:#1e1c1c; border-right:1px solid #0b0b0b; padding-top:20px; }
.forum-surface .forum-side-menu nav a { border-radius:4px; min-height:44px; }
.forum-surface .forum-side-menu nav a[aria-current] { background:#3a2222; border-color:#583232; }
.forum-surface .forum-menu-community { background:#252121; padding:16px 12px; margin-top:26px; }
.forum-surface .forum-menu-community p { font-size:14px; line-height:1.65; }
.forum-surface .forum-menu-bottom { gap:10px; }
.forum-page { font-family:var(--forum-font); }
.forum-page .forum-section-kicker { font:9px/1.6 var(--forum-font); letter-spacing:1.8px; margin:0 0 9px; color:#ac7777; }
.forum-page .forum-welcome { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 18px; border:1px solid #080808; border-left:3px solid #9e3434; border-radius:5px; background:#282020; min-height:132px; }
.forum-page .forum-welcome:before { opacity:.1; background:linear-gradient(90deg,#201a1a,#201a1a70),url('/images/carousel/map.webp') center/cover; }
.forum-page .forum-welcome-copy { padding:22px 26px; }
.forum-page .forum-welcome h1 { font:20px/1.8 var(--pixel); color:#d9d1d1; letter-spacing:0; margin:0 0 6px; }
.forum-page .forum-welcome-copy>p:not(.forum-section-kicker) { font:13px/1.6 var(--forum-font); margin:0; color:#a79e9e; }
.forum-page .forum-welcome-actions { margin:0; padding:20px 26px; display:flex; flex-direction:column; gap:10px; align-items:flex-end; flex-shrink:0; }
.forum-page .forum-welcome .button,.forum-page .forum-heading>.button { font:13px/1.5 var(--forum-font); min-height:40px; border:1px solid #af4141; background:#892727; color:#f3e7e7; padding:10px 16px; border-radius:4px; }
.forum-page .forum-welcome-actions>a:not(.button) { font-size:12px; color:#ad9696; }
.forum-activity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
.forum-stream { min-width:0; display:flex; flex-direction:column; border:1px solid #090909; border-radius:5px; overflow:hidden; background:var(--forum-card); }
.forum-stream-tabs,.forum-stream-heading { display:flex; align-items:center; min-height:44px; gap:0; padding:0 14px; border-bottom:1px solid var(--forum-line); background:#262424; }
.forum-page .forum-stream-tabs button[role=tab] { padding:13px 12px; margin:0 0 -1px; min-height:44px; border:0; border-bottom:2px solid transparent; border-radius:0; background:none; font:13px var(--forum-font); color:#999; text-transform:none; letter-spacing:0; transform:none; }
.forum-page .forum-stream-tabs button[aria-selected=true] { color:#db9c9c; border-bottom-color:#a64a4a; }
.forum-stream-heading { gap:10px; padding:0 22px; }.forum-stream-heading svg { width:17px; height:17px; color:#a36d6d; }
.forum-page .forum-stream-heading h2 { font:500 13px var(--forum-font); margin:0; color:#bdb3b3; }
.forum-stream-list { list-style:none; margin:0; padding:7px 14px; min-height:150px; }
.forum-stream-list li { display:grid; grid-template-columns:28px minmax(0,1fr) 34px 74px; align-items:center; gap:9px; padding:8px 0; min-height:48px; border-bottom:1px solid #302b2b; }
.forum-stream-list li:last-child { border-bottom:0; }.forum-stream-list li>div { min-width:0; }
.forum-stream-list a { display:block; font:13px/1.5 var(--forum-font); color:#cdc5c5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.forum-stream-list a>svg { width:12px; height:12px; margin-right:5px; color:#b87878; vertical-align:middle; }
.forum-stream-list small { display:block; font:10px/1.5 var(--forum-font); color:#827878; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.forum-stream-list time { text-align:right; font:10px/1.5 var(--forum-font); color:#8d8282; }
.forum-stream-count { display:flex; align-items:center; justify-content:flex-end; gap:4px; font-size:11px; color:#8d8282; }.forum-stream-count svg { width:12px; height:12px; }
.forum-mini-avatar { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#614040; color:#c6a9a9; font:13px var(--forum-font); flex-shrink:0; }
.forum-stream-list li:nth-child(even) .forum-mini-avatar { background:#3c4845; color:#a3b7ae; }
.forum-stream-empty { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:18px 24px; min-height:150px; font:13px/1.6 var(--forum-font); text-align:center; color:#938a8a; }
.forum-stream-empty>svg { width:26px; height:26px; margin:0 0 10px; color:#775656; }.forum-stream-empty p { margin:0 0 9px; }.forum-stream-empty a { font-size:12px; color:#c18181; }
.forum-stream-more { margin-top:auto; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #343030; padding:9px 20px; font:11px var(--forum-font); color:#a58484; background:#222020; }
.forum-page .forum-view-tabs { gap:24px; border-bottom:1px solid #393131; margin:0 0 18px; }
.forum-page .forum-view-tabs a { min-height:42px; font-size:13px; color:#a49a9a; }.forum-page .forum-view-tabs a[aria-current] { color:#ddd; border-color:#a34949; }
.forum-surface .forum-directory-layout { grid-template-columns:minmax(0,1fr) 236px; gap:20px; }
.forum-page .forum-directory-group { border:1px solid #080808; border-radius:5px; background:var(--forum-card); margin:0 0 18px; overflow:hidden; }
.forum-directory-group>summary { display:flex; align-items:center; gap:10px; padding:13px 18px; cursor:pointer; list-style:none; background:linear-gradient(95deg,#3d1c1c,#292424 65%); border-bottom:1px solid #090909; }
.forum-directory-group>summary::-webkit-details-marker { display:none; }
.forum-directory-group>summary>svg { width:17px; height:17px; color:#b07575; flex-shrink:0; }
.forum-page .forum-directory-group>summary h2 { font:500 14px/1.5 var(--forum-font); color:#cfc4c4; margin:0; flex:1; min-width:0; }
.forum-directory-group>summary small { color:#997d7d; font:10px var(--forum-font); white-space:nowrap; }
.forum-group-chevron { color:#a78888; font:19px var(--forum-font); margin-left:8px; transform:rotate(180deg); }.forum-directory-group[open] .forum-group-chevron { transform:none; }
.forum-surface .forum-board-row { display:grid; grid-template-columns:34px minmax(0,1fr) 94px minmax(130px,23%); padding:17px 18px; gap:14px; align-items:center; border-bottom:1px solid #343030; }
.forum-board-row:last-child { border-bottom:0; }.forum-board-row:hover { background:#292626; }
.forum-page .forum-board-icon { width:34px; height:34px; background:transparent; border:0; color:#b27474; }.forum-page .forum-board-icon svg { width:25px; height:25px; }
.forum-page .forum-board-info h3 { font:600 15px/1.4 var(--forum-font); color:#d1caca; margin:0 0 4px; }
.forum-page .forum-board-info p { font:12px/1.5 var(--forum-font); color:#928a8a; margin:0; }
.forum-page .forum-board-counts { display:flex; gap:14px; font:10px var(--forum-font); justify-content:center; }
.forum-board-counts dd { font:13px var(--forum-font); color:#bdb2b2; }.forum-board-counts dt { color:#817777; }
.forum-surface .forum-board-latest { grid-column:auto; display:flex; align-items:center; gap:8px; border-left:1px solid #383131; padding-left:12px; min-width:0; font:11px/1.5 var(--forum-font); }
.forum-board-latest>div { min-width:0; }.forum-board-latest a { display:block; font-size:12px; color:#bfb4b4; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.forum-board-latest small { display:block; font:10px/1.5 var(--forum-font); color:#877c7c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.forum-board-no-post { display:flex; align-items:center; gap:7px; color:#7e7474; font-size:11px; }.forum-board-no-post svg { width:15px; height:15px; flex-shrink:0; }
.forum-page .forum-community-sidebar .panel { border:1px solid #080808; border-radius:5px; background:#232222; padding:18px; margin-bottom:18px; }
.forum-page .forum-community-sidebar h2 { font:500 13px/1.5 var(--forum-font); margin:0 0 14px; color:#bfb3b3; }
.forum-page .forum-statistics { font-size:12px; }.forum-page .forum-statistics>div { padding:8px 0; border-color:#353030; }
.forum-page .forum-rules summary { font:500 13px/1.5 var(--forum-font); color:#b5aaaa; }.forum-page .forum-rules p { font-size:12px; }
.forum-page .forum-recent-list strong { font:500 13px/1.5 var(--forum-font); color:#c5b5b5; }.forum-page .forum-recent-list span,.forum-page .forum-recent-list small { font:11px/1.5 var(--forum-font); }
.forum-page .forum-activity-empty>svg { width:26px; height:26px; margin-bottom:12px; }.forum-page .forum-activity-empty strong { font-size:13px; }.forum-page .forum-activity-empty p { font-size:12px; margin:8px 0 12px; }
.forum-page .forum-heading { padding-bottom:18px; gap:18px; }.forum-page .forum-heading h1 { font:500 25px/1.45 var(--forum-font); color:#d3cccc; margin:0 0 7px; letter-spacing:0; }
.forum-page .forum-heading>div>p:last-child { font-size:13px; color:#968d8d; }
.forum-page .forum-results { background:#242222; border:1px solid #080808; border-radius:5px; padding:12px 15px; margin:0 0 16px; gap:14px; }
.forum-page .forum-results select { min-height:38px; padding:7px 10px; font:12px var(--forum-font); background:#202020; border:1px solid #3b3333; border-radius:3px; }
.forum-page .forum-listing-layout>section>h2 { font:500 15px var(--forum-font); color:#bfb6b6; margin:18px 0 6px; }.forum-page .forum-listing-layout>section>p.muted { font:12px/1.5 var(--forum-font); margin-bottom:15px; }
.forum-page .topic-list { border:1px solid #080808; border-radius:5px; background:#242424; }
.forum-topic-columns { display:grid; grid-template-columns:minmax(0,1fr) 66px 170px; gap:18px; padding:11px 18px 11px 64px; background:#282424; border-bottom:1px solid #383030; font:11px var(--forum-font); color:#9b8686; }
.forum-page .forum-topic-row { grid-template-columns:32px minmax(0,1fr) 66px 170px; gap:14px; align-items:center; padding:16px 18px; border-bottom:1px solid #353030; }.forum-topic-row:last-child { border-bottom:0; }
.forum-page .forum-topic-row.is-pinned { box-shadow:inset 3px 0 #9d4242; background:#292323; }
.forum-page .forum-topic-row .topic-icon { width:32px; height:32px; border:0; border-radius:50%; font:15px var(--forum-font); background:#634141; color:#d3b4b4; }
.forum-page .forum-topic-row .topic-info h3 { font:500 15px/1.5 var(--forum-font); color:#d6cbcb; margin:0 0 5px; }.topic-info h3 svg { display:inline; width:14px; height:14px; margin-right:6px; vertical-align:middle; color:#b67878; }
.forum-page .forum-topic-row .topic-info p { font:11px/1.6 var(--forum-font); color:#958989; margin:0; }.topic-info p a { color:#a87979; }
.topic-row-status { display:flex; gap:6px; margin-top:6px; }.forum-page .topic-row-status .badge { font:10px var(--forum-font); padding:3px 6px; border:1px solid #633f3f; background:#302525; border-radius:3px; color:#bf9292; }
.forum-page .topic-stat strong { font:14px var(--forum-font); color:#c4b7b7; }.forum-page .topic-stat small { display:block; font:10px var(--forum-font); color:#847777; margin-top:4px; }
.forum-page .topic-last-activity { display:flex; gap:8px; align-items:center; min-width:0; }.topic-last-activity>div { min-width:0; }.forum-page .topic-last-activity strong { display:block; font:12px/1.5 var(--forum-font); color:#baa7a7; }.forum-page .topic-last-activity time { font:11px/1.5 var(--forum-font); color:#877979; }
.forum-page .breadcrumbs { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 0 18px; font:12px var(--forum-font); color:#8d7474; }.forum-page .breadcrumbs a { color:#bbaaaa; }
.forum-page .forum-thread-heading { margin-bottom:22px; }.forum-page .forum-thread-heading h1 { font:500 26px/1.5 var(--forum-font); color:#d4cccc; }
.forum-page .forum-post { grid-template-columns:154px minmax(0,1fr); border:1px solid #080808; border-radius:5px; background:#242424; margin-bottom:18px; scroll-margin-top:calc(var(--forum-header-height) + 20px); }
.forum-page .forum-post-author { background:#222020; border-right:1px solid #353030; padding:22px 14px; gap:11px; }
.forum-page .forum-post-author .avatar { width:70px; height:70px; border-radius:50%; border:1px solid #794646; background:linear-gradient(135deg,#703838,#352828); color:#dbb6b6; font:26px var(--forum-font); }
.forum-page .forum-post-author>strong { font:500 13px/1.5 var(--forum-font); color:#c5b3b3; overflow-wrap:anywhere; }.forum-page .forum-author-role { font:11px/1.5 var(--forum-font); color:#9b8686; }.forum-page .forum-author-role.is-staff { background:#3b2525; color:#cf9292; border:1px solid #663535; padding:4px 7px; border-radius:3px; }
.forum-page .forum-post-content { padding:18px 22px; min-height:180px; }.forum-page .post-meta { border-bottom:1px solid #353030; padding:0 0 12px; margin:0 0 18px; font:11px var(--forum-font); color:#8c7a7a; }.post-meta>div { display:flex; align-items:center; gap:14px; }
.forum-page .post-meta button { padding:0!important; background:none!important; border:0!important; min-height:24px!important; font:11px var(--forum-font)!important; color:#a88686!important; }.forum-post-number { color:#aa8d8d!important; }
.forum-page .post-body,.forum-page .forum-message { font:14px/1.8 var(--forum-font); color:#c2baba; }.forum-page .forum-message p { margin:0 0 15px; }
.forum-page .forum-message blockquote { margin:0 0 18px; padding:14px 18px; font:13px/1.7 var(--forum-font); background:#292323; border:1px solid #503535; border-left:3px solid #a65757; color:#bca8a8; border-radius:3px; }
.forum-page .forum-post-actions { border-top:1px solid #353030; padding-top:10px; margin-top:20px; }.forum-page .forum-post-actions button { font:12px var(--forum-font); color:#b79090; }
.forum-page .replies-heading { font:500 15px var(--forum-font); color:#bfb0b0; margin:24px 0 15px; }
.forum-page .forum-reply-composer,.forum-page .panel:not(.forum-community-sidebar .panel) { border:1px solid #080808; border-radius:5px; background:#242222; }
.forum-page .forum-reply-composer h2,.forum-page #topic-form { font-family:var(--forum-font); }.forum-page .forum-reply-composer h2 { font-size:16px; }
.forum-page .forum-editor-tabs { background:#292424; border-color:#463333; }.forum-page .forum-editor-tabs button { font:12px var(--forum-font); border-radius:0; }.forum-page .forum-editor-tabs button[aria-pressed=true] { border-bottom-color:#ab5959; color:#d8afaf; }
.forum-page .forum-editor textarea { font:14px/1.8 var(--forum-font); border:1px solid #483838; background:#202020; border-radius:0 0 4px 4px; padding:16px; min-height:180px; }.forum-page .forum-editor-hint { font:11px var(--forum-font); color:#8b7878; }
.forum-surface .forum-footer { margin-top:30px; padding:30px 28px 16px; background:#1c1b1b; }.forum-surface .forum-footer .footer-content { margin-bottom:22px; }.forum-surface .forum-footer .footer-logo { margin-top:12px; }.forum-surface .forum-footer .footer-title { font-size:12px; margin-bottom:14px; }.forum-surface .forum-footer .footer-links a { font-size:12px; }
@media(max-width:1250px) {
 .forum-surface .forum-directory-layout { grid-template-columns:minmax(0,1fr) 215px; gap:16px; }
 .forum-surface .forum-board-row { grid-template-columns:30px minmax(0,1fr) 80px; gap:12px; padding:16px; }
 .forum-surface .forum-board-latest { grid-column:2/4; border-left:0; padding-left:0; }.forum-board-latest .forum-mini-avatar { width:20px; height:20px; font-size:10px; }
 .forum-page .forum-topic-row { grid-template-columns:30px minmax(0,1fr) 48px; gap:12px; }.forum-page .topic-last-activity { grid-column:2/4; }.forum-topic-columns { grid-template-columns:minmax(0,1fr) 48px; padding-left:60px; }.forum-topic-columns>span:last-child { display:none; }
 .forum-stream-list li { grid-template-columns:24px minmax(0,1fr) 28px; gap:7px; }.forum-stream-list time { display:none; }
}
@media(max-width:1000px) {
 .forum-surface .forum-directory-layout { grid-template-columns:1fr; }.forum-surface .forum-community-sidebar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.forum-surface .forum-community-sidebar .panel { margin:0; }.forum-surface .forum-community-sidebar .forum-rules { grid-column:auto; }
 .forum-page .forum-welcome h1 { font-size:17px; }.forum-page .forum-welcome-copy { padding:20px; }.forum-page .forum-welcome-actions { padding:16px 20px; }
}
@media(max-width:650px) {
 .forum-surface #app { padding:18px 14px 24px; }.forum-page .forum-welcome { flex-direction:column; align-items:flex-start; gap:0; min-height:0; }.forum-page .forum-welcome-copy { padding:18px 18px 10px; }.forum-page .forum-welcome h1 { font-size:15px; line-height:1.8; }.forum-page .forum-welcome-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:16px; padding:8px 18px 18px; }.forum-page .forum-welcome .button { font-size:12px; }
 .forum-activity-grid { grid-template-columns:1fr; gap:14px; }.forum-stream-list li { grid-template-columns:26px minmax(0,1fr) 30px; }.forum-stream-list small { font-size:11px; }.forum-stream-empty { min-height:120px; }
 .forum-page .forum-view-tabs { gap:22px; margin-bottom:16px; }.forum-page .forum-view-tabs a { min-height:44px; font-size:12px; }
 .forum-directory-group>summary { gap:9px; padding:12px 14px; }.forum-page .forum-directory-group>summary h2 { font-size:13px; }.forum-directory-group>summary small { display:none; }
 .forum-surface .forum-board-row { grid-template-columns:28px minmax(0,1fr); padding:16px 14px; gap:10px; }.forum-page .forum-board-info h3 { font-size:15px; }.forum-page .forum-board-info p { font-size:12px; }.forum-surface .forum-board-latest { grid-column:2; }.forum-page .forum-board-counts { grid-column:2; justify-content:flex-start; gap:16px; }.forum-board-counts>div { flex-direction:row; gap:5px; }.forum-board-counts dd { font-size:12px; order:0; }
 .forum-surface .forum-community-sidebar { grid-template-columns:1fr; gap:14px; }.forum-surface .forum-community-sidebar .forum-rules { grid-column:auto; }
 .forum-page .forum-heading h1 { font-size:22px; }.forum-topic-columns { display:none; }.forum-page .forum-topic-row { grid-template-columns:28px minmax(0,1fr); padding:14px; gap:10px; }.forum-page .topic-stat { grid-column:2; display:flex; align-items:center; gap:6px; text-align:left; }.forum-page .topic-stat small { margin:0; }.forum-page .topic-last-activity { grid-column:2; }.forum-page .forum-topic-row .topic-info h3 { font-size:15px; }
 .forum-page .forum-post { grid-template-columns:1fr; }.forum-page .forum-post-author { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; border-right:0; border-bottom:1px solid #353030; padding:12px 14px; gap:9px; }.forum-page .forum-post-author .avatar { width:36px; height:36px; font-size:15px; }.forum-page .forum-post-author>strong { font-size:13px; }.forum-page .forum-author-role { font-size:10px; }.forum-page .forum-post-content { padding:15px; }.forum-page .forum-thread-heading h1 { font-size:22px; }.forum-page .forum-editor textarea { font-size:16px; }.forum-page .post-meta { font-size:10px; gap:8px; }
 .forum-surface .forum-footer { padding:26px 20px 14px; }.forum-surface .forum-footer .footer-content { gap:24px; }
}
@media(prefers-reduced-motion:reduce) { .forum-group-chevron { transition:none; } }
