.forum-screen { overflow:auto; min-height:0; }
.forum-shell { width:min(100%,1100px); margin:0 auto; padding:24px; box-sizing:border-box; color:var(--ink); }
.forum-heading,.forum-dialog header { display:flex; justify-content:space-between; align-items:start; gap:16px; flex-wrap:wrap; }
.forum-shell h1 { margin:12px 0; }
.forum-shell h2 { font-size:1.25rem; overflow-wrap:anywhere; }
.forum-shell a { color:var(--brand,#07836b); text-underline-offset:3px; }
.forum-filters { display:grid; grid-template-columns:minmax(180px,2fr) repeat(2,minmax(140px,1fr)) auto; align-items:end; gap:12px; margin:24px 0; }
.forum-shell label,.forum-dialog label { display:grid; gap:6px; min-width:0; margin-bottom:12px; }
.forum-shell input,.forum-shell select,.forum-shell textarea,.forum-dialog input,.forum-dialog select,.forum-dialog textarea { box-sizing:border-box; width:100%; max-width:100%; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:10px; font:inherit; }
.forum-shell button,.forum-dialog button { min-height:42px; }
.forum-filters label { margin:0; }
.forum-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:12px 0; }
.forum-topic,.forum-message { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:18px; margin:16px 0; min-width:0; }
.forum-topic h2 { margin:0 0 8px; }
.forum-topic p,.forum-note { color:var(--muted); }
.forum-message header { display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; font-size:.9rem; overflow-wrap:anywhere; }
.forum-body { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.forum-hidden { border-style:dashed; }
.forum-note { margin-top:28px; line-height:1.5; }
.forum-dialog { color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:14px; width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:22px; box-sizing:border-box; }
.forum-dialog::backdrop { background:#0008; }
.forum-shell [role=alert],.forum-dialog [data-editor-error] { color:var(--danger,#c0392b); }
@media(max-width:760px) { .forum-shell {padding:16px;} .forum-filters {grid-template-columns:minmax(0,1fr) minmax(0,1fr);} .forum-filters label:first-child {grid-column:1/-1;} }
@media(max-width:420px) { .forum-filters {grid-template-columns:minmax(0,1fr);} .forum-dialog {padding:14px;} }
