.forum-page [hidden] { display: none !important; }
.forum-page { --forum-accent: #c1a0ff; }
.forum-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:30px; }
.forum-eyebrow { color:var(--forum-accent); text-transform:uppercase; font-size:.75rem; font-weight:800; letter-spacing:.18em; margin:0 0 12px; }
.forum-heading h1 { font-size:clamp(2.2rem,5vw,3.6rem); letter-spacing:-.04em; }
.forum-heading .lead { margin:12px 0 0; }
.forum-heading .btn { flex-shrink:0; }
.forum-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:24px; align-items:start; }
.forum-sidebar { display:grid; gap:20px; }
.forum-sidebar h2 { font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.forum-categories { display:grid; gap:5px; }
.forum-category { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; border:1px solid transparent; border-radius:10px; padding:12px; background:transparent; color:var(--muted); font:inherit; text-align:left; cursor:pointer; }
.forum-category:hover { color:var(--text); background:var(--bg2); }
.forum-category.on { border-color:#c1a0ff55; color:var(--forum-accent); background:#c1a0ff10; }
.forum-category small { font-variant-numeric:tabular-nums; }
.forum-guide p { font-size:.9rem; color:var(--muted); }
.forum-guide strong { color:var(--text); }
.forum-guide a { font-size:.9rem; }
.forum-main { min-width:0; }
.forum-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:14px; margin-bottom:20px; }
.forum-toolbar label { margin-top:0; }
.forum-list-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 12px; }
.forum-list-heading h2 { margin:0; font-size:1.15rem; }
.forum-list-heading span { font-size:.85rem; color:var(--muted); }
.forum-list { padding:0 22px; overflow:hidden; }
.forum-page .thread-row { grid-template-columns:40px minmax(0,1fr) auto; gap:16px; align-items:center; padding:22px 0; }
.forum-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:var(--forum-accent); background:#c1a0ff12; border:1px solid #c1a0ff26; font-weight:800; }
.forum-topic { min-width:0; }
.forum-topic .title { display:block; font-size:1.05rem; line-height:1.4; overflow-wrap:anywhere; }
.forum-topic-meta { display:flex; gap:8px 12px; flex-wrap:wrap; align-items:center; font-size:.8rem; color:var(--muted); margin-top:9px; overflow-wrap:anywhere; }
.forum-topic-actions { display:grid; gap:10px; justify-items:end; }
.forum-topic-actions time { color:var(--muted); font-size:.75rem; }
.forum-page .forum-empty { padding:48px 16px; text-align:center; }
.forum-empty h3 { font-size:1.2rem; margin:0 0 10px; }
.forum-empty p { color:var(--muted); max-width:390px; margin:0 auto 20px; }
.forum-note { font-size:.8rem; color:var(--muted); margin:14px 0 0; }
.forum-composer { margin-bottom:24px; border-color:#c1a0ff55; }
.forum-composer h2 { margin-bottom:6px; }
.forum-composer p { color:var(--muted); font-size:.9rem; }
.forum-composer .row { margin-top:16px; }
.forum-page textarea { min-height:160px; }
.forum-page :focus-visible { outline:2px solid var(--forum-accent); outline-offset:4px; }
.forum-page .err:empty { display:none; }
.forum-page .err { margin-bottom:16px; }
.thread-page { max-width:960px; }
.thread-back { display:inline-block; margin-bottom:24px; }
.thread-heading { margin-bottom:24px; }
.thread-heading h1 { overflow-wrap:anywhere; line-height:1.2; }
.thread-heading .forum-topic-meta { margin-top:16px; }
.thread-page #posts { padding:0 26px; }
.thread-page .post { padding:26px 0; }
.thread-page .post:last-child { border:0; }
.thread-page .post .meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:16px; }
.thread-page .post .meta strong { color:var(--text); }
.thread-page .post .body { line-height:1.85; overflow-wrap:anywhere; }
.thread-page #reply { margin-top:24px; scroll-margin-top:140px; }
.thread-page #reply-status { color:var(--forum-accent); margin:12px 0; }
.thread-page #del-thread { margin-top:18px; }
@media (max-width:850px) {
 .forum-layout { grid-template-columns:minmax(0,1fr); }
 .forum-sidebar { display:block; }
 .forum-sidebar>.card { padding:16px; }
 .forum-sidebar h2 { margin-bottom:10px; }
 .forum-categories { display:flex; overflow-x:auto; padding-bottom:4px; }
 .forum-category { width:auto; flex-shrink:0; padding:9px 12px; }
 .forum-guide { display:none; }
}
@media (max-width:540px) {
 .forum-heading { align-items:flex-start; flex-direction:column; gap:18px; }
 .forum-heading .btn { width:100%; text-align:center; }
 .forum-toolbar { grid-template-columns:minmax(0,1fr); }
 .forum-page .thread-row { grid-template-columns:minmax(0,1fr); gap:12px; }
 .forum-page .thread-row>.forum-avatar { display:none; }
 .forum-topic-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }
 .forum-list { padding:0 16px; }
 .forum-list-heading { flex-wrap:wrap; }
 .thread-page #posts { padding:0 18px; }
}
@media (prefers-reduced-motion:reduce) { .forum-page { scroll-behavior:auto; } }
