/* Forum activity: reuse the existing theme tokens without changing the shell. */
.forum-category[hidden], .forum-category-content[hidden] { display: none; }
.forum-category .forum-channel {
  grid-template-columns: minmax(0, 1.3fr) auto minmax(160px, 1fr);
  gap: var(--sp-3); align-items: center;
}
.forum-category-toggle { display: flex; align-items: center; gap: var(--sp-3); width: 100%; min-width: 0; padding: 8px 0; background: none; border: 0; color: var(--bone); text-align: left; cursor: pointer; }
.forum-category-toggle .channel-icon { flex: 0 0 42px; }
.forum-category-name { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.forum-expand-icon { color: var(--brass); display: flex; }
.forum-category-toggle[aria-expanded="true"] .forum-expand-icon { transform: rotate(180deg); }
.forum-category-toggle:focus-visible, .forum-thread-scroll:focus-visible, .forum-category a:focus-visible, .forum-activity-row:focus-visible { outline: 2px solid var(--brass-hi); outline-offset: 3px; }
.forum-category-metrics, .forum-section-stats { display: grid; gap: 6px; font-size: var(--fs-sm); color: var(--smoke); }
.forum-view-count { display: inline-flex; align-items: center; gap: 5px; color: var(--brass-hi); white-space: nowrap; }
.forum-view-count b { font: 700 1.25rem var(--font-display); color: inherit; }
.forum-view-count .icon { width: 17px; height: 17px; }
.forum-section-stats .forum-view-count { justify-content: flex-end; }
.forum-category-link { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 5px; color: var(--smoke); font-size: var(--fs-sm); }
.forum-latest { min-width: 0; display: grid; gap: 5px; font-size: var(--fs-sm); color: var(--smoke); overflow-wrap: anywhere; }
.forum-latest-title { font-weight: 600; color: var(--bone); }
.forum-latest-post { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px; color: var(--brass-hi); }
.forum-latest-post .icon { width: 14px; height: 14px; }
.forum-latest .forum-last-author:empty { display: none; }
.forum-thread-scroll { max-height: min(65vh, 640px); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-color: var(--steel-3) var(--ink); border-block: 1px solid var(--line); background: var(--ink); }
.forum-category-content { padding: 0 10px 10px; }
.forum-load-sentinel { height: 1px; }
.forum-load-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-3); padding-top: var(--sp-3); font-size: var(--fs-sm); color: var(--smoke); }
.forum-load-footer p { margin: 0; }
.forum-activity-row { grid-template-columns: 36px minmax(0, 1fr) auto minmax(150px, .7fr); }
.forum-thread-main { min-width: 0; overflow-wrap: anywhere; }
.forum-activity-row .thread-metrics { display: grid; gap: 5px; }
.forum-activity-row .thread-metrics .forum-view-count b { color: var(--brass-hi); }
.forum-activity-row .thread-last { text-align: left; min-width: 0; }
.thread-detail-head .forum-view-count { padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: var(--r-sm, 6px); background: rgba(214, 165, 71, .08); }
@media (max-width: 1100px) {
  .forum-category .forum-channel { grid-template-columns: minmax(0, 1fr) auto; }
  .forum-category .forum-channel > .forum-latest { grid-column: 1 / -1; padding-left: 54px; }
  .forum-category-link { margin-left: 54px; }
  .forum-activity-row { grid-template-columns: 36px minmax(0, 1fr) auto; }
  .forum-activity-row .thread-last { grid-column: 2 / -1; }
}
@media (max-width: 680px) {
  .forum-category .forum-channel { grid-template-columns: minmax(0, 1fr); padding: 12px 0; }
  .forum-category .forum-category-metrics { padding-left: 54px; }
  .forum-category .forum-channel > .forum-latest { padding-left: 54px; }
  .forum-category-content { padding-inline: 0; }
  .forum-activity-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .forum-activity-row .thread-icon { display: none; }
  .forum-activity-row .thread-last { display: grid; grid-column: 1; }
  .forum-activity-row .thread-metrics { display: flex; flex-wrap: wrap; gap: 15px; }
  .forum-section .panel-head { flex-wrap: wrap; }
  .forum-section-stats { text-align: left; }
  .forum-section-stats .forum-view-count { justify-content: flex-start; }
}

.forum-popular-thread { grid-template-columns: 22px 30px minmax(0, 1fr); }
.forum-popular-thread .forum-popular-metrics { grid-column: 3; display: grid; gap: 3px; }
.forum-popular-thread .forum-popular-metrics .forum-view-count { display: inline-flex; overflow: visible; }
.forum-popular-metrics small { color: var(--smoke); }
