/* JALEXSI Forum: shared profiles, rich editor and topic policies. */
.forum-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.forum-page [hidden], .forum-profile-popover[hidden], .forum-rich-editor [hidden], .admin-forum-topic-policy [hidden] { display:none !important; }
.forum-account-link { display:inline-flex; align-items:center; gap:7px; color:inherit; text-decoration:none; vertical-align:middle; max-width:100%; }
.forum-account-link__name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.forum-account-link:hover .forum-account-link__name { color:#c4b5fd; }
.forum-account-link:focus-visible, .forum-editor-tool:focus-visible, .forum-editor-select:focus-visible { outline:2px solid #b594ff; outline-offset:3px; }
.profile-cosmetic-avatar--forum { width:38px; height:38px; }
.profile-cosmetic-avatar--forum .profile-cosmetic-avatar__base { inset:3px; border-radius:9px; font-size:15px; }
.profile-cosmetic-avatar--forum .profile-cosmetic-avatar__base img,
.profile-cosmetic-avatar--forum-card .profile-cosmetic-avatar__base img { width:100%; height:100%; object-fit:cover; }
.profile-cosmetic-avatar--forum .profile-cosmetic-avatar__frame,
.profile-cosmetic-avatar--forum-card .profile-cosmetic-avatar__frame { position:absolute; inset:0; z-index:2; width:100%; height:100%; pointer-events:none; object-fit:contain; }
.forum-account-link--post .profile-cosmetic-avatar--forum { width:76px; height:76px; }
.forum-account-link--post .profile-cosmetic-avatar__base { inset:5px; border-radius:18px; font-size:28px; }
.profile-cosmetic-avatar--forum-card { width:64px; height:64px; }
.profile-cosmetic-avatar--forum-card .profile-cosmetic-avatar__base { inset:4px; border-radius:15px; font-size:23px; }
.forum-topic-row__last > span { min-width:0; }
.forum-last-post-link { display:block; margin-top:4px; font-size:11px; color:#9fa8bc; }
.forum-section-row__latest > span, .forum-latest-item__copy { min-width:0; }
.forum-section-row__latest a, .forum-latest-item__copy a { color:inherit; text-decoration:none; }
.forum-section-row__latest a:hover, .forum-latest-item__copy a:hover { color:#c4b5fd; }
.forum-online-users .forum-account-link { width:auto; height:auto; border:0; background:none; }
.forum-profile-popover { position:fixed; z-index:10020; box-sizing:border-box; width:304px; max-width:calc(100vw - 20px); padding:17px; border:1px solid #594074; border-radius:15px; color:#edf0fa; background:#141320; box-shadow:0 18px 65px #000a; font:13px/1.5 Inter,Arial,sans-serif; }
.forum-profile-card__head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.forum-profile-card__head > div:last-child { min-width:0; }
.forum-profile-card__head strong { display:block; font-size:18px; overflow-wrap:anywhere; }
.forum-profile-card__eyebrow { display:block; color:#a693ce; font-size:9px; font-weight:700; letter-spacing:1.6px; }
.forum-profile-card__facts { margin:0 0 16px; }
.forum-profile-card__facts > div { display:grid; grid-template-columns:1fr 1.3fr; gap:10px; padding:6px 0; border-bottom:1px solid #ffffff0b; }
.forum-profile-card__facts dt { color:#a3a4b7; }
.forum-profile-card__facts dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.forum-profile-card__restricted { color:#b3acbf; }
.forum-profile-card .forum-primary-button { display:flex; align-items:center; justify-content:center; padding:10px 14px; border:1px solid #a272ed55; border-radius:9px; background:#7540be; color:#fff; text-decoration:none; font-weight:700; }

.forum-rich-editor { min-width:0; width:100%; border:1px solid #3a334f; border-radius:10px; background:#10111b; overflow:hidden; }
.forum-rich-editor__toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:3px; padding:8px; border-bottom:1px solid #383046; background:#1b1928; }
.forum-rich-editor .forum-editor-tool { display:inline-grid; place-items:center; flex:0 0 auto; width:32px; height:32px; margin:0; padding:0; border:1px solid transparent; border-radius:5px; background:transparent; color:#ddd8e9; font:700 13px/1 Arial,sans-serif; cursor:pointer; box-shadow:none; }
.forum-rich-editor .forum-editor-tool:hover { background:#302440; border-color:#7f4daa; color:#fff; }
.forum-rich-editor .forum-editor-tool[aria-pressed="true"] { background:#7142a6; border-color:#a275d2; color:#fff; }
.forum-rich-editor .forum-editor-tool:disabled { opacity:.32; cursor:default; }
.forum-rich-editor .forum-editor-select { box-sizing:border-box; height:32px; max-width:126px; padding:0 6px; margin:0; border:1px solid #443752; border-radius:5px; background:#211d2f; color:#dfd9ee; font:11px Inter,Arial,sans-serif; }
.forum-editor-color { display:inline-flex; position:relative; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #443752; border-radius:5px; color:#ddd; font-size:13px; cursor:pointer; }
.forum-editor-color input { position:absolute; bottom:3px; width:18px; height:5px; padding:0; border:0; cursor:pointer; }
.forum-rich-editor__content { min-height:210px; padding:16px 19px; color:#e3e4ee; font-size:14px; line-height:1.65; }
.forum-rich-editor .tiptap { min-height:178px; outline:none; overflow-wrap:anywhere; }
.forum-rich-editor .tiptap p { margin:0 0 10px; }
.forum-rich-editor .tiptap p.is-editor-empty:first-child::before { color:#777989; content:attr(data-placeholder); float:left; height:0; pointer-events:none; }
.forum-rich-editor__preview { min-height:210px; padding:16px 19px; background:#151421; }
.forum-rich-editor__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 14px; border-top:1px solid #33283f; color:#9090a4; font-size:10px; }
.forum-rich-editor__error { margin:0; padding:10px 14px; color:#feb2b2; background:#8e294123; font-size:12px; }
.forum-rich-editor__error:empty { display:none; }
.forum-rich-editor__fallback textarea { width:100%; box-sizing:border-box; margin:0; padding:15px; color:#e3e4ee; background:#12121f; border:0; border-radius:0; font:14px/1.65 Inter,Arial,sans-serif; }
.forum-rich-editor .is-over-limit { color:#fca5a5; }
.forum-notify-check { display:inline-flex; align-items:center; gap:8px; color:#aba4b9; font-size:12px; }
.forum-notify-check input { accent-color:#9354d7; }
.forum-inline-editor { flex:1 1 auto; min-width:0; }
.forum-inline-editor[open] { flex-basis:100%; }
.forum-inline-editor form { width:100%; }
.forum-post__actions .forum-quote-button { padding:5px 10px; color:#c4b5fd; border:1px solid #5b4478; border-radius:6px; background:#2a1d3a; cursor:pointer; font-size:11px; }
.forum-post__actions { flex-wrap:wrap; }
.forum-reply-editor > .forum-rich-editor { display:block; }
.forum-reply-editor > .forum-notify-check { display:inline-flex; }

.forum-post__body { white-space:normal; overflow-wrap:anywhere; }
.forum-post__body > :first-child, .forum-rich-editor .tiptap > :first-child { margin-top:0; }
.forum-post__body p { margin:0 0 12px; }
.forum-post__body h2, .forum-rich-editor .tiptap h2 { font-size:24px; margin:18px 0 10px; }
.forum-post__body h3, .forum-rich-editor .tiptap h3 { font-size:20px; margin:16px 0 8px; }
.forum-post__body h4, .forum-rich-editor .tiptap h4 { font-size:17px; margin:14px 0 8px; }
.forum-post__body ul, .forum-post__body ol, .forum-rich-editor .tiptap ul, .forum-rich-editor .tiptap ol { padding-left:26px; margin:12px 0; }
.forum-post__body li, .forum-rich-editor .tiptap li { margin:5px 0; }
.forum-post__body blockquote, .forum-rich-editor .tiptap blockquote { margin:14px 0; padding:12px 15px; border-left:3px solid #a276cd; background:#9970cc11; color:#c9bedb; }
.forum-post__body pre, .forum-rich-editor .tiptap pre { max-width:100%; margin:14px 0; padding:14px; overflow:auto; border:1px solid #373346; border-radius:8px; color:#d3d7ec; background:#090b12; white-space:pre-wrap; font:12px/1.6 'Courier New',monospace; }
.forum-post__body code, .forum-rich-editor .tiptap code { padding:2px 5px; background:#0004; border-radius:3px; font-family:'Courier New',monospace; }
.forum-post__body pre code, .forum-rich-editor .tiptap pre code { padding:0; background:none; }
.forum-post__body a, .forum-rich-editor .tiptap a { color:#c7a3ff; text-decoration:underline; }
.forum-post__body img, .forum-rich-editor .tiptap img { display:block; max-width:100%; height:auto; max-height:720px; margin:12px 0; object-fit:contain; border-radius:8px; }
.forum-post__body hr, .forum-rich-editor .tiptap hr { margin:20px 0; border:0; border-top:1px solid #514261; }
.forum-spoiler { margin:12px 0; border:1px solid #56416d; border-radius:8px; background:#8d4ec512; }
details.forum-spoiler > summary { cursor:pointer; padding:9px 12px; color:#cfb8e9; font-weight:600; }
details.forum-spoiler > [data-type="detailsContent"] { padding:10px 13px; border-top:1px solid #4f3b62; }
.forum-rich-editor [data-type="details"] { display:flex; gap:8px; margin:12px 0; border:1px solid #56416d; border-radius:8px; padding:8px; }
.forum-rich-editor [data-type="details"] > button { flex:0 0 24px; width:24px; height:24px; border:0; border-radius:4px; color:#ddd; background:#503766; cursor:pointer; }
.forum-rich-editor [data-type="details"] > button::before { content:'›'; }
.forum-rich-editor [data-type="details"].is-open > button::before { content:'⌄'; }
.forum-rich-editor [data-type="details"] > div { flex:1; min-width:0; }
.forum-rich-editor [data-type="details"] summary { font-weight:700; color:#cfb8e9; }
.forum-editor-dialog { width:min(440px,calc(100vw - 36px)); box-sizing:border-box; padding:24px; border:1px solid #6b438f; border-radius:15px; color:#e9e3f5; background:#171420; box-shadow:0 25px 80px #0009; font:14px/1.5 Inter,Arial,sans-serif; }
.forum-editor-dialog::backdrop { background:#050409b8; }
.forum-editor-dialog h3 { margin:0 0 18px; font-size:20px; }
.forum-editor-dialog label { display:grid; gap:5px; margin:12px 0; font-size:12px; }
.forum-editor-dialog input { width:100%; box-sizing:border-box; padding:10px; border:1px solid #4c385f; border-radius:7px; background:#0d0c15; color:#eee; }
.forum-editor-dialog__actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.forum-editor-dialog button { padding:9px 13px; border:1px solid #684583; border-radius:7px; color:#eee; background:#312040; cursor:pointer; }
.forum-editor-dialog .forum-primary-button { background:#8245b7; }
.forum-emoji-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:5px; margin-bottom:16px; }
.forum-emoji-grid button { padding:7px; font-size:24px; }

.admin-forum-topic-policy { min-width:0; margin:8px 0; padding:12px; border:1px solid #473550; border-radius:8px; background:#8d4ec509; }
.admin-forum-topic-policy legend { padding:0 6px; color:#d4bce9; font-size:12px; font-weight:700; }
.admin-forum-topic-policy > label { display:grid; gap:5px; }
.admin-forum-topic-policy > label select { width:100%; }
.admin-forum-topic-policy__roles { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:6px; margin:12px 0; }
.admin-forum-topic-policy > small { display:block; margin-top:8px; color:#a797b8; font-size:10px; line-height:1.5; }
@media (max-width:700px) {
    .forum-rich-editor__toolbar { gap:2px; padding:6px; }
    .forum-rich-editor .forum-editor-tool { width:29px; height:31px; }
    .forum-rich-editor .forum-editor-select { max-width:112px; }
    .forum-rich-editor__content, .forum-rich-editor__preview { padding:13px; }
    .forum-rich-editor__hint { display:none; }
    .forum-account-link--post .profile-cosmetic-avatar--forum { width:52px; height:52px; }
    .forum-account-link--post .profile-cosmetic-avatar__base { inset:3px; border-radius:12px; font-size:20px; }
    .forum-editor-dialog { padding:18px; }
    .forum-post__body pre { font-size:11px; }
}
