/* Fortunia: shared public interface */
:root {
  color-scheme: light;
  --bs-body-bg-rgb: 245, 243, 239;
  --ft-bg: #f5f3ef;
  --ft-bg-deep: #eae5dc;
  --ft-surface: #ffffff;
  --ft-surface-2: #faf8f4;
  --ft-surface-3: #f0ece5;
  --ft-hover: #fffaf2;
  --ft-text: #272822;
  --ft-text-2: #56594e;
  --ft-muted: #6c7064;
  --ft-faint: #73766c;
  --ft-border: #e6e3db;
  --ft-border-2: #d3d0c6;
  --ft-orange: #ff942f;
  --ft-orange-2: #ffac58;
  --ft-orange-3: #a84a0b;
  --ft-orange-soft: #fff3e7;
  --ft-ink: #1e251f;
  --ft-ink-2: #29332b;
  --ft-blue: #2869a2;
  --ft-green: #23774c;
  --ft-red: #bc3544;
  --ft-yellow: #ad740f;
  --ft-radius: 16px;
  --ft-radius-sm: 9px;
  --ft-container: 1320px;
  --ft-focus: 0 0 0 3px rgb(255 138 24 / 22%);
  --ft-shadow-dropdown: 0 8px 28px rgb(20 24 30 / 13%);
  --ft-forum-grid: 56px minmax(0, 1fr) 128px 240px;
  --ft-thread-grid: minmax(0, 1fr) 86px 76px 224px;
  /* Existing admin tokens share the same palette. */
  --ft-page: var(--ft-bg);
  --ft-brand: var(--ft-orange);
  --ft-brand-hover: var(--ft-orange-2);
  --ft-brand-strong: var(--ft-orange-3);
  --ft-brand-soft: var(--ft-orange-soft);
  --ft-ember: var(--ft-orange);
  --ft-surface-muted: var(--ft-surface-2);
  --ft-surface-soft: var(--ft-surface-3);
  --ft-surface-hover: var(--ft-hover);
  --ft-border-strong: var(--ft-border-2);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --bs-body-bg-rgb: 21, 27, 23;
  --ft-bg: #151b17;
  --ft-bg-deep: #101611;
  --ft-surface: #1e2721;
  --ft-surface-2: #242e27;
  --ft-surface-3: #2d3930;
  --ft-hover: #29352b;
  --ft-text: #f1f1e9;
  --ft-text-2: #c9cec3;
  --ft-muted: #a6b09f;
  --ft-faint: #949eae;
  --ft-border: #344036;
  --ft-border-2: #48564a;
  --ft-orange: #ff951f;
  --ft-orange-2: #ffae4d;
  --ft-orange-3: #ffad58;
  --ft-orange-soft: #33291f;
  --ft-blue: #458fce;
  --ft-green: #65c895;
  --ft-red: #f4808e;
  --ft-yellow: #dca847;
}
* { box-sizing: border-box; }
html { min-height: 100%; scroll-padding-top: 16px; }
body {
  --bs-body-bg: var(--ft-bg);
  --bs-body-color: var(--ft-text);
  --bs-secondary-color: var(--ft-muted);
  --bs-border-color: var(--ft-border);
  min-height: 100vh;
  margin: 0;
  background: var(--ft-bg) !important;
  color: var(--ft-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
html[data-theme] {
  --bs-body-bg: var(--ft-bg);
  --bs-body-color: var(--ft-text);
  --bs-emphasis-color: var(--ft-text);
  --bs-secondary-color: var(--ft-muted);
  --bs-tertiary-bg: var(--ft-surface-2);
  --bs-border-color: var(--ft-border);
}
a { color: var(--ft-orange-3); text-decoration: none; }
a:hover { color: var(--ft-orange-3); text-decoration: underline; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
:focus-visible { outline: 2px solid var(--ft-orange-3); outline-offset: 3px; }
.ft-icon { width: 18px; height: 18px; flex-shrink: 0; vertical-align: middle; }
.forum-container { width: min(100% - 48px, var(--ft-container)); margin-inline: auto; }
.forum-page { padding: 26px 0 56px; min-height: calc(100vh - 245px); }
.skip-link { position: absolute; z-index: 1200; left: 16px; top: -100px; padding: 10px 16px; background: var(--ft-surface); }
.skip-link:focus { top: 8px; }

/* Buttons and fields */
.btn {
  --bs-btn-border-radius: var(--ft-radius-sm);
  --bs-btn-font-weight: 600;
  --bs-btn-padding-y: .65rem;
  --bs-btn-padding-x: 1rem;
  font-size: 13px;
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  box-shadow: none;
}
.btn-sm { --bs-btn-padding-y: .34rem; --bs-btn-padding-x: .65rem; font-size: 12px; }
.btn-primary {
  --bs-btn-color: #2b1908;
  --bs-btn-bg: var(--ft-orange);
  --bs-btn-border-color: var(--ft-orange);
  --bs-btn-hover-color: #2b1908;
  --bs-btn-hover-bg: var(--ft-orange-2);
  --bs-btn-hover-border-color: var(--ft-orange-2);
  --bs-btn-active-color: #2b1908;
  --bs-btn-active-bg: var(--ft-orange-2);
  --bs-btn-active-border-color: var(--ft-orange-2);
}
.btn-outline-secondary, .btn-outline {
  --bs-btn-color: var(--ft-text-2);
  --bs-btn-border-color: var(--ft-border-2);
  --bs-btn-hover-color: var(--ft-text);
  --bs-btn-hover-bg: var(--ft-surface-3);
  --bs-btn-hover-border-color: var(--ft-border-2);
  --bs-btn-active-bg: var(--ft-surface-3);
  --bs-btn-active-color: var(--ft-text);
  background: var(--ft-surface);
}
.form-control, .form-select {
  min-height: 40px; border-color: var(--ft-border-2); border-radius: var(--ft-radius-sm);
  background-color: var(--ft-surface); color: var(--ft-text); font-size: 14px;
}
.form-control:focus, .form-select:focus {
  border-color: var(--ft-orange); background: var(--ft-surface); color: var(--ft-text); box-shadow: var(--ft-focus);
}
.form-control::placeholder { color: var(--ft-faint); }
.form-select { --bs-form-select-bg-img: none; appearance: auto; padding-right: 12px; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--ft-orange); }
label { color: var(--ft-text-2); font-weight: 500; }
.alert, .card { border-radius: var(--ft-radius); }
.card { border-color: var(--ft-border); background: var(--ft-surface); color: var(--ft-text); }
.table { --bs-table-bg: var(--ft-surface); --bs-table-color: var(--ft-text); --bs-table-border-color: var(--ft-border); --bs-table-hover-bg: var(--ft-hover); }
.badge { border-radius: 4px; font-weight: 600; }
.text-secondary { color: var(--ft-muted) !important; }
.bg-body-tertiary { background: var(--ft-surface-2) !important; }

/* Brand and configurable navigation */
.forum-header { background: var(--ft-surface); color: var(--ft-text); }
.brandbar-inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.forum-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--ft-text); flex-shrink: 0; }
.forum-logo:hover { color: var(--ft-text); text-decoration: none; }
.forum-logo-mark { width: 56px; height: 56px; object-fit: contain; }
.forum-logo-text strong { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 850; letter-spacing: -.04em; }
.forum-logo-text > span { display: block; color: var(--ft-muted); font-size: 11px; }
.brand-forum { padding: 4px 7px; border: 1px solid var(--ft-border); border-radius: 5px; color: var(--ft-orange-3); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.brandbar-tools { display: flex; align-items: center; justify-content: flex-end; gap: 20px; min-width: 0; }
.forum-nav { padding: 0; background: var(--ft-ink); }
.forum-nav > .forum-container { min-height: 58px; padding: 0; gap: 16px; }
.forum-header .navbar-nav { align-items: center; gap: 6px; }
.forum-header .nav-link, .theme-toggle { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 10px 13px; border: 0; border-radius: 8px; background: transparent; color: var(--ft-text-2); font-size: 13px; font-weight: 550; transition: color 140ms ease, background-color 140ms ease; }
.forum-header .nav-link:hover, .theme-toggle:hover { background: var(--ft-surface-3); color: var(--ft-text); text-decoration: none; }
.forum-nav .nav-link { color: #c7d0c3; white-space: nowrap; }
.forum-nav .nav-link:hover { background: #303d32; color: #fff; }
.forum-nav .nav-link.active { background: #384133; color: #ffbd7e; }
.forum-nav .nav-link .ft-icon { width: 16px; height: 16px; }
.forum-account-nav { flex-direction: row; margin: 0; }
.forum-account-nav .dropdown { max-width: 200px; }
.forum-account-nav .dropdown-toggle { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: left; }
.nav-count { padding: 1px 5px; border-radius: 5px; background: #bd3c43; color: #fff; font-size: 10px; }
.nav-register { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 9px; background: var(--ft-orange); color: #2b1908; font-size: 12px; font-weight: 700; white-space: nowrap; }
.nav-register:hover { background: var(--ft-orange-2); color: #2b1908; text-decoration: none; }
.forum-search { display: flex; align-items: center; width: 250px; height: 40px; border: 1px solid var(--ft-border); border-radius: 9px; background: var(--ft-surface-2); }
.forum-search:focus-within { border-color: var(--ft-orange); box-shadow: var(--ft-focus); }
.forum-search input { min-width: 0; width: 100%; padding: 7px 12px; border: 0; outline: none; background: transparent; color: var(--ft-text); font-size: 12px; box-shadow: none; }
.forum-search input::placeholder { color: var(--ft-muted); }
.forum-search button { display: grid; place-items: center; padding: 8px 10px; border: 0; background: transparent; color: var(--ft-muted); }
.forum-search button:hover { color: var(--ft-orange-3); }
.navbar-toggler { display: inline-flex; align-items: center; gap: 8px; padding: 8px; border: 0; color: #fff; font-size: 13px; }
.navbar-toggler-icon { width: 20px; height: 20px; }
.nav-server-link { display: inline-flex; align-items: center; gap: 9px; margin-left: auto; color: #c7d0c3; font-size: 12px; white-space: nowrap; }
.nav-server-link:hover { color: #ffbd7e; text-decoration: none; }
.dropdown-menu { --bs-dropdown-link-active-bg: var(--ft-orange-soft); border-color: var(--ft-border); border-radius: 6px; background: var(--ft-surface); box-shadow: var(--ft-shadow-dropdown); padding: 6px; }
.dropdown-item { padding: 7px 10px; border-radius: 4px; color: var(--ft-text); font-size: 13px; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--ft-surface-3); color: var(--ft-text); text-decoration: none; }
.dropdown-divider { border-top-color: var(--ft-border); }
.forum-secondary-nav { border-bottom: 1px solid var(--ft-border); background: var(--ft-surface); }
.forum-secondary-nav > .forum-container { min-height: 36px; display: flex; align-items: center; gap: 24px; overflow-x: auto; }
.forum-secondary-nav a { flex-shrink: 0; color: var(--ft-muted); font-size: 12px; }
.forum-secondary-nav a:hover { color: var(--ft-orange-3); }

/* Page structure */
.forum-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; color: var(--ft-muted); font-size: 12px; }
.forum-breadcrumb a { color: var(--ft-muted); }
.page-eyebrow { display: block; margin-bottom: 4px; color: var(--ft-orange-3); font-size: 10px; font-weight: 650; letter-spacing: .12em; }
.page-heading, .thread-heading, .forum-index-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.page-heading h1, .thread-heading h1, .forum-index-heading h1, .member-title h1, .classic-form > h1, .public-form-header h1, .board-copy h1, .topic-hero h1 { margin: 0; font-size: clamp(23px, 2vw, 28px); line-height: 1.25; font-weight: 700; letter-spacing: -.035em; }
.page-heading p, .thread-heading p, .forum-index-heading p, .member-title p, .classic-form > p, .public-form-header p, .board-copy p, .topic-hero p { margin: 6px 0 0; color: var(--ft-muted); font-size: 13px; }
.page-actions, .form-actions, .public-form-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.page-actions form { margin: 0; }
.forum-layout, .member-layout { display: grid; grid-template-columns: minmax(0, 1fr) 292px; align-items: start; gap: 24px; }
.forum-main-column { min-width: 0; }
.forum-sidebar, .member-sidebar { display: grid; gap: 16px; min-width: 0; }
.forum-section, .thread-list, .sidebar-widget, .forum-post, .quick-reply, .classic-form, .public-form, .member-header, .member-content, .member-directory, .reply-notice, .forum-empty, .search-results, .notif-card, .notif-hero, .staff-case { border: 1px solid var(--ft-border); border-radius: var(--ft-radius); background: var(--ft-surface); color: var(--ft-text); }
.forum-section, .thread-list, .sidebar-widget, .forum-post, .quick-reply, .classic-form, .public-form, .member-content, .member-directory, .search-results { overflow: hidden; }

/* Forum rows share one grid and one surface. */
.forum-section { margin-bottom: 24px; }
.forum-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; padding: 16px 20px; border-bottom: 1px solid var(--ft-border); background: var(--ft-surface); color: var(--ft-text); }
.forum-section-title h2 { margin: 0; font-size: 16px; font-weight: 750; letter-spacing: -.025em; }
.forum-section-title p { margin: 2px 0 0; color: var(--ft-muted); font-size: 12px; }
.forum-section-title > .ft-icon { color: var(--ft-orange-3); }
.forum-section-title.neutral { border-left: 0; border-bottom: 1px solid var(--ft-border); background: var(--ft-surface-2); color: var(--ft-text); }
.forum-section-title > a { display: flex; align-items: center; gap: 6px; color: var(--ft-muted); font-size: 12px; }
.forum-section-title > a .ft-icon { width: 14px; height: 14px; }
.forum-section-columns { display: grid; grid-template-columns: 56px minmax(0, 1fr) 64px 64px 240px; align-items: center; min-height: 30px; border-bottom: 1px solid var(--ft-border); background: var(--ft-surface-2); color: var(--ft-muted); font-size: 10px; }
.forum-section-columns span { text-align: center; }
.forum-section-columns span:first-child { grid-column: 1 / 3; padding-left: 18px; text-align: left; }
.forum-section-columns span:last-child { padding-left: 16px; text-align: left; }
.forum-row { position: relative; display: grid; grid-template-columns: var(--ft-forum-grid); min-height: 110px; border-bottom: 1px solid var(--ft-border); transition: background-color 140ms ease; }
.forum-row:last-child { border-bottom: 0; }
.forum-row:hover, .thread-row:hover { background: var(--ft-hover); }
.forum-row.is-unread::before, .thread-row.is-unread::before { content: ""; position: absolute; inset: 14px auto 14px 0; width: 3px; border-radius: 0 3px 3px 0; background: var(--ft-orange); }
.forum-row-icon { display: grid; place-items: center; align-self: center; width: 40px; height: 44px; margin-left: 12px; border-radius: 12px; background: var(--ft-orange-soft); color: var(--ft-orange-3); }
.forum-row-icon .ft-icon { width: 23px; height: 23px; }
.forum-row-main { min-width: 0; align-self: center; padding: 14px 12px 14px 8px; }
.forum-title-line { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.forum-row-main h3 { margin: 0; font-size: 15px; font-weight: 650; line-height: 1.4; }
.forum-row-main h3 a { color: var(--ft-text); }
.forum-row-main h3 a:hover { color: var(--ft-orange-3); }
.forum-row-main p { margin: 4px 0 0; color: var(--ft-muted); font-size: 12px; line-height: 1.5; }
.forum-row-counts { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin: 0; text-align: center; }
.forum-row-counts dt { display: none; }
.forum-row-counts dd { margin: 0; color: var(--ft-text-2); font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; }
.forum-row-last { display: flex; align-items: center; gap: 10px; min-width: 0; margin-block: 14px; padding: 0 14px; border-left: 1px solid var(--ft-border); }
.last-copy { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.last-copy > a, .last-copy > span, .last-copy time { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.last-topic { color: var(--ft-text); font-size: 12px; font-weight: 600; }
.last-copy > span, .last-copy time { color: var(--ft-muted); font-size: 11px; }
.last-copy > span a { color: var(--ft-muted); }
.last-avatar, .discussion-avatar { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border: 1px solid var(--ft-border); border-radius: 7px; background: var(--ft-surface-3); color: var(--ft-text-2); font-size: 13px; font-weight: 600; }
.last-avatar.small { width: 30px; height: 30px; }
.state-label { display: inline-flex; align-items: center; padding: 2px 5px; border-radius: 3px; background: var(--ft-orange-soft); color: var(--ft-orange-3); font-size: 10px; font-weight: 600; line-height: 1.3; }
.state-label.danger { background: color-mix(in srgb, var(--ft-red) 12%, var(--ft-surface)); color: var(--ft-red); }
.discussion-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--ft-border); }
.discussion-row:last-child { border-bottom: 0; }
.discussion-row:hover { background: var(--ft-hover); }
.discussion-title { display: block; color: var(--ft-text); font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.discussion-meta { display: block; margin-top: 2px; color: var(--ft-muted); font-size: 11px; }
.discussion-row time { color: var(--ft-muted); font-size: 11px; }

/* Community sidebar */
.sidebar-widget h2, .member-content > h2, .quick-reply h2 { display: flex; align-items: center; gap: 8px; margin: 0; padding: 13px 16px; border-bottom: 1px solid var(--ft-border); color: var(--ft-text); font-size: 13px; font-weight: 600; }
.sidebar-widget h2 .ft-icon { width: 16px; height: 16px; color: var(--ft-muted); }
.community-widget { padding: 20px; }
.community-widget > img { display: block; margin-bottom: 12px; }
.community-widget h2 { padding: 0; border: 0; font-size: 16px; letter-spacing: -.02em; }
.community-widget > p { margin: 8px 0 14px; color: var(--ft-muted); font-size: 12px; }
.community-address { display: flex; align-items: center; gap: 8px; color: var(--ft-orange-3); font-size: 13px; font-weight: 600; }
.community-widget > .btn { width: 100%; margin-top: 18px; }
.compact-topic-list article, .profile-activity { padding: 12px 16px; border-bottom: 1px solid var(--ft-border); }
.compact-topic-list article:last-child, .profile-activity:last-child { border-bottom: 0; }
.compact-topic-list article:hover, .profile-activity:hover { background: var(--ft-hover); }
.compact-topic-list a, .profile-activity > a { display: block; color: var(--ft-text); font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.compact-topic-list span { display: block; margin-top: 3px; color: var(--ft-muted); font-size: 11px; }
.widget-note, .widget-empty { margin: 0; padding: 12px 16px; color: var(--ft-muted); font-size: 12px; }
.forum-row-last .widget-empty { padding: 0; font-size: 11px; }
.widget-footer-link { display: block; padding: 10px 16px; border-top: 1px solid var(--ft-border); color: var(--ft-muted); font-size: 12px; }
.online-list { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 14px 16px 4px; }
.online-list a { display: inline-flex; align-items: center; gap: 5px; color: var(--ft-text-2); font-size: 12px; }
.online-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ft-green); }
.forum-stats { margin: 0; padding: 12px 16px; }
.forum-stats div { display: flex; align-items: center; justify-content: space-between; padding: 4px 0; }
.forum-stats dt { color: var(--ft-muted); font-size: 12px; font-weight: 400; }
.forum-stats dd { margin: 0; color: var(--ft-text); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.latest-member { display: flex; justify-content: space-between; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--ft-border); font-size: 12px; }
.latest-member > span { color: var(--ft-muted); }

/* Thread lists */
.forum-board-header { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-bottom: 22px; }
.board-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--ft-border); border-radius: 8px; background: var(--ft-surface); color: var(--ft-orange-3); }
.board-icon .ft-icon { width: 24px; height: 24px; }
.thread-list-head, .thread-row { display: grid; grid-template-columns: var(--ft-thread-grid); }
.thread-list-head { align-items: center; min-height: 36px; padding: 0; border-bottom: 1px solid var(--ft-border); background: var(--ft-surface-2); color: var(--ft-muted); font-size: 11px; }
.thread-list-head span { text-align: center; }
.thread-list-head span:first-child { padding-left: 18px; text-align: left; }
.thread-list-head span:last-child { padding-left: 16px; text-align: left; }
.thread-row { position: relative; min-height: 78px; border-bottom: 1px solid var(--ft-border); transition: background-color 140ms ease; }
.thread-row:last-child { border-bottom: 0; }
.thread-row.is-pinned { background: color-mix(in srgb, var(--ft-orange-soft) 35%, var(--ft-surface)); }
.thread-divider { padding: 8px 16px; border-bottom: 1px solid var(--ft-border); background: var(--ft-surface-2); color: var(--ft-muted); font-size: 11px; font-weight: 600; }
.thread-main { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; padding: 12px 16px; }
.thread-main > div { min-width: 0; }
.thread-icon { display: grid; place-items: center; color: var(--ft-muted); }
.thread-icon .ft-icon { width: 21px; height: 21px; }
.is-unread .thread-icon { color: var(--ft-orange-3); }
.thread-title-line { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.thread-title-line > a { color: var(--ft-text); font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.thread-meta { margin-top: 4px; color: var(--ft-muted); font-size: 11px; }
.thread-meta strong { font-weight: 500; }
.thread-number { display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--ft-muted); font-size: 11px; }
.thread-number strong, .thread-number b { color: var(--ft-text-2); font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; }
.thread-number > span { display: none; }
.thread-last { display: flex; align-items: center; gap: 10px; min-width: 0; margin-block: 14px; padding: 0 16px; border-left: 1px solid var(--ft-border); color: var(--ft-muted); font-size: 11px; }
.thread-last > div { min-width: 0; display: flex; flex-direction: column; }
.thread-last a { color: var(--ft-text-2); font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.thread-prefix, .thread-status, .case-status, .role-badge { display: inline-flex; align-items: center; min-height: 19px; padding: 3px 6px; border-radius: 6px; font-size: 10px; font-weight: 600; line-height: 1.2; }
.thread-prefix { background: var(--prefix-color, #a95212); color: #fff; }
.thread-status { background: color-mix(in srgb, var(--ft-blue) 12%, var(--ft-surface)); color: var(--ft-blue); }
.case-status { background: var(--ft-orange-soft); color: var(--ft-orange-3); }
.role-badge { --role-color: var(--ft-orange-3); border: 1px solid color-mix(in srgb, var(--role-color) 40%, var(--ft-border)); background: color-mix(in srgb, var(--role-color) 8%, var(--ft-surface)); color: color-mix(in srgb, var(--role-color) 60%, var(--ft-text)); }
.activity-list .thread-row, .watched-list .thread-row { grid-template-columns: minmax(0, 1fr) 175px; }

/* Pagination */
.classic-pagination, .pagination { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 5px; margin: 18px 0; padding: 0; }
.classic-pagination a, .classic-pagination span, .classic-pagination strong, .pagination .page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; padding: 4px 9px; border: 1px solid var(--ft-border); border-radius: 5px; background: var(--ft-surface); color: var(--ft-text-2); font-size: 12px; font-weight: 500; }
.classic-pagination a:hover, .pagination .page-link:hover { background: var(--ft-orange-soft); color: var(--ft-orange-3); text-decoration: none; }
.classic-pagination strong, .classic-pagination .active, .pagination .active .page-link { border-color: var(--ft-orange); background: var(--ft-orange); color: #2b1908; }

/* Conversation and author identity */
.topic-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.topic-labels { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
.topic-labels:empty { display: none; }
.topic-hero-main { min-width: 0; overflow-wrap: anywhere; }
.topic-hero p { font-size: 12px; }
.topic-tools { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.topic-tools form { margin: 0; }
.post-list { display: grid; gap: 16px; }
.forum-post { display: grid; grid-template-columns: 182px minmax(0, 1fr); scroll-margin-top: 16px; }
.post-author { padding: 22px 16px; border-right: 1px solid var(--ft-border); background: var(--ft-surface-2); text-align: center; }
.author-avatar, .member-avatar, .profile-avatar, .avatar { display: grid; place-items: center; border-radius: 8px; background: var(--ft-orange-soft); color: var(--ft-orange-3); font-weight: 600; }
.author-avatar { width: 84px; height: 84px; margin: 0 auto 12px; border: 1px solid color-mix(in srgb, var(--ft-orange) 18%, var(--ft-border)); font-size: 32px; }
.author-name { display: block; color: var(--ft-text); font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.author-roles { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.author-stats { margin: 18px 0 0; padding-top: 12px; border-top: 1px solid var(--ft-border); color: var(--ft-muted); font-size: 11px; text-align: left; }
.author-stats div { display: flex; justify-content: space-between; gap: 8px; padding-block: 2px; }
.author-stats dt { font-weight: 400; }
.author-stats dd { margin: 0; color: var(--ft-text-2); }
.minecraft-linked { display: inline-block; margin-top: 10px; color: var(--ft-green); font-size: 11px; }
.post-panel { min-width: 0; display: flex; flex-direction: column; }
.post-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 10px 20px; border-bottom: 1px solid var(--ft-border); color: var(--ft-muted); font-size: 11px; }
.post-number { color: var(--ft-muted); font-weight: 500; }
.post-content { flex: 1; min-height: 140px; padding: 20px; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.post-content > :last-child { margin-bottom: 0; }
.post-content h1 { font-size: 26px; }
.post-content h2 { font-size: 22px; }
.post-content h3 { font-size: 19px; }
.post-content h4 { font-size: 16px; }
.post-content :is(h1, h2, h3, h4) { margin-top: 20px; line-height: 1.4; font-weight: 650; }
.post-content > :first-child { margin-top: 0; }
.post-content img { height: auto; }
.post-content blockquote { margin: 12px 0; padding: 12px 16px; border-left: 3px solid var(--ft-orange); border-radius: 0 5px 5px 0; background: var(--ft-surface-2); color: var(--ft-text-2); }
.post-content pre { padding: 12px 16px; border: 1px solid var(--ft-border); border-radius: 5px; background: var(--ft-surface-2); color: var(--ft-text); overflow: auto; }
.post-content code { padding: 2px 4px; background: var(--ft-surface-3); color: var(--ft-orange-3); border-radius: 3px; }
.post-content pre code { padding: 0; background: transparent; color: inherit; }
.post-content table { display: block; max-width: 100%; overflow-x: auto; }
.post-edited, .post-signature { margin: 0 20px 12px; padding-top: 10px; color: var(--ft-muted); font-size: 11px; }
.post-signature { border-top: 1px solid var(--ft-border); }
.post-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; min-height: 44px; padding: 8px 14px; border-top: 1px solid var(--ft-border); }
.post-actions a, .post-actions button { padding: 4px 7px; border: 0; border-radius: 4px; background: transparent; color: var(--ft-muted); font-size: 12px; }
.post-actions a:hover, .post-actions button:hover, .reaction-button.active { background: var(--ft-orange-soft); color: var(--ft-orange-3); text-decoration: none; }
.post-actions .reaction-button { margin-right: auto; }
.reply-notice { margin-top: 16px; padding: 14px 18px; color: var(--ft-muted); }
.quick-reply { margin-top: 20px; }

/* Public forms */
.narrow-page { max-width: 540px; }
.classic-form, .public-form { margin-bottom: 16px; }
.classic-form > h1 { padding: 24px 24px 0; }
.classic-form > p { padding: 0 24px 20px; margin-bottom: 0; border-bottom: 1px solid var(--ft-border); }
.classic-form form, .public-form form, .public-form-body, .quick-reply form { padding: 20px 24px 24px; }
.classic-form form { display: grid; gap: 18px; }
.classic-form label, .form-field-wrap > label, .quick-reply label { display: block; margin-bottom: 6px; font-size: 13px; }
.classic-form label > input, .classic-form label > select { margin-top: 7px; }
.form-field-wrap { margin-bottom: 20px; }
.public-form-page { max-width: 860px; }
.public-form-header { padding: 22px 24px; border-bottom: 1px solid var(--ft-border); }
.public-form textarea { min-height: 150px; }
.form-help, .form-text, .label-text-alt { display: block; margin-top: 6px; color: var(--ft-muted); font-size: 12px; }
.form-section, .public-form-section { margin-top: 22px; padding: 12px 0; border-top: 1px solid var(--ft-border); color: var(--ft-orange-3); font-size: 12px; font-weight: 600; }
.form-section:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
.form-section h2 { font-size: inherit; }
.form-option { display: flex; align-items: flex-start; gap: 8px; margin: 8px 0; font-weight: 400; }
.form-option input { margin-top: 4px; }
.public-form-actions { padding-top: 16px; border-top: 1px solid var(--ft-border); }
.quick-reply form > div:last-child { display: flex; justify-content: flex-end; margin-top: 14px; }
.link-code { display: inline-flex; padding: 10px 16px; border: 1px solid var(--ft-border); border-radius: 5px; background: var(--ft-orange-soft); color: var(--ft-orange-3); font-family: ui-monospace, monospace; font-weight: 600; letter-spacing: .08em; }
.tox.tox-tinymce { border-color: var(--ft-border-2) !important; border-radius: 5px !important; }
.tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow, .tox .tox-statusbar { background: var(--ft-surface-2) !important; }
.tox .tox-edit-area__iframe { background: var(--ft-surface) !important; }
.tox .tox-statusbar { border-top-color: var(--ft-border) !important; color: var(--ft-muted) !important; }

/* Profiles and members */
.member-header { display: flex; align-items: center; gap: 20px; padding: 24px; border-top: 3px solid var(--ft-orange); margin-bottom: 18px; }
.member-title { flex: 1; min-width: 0; }
.member-title h1 { margin-bottom: 8px; }
.member-title > div { display: flex; flex-wrap: wrap; gap: 5px; }
.member-avatar { width: 88px; height: 88px; flex-shrink: 0; font-size: 32px; }
.member-content { margin: 0; }
.member-tabs { display: flex; gap: 24px; padding: 0 18px; border-bottom: 1px solid var(--ft-border); }
.member-tabs a { display: inline-flex; padding: 12px 0; color: var(--ft-text-2); font-size: 13px; }
.member-tabs .active { border-bottom: 2px solid var(--ft-orange); color: var(--ft-orange-3); font-weight: 600; }
.profile-activity p { margin: 6px 0; color: var(--ft-text-2); font-size: 13px; overflow-wrap: anywhere; }
.profile-activity time { color: var(--ft-muted); font-size: 11px; }
.profile-stats { margin: 0; padding: 14px 16px; }
.profile-stats div { margin-bottom: 12px; }
.profile-stats div:last-child { margin: 0; }
.profile-stats dt { color: var(--ft-muted); font-size: 11px; font-weight: 400; }
.profile-stats dd { margin: 2px 0 0; font-size: 13px; }
.member-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 16px; border-bottom: 1px solid var(--ft-border); }
.member-row:last-child { border-bottom: 0; }
.member-row:hover { background: var(--ft-hover); }
.member-row .member-avatar { width: 48px; height: 48px; font-size: 20px; }
.member-row > div > a { display: block; color: var(--ft-text); font-size: 14px; font-weight: 600; }
.member-row > div > span { color: var(--ft-muted); font-size: 11px; }
.member-row dl { display: flex; gap: 24px; margin: 0; text-align: right; }
.member-row dt { color: var(--ft-muted); font-size: 11px; font-weight: 400; }
.member-row dd { margin: 2px 0 0; font-size: 12px; }

/* Search, notifications and support */
.search-page { max-width: 1000px; }
.search-box { display: flex; gap: 10px; margin-bottom: 18px; }
.search-result-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 16px; border-bottom: 1px solid var(--ft-border); }
.search-result-row:last-child { border-bottom: 0; }
.search-result-row a { color: var(--ft-text); font-weight: 600; }
.search-result-meta { color: var(--ft-muted); font-size: 12px; }
.notifications-shell, .notifications-page { display: grid; gap: 16px; }
.notif-hero { padding: 20px; }
.notif-kicker, .notif-label { color: var(--ft-orange-3); font-size: 11px; font-weight: 600; }
.notif-list { display: grid; gap: 8px; }
.notif-card { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 16px; }
.notif-card.is-unread { border-left: 3px solid var(--ft-orange); }
.notif-unread { padding: 2px 5px; border-radius: 3px; background: var(--ft-orange-soft); color: var(--ft-orange-3); font-size: 10px; }
.notif-topline { display: flex; align-items: center; gap: 8px; }
.notif-card .post-content { min-height: 0; padding: 0; font-size: 13px; }
.notif-card:hover { color: var(--ft-text); text-decoration: none; background: var(--ft-hover); }
.notif-icon, .notif-empty-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 6px; background: var(--ft-orange-soft); color: var(--ft-orange-3); }
.notif-message { margin: 3px 0 0; }
.notif-date { color: var(--ft-muted); font-size: 12px; }
.notif-empty { padding: 24px; color: var(--ft-muted); text-align: center; }
.staff-case { padding: 16px; margin-bottom: 12px; }
.forum-empty { padding: 28px 20px; color: var(--ft-muted); text-align: center; }
.forum-empty h2 { font-size: 18px; color: var(--ft-text); }
.forum-empty p { margin: 6px 0 16px; font-size: 13px; }
.moderation-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--ft-border); border-radius: 6px; background: var(--ft-surface-2); font-size: 12px; }
.moderation-bar form { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.moderation-bar button, .moderation-bar summary, .moderation-bar select, .moderation-bar input { padding: 5px 8px; max-width: 100%; border: 1px solid var(--ft-border-2); border-radius: 4px; background: var(--ft-surface); color: var(--ft-text); cursor: pointer; }
.moderation-bar details { position: relative; }
.moderation-bar details form { position: absolute; z-index: 20; top: 34px; left: 0; padding: 10px; border: 1px solid var(--ft-border); background: var(--ft-surface); border-radius: 5px; box-shadow: var(--ft-shadow-dropdown); }

/* Footer */
.forum-footer { border-top: 1px solid var(--ft-border); background: var(--ft-surface); color: var(--ft-muted); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 82px; padding-block: 20px; font-size: 12px; }
.footer-inner strong { color: var(--ft-text); margin-right: 4px; font-weight: 650; }
.footer-inner span { display: block; margin-top: 3px; font-size: 11px; }
.footer-inner nav { display: flex; gap: 20px; }
.footer-inner a { color: var(--ft-muted); }

/* Tablet and mobile keep useful activity visible. */
@media (max-width: 1100px) {
  .forum-layout, .member-layout { grid-template-columns: 1fr; }
  .forum-sidebar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .forum-search { width: 145px; }
  .forum-nav .nav-link { padding-inline: 10px; }
  .forum-account-nav { margin-left: 6px; }
}
@media (max-width: 1199px) {
  .forum-nav > .forum-container { padding-block: 7px; }
  .forum-nav .navbar-nav { align-items: stretch; }
  .forum-nav .nav-link { justify-content: flex-start; min-height: 40px; padding: 9px 12px; border-radius: 4px; }
  .forum-nav .nav-link.active::after { display: none; }
  .forum-nav .nav-link.active { background: #332b24; }
  .forum-search { width: 100%; height: 38px; margin-block: 10px; }
  .forum-account-nav { flex-direction: row; flex-wrap: wrap; align-items: center !important; margin: 0; padding-bottom: 4px; }
  .theme-toggle { min-height: 40px; }
  .forum-account-nav .dropdown { margin-left: auto; }
  .forum-account-nav .dropdown-menu { position: absolute; }
  .navbar-collapse { padding-top: 6px; }
}
@media (max-width: 800px) {
  :root { --ft-thread-grid: minmax(0, 1fr) 72px 188px; }
  .thread-list-head span:nth-child(3), .thread-row > .thread-number:nth-child(3) { display: none; }
  .forum-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .community-widget { grid-column: 1 / -1; }
  .brandbar-links > a { display: none; }
}
@media (max-width: 700px) {
  .forum-container { width: calc(100% - 28px); }
  .forum-page { padding-top: 16px; }
  .brandbar-inner { min-height: 76px; gap: 12px; }
  .forum-logo-mark { width: 42px; height: 42px; }
  .forum-logo-text strong { font-size: 19px; gap: 8px; }
  .forum-logo-text > span { font-size: 10px; }
  .brandbar-links { display: none; }
  .forum-secondary-nav > .forum-container { gap: 18px; }
  .forum-breadcrumb { margin-bottom: 16px; font-size: 11px; }
  .page-heading, .thread-heading, .forum-index-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 18px; }
  .forum-section-columns { display: none; }
  .forum-row { grid-template-columns: 48px minmax(0, 1fr); padding: 2px 0 12px; }
  .forum-row-icon { width: 32px; height: 32px; margin-left: 12px; }
  .forum-row-main { padding: 12px 12px 6px 8px; }
  .forum-row-main h3 { font-size: 14px; }
  .forum-row-counts { grid-column: 2; display: flex; gap: 14px; text-align: left; padding: 0 12px 8px 8px; }
  .forum-row-counts div { display: flex; flex-direction: row-reverse; gap: 4px; align-items: baseline; }
  .forum-row-counts dt { display: block; font-size: 11px; font-weight: 400; color: var(--ft-muted); }
  .forum-row-counts dd { font-size: 11px; }
  .forum-row-last { grid-column: 2; margin: 0; padding: 0 12px 0 8px; border: 0; }
  .forum-row-last .last-avatar { display: none; }
  .last-copy { flex-direction: row; flex-wrap: wrap; gap: 1px 6px; }
  .last-copy > .last-topic { width: 100%; white-space: normal; line-height: 1.5; }
  .discussion-row { grid-template-columns: 30px minmax(0, 1fr); padding: 12px; gap: 8px; }
  .discussion-avatar { width: 30px; height: 30px; }
  .discussion-row time { grid-column: 2; margin-top: -5px; }
  .forum-sidebar { grid-template-columns: 1fr; }
  .community-widget { grid-column: auto; }
  .forum-board-header { grid-template-columns: 38px minmax(0, 1fr); gap: 10px; margin-bottom: 18px; }
  .board-icon { width: 38px; height: 38px; }
  .forum-board-header > .page-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .thread-list-head { display: none; }
  .thread-row { grid-template-columns: minmax(0, 1fr) 62px; }
  .thread-main { padding: 12px 10px; gap: 6px; grid-template-columns: 24px minmax(0, 1fr); }
  .thread-title-line > a { font-size: 13px; }
  .thread-number > span { display: block; font-size: 10px; }
  .thread-last { grid-column: 1 / -1; margin: 0; padding: 0 14px 12px 40px; border: 0; font-size: 10px; }
  .thread-last > .last-avatar { display: none; }
  .thread-last > div { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .thread-last a { font-size: 10px; }
  .topic-hero { flex-direction: column; align-items: flex-start; gap: 14px; }
  .forum-post { grid-template-columns: 1fr; }
  .post-author { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-right: 0; border-bottom: 1px solid var(--ft-border); text-align: left; }
  .author-avatar { width: 44px; height: 44px; margin: 0; font-size: 20px; flex-shrink: 0; }
  .author-roles { justify-content: flex-start; margin-top: 4px; }
  .author-stats, .minecraft-linked { display: none; }
  .post-header { padding: 9px 14px; min-height: 34px; }
  .post-content { padding: 16px; min-height: 90px; font-size: 14px; line-height: 1.7; }
  .post-actions { padding-inline: 10px; }
  .post-edited, .post-signature { margin-inline: 16px; }
  .classic-form > h1 { padding: 20px 18px 0; }
  .classic-form > p, .public-form-header { padding-inline: 18px; }
  .classic-form form, .public-form form, .public-form-body, .quick-reply form { padding: 18px; }
  .member-header { flex-wrap: wrap; padding: 18px; gap: 14px; }
  .member-avatar { width: 64px; height: 64px; font-size: 24px; }
  .member-header > .btn { margin-left: 78px; }
  .member-row { grid-template-columns: 44px minmax(0, 1fr); }
  .member-row .member-avatar { width: 44px; height: 44px; }
  .member-row dl { grid-column: 2; text-align: left; gap: 16px; }
  .search-box { flex-wrap: wrap; }
  .search-result-row { grid-template-columns: 1fr; }
  .notif-card { grid-template-columns: 34px minmax(0, 1fr); }
  .notif-date { grid-column: 2; }
  .footer-inner { align-items: flex-start; flex-direction: column; gap: 12px; }
  .activity-list .thread-row, .watched-list .thread-row { grid-template-columns: 1fr; }
  .activity-list .thread-last { padding-left: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Community landing and shared finish. */
.forum-welcome { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 0; overflow: hidden; margin-bottom: 36px; padding: 44px 48px 0; border: 1px solid #3c4936; border-radius: 22px; background: radial-gradient(ellipse at 85% 10%, #465435 0, transparent 55%), #202c23; color: #fff9ed; }
.forum-welcome .page-eyebrow { display: flex; align-items: center; gap: 9px; color: #dacfb3; font-size: 10px; letter-spacing: .16em; }
.welcome-dot { width: 6px; height: 6px; background: #ffac58; border-radius: 50%; }
.forum-welcome h1 { margin-top: 20px; font-size: clamp(32px, 4vw, 54px); font-weight: 800; line-height: 1.08; letter-spacing: -.055em; }
.forum-welcome h1 > span { color: #ffb06a; }
.forum-welcome p { margin-top: 18px; color: #c1cbbc; font-size: 14px; line-height: 1.8; }
.welcome-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin: 24px 0 32px; }
.welcome-help { display: inline-flex; align-items: center; gap: 8px; color: #e0e4d8; font-size: 12px; }
.welcome-help:hover { color: #ffbd7e; }
.welcome-art { position: relative; align-self: center; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 270px; }
.welcome-art img { position: relative; width: 174px; height: 174px; object-fit: contain; transform: rotate(-9deg); filter: drop-shadow(0 18px 24px #111b15a0); }
.welcome-orbit { position: absolute; width: 258px; height: 258px; border: 1px solid #aab48a38; border-radius: 50%; }
.welcome-orbit::before, .welcome-orbit::after { content: ''; position: absolute; border: 1px solid #aab48a24; border-radius: 50%; }
.welcome-orbit::before { inset: 24px; }
.welcome-orbit::after { inset: -24px; }
.welcome-stamp { position: relative; margin-top: 18px; color: #c8d0b4; font-size: 8px; letter-spacing: .18em; }
.welcome-stats { grid-column: 1 / -1; display: flex; align-items: center; gap: 30px; padding: 18px 0; border-top: 1px solid #bbc9ab26; color: #bec8b7; font-size: 12px; }
.welcome-stats strong { margin-right: 4px; color: #fff9ed; font-size: 16px; font-weight: 700; }
.welcome-stats > a { display: flex; align-items: center; gap: 8px; margin-left: auto; color: #ebebdf; font-size: 11px; }
.welcome-stats .ft-icon { width: 15px; height: 15px; }
.section-intro { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 18px; scroll-margin-top: 24px; }
.section-intro h2 { margin: 0; font-size: 25px; font-weight: 750; letter-spacing: -.04em; }
.section-intro > span { color: var(--ft-muted); font-size: 12px; }
.forum-section, .sidebar-widget, .forum-post, .classic-form, .public-form, .member-header, .member-content, .member-directory, .search-results, .thread-list { box-shadow: 0 3px 10px rgb(20 30 20 / 2%); }
.forum-section-columns { min-height: 34px; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.forum-row-main h3 { letter-spacing: -.02em; }
.last-avatar, .discussion-avatar { border-radius: 10px; }
.sidebar-widget { padding: 22px; }
.community-widget { background: linear-gradient(145deg, var(--ft-orange-soft), var(--ft-surface)); border-color: color-mix(in srgb, var(--ft-orange) 30%, var(--ft-border)); }
.community-widget h2 { font-size: 19px; letter-spacing: -.04em; }
.community-address { border-radius: 8px; }
.forum-secondary-nav > .forum-container { min-height: 44px; }
.forum-secondary-nav a.active { color: var(--ft-orange-3); font-weight: 650; }
.forum-footer { margin-top: 24px; }
.footer-inner { min-height: 110px; }
.support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.support-card { display: flex; flex-direction: column; align-items: start; gap: 12px; padding: 32px; border: 1px solid var(--ft-border); border-radius: var(--ft-radius); background: var(--ft-surface); }
.support-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 12px; border-radius: 14px; background: var(--ft-orange-soft); color: var(--ft-orange-3); }
.support-icon .ft-icon { width: 24px; height: 24px; }
.support-card h2 { margin: 0; font-size: 22px; font-weight: 750; letter-spacing: -.035em; }
.support-card p { color: var(--ft-muted); margin: 0 0 14px; }
.support-card .btn, .support-search { margin-top: auto; }
.support-search { display: flex; width: 100%; gap: 8px; }
.support-followup { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 24px; }
.support-followup .support-icon { flex-shrink: 0; margin: 0; }
.support-followup h2 { font-size: 18px; }
.support-followup p { margin: 6px 0 0; font-size: 13px; }
.support-followup .btn { margin: 0 0 0 auto; flex-shrink: 0; }
@media (min-width: 1200px) {
  .forum-nav .navbar-collapse { flex-grow: 0; }
  .forum-nav .navbar-nav { gap: 6px; }
  .forum-header .forum-account-nav .dropdown-menu { position: absolute; }
}
@media (max-width: 1199px) {
  .forum-nav > .forum-container { padding-block: 8px; flex-wrap: wrap; }
  .forum-nav .navbar-toggler { order: 0; }
  .forum-nav .nav-server-link { order: 1; }
  .forum-nav .navbar-collapse { order: 2; flex-basis: 100%; }
  .forum-nav .navbar-nav { align-items: stretch; }
  .forum-nav .nav-link { justify-content: flex-start; width: 100%; }
  .forum-nav .nav-link.active { background: #384133; }
  .brandbar-tools .forum-search { width: 190px; margin: 0; }
  .brandbar-tools .forum-account-nav { align-items: center !important; padding: 0; flex-wrap: nowrap; }
  .forum-header .forum-account-nav .dropdown-menu { position: absolute; }
}
@media (max-width: 800px) {
  .forum-welcome { grid-template-columns: minmax(0, 1fr) 220px; padding: 32px 28px 0; }
  .welcome-art img { width: 140px; height: 140px; }
  .welcome-orbit { width: 190px; height: 190px; }
  .welcome-stamp { display: none; }
  .brandbar-tools { gap: 8px; }
  .brandbar-tools .forum-search { display: none; }
}
@media (max-width: 700px) {
  .brandbar-inner { flex-wrap: wrap; gap: 12px; padding-block: 16px; }
  .forum-logo-text strong { font-size: 20px; }
  .brand-forum { font-size: 7px; }
  .brandbar-tools { margin-left: auto; }
  .forum-header .forum-account-nav { gap: 2px; }
  .forum-header .forum-account-nav .nav-link, .theme-toggle { padding: 8px; font-size: 12px; }
  .nav-register { padding: 9px 11px; font-size: 11px; }
  .forum-account-nav .dropdown { max-width: 150px; }
  .forum-welcome { grid-template-columns: 1fr; padding: 28px 22px 0; border-radius: 16px; margin-bottom: 26px; }
  .forum-welcome h1 { font-size: clamp(32px, 8vw, 46px); }
  .welcome-art { display: none; }
  .welcome-actions { gap: 16px; }
  .welcome-stats { flex-wrap: wrap; gap: 12px 24px; padding-block: 16px; }
  .welcome-stats > a { width: 100%; margin-left: 0; }
  .section-intro > span { display: none; }
  .section-intro h2 { font-size: 22px; }
  .forum-row-icon { width: 32px; height: 36px; }
  .support-grid { grid-template-columns: 1fr; gap: 16px; }
  .support-card { padding: 24px; }
  .support-followup { flex-direction: column; align-items: start; }
  .support-followup .btn { margin: 0; }
}
