/* 社群（论坛、聊天室）：沿用 content.css 的卡片和色板，只补充列表、表单和消息样式 */
.community-tabs { display: flex; gap: 6px; margin: 0 0 18px; }
.community-tabs a { padding: 6px 16px; border: 1px solid var(--qx-border); border-radius: 999px; color: var(--qx-muted); background: #fffefa; }
.community-tabs a[aria-current="page"] { background: var(--qx-pine); border-color: var(--qx-pine); color: #fcfaf5; }
.community-panel, .community-rules { margin-bottom: 20px; }
.community-rules summary { cursor: pointer; color: var(--qx-pine); font-weight: 600; }
.community-rules ul { margin-bottom: 0; }
.community-muted { color: var(--qx-muted); }
.community-status { min-height: 1.6em; color: #9a5b4c; margin: 8px 0 0; }
.community-status:empty { min-height: 0; margin: 0; }
.community-link { padding: 0; border: 0; background: none; color: var(--qx-jade); font: inherit; font-size: .85rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.community-link:disabled { color: var(--qx-muted); text-decoration: none; cursor: default; }
.community-report { margin-left: 4px; color: var(--qx-muted); }
.community-me { margin: 0; }
.community-join { display: grid; gap: 12px; max-width: 420px; }
.community-join label, .forum-form label { display: grid; gap: 6px; color: var(--qx-muted); font-size: .92rem; }
.community-join input, .forum-form input, .forum-form select, .forum-form textarea, .chat-form textarea {
  width: 100%; font: inherit; font-size: 16px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--qx-border); background: #fffefa; color: #3d4a44;
}
.community-join input:focus, .forum-form :is(input, select, textarea):focus, .chat-form textarea:focus { outline: 2px solid var(--qx-jade); outline-offset: 1px; }
.community-join .button, .forum-form .button, .chat-form .button { border: 0; cursor: pointer; justify-self: start; }
.community-join .button:disabled, .forum-form .button:disabled, .chat-form .button:disabled { opacity: .6; cursor: default; }
.community-captcha { min-height: 65px; }
.community-count { color: var(--qx-muted); font-size: .85rem; font-variant-numeric: tabular-nums; }
.community-count.is-short { color: #9a5b4c; }

/* 聊天室 */
.chat-list { list-style: none; margin: 0; padding: 0 4px 0 0; height: min(60vh, 520px); overflow-y: auto; overscroll-behavior: contain; display: grid; align-content: start; gap: 10px; }
.chat-item { padding: 8px 12px; border-radius: 12px; background: #fffefa; border: 1px solid var(--qx-border); }
.chat-meta { margin: 0; color: var(--qx-muted); font-size: .82rem; }
.chat-meta strong { color: var(--qx-pine); font-weight: 600; }
.chat-body { margin: 2px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.chat-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin-top: 14px; }
.chat-form textarea { resize: vertical; min-height: 48px; }

/* 论坛：列表和卡片同宽，宽屏下也保持易读的行长 */
#forum-view { max-width: 760px; }
.forum-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.forum-boards { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.forum-boards a { color: var(--qx-muted); }
.forum-boards a.is-active { color: var(--qx-pine); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.forum-list { list-style: none; padding: 0; }
.forum-topic h3 a { color: var(--qx-pine); }
.forum-topic p { overflow-wrap: anywhere; }
.forum-meta { color: var(--qx-muted); font-size: .85rem; margin: 6px 0; }
.forum-pager { display: flex; justify-content: space-between; gap: 12px; }
.forum-post { margin-bottom: 20px; }
.forum-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.9; }
.forum-replies { list-style: none; padding: 0; margin: 0 0 20px; }
.forum-reply { padding: 12px 0; border-bottom: 1px solid var(--qx-border); }
.forum-form { display: grid; gap: 12px; }
.forum-form textarea { resize: vertical; }
.forum-form-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
@media (max-width: 620px) {
  .chat-form { grid-template-columns: 1fr; }
  .chat-list { height: 55vh; }
}
