/* Self-hosted visual editor and canonical CommonMark/GFM reading surfaces. */
.forum-composer [hidden] { display:none !important; }
.forum-composer .forum-media-uploader { padding:.5rem 0; }
.forum-composer .fx-editor:has(.forum-visual-toolbar) { overflow:visible; }
.forum-visual-toolbar { border-radius:9px 9px 0 0; }
.forum-visual-toolbar,.forum-table-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; padding:.7rem; border-bottom:1px solid var(--border,#d9e0e8); background:var(--card-2,#f4f7fb); }
.forum-visual-toolbar[hidden],.forum-table-tools[hidden],.forum-visual-mount[hidden] { display:none; }
.forum-visual-toolbar .fx-tool,.forum-table-tools .fx-tool { min-width:2.15rem; min-height:2.15rem; border-radius:.35rem; padding:.35rem .6rem; cursor:pointer; color:var(--fg-dim); font-size:.875rem; }
.forum-visual-toolbar [aria-pressed="true"] { background:var(--brand-fill,#1469df); color:#fff; }
.forum-visual-toolbar .tool-bold { font-weight:800; }
.forum-visual-toolbar .tool-italic { font-style:italic; }
.forum-editor-style { max-width:9rem; min-height:2.15rem; padding:.25rem; font:inherit; color:inherit; background:var(--card,#fff); border:1px solid var(--border,#d9e0e8); border-radius:.35rem; }
.forum-visual-writing { box-sizing:border-box; width:100%; max-width:none; min-height:14rem; max-height:34rem; overflow:auto; padding:1.1rem 1.25rem; font-size:1rem; line-height:1.65; outline:none; overflow-wrap:anywhere; white-space:pre-wrap; }
.forum-visual-writing:focus { box-shadow:inset 0 0 0 2px var(--brand-fill,#1469df); }
.forum-visual-writing:focus-visible { outline:none; }
.forum-visual-writing > :first-child { margin-top:0; }
.forum-visual-writing > :last-child { margin-bottom:0; }
.forum-visual-writing td > p,.forum-visual-writing th > p { margin:.15em 0; }
.forum-editor-notice { padding:.7rem 1rem; background:var(--card-2,#f4f7fb); border-left:3px solid var(--brand-fill,#1469df); font-size:.9rem; }
.forum-editor-more { position:relative; }
.forum-editor-more summary { cursor:pointer; padding:.5rem; }
.forum-editor-more-items { position:absolute; z-index:5; right:0; top:100%; display:grid; min-width:12rem; max-height:min(25rem,60vh); overflow-y:auto; padding:.5rem; background:var(--card,#fff); border:1px solid var(--border,#d9e0e8); box-shadow:0 .4rem 1.2rem #0002; border-radius:.4rem; }
.forum-editor-more-items button { text-align:left; }
.forum-editor-dialog { width:min(32rem,calc(100vw - 2rem)); padding:1.5rem; color:var(--fg,#172333); background:var(--card,#fff); border:1px solid var(--border,#d9e0e8); border-radius:.8rem; }
.forum-editor-dialog::backdrop { background:#0b142a88; }
.forum-editor-dialog label { display:grid; gap:.4rem; margin:.8rem 0; }
.forum-editor-dialog-actions { display:flex; gap:.7rem; justify-content:flex-end; margin-top:1rem; }
.forum-editor-attachment { display:flex; flex-direction:column; align-items:flex-start; gap:.4rem; padding:.65rem; margin:.7rem 0; background:var(--card-2,#f4f7fb); border:1px solid var(--border,#d9e0e8); border-radius:.5rem; }
.forum-editor-attachment img { max-width:min(100%,25rem); max-height:17rem; object-fit:contain; }
.forum-editor-attachment.ProseMirror-selectednode { outline:2px solid var(--brand-fill,#1469df); }
.ugc h1,.ugc h2,.ugc h3,.ugc h4,.ugc h5,.ugc h6 { line-height:1.3; margin:1.25em 0 .5em; }
.ugc h1 { font-size:1.6em; }.ugc h2 { font-size:1.4em; }.ugc h3 { font-size:1.2em; }.ugc h4,.ugc h5,.ugc h6 { font-size:1.05em; }
.ugc table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:1em 0; }
.ugc th,.ugc td { border:1px solid var(--border,#d9e0e8); padding:.5rem .7rem; min-width:4rem; vertical-align:top; }
.ugc th { background:var(--card-2,#f4f7fb); font-weight:700; }
.ugc .align-left { text-align:left; }.ugc .align-center { text-align:center; }.ugc .align-right { text-align:right; }
.ugc pre { white-space:pre; overflow-x:auto; max-width:100%; }
.ugc ul ul,.ugc ul ol,.ugc ol ul,.ugc ol ol { margin-block:.3em; }
.ugc ul.contains-task-list { list-style:none; padding-left:1.25rem; }
.ugc .task-list-item input { margin-right:.45rem; }
.forum-visual-writing ul[data-type="taskList"] { list-style:none; padding-left:0; }
.forum-visual-writing li[data-type="taskItem"] { display:flex; align-items:flex-start; gap:.6rem; }
.forum-visual-writing li[data-type="taskItem"] > label { padding-top:.2rem; }
.forum-visual-writing li[data-type="taskItem"] > div { flex:1; min-width:0; }
.ugc .footnotes { font-size:.9em; border-top:1px solid var(--border,#d9e0e8); margin-top:1rem; }
.ugc dt { font-weight:700; }.ugc dd { margin-left:1.3rem; }
@media(max-width:600px) { .forum-visual-toolbar { gap:.2rem; padding:.45rem; }.forum-visual-writing { padding:.8rem; }.forum-editor-style { max-width:7.5rem; } }
