/* WEBSITE · Community (templates/pages/community.php): the public, read-only board — categories, discussion lists,
   a discussion, rules and the sign-in prompts. Square corners, the site's colours. */
.cm-page .cm-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 12px; }
.cm-page .cm-small { font-size: 14px; line-height: 22px; color: var(--muted); max-width: 70ch; }
.cm-page .cm-h { margin: 48px 0 12px; font-size: 22px; line-height: 30px; }
.cm-page .cm-crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; font-size: 13px; color: var(--muted); }
.cm-page .cm-crumbs a { color: var(--muted); }
.cm-page .cm-ttl { overflow-wrap: anywhere; }
.cm-page .cm-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0 0; padding-bottom: 14px; border-bottom: 1px solid var(--rule); font-size: 13px; color: var(--muted); }

.cm-page .cm-tag { display: inline-block; padding: 0 6px; margin-right: 6px; font-size: 11px; font-weight: 600; line-height: 18px; background: var(--hover-tint); color: var(--ink); vertical-align: 1px; white-space: nowrap; }
.cm-page .cm-tag.is-staff { background: var(--accent); color: #fff; }
.cm-page .cm-tag.is-mod { background: rgba(19, 138, 75, .12); color: #0f6b3f; }
.cm-page .cm-tag.is-group { background: var(--info-bg); color: var(--accent); }
.cm-page .cm-av { flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; font-size: 15px; font-weight: 700; background: var(--hover-tint); color: var(--ink); }
.cm-page .cm-post.is-staff .cm-av { background: var(--accent); color: #fff; }

.cm-pcats { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cm-pcats a { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--rule); color: var(--ink); text-decoration: none; transition: border-color .15s ease; }
.cm-pcats a:hover { border-color: var(--accent); }
.cm-pcats a:hover b { color: var(--accent); }
.cm-pcats a span { flex: 1; font-size: 14px; line-height: 21px; color: var(--muted); }
.cm-pcats a small { font-size: 12px; color: var(--muted); }
@media (max-width: 700px) { .cm-pcats { grid-template-columns: 1fr; } }

.cm-page .cm-threads { list-style: none; margin: 12px 0 0; padding: 0; border-top: 1px solid var(--rule); }
.cm-page .cm-threads li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.cm-page .cm-threads a { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; color: var(--ink); text-decoration: none; }
.cm-page .cm-threads a b { font-weight: 600; overflow-wrap: anywhere; }
.cm-page .cm-threads a:hover b { color: var(--accent); }
.cm-page .cm-threads a span { font-size: 13px; line-height: 19px; color: var(--muted); }
.cm-page .cm-replies { flex: none; display: flex; flex-direction: column; align-items: center; min-width: 54px; font-size: 11px; color: var(--muted); }
.cm-page .cm-replies b { font-size: 16px; color: var(--ink); }

.cm-page .cm-posts { list-style: none; margin: 0; padding: 0; }
.cm-page .cm-post { display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--rule); }
.cm-page .cm-post.is-staff { padding-left: 12px; border-left: 3px solid var(--accent); background: linear-gradient(90deg, var(--info-bg), transparent 60%); }
.cm-page .cm-post-main { flex: 1; min-width: 0; }
.cm-page .cm-post header { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 14px; }
.cm-page .cm-post header time { font-size: 12px; color: var(--muted); }
.cm-page .cm-body { margin-top: 6px; font-size: 15px; line-height: 24px; overflow-wrap: anywhere; }
.cm-page .cm-body p { margin: 0 0 10px; }
.cm-page .cm-body p:last-child { margin-bottom: 0; }
.cm-page .cm-join-box { margin-top: 24px; padding: 18px 20px; border: 1px solid var(--rule); background: var(--info-bg); }
.cm-page .cm-join-box p { margin: 0; }
.cm-page .cm-join-box .cm-cta { margin: 14px 0 0; }

.cm-prules { margin: 12px 0 16px; padding-left: 22px; font-size: 15px; line-height: 24px; max-width: 72ch; }
.cm-prules li { margin: 6px 0; }
@media (max-width: 640px) { .cm-page .cm-h { margin-top: 36px; } .cm-page .cm-av { width: 30px; height: 30px; font-size: 13px; } .cm-page .cm-replies { min-width: 40px; } }

/* Forum colours on the website */
.cm-page { --fm-rule: var(--rule); --fm-bar: #0a2341; --fm-bar-ink: #fff; --fm-row: var(--panel); --fm-row2: var(--hover-tint); --fm-pin: var(--info-bg); --fm-card: var(--panel); --fm-ink: var(--ink); --fm-muted: var(--muted); --fm-accent: var(--accent); --fm-tag: var(--hover-tint); --fm-staff: var(--info-bg); }
html[data-theme="dark"] .cm-page { --fm-bar: #04111f; }
@media (prefers-color-scheme: dark) { html[data-theme="auto"] .cm-page { --fm-bar: #04111f; } }
.cm-page .fm-btn { height: 44px; padding: 0 20px; font-size: 15px; }

/* ---------- Forum layout (modules/community/render.php, "fm-"): the classic message board, one row per line ----------
   Sections are headed by a navy bar with the column names; forums and topics are rows: icon · title and description ·
   counts · last post. Narrow spaces (phones, the column beside the side menu) keep one row per line and fold the counts
   into a line under the title. */
.fm-sec { container-type: inline-size; margin: 20px 0 0; border: 1px solid var(--fm-rule); }
.fm-head { display: grid; grid-template-columns: minmax(0, 1fr) 72px 72px 190px; gap: 12px; align-items: center; padding: 9px 14px; background: var(--fm-bar); color: var(--fm-bar-ink); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.fm-head .fm-hc { text-align: center; }
.fm-sec > .fm-head:only-child, .fm-stats .fm-head, .fm-form .fm-head { grid-template-columns: 1fr; }
.fm-rows { list-style: none; margin: 0; padding: 0; }
.fm-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) 72px 72px 190px; gap: 12px; align-items: center; padding: 12px 14px; border-top: 1px solid var(--fm-rule); background: var(--fm-row); }
.fm-row:nth-child(even) { background: var(--fm-row2); }
.fm-row.is-pinned { background: var(--fm-pin); }
.fm-row.is-off { opacity: .7; }
.fm-head .fm-hn { grid-column: 1 / 2; }
.fm-ico { display: grid; place-items: center; width: 34px; height: 34px; color: var(--fm-muted); border: 1px solid var(--fm-rule); background: var(--fm-card); }
.fm-ico.is-new { color: var(--fm-accent); border-color: var(--fm-accent); }
.fm-main { min-width: 0; }
.fm-title { font-weight: 600; font-size: 15px; color: var(--fm-ink); text-decoration: none; overflow-wrap: anywhere; }
.fm-title:hover { color: var(--fm-accent); text-decoration: underline; }
.fm-main p { margin: 3px 0 0; font-size: 13px; line-height: 19px; color: var(--fm-muted); }
.fm-main .cm-tag { margin-right: 6px; }
.fm-mobile { display: none; }
.fm-n { text-align: center; font-size: 15px; font-weight: 600; color: var(--fm-ink); font-variant-numeric: tabular-nums; }
.fm-last { min-width: 0; display: flex; flex-direction: column; gap: 1px; font-size: 12px; line-height: 17px; color: var(--fm-muted); }
.fm-last a { color: var(--fm-accent); text-decoration: none; }
.fm-last a:hover { text-decoration: underline; }
.fm-last-t { font-weight: 600; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-last b { color: var(--fm-ink); font-weight: 600; }
.fm-last.is-none { font-style: italic; }
.fm-empty { margin: 0; padding: 16px 14px; border-top: 1px solid var(--fm-rule); color: var(--fm-muted); font-size: 14px; }
/* Head row labels line up with the row's cells (the head has no icon column) */
.fm-head { padding-left: 60px; }
@container (max-width: 620px) {
  .fm-head { grid-template-columns: 1fr; padding-left: 14px; }
  .fm-head .fm-hc, .fm-head .fm-hl { display: none; }
  .fm-row { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; }
  .fm-row > .fm-n, .fm-row > .fm-last { display: none; }
  .fm-ico { width: 30px; height: 30px; }
  .fm-mobile { display: block; }
}

/* Bars above lists and topics: the button and the counts */
.fm-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 16px 0 0; }
.fm-bar-l { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.fm-meta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 13px; color: var(--fm-muted); }
.fm-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.fm-acts form { margin: 0; }

/* A topic: each post a box, the author column beside the message */
.fm-posts { margin-top: 14px; }
.fm-post { container-type: inline-size; display: grid; grid-template-columns: 170px minmax(0, 1fr); margin: 0 0 12px; border: 1px solid var(--fm-rule); background: var(--fm-card); }
.fm-post.is-staff { border-color: var(--fm-accent); }
.fm-post.is-pending, .fm-post.is-hidden, .fm-post.is-withdrawn { opacity: .72; }
.fm-author { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px; border-right: 1px solid var(--fm-rule); background: var(--fm-row2); font-size: 13px; }
.fm-post.is-staff .fm-author { background: var(--fm-staff); }
.fm-author > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.fm-author b { font-size: 14px; color: var(--fm-ink); overflow-wrap: anywhere; }
.fm-author small { color: var(--fm-muted); font-size: 12px; }
.fm-labels { display: flex; flex-wrap: wrap; gap: 3px; }
.fm-labels .cm-tag { margin: 0; }
.fm-av { display: grid; place-items: center; width: 56px; height: 56px; font-size: 22px; font-weight: 700; background: var(--fm-tag); color: var(--fm-ink); }
.fm-post.is-staff .fm-av { background: var(--fm-accent); color: #fff; }
.fm-msg { min-width: 0; display: flex; flex-direction: column; }
.fm-msg header { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 14px; border-bottom: 1px solid var(--fm-rule); font-size: 12px; color: var(--fm-muted); }
.fm-num { margin-left: auto; color: var(--fm-muted); text-decoration: none; font-weight: 600; }
.fm-num:hover { color: var(--fm-accent); }
.fm-msg .cm-body { flex: 1; padding: 14px; margin: 0; font-size: 15px; line-height: 24px; overflow-wrap: anywhere; }
.fm-msg .cm-body p { margin: 0 0 10px; }
.fm-msg .cm-body p:last-child { margin: 0; }
.fm-msg .fm-acts { padding: 8px 14px; border-top: 1px dashed var(--fm-rule); font-size: 13px; }
@container (max-width: 560px) {
  .fm-post { grid-template-columns: 1fr; }
  .fm-author { flex-direction: row; align-items: center; border-right: 0; border-bottom: 1px solid var(--fm-rule); padding: 10px 12px; }
  .fm-av { width: 38px; height: 38px; font-size: 16px; }
}
.fm-stats p { margin: 0; padding: 12px 14px; font-size: 13px; color: var(--fm-muted); }
.fm-stats b { color: var(--fm-ink); }
.fm-form { margin-top: 20px; max-width: 760px; border: 1px solid var(--fm-rule); padding: 0 16px 16px; }
.fm-form > .fm-head { margin: 0 -16px 14px; padding-left: 14px; }
.fm-form-acts { display: flex; align-items: center; gap: 16px; }
/* The page frame styles lists and links in documents; the forum keeps its own. */
.doc.cm-page ul.fm-rows { margin: 0; padding: 0; font-size: inherit; line-height: inherit; }
.doc.cm-page .fm-title { color: var(--fm-accent); }
.doc.cm-page a.btn-solid { color: var(--bg); }
.doc.cm-page a.btn-ghost { color: var(--ink); }
.doc.cm-page .fm-rows > li { margin: 0; }
.doc.cm-page .fm-sec { margin: 20px 0 0; }

/* ---------- Forum colours and avatars (the cleaner, modern touches: coloured forum marks and tags, a letter
   avatar in each member's colour beside every topic and last post, rows that light up under the pointer) ---------- */
.fm-c-blue { --c: #1f5fd1; } .fm-c-teal { --c: #0f8a8a; } .fm-c-green { --c: #138a4b; } .fm-c-amber { --c: #b7791f; }
.fm-c-orange { --c: #c2410c; } .fm-c-red { --c: #b42318; } .fm-c-purple { --c: #7c3aed; } .fm-c-slate { --c: #475569; } .fm-c-navy { --c: #0a2341; }
.fm-ico[class*="fm-c-"] { color: var(--c); border-color: color-mix(in srgb, var(--c) 35%, transparent); background: color-mix(in srgb, var(--c) 8%, var(--fm-card)); }
.fm-ico[class*="fm-c-"].is-new { color: #fff; background: var(--c); border-color: var(--c); }
.fm-av[class*="fm-c-"] { background: var(--c); color: #fff; }
.fm-post.is-staff .fm-av { background: var(--fm-accent); }
.fm-av-s { display: grid; place-items: center; width: 34px; height: 34px; font-size: 15px; font-weight: 700; }
.fm-av-xs { flex: none; display: grid; place-items: center; width: 26px; height: 26px; font-size: 12px; font-weight: 700; }
.fm-last { flex-direction: row; align-items: center; gap: 8px; }
.fm-last-in { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.fm-last.is-none { align-items: center; }
.fm-tag { display: inline-flex; align-items: center; gap: 5px; margin-left: 6px; padding: 0 7px 0 6px; font-size: 11px; font-weight: 600; line-height: 18px; vertical-align: 2px; color: var(--c) !important; background: color-mix(in srgb, var(--c) 10%, transparent); border-left: 3px solid var(--c); text-decoration: none; white-space: nowrap; }
.fm-tag:hover { background: color-mix(in srgb, var(--c) 18%, transparent); }
.fm-state { display: inline-grid; place-items: center; margin-right: 6px; vertical-align: -4px; color: var(--fm-muted); }
.fm-state svg { width: 16px; height: 16px; }
.fm-row { transition: background-color .12s ease; }
.fm-row:hover { background: color-mix(in srgb, var(--fm-accent) 5%, var(--fm-row)); }
.fm-row:hover .fm-title { color: var(--fm-accent); }

/* ---------- Forum, part 3 (owner, 2026-10-30): forum icons without a background (plain line icon in the forum colour with a
   colour bar), subforums, solved and hot marks, badges to the right of the name, photos, signatures, edit notes ---------- */
.fm-ico, .fm-ico[class*="fm-c-"] { width: 34px; height: 34px; border: 0; border-left: 3px solid var(--c, var(--fm-rule)); background: transparent; color: var(--c, var(--fm-muted)); }
.fm-ico[class*="fm-c-"].is-new { background: transparent; color: var(--c); border-left-width: 5px; }
.fm-ico svg { width: 24px; height: 24px; }
.fm-subs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 4px 0 0 !important; font-size: 12px; }
.fm-subs > span { color: var(--fm-muted); }
.fm-subs a { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; text-decoration: none; color: var(--fm-ink); }
.fm-subs a:hover { color: var(--fm-accent); text-decoration: underline; }
.fm-subs svg { width: 14px; height: 14px; color: var(--fm-muted); }
.fm-mark { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; font-size: 11px; font-weight: 700; line-height: 18px; vertical-align: 2px; white-space: nowrap; }
.fm-mark svg { width: 14px; height: 14px; }
.fm-mark.is-solved { color: #138a4b; }
.fm-mark.is-hot { color: #c2410c; }
.fm-name { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.fm-badges { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 3px; font-weight: 400; }
.fm-badge { display: inline-flex; align-items: center; gap: 4px; height: 20px; min-width: 20px; padding: 0 2px; justify-content: center; color: var(--c, var(--fm-accent)); }
.fm-badge svg { width: 16px; height: 16px; }
.fm-badge.is-company { padding: 0 6px 0 4px; font-size: 11px; font-weight: 600; color: var(--fm-ink); border: 1px solid var(--fm-rule); }
.fm-badge.is-company svg { color: var(--fm-muted); width: 14px; height: 14px; }
img.fm-av, img.fm-av-s, img.fm-av-xs, img.cm-av, img.a-com-av { display: block; object-fit: cover; padding: 0; background: var(--fm-tag); }
img.fm-av { width: 56px; height: 56px; }
img.fm-av-s { width: 34px; height: 34px; }
img.fm-av-xs { width: 26px; height: 26px; flex: none; }
.fm-msg .fm-sig { margin: 0 14px; padding: 8px 0 12px; border-top: 1px solid var(--fm-rule); font-size: 12px; line-height: 18px; color: var(--fm-muted); }
.fm-msg p.fm-edited, .doc .fm-msg p.fm-edited { margin: 0; padding: 0 14px 10px; font-size: 12px; line-height: 18px; color: var(--fm-muted); font-style: italic; }
.fm-post.is-solution { box-shadow: inset 4px 0 0 #138a4b; }
.fm-post.is-removed { opacity: .6; }
@media (max-width: 620px) { img.fm-av { width: 38px; height: 38px; } }

/* ---------- Forum, part 4: topic types, unread, search, members, notifications ---------- */
.fm-state.is-ann { color: var(--fm-accent); }
.cm-tag.is-ann { background: color-mix(in srgb, var(--fm-accent) 12%, transparent); color: var(--fm-accent); font-weight: 700; }
.cm-tag.is-online { background: color-mix(in srgb, #138a4b 14%, transparent); color: #138a4b; }
.fm-unread { display: inline-grid; place-items: center; margin-right: 4px; vertical-align: -3px; color: var(--fm-accent); }
.fm-unread svg { width: 12px; height: 12px; }
.fm-title.is-unread { font-weight: 800; }
.fm-row.is-unread .fm-title { font-weight: 800; }
.fm-online { margin: 0 0 6px !important; }
.cm-search { display: flex; gap: 0; margin: 12px 0 16px; max-width: 520px; }
.cm-search input[type="search"] { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid var(--fm-rule); border-right: 0; background: var(--fm-card); color: var(--fm-ink); font: inherit; font-size: 14px; }
.cm-search button { height: 40px; white-space: nowrap; }
.cm-results { list-style: none; margin: 0; padding: 0; border: 1px solid var(--fm-rule); }
.cm-results li { padding: 12px 14px; border-top: 1px solid var(--fm-rule); }
.cm-results li:first-child { border-top: 0; }
.cm-results p { margin: 4px 0 !important; font-size: 14px; line-height: 21px; color: var(--fm-ink); }
.cm-results small { font-size: 12px; color: var(--fm-muted); }
/* Coin marks for :btc: :eth: :tek: … in Community posts (gt_cm_body). Generic symbols in each coin's colour, not logos. */
.cm-coin { display: inline-grid; place-items: center; width: 1.25em; height: 1.25em; margin: 0 .08em; border-radius: 50%; font-size: .95em; font-weight: 800; line-height: 1; vertical-align: -.2em; color: #fff; background: #555; font-family: inherit; }
.cm-coin-btc { background: #f7931a; }
.cm-coin-eth { background: #627eea; }
.cm-coin-tek { background: #1f5fd1; }
.cm-coin-sol { background: #9945ff; }
.cm-coin-xrp { background: #23292f; }
.cm-coin-bnb { background: #f0b90b; color: #1a1a1a; }
.cm-coin-ada { background: #0033ad; }
.cm-coin-doge { background: #c2a633; color: #1a1a1a; }
.cm-coin-ltc { background: #345d9d; }
.cm-coin-dot { background: #e6007a; }
.cm-coin-avax { background: #e84142; }
.cm-coin-pol { background: #8247e5; }
.cm-coin-link { background: #2a5ada; }
.cm-coin-atom { background: #2e3148; }
.cm-coin-xlm { background: #0a8fbf; }
.cm-coin-xmr { background: #ff6600; }
.cm-coin-trx { background: #c4101c; }
.cm-coin-ton { background: #0098ea; }
.cm-coin-shib { background: #e2462a; }
.cm-coin-bch { background: #0ac18e; }
.cm-coin-etc { background: #328332; }
.cm-coin-near { background: #111111; }
.cm-coin-algo { background: #111111; }
.cm-coin-hbar { background: #222222; }
.cm-coin-uni { background: #ff007a; }
.cm-coin-usdt { background: #26a17b; }
.cm-coin-usdc { background: #2775ca; }
.cm-coin-dai { background: #f5ac37; color: #1a1a1a; }

/* ---------- Forum, part 5: polls, reactions, Donate button, drafts ---------- */
.fm-poll { margin: 12px 0 16px; }
.fm-poll > .fm-head { display: block; padding-left: 14px; padding-right: 14px; }
.fm-poll > .fm-head .fm-hn { padding: 0; }
.fm-poll-in { padding: 12px 14px 4px; border: 1px solid var(--fm-rule); border-top: 0; background: var(--fm-card); }
.fm-poll-q { margin: 0 0 10px !important; font-size: 16px; font-weight: 700; color: var(--fm-ink); }
.fm-poll-f { display: grid; gap: 6px; margin: 0 0 12px; justify-items: start; }
.fm-poll-res { list-style: none; margin: 0; padding: 0; }
.fm-poll-res li { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr) auto; gap: 10px; align-items: center; padding: 6px 0; font-size: 14px; }
.fm-poll-res li.is-mine .fm-poll-o { font-weight: 700; }
.fm-poll-bar { display: block; height: 10px; background: var(--fm-tag); }
.fm-poll-bar i { display: block; height: 100%; background: var(--fm-accent); }
.fm-poll-n { font-size: 12px; color: var(--fm-muted); white-space: nowrap; }
.fm-poll-meta { margin: 6px 0 10px !important; font-size: 12px; color: var(--fm-muted); }
.fm-w0 { width: 0%; } .fm-w5 { width: 5%; } .fm-w10 { width: 10%; } .fm-w15 { width: 15%; } .fm-w20 { width: 20%; } .fm-w25 { width: 25%; } .fm-w30 { width: 30%; } .fm-w35 { width: 35%; } .fm-w40 { width: 40%; } .fm-w45 { width: 45%; } .fm-w50 { width: 50%; } .fm-w55 { width: 55%; } .fm-w60 { width: 60%; } .fm-w65 { width: 65%; } .fm-w70 { width: 70%; } .fm-w75 { width: 75%; } .fm-w80 { width: 80%; } .fm-w85 { width: 85%; } .fm-w90 { width: 90%; } .fm-w95 { width: 95%; } .fm-w100 { width: 100%; } 
.fm-mark.is-poll { color: var(--fm-accent); }
.fm-reacts { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; }
.fm-react-f { margin: 0; }
.fm-react { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 8px; font: inherit; font-size: 14px; line-height: 1; color: var(--fm-ink); background: transparent; border: 1px solid var(--fm-rule); cursor: pointer; }
span.fm-react { cursor: default; }
.fm-react b { font-size: 12px; font-weight: 700; }
.fm-react:hover { border-color: var(--fm-accent); }
.fm-react.is-on { border-color: var(--fm-accent); background: color-mix(in srgb, var(--fm-accent) 10%, transparent); }
.fm-donate { display: inline-block; margin-top: 8px; padding: 4px 10px; font-size: 12px; font-weight: 700; color: #fff !important; background: #138a4b; text-decoration: none; }
.fm-donate:hover { background: #0f6f3c; }
.cm-pollf { margin: 4px 0 12px; }
.cm-pollf[open] { padding: 8px 12px 4px; border: 1px solid var(--fm-rule); }
.cm-poll-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cm-drafts li form { display: inline; }
@media (max-width: 620px) { .fm-poll-res li { grid-template-columns: 1fr auto; } .fm-poll-bar { grid-column: 1 / -1; grid-row: 2; } .cm-poll-opts { grid-template-columns: 1fr; } }

/* ---------- Forum, part 6: ranks, forum rules, ignored members ---------- */
.fm-author small.fm-rank { font-weight: 700; color: var(--fm-accent); }
.fm-frules { margin: 8px 0 16px; padding: 10px 14px; border-left: 3px solid var(--fm-accent); background: var(--fm-pin); font-size: 14px; }
.fm-frules .cm-body, .fm-frules p { margin: 4px 0 0 !important; }
.fm-ignored { margin: 0 0 12px; border: 1px dashed var(--fm-rule); }
.fm-ignored > summary { padding: 10px 14px; font-size: 13px; color: var(--fm-muted); cursor: pointer; }
.fm-ignored[open] > summary { border-bottom: 1px dashed var(--fm-rule); }
.cm-mprof-acts { display: flex; gap: 6px; margin-left: auto; }
.cm-quick { margin: 0 0 8px; }
