/* Community forum — layered on top of almanac.css tokens + .ogc-modal/.btn styles. */
#forum{max-width:820px;margin:0 auto}
.f-load{padding:60px 0;text-align:center;color:var(--ink-soft)}
.f-spin{display:inline-block;width:16px;height:16px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:fspin .7s linear infinite;vertical-align:-3px}
@keyframes fspin{to{transform:rotate(360deg)}}

.f-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:6px 0 18px}
.f-head h1{font-size:1.9rem;line-height:1.1}
.f-sub{color:var(--ink-soft);margin-top:4px;max-width:52ch}
.f-account{font-size:.85rem;color:var(--ink-soft);white-space:nowrap}
.linklike{background:none;border:none;color:var(--green);font-weight:700;text-decoration:underline;cursor:pointer;padding:0;font:inherit}

.f-crumb{font-size:.85rem;color:var(--ink-soft);margin:2px 0 12px}
.f-crumb a{color:var(--green);text-decoration:none}
.f-crumb span{margin:0 6px;opacity:.6}

/* board list */
.f-boards{display:grid;gap:12px}
.f-board{display:flex;align-items:center;gap:14px;background:#fffdf6;border:1.5px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .05s}
.f-board:hover{border-color:var(--green)}
.f-board:active{transform:translateY(1px)}
.f-bicon{font-size:1.8rem;flex:none;width:40px;text-align:center}
.f-bmain{flex:1;min-width:0}
.f-bmain b{font-family:'Fraunces',serif;font-size:1.15rem;display:block}
.f-bdesc{color:var(--ink-soft);font-size:.9rem;display:block;margin-top:2px}
.f-bmeta{flex:none;text-align:right;font-size:.82rem;color:var(--ink-soft);font-weight:700}
.f-bwhen{font-weight:400;opacity:.8}

/* thread list */
.f-actions{margin:0 0 16px}
.f-threads{display:grid;gap:1px;background:var(--line);border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.f-thread{display:flex;align-items:center;gap:12px;background:#fffdf6;padding:14px 16px;text-decoration:none;color:var(--ink)}
.f-thread:hover{background:#fff}
.f-pin{flex:none}
.f-tmain{flex:1;min-width:0}
.f-tmain b{font-family:'Fraunces',serif;font-size:1.05rem;display:block}
.f-tby{color:var(--ink-soft);font-size:.82rem;display:block;margin-top:1px}
.f-tmeta{flex:none;text-align:right;font-size:.8rem;color:var(--ink-soft);font-weight:700}

/* thread view */
.f-post{background:#fffdf6;border:1.5px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:12px}
.f-op{border-left:4px solid var(--green)}
.f-pby{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--ink-soft);margin-bottom:8px}
.f-pby b{color:var(--ink);font-size:.95rem}
.f-pbody{line-height:1.6;word-wrap:break-word;overflow-wrap:anywhere}
/* moderator (James avatar) replies */
.f-mod{border-left:4px solid var(--gold);background:#fffaf0}
.f-modchip{background:var(--gold);color:var(--green-deep);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px}

.f-reply{background:#fffdf6;border:1.5px dashed var(--line);border-radius:12px;padding:16px 18px;margin-top:18px}
.f-reply h3{font-family:'Fraunces',serif;margin-bottom:8px}
.f-reply textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;background:#fff;font-family:inherit;font-size:1rem;margin-bottom:10px}
.f-reply textarea:focus{outline:2px solid var(--green);border-color:var(--green)}

.f-empty{text-align:center;padding:40px 20px;color:var(--ink-soft)}
.f-empty .hand{font-size:1.5rem;color:var(--rust);display:block;margin-bottom:6px}

/* moderator tools (James only) */
.f-mod-tools{margin-top:18px;padding:14px 16px;border:1.5px dashed var(--gold);border-radius:12px;background:#fffaf0}
.f-mod-hint{display:inline-block;margin-left:10px;font-size:.82rem;color:var(--ink-soft)}
.f-draftcard{margin-top:12px}
.f-draftlabel{font-size:.85rem;color:var(--ink-soft);margin-bottom:6px}
.f-draftcard textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;background:#fff;font-family:inherit;font-size:1rem;line-height:1.55}
.f-draftcard textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.f-draftbtns{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}
.f-flag{background:#fbe7df;border:1px solid var(--rust);color:#7a2f15;border-radius:8px;padding:8px 12px;font-size:.88rem;font-weight:700;margin-bottom:10px}
/* review queue */
.f-qitem{background:#fffdf6;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.f-qhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.f-qhead a{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--green);text-decoration:none}
.f-qboard{font-size:.78rem;color:var(--ink-soft);font-weight:700;white-space:nowrap}

@media(max-width:560px){
  .f-bmeta,.f-tmeta{display:none}
  .f-head h1{font-size:1.5rem}
}
