/* Rellawings integrated forum: scoped, lightweight, system-font styles. */
.forum32{max-width:1100px;margin:auto;--f32-edge:var(--border);--f32-ink:var(--text);--f32-muted:var(--muted)}
.forum32 .section-head{margin-bottom:1rem}.forum32-top{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.4rem;margin:1.3rem 0 2rem;padding:.9rem 1.1rem;border:1px solid var(--f32-edge);border-radius:10px;background:var(--surface);font-size:.9rem}
.forum32-top a{color:var(--accent)}.forum32-top button{margin-left:auto}
.forum32-welcome{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.7rem;border-radius:12px;background:linear-gradient(120deg,#282637,#1d2835 65%,#30304a);border:1px solid #514264;margin-bottom:2rem}
.forum32-welcome strong{font-size:1.3rem}.forum32-welcome p{margin:.25rem 0 0;color:#bdc5d4}
.forum32-category{border:1px solid var(--f32-edge);background:var(--surface);border-radius:12px;overflow:hidden;margin-bottom:1.6rem}
.forum32-category>header{padding:1rem 1.3rem;background:linear-gradient(95deg,#353042,#252b39);border-bottom:1px solid var(--f32-edge)}
.forum32-category>header h2{font-size:1.18rem;margin:0 0 .1rem}.forum32-category>header p{font-size:.84rem;color:var(--f32-muted);margin:0}
.forum32-board-item{padding:1rem 1.2rem;display:flex;align-items:center;gap:1.2rem;border-bottom:1px solid var(--f32-edge)}
.forum32-board-item:last-child{border:0}.forum32-board-item:hover,.forum32-thread-link:hover{background:var(--raised);color:var(--text)}
.forum32-board-mark{display:flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border-radius:10px;color:#e3d2f4;background:#393245;font-size:1.75rem}
.forum32-board-text{min-width:0;flex:1}.forum32-board-text strong{display:block;color:var(--accent)}.forum32-board-text small{display:block;margin-top:.12rem;color:var(--f32-muted);font-size:.84rem}
.forum32-board-numbers{text-align:right;font-size:.77rem;white-space:nowrap;color:var(--f32-muted)}
.forum32-crumb{margin-bottom:1.3rem;color:var(--f32-muted);font-size:.88rem}.forum32-crumb a{color:var(--accent)}
.forum32-list{border:1px solid var(--f32-edge);border-radius:10px;overflow:hidden;background:var(--surface)}.forum32-thread-link{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.3rem;border-bottom:1px solid var(--f32-edge)}.forum32-thread-link:last-child{border:0}.forum32-thread-title{font-size:1rem;font-weight:650;color:var(--text)}.forum32-thread-link small{color:var(--f32-muted);font-size:.8rem}
.forum32-pages{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin:1.3rem 0}.forum32-pages a,.forum32-filter a{padding:.42rem .8rem;border:1px solid var(--f32-edge);background:var(--surface);border-radius:7px}.forum32-pages [aria-current],.forum32-filter [aria-current]{background:#534365;color:#fff;border-color:#8d6db6}
.forum32-thread-head{padding:1.3rem;border:1px solid var(--f32-edge);background:var(--surface);border-radius:10px;margin-bottom:1rem}.forum32-thread-head h2{margin-bottom:.3rem}.forum32-thread-head small{color:var(--f32-muted)}
.forum32-inline{display:inline-block;margin:0 .6rem 1rem 0}.forum32-staff-actions{display:inline-flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}
.forum32-post{display:grid;grid-template-columns:185px minmax(0,1fr);border:1px solid var(--f32-edge);border-radius:11px;overflow:hidden;background:var(--surface);margin:1rem 0}
.forum32-post>aside{padding:1.2rem;background:color-mix(in srgb,var(--raised),var(--surface) 35%);border-right:1px solid var(--f32-edge)}
.forum32-person{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem}.forum32-user{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:100%;overflow-wrap:anywhere}
.forum32-user img{width:85px;height:85px;border-radius:12px;object-fit:cover;border:2px solid #5b506d}.forum32-user strong{color:var(--accent)}
.forum32-rank{font-size:.76rem;font-weight:700;color:#d8c0ef}.forum32-role-moderator{color:#8bc5ed}.forum32-role-administrator{color:#f1c184}.forum32-role-webmistress{color:#f0aada}
.forum32-flavor{font-size:.8rem;line-height:1.3;font-style:italic;overflow-wrap:anywhere}.forum32-count{font-size:.73rem;color:var(--f32-muted)}
.forum32-post-main{padding:1.15rem 1.3rem;min-width:0;display:flex;flex-direction:column}.forum32-post-main>header{font-size:.8rem;color:var(--f32-muted);border-bottom:1px solid var(--f32-edge);padding-bottom:.7rem}
.forum32-message{min-height:85px;padding:1.2rem 0;font-size:.96rem;line-height:1.75;overflow-wrap:anywhere}.forum32-message blockquote{border-left:3px solid var(--accent);margin:.8rem 0;padding:.7rem 1rem;background:var(--raised)}.forum32-message details{padding:.65rem .8rem;border:1px solid var(--f32-edge);border-radius:8px}
.forum32-signature{border-top:1px solid var(--f32-edge);padding-top:.8rem;font-size:.8rem;color:var(--f32-muted);margin-top:auto}.forum32-signature-text{white-space:normal;overflow-wrap:anywhere}.forum32-books{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-top:.55rem}.forum32-books strong{white-space:nowrap;font-size:.74rem}.forum32-book-row{display:flex;flex-wrap:wrap;gap:.4rem}.forum32-book-row img{height:73px;width:48px;object-fit:cover;border-radius:4px;border:1px solid var(--f32-edge)}
.forum32-post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}.forum32-post-actions form{display:inline}.forum32-btn-link{display:inline-block}.forum32-like-count{font-size:.82rem;color:var(--f32-muted)}.forum32 .danger{color:#f7a9ad;border-color:#864b56}
.forum32-compose{display:flex;flex-direction:column;gap:1rem;margin:1.3rem 0;padding:1.4rem}.forum32-compose form{display:flex;flex-direction:column;gap:1rem}.forum32-compose label{display:flex;flex-direction:column;gap:.4rem}.forum32-compose input,.forum32-compose select,.forum32-compose textarea{max-width:100%;width:100%}.forum32-editor textarea{min-height:165px}.forum32-format-help{font-size:.8rem;color:var(--f32-muted)}.forum32-filter{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.forum32-report{padding:1rem;border-bottom:1px solid var(--f32-edge)}.forum32-report pre{white-space:pre-wrap;overflow-wrap:anywhere}.forum32-report form{margin:1rem 0}.forum32-report form button{margin:.5rem}
.forum32-board-admin{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.6rem;border-bottom:1px solid var(--f32-edge)}.forum32-board-admin>span{flex:1 1 240px}.forum32-board-admin label{font-weight:400;flex:0 1 170px}.forum32-board-admin label:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:center}.forum32-board-admin select{width:100%;max-width:170px}.forum32-board-admin input[type=checkbox]{width:auto}
.forum32-rules{width:min(620px,94vw);max-height:85vh;overflow:auto;color:var(--text);background:var(--surface);border:1px solid var(--accent-deep);border-radius:14px;padding:1.3rem 1.6rem}.forum32-rules::backdrop{background:#03040ad9}.forum32-rules-head{display:flex;gap:1rem;align-items:center;justify-content:space-between}.forum32-rules li{margin:.45rem 0}.forum32-top button{color:var(--accent)}
@media(max-width:680px){.forum32-post{grid-template-columns:1fr}.forum32-post>aside{border-right:0;border-bottom:1px solid var(--f32-edge);padding:.75rem}.forum32-person{display:grid;grid-template-columns:56px minmax(0,1fr);text-align:left;justify-items:start}.forum32-user{flex-direction:row;grid-column:1 / -1}.forum32-user img{height:50px;width:50px}.forum32-rank,.forum32-flavor,.forum32-count{grid-column:2}.forum32-post-main{padding:1rem}.forum32-welcome{flex-direction:column;align-items:flex-start}.forum32-board-mark{display:none}.forum32-board-item{gap:.6rem}.forum32-board-numbers{font-size:.68rem}}

.forum32-editor-tools{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.forum32-editor-tools button{font-size:.78rem}

/* v33 theme-safe forum palette: match global light/sepia and preserve dark appearance. */
.forum32{
  --f33-welcome:linear-gradient(120deg,#282637,#1d2835 65%,#30304a);
  --f33-category:linear-gradient(95deg,#353042,#252b39);
  --f33-panel-title:#f5f0fa;--f33-panel-detail:#bfc7d7;
  --f33-welcome-edge:#514264;--f33-icon-bg:#393245;--f33-icon-ink:#e3d2f4;
  --f33-rank:#d8c0ef;--f33-link:var(--accent);
}
.forum32 .forum32-welcome{background:var(--f33-welcome);border-color:var(--f33-welcome-edge);color:var(--f33-panel-title)}
.forum32 .forum32-welcome strong,.forum32 .forum32-category>header h2{color:var(--f33-panel-title)}
.forum32 .forum32-welcome p,.forum32 .forum32-category>header p{color:var(--f33-panel-detail)}
.forum32 .forum32-category>header{background:var(--f33-category)}
.forum32 .forum32-board-mark{background:var(--f33-icon-bg);color:var(--f33-icon-ink)}
.forum32 .forum32-rank{color:var(--f33-rank)}
.forum32 .forum32-role-moderator{color:var(--f33-moderator,#8bc5ed)}
.forum32 .forum32-role-administrator{color:var(--f33-administrator,#f1c184)}
.forum32 .forum32-role-webmistress{color:var(--f33-webmistress,#f0aada)}
body[data-theme="light"] .forum32,html[data-theme="light"] .forum32,html[data-site-theme="light"] .forum32,body[data-site-theme="light"] .forum32,body.theme-light .forum32{
  --f33-welcome:linear-gradient(115deg,#eee9f5,#e8edf5 70%,#e8e2f3);
  --f33-category:linear-gradient(100deg,#ebe4f1,#e6eaf1);
  --f33-panel-title:#302840;--f33-panel-detail:#555269;
  --f33-welcome-edge:#c9bad9;--f33-icon-bg:#e3d9ed;--f33-icon-ink:#655087;
  --f33-link:#63417e;--f33-rank:#694d87;--f33-moderator:#215d83;--f33-administrator:#856019;--f33-webmistress:#92446b;
}
body[data-theme="sepia"] .forum32,html[data-theme="sepia"] .forum32,html[data-site-theme="sepia"] .forum32,body[data-site-theme="sepia"] .forum32,body.theme-sepia .forum32{
  --f33-welcome:linear-gradient(115deg,#e8d7bd,#e7dcc9 70%,#dfd1bb);
  --f33-category:linear-gradient(100deg,#e6d6bd,#e2d7c4);
  --f33-panel-title:#493927;--f33-panel-detail:#705b43;
  --f33-welcome-edge:#bda98b;--f33-icon-bg:#d8c6a9;--f33-icon-ink:#76536d;
  --f33-link:#764771;--f33-rank:#745078;--f33-moderator:#365f72;--f33-administrator:#795718;--f33-webmistress:#8e4965;
}
body[data-theme="light"] .forum32 .forum32-welcome .btn,
body[data-theme="sepia"] .forum32 .forum32-welcome .btn{color:var(--text);background:var(--raised);border-color:var(--border)}
body[data-theme="light"] .forum32 .forum32-pages [aria-current],body[data-theme="sepia"] .forum32 .forum32-pages [aria-current]{background:var(--accent-deep);color:#fff}
body[data-theme="light"] .forum32 .danger,body[data-theme="sepia"] .forum32 .danger{color:#973a48;border-color:#b97880}
/* Shared member autocomplete and paginated browser, scoped to staff pages. */
.forum33-member-field{position:relative;display:flex;gap:.55rem;align-items:stretch;flex-wrap:wrap;min-width:0}
.forum33-member-field>input{flex:1 1 220px;min-width:0;width:auto}
.forum33-member-browse{flex:0 0 auto}
.forum33-member-suggestions{position:absolute;left:0;top:calc(100% + .25rem);width:min(100%,460px);max-height:300px;overflow:auto;z-index:15;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:.3rem;box-shadow:0 10px 22px #0003}
.forum33-member-suggestions[hidden]{display:none}
.forum33-member-choice{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:5px;background:transparent;color:var(--text);padding:.45rem .6rem;text-align:left;font-weight:500}
.forum33-member-choice:hover,.forum33-member-choice:focus-visible{background:var(--raised)}
.forum33-member-choice small{font-size:.73rem;font-weight:400;color:var(--muted)}
.forum33-member-status{padding:.5rem .6rem;color:var(--muted);font-size:.84rem}
.forum33-member-dialog{width:min(650px,94vw);max-height:85vh;overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);padding:1.2rem 1.35rem;box-shadow:0 16px 55px #0006}
.forum33-member-dialog::backdrop{background:#03040ab8}
.forum33-member-dialog header{display:flex;gap:.7rem;align-items:center;justify-content:space-between;margin-bottom:1rem}
.forum33-member-dialog header h2{margin:0;font-size:1.35rem}
.forum33-member-dialog input[type=search]{display:block;width:100%;margin-bottom:.7rem}
.forum33-member-list{max-height:45vh;overflow:auto;border:1px solid var(--border);border-radius:9px}
.forum33-member-list>.forum33-member-choice{border-bottom:1px solid var(--border);border-radius:0}
.forum33-member-pages{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;margin-top:.8rem}
.forum33-member-pages span{margin-right:auto;color:var(--muted);font-size:.82rem}
.forum33-member-pages button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:550px){.forum33-member-field{display:block}.forum33-member-field>input,.forum33-member-field>button{width:100%;margin-bottom:.4rem}.forum33-member-suggestions{top:calc(100% + .2rem);width:100%}}

.forum32 .forum32-top a,.forum32 .forum32-board-text strong,.forum32 .forum32-user strong,.forum32 .forum32-crumb a{color:var(--f33-link)}

/* v34: remote-image BBCode is displayed inside the post's own content bounds. */
.forum32-image-embed{display:block;max-width:100%;margin:1.05rem 0;overflow:hidden}
.forum32-image-embed a{display:inline-block;max-width:100%;border-radius:9px;vertical-align:top}
.forum32-image-embed img{display:block;max-width:100%;width:auto;height:auto;max-height:750px;object-fit:contain;border-radius:9px;border:1px solid var(--f32-edge);background:var(--surface)}
.forum32-post-main,.forum32-message{min-width:0;overflow-wrap:anywhere}
.forum34-image-dialog{width:min(520px,calc(100vw - 2rem));max-width:100%;max-height:min(80vh,600px);box-sizing:border-box;padding:1.5rem;border:1px solid var(--f32-edge,var(--border));border-radius:14px;background:var(--surface);color:var(--f32-ink,var(--text));box-shadow:0 22px 60px rgba(0,0,0,.35)}
.forum34-image-dialog::backdrop{background:rgba(9,8,20,.75)}
.forum34-image-dialog h2{margin:0 0 .5rem;font-size:1.25rem}
.forum34-image-dialog p{color:var(--f32-muted,var(--muted));font-size:.92rem;line-height:1.5}
.forum34-image-dialog label{display:flex;flex-direction:column;gap:.4rem;margin-top:1.25rem;font-weight:600}
.forum34-image-dialog input{width:100%;min-width:0;box-sizing:border-box}
.forum34-image-dialog .forum34-image-error{color:#dc6269;font-weight:600}
.forum34-image-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem}

/* v35: shared site emoji picker/composer inside forum message forms only. */
.forum32 .forum32-editor .emoji-rich-input {
  min-height:165px;width:100%;max-width:100%;box-sizing:border-box;
  background:var(--reader-bg,var(--surface));color:var(--f32-ink,var(--text));
  border:1px solid var(--f32-edge,var(--border));border-radius:9px;
  padding:1rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;
}
.forum32 .forum32-editor .emoji-rich-input:focus {border-color:var(--accent);outline:2px solid transparent;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent),transparent 70%)}
.forum32 .forum32-editor .emoji-rich-input .composer-emoji {width:27px;height:27px;vertical-align:-6px}
.forum32 .forum32-editor .emoji-picker {max-height:220px;margin-top:.6rem;background:var(--raised);border:1px solid var(--f32-edge,var(--border));}
.forum32 .forum32-editor .emoji-picker[hidden] {display:none}
.forum32 .forum32-editor .emoji-picker button:hover,.forum32 .forum32-editor .emoji-picker button:focus-visible {background:var(--surface);outline:1px solid var(--accent)}
.forum32 .forum32-message .emoji {width:27px;height:27px;object-fit:contain;vertical-align:-.35em}

/* v36 — chapter-toolbar controls reused for forum BBCode, no uploads. */
.forum36-editor{position:relative;min-width:0}
.forum36-editor>.forum36-toolbar{margin-top:.35rem;border:1px solid var(--f32-edge,var(--border));border-radius:9px 9px 0 0;background:var(--raised,var(--surface));color:var(--text);max-width:100%;box-sizing:border-box}
.forum36-editor .rich-toolbar-row{display:flex;flex-wrap:wrap;gap:.15rem;padding:.28rem .4rem;align-items:center;min-width:0}
.forum36-editor .rich-toolbar-row+.rich-toolbar-row{border-top:1px solid var(--f32-edge,var(--border))}
.forum36-editor .rt-toolbar-group{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:1px;padding-right:.35rem;margin-right:.2rem;border-right:1px solid var(--f32-edge,var(--border));max-width:100%}
.forum36-editor .rt-toolbar-group:last-child{border-right:0}
.forum36-editor .rt-toolbar-group button,.forum36-editor .forum36-emoji-row button{min-width:28px;min-height:30px;padding:.2rem .4rem;border:1px solid transparent;border-radius:4px;color:var(--text);background:transparent;cursor:pointer;font:inherit}
.forum36-editor .rt-toolbar-group button:hover,.forum36-editor .rt-toolbar-group button:focus-visible,.forum36-editor .rt-toolbar-group .forum36-active{background:var(--surface);border-color:var(--accent);color:var(--text)}
.forum36-editor .rw18-list-group{display:inline-flex;gap:0;align-items:center}
.forum36-editor .rw18-block-button{min-width:135px;display:flex;justify-content:space-between;gap:.6rem;align-items:center}
.forum36-editor .rt-icon{width:20px;height:20px;display:inline-block;vertical-align:middle}
.forum36-editor .rt-color{font-weight:700;text-decoration:underline;text-decoration-color:var(--accent)}
.forum36-editor .forum36-emoji-row{padding:0;border-top:0}
.forum36-editor .forum36-emoji-row button{padding:.25rem .7rem}
.forum36-editor>.emoji-rich-input{border-top:0!important;border-radius:0 0 9px 9px!important;margin-top:0!important;min-height:190px;max-height:min(55vh,700px);overflow:auto}
.forum36-editor .forum36-editor-image{max-width:100%;height:auto;object-fit:contain;display:inline-block;vertical-align:middle;cursor:pointer;border:1px solid var(--f32-edge,var(--border));border-radius:5px}
.forum36-dropdown{position:absolute;top:calc(100% + 3px);left:0;z-index:25;min-width:150px;max-width:calc(100vw - 3rem);max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 32px #0005;border-radius:7px;padding:.3rem}
.forum36-dropdown button{text-align:left;display:block;white-space:nowrap;background:transparent;border:0;color:var(--text);padding:.4rem .6rem;border-radius:4px}
.forum36-dropdown button:hover,.forum36-dropdown button:focus-visible{background:var(--raised)}
.forum36-dialog{width:min(690px,95vw);max-width:95vw;max-height:90vh;overflow:auto;padding:1.5rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 80px #0007}
.forum36-dialog::backdrop{background:#050711bc}
.forum36-dialog h2{margin:0 0 1rem}
.forum36-dialog label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.8rem}
.forum36-dialog input{width:100%;box-sizing:border-box;background:var(--raised);color:var(--text);border:1px solid var(--border);padding:.55rem;border-radius:6px}
.forum36-dialog p{color:var(--muted)}
.forum36-dialog .forum36-error{color:#e77676}
.forum36-dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}
.forum36-symbols{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:.3rem}
.forum36-symbols button{background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:5px;min-height:38px;cursor:pointer;font-size:1.15rem}
.forum36-symbols button:hover{border-color:var(--accent)}
.forum36-editor .rw30-image-selection{z-index:20}
/* Modal image viewing reuses the chapter-reader dialog pattern, adding manual zoom. */
.forum32-image-embed .forum36-image-open{background:transparent;border:0;padding:0;max-width:100%;cursor:zoom-in;display:inline-block;vertical-align:top}
.forum32-image-embed img{cursor:zoom-in}
.forum36-lightbox{position:fixed;inset:2vh 2vw;width:96vw;height:96vh;max-width:96vw;max-height:96vh;box-sizing:border-box;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);overflow:hidden}
.forum36-lightbox::backdrop{background:rgba(0,0,0,.88)}
.forum36-view-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-bottom:.5rem}
.forum36-view-actions button{border:1px solid var(--border);background:var(--raised);color:var(--text);border-radius:5px;padding:.35rem .75rem;cursor:pointer;min-width:42px}
.forum36-view-scroll{height:calc(100% - 90px);width:100%;overflow:auto;text-align:center;display:block;background:#080810}
.forum36-view-scroll img{display:block;width:auto;max-width:100%;height:auto;max-height:none;margin:auto;object-fit:contain}
.forum36-view-hint{text-align:center;font-size:.8rem;color:var(--muted);margin:.5rem 0}
@media(max-width:650px){.forum36-editor .rich-toolbar-row{gap:.15rem;padding:.25rem}.forum36-editor .rt-toolbar-group{margin-right:0;padding-right:.2rem}.forum36-editor .rt-toolbar-group button{min-width:28px;padding:.16rem .3rem}.forum36-dialog{padding:.85rem}.forum36-view-hint{font-size:.68rem}}
/* v37 — KLIPY browser-direct GIF picker; forum-scoped, inherits site theme */
.forum37-klipy-modal{width:min(760px,96vw);max-width:96vw;max-height:90vh;box-sizing:border-box;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:1rem;box-shadow:0 16px 65px #0008;overflow:auto}
.forum37-klipy-modal::backdrop{background:#080c16bf}
.forum37-klipy-top,.forum37-klipy-search,.forum37-klipy-bottom{display:flex;align-items:center;gap:.6rem;justify-content:space-between}
.forum37-klipy-top h2{margin:.3rem 0 .75rem;font-size:1.3rem}
.forum37-klipy-top button,.forum37-klipy-search button,.forum37-klipy-bottom button{background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem;cursor:pointer}
.forum37-klipy-search input{min-width:0;flex:1;box-sizing:border-box;background:var(--raised);color:var(--text);border:1px solid var(--border);padding:.7rem;border-radius:6px}
.forum37-klipy-status{color:var(--muted);min-height:1.5em;margin:.7rem 0}
.forum37-klipy-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;max-height:52vh;overflow-y:auto}
.forum37-klipy-result{min-width:0;border:1px solid var(--border);background:var(--raised);color:var(--text);padding:.25rem;border-radius:7px;cursor:pointer;text-align:left;overflow:hidden}
.forum37-klipy-result:hover,.forum37-klipy-result:focus-visible{border-color:var(--accent)}
.forum37-klipy-result img{display:block;width:100%;height:116px;object-fit:contain;background:rgba(0,0,0,.13)}
.forum37-klipy-result span{display:block;padding:.2rem;font-size:.75rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.forum37-klipy-bottom{margin-top:.8rem;font-size:.85rem}
.forum37-klipy-bottom a{color:var(--accent)}
@media(max-width:580px){.forum37-klipy-results{grid-template-columns:repeat(2,minmax(0,1fr))}.forum37-klipy-modal{padding:.65rem}.forum37-klipy-search{gap:.25rem}}

/* v38: remove only duplicate thin separators inherited from chapter toolbar.
   Retain the forum group boundaries and row dividers. */
.forum36-editor .rt-toolbar-group + .rt-toolbar-group::before{content:none!important;display:none!important}

/* v39 visual forum composer; no changes to manuscript editors */
.forum39-editor .forum39-visual{display:none;box-sizing:border-box;min-height:220px;max-height:65vh;overflow:auto;border:1px solid var(--f32-edge,var(--border));border-radius:0 0 9px 9px;padding:1rem 1.1rem;background:var(--raised);color:var(--text);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;outline:none;}
.forum39-editor.forum39-ready .forum39-visual{display:block}
.forum39-editor.forum39-ready:not(.forum39-raw) textarea[name="body"]{display:none!important}
.forum39-editor.forum39-raw .forum39-visual{display:none}
.forum39-editor.forum39-raw textarea[name="body"]{display:block!important;width:100%;min-height:210px;background:var(--raised);color:var(--text);border:1px solid var(--border);font-family:ui-monospace,monospace}
.forum39-visual:focus-visible{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.forum39-visual p{margin:.4em 0}.forum39-visual h1,.forum39-visual h2,.forum39-visual h3,.forum39-visual h4,.forum39-visual h5,.forum39-visual h6{margin:.5em 0}
.forum39-visual [data-bb="align"]{display:block}.forum39-visual blockquote{border-left:3px solid var(--accent);padding-left:.9rem;margin:.5em 0;color:var(--text)}
.forum39-visual .forum39-spoiler{display:block;border-left:3px solid var(--accent);background:var(--surface);padding:.6rem .85rem;margin:.5rem 0}
.forum39-visual .forum39-spoiler::before{content:'Spoiler';display:block;color:var(--muted);font-size:.75rem;font-weight:bold}
.forum39-visual img[data-forum-url]{display:inline-block;vertical-align:middle;max-width:100%;height:auto;object-fit:contain;cursor:pointer;border-radius:4px}
.forum39-visual img.emoji{width:27px;height:27px;max-width:none;vertical-align:-6px}
.forum39-editor .forum39-code-toggle[aria-pressed="true"]{background:var(--accent)!important;color:var(--raised)!important}
.forum39-image-fields .forum39-tabs{display:flex;border-bottom:1px solid var(--border);gap:.2rem;margin-bottom:1rem}
.forum39-image-fields .forum39-tabs button{background:transparent;color:var(--text);border:0;border-bottom:3px solid transparent;padding:.55rem .85rem;cursor:pointer}
.forum39-image-fields .forum39-tabs button.active{border-color:var(--accent);background:var(--raised)}
.forum39-image-fields .forum39-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.forum39-image-fields label.forum39-constrain{display:flex;flex-direction:row;align-items:center;gap:.4rem}
.forum39-image-fields label.forum39-constrain input{width:auto}
.forum39-editor .rw30-image-selection{z-index:24}
@media(max-width:520px){.forum39-image-fields .forum39-dimensions{grid-template-columns:1fr}}

/* The existing Chapter / Synopsis color palette, now shared with the forum. */
.rw-color-palette{position:fixed;z-index:10035;width:min(360px,calc(100vw - 16px));box-sizing:border-box;padding:12px;background:var(--surface,#222935);color:var(--text,#eef);border:1px solid var(--border,#475366);border-radius:10px;box-shadow:0 15px 35px #0007}
.rw-color-title{font-weight:700;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.rw-color-title button{border:0;background:transparent;color:var(--text);font-size:24px;cursor:pointer}
.rw-color-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}
.rw-color-swatch{display:grid;place-items:center;aspect-ratio:1;width:100%;min-width:0;background:var(--swatch);border:1px solid var(--border,#667);border-radius:2px;cursor:pointer;color:var(--text);font-size:19px}
.rw-color-swatch:hover,.rw-color-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1}
.rw-color-empty{background:var(--raised,#2b3040);border-style:dashed}
.rw-color-customize{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;width:100%;margin-top:10px;padding:.6rem .65rem;background:var(--raised,#2b3040);color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer}
.rw-color-customize span{color:var(--muted);font-size:.75rem}
.rw-color-custom-label{display:flex;justify-content:space-between;align-items:center;font-weight:bold;font-size:.82rem;margin:17px 0 7px}
.rw-color-custom-label span{color:var(--muted);font-weight:normal;font-size:.68rem}
.rw-color-dialog{width:min(660px,96vw);max-height:94vh;overflow:auto;border-radius:10px;border:1px solid var(--border);color:var(--text);background:var(--surface);padding:0}
.rw-color-dialog::backdrop{background:#0009}
.rw-color-modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:12px 20px}
.rw-color-modal-head h2{margin:0;font-size:1.25rem}.rw-color-modal-head button{background:transparent;border:0;font-size:24px;color:var(--text);cursor:pointer}
.rw-color-modal-body{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:20px;padding:20px}
.rw-color-picker-main{display:flex;flex-direction:column;gap:12px}
.rw-color-sv{position:relative;min-height:215px;border:1px solid var(--border);border-radius:3px;cursor:crosshair;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,var(--hue-color,#ff0000))}
.rw-color-marker{position:absolute;width:15px;height:15px;border:2px solid white;border-radius:50%;box-shadow:0 0 3px #000;transform:translate(-50%,-50%);pointer-events:none}
.rw-color-hue{width:100%}.rw-color-picker-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.rw-color-picker-fields label{display:flex;flex-direction:column;gap:4px;font-size:.8rem}
.rw-color-picker-fields input,.rw-color-picker-fields select{box-sizing:border-box;min-width:0;width:100%;border:1px solid var(--border);background:var(--raised);color:var(--text);padding:7px;border-radius:3px}
.rw-color-preview{min-height:31px;border:1px solid var(--border)}
.rw-color-slot-label{grid-column:span 2}.rw-color-modal-info{margin:0 20px 15px;color:var(--muted);font-size:.85rem}
.rw-color-modal-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:7px;padding:12px 20px;border-top:1px solid var(--border)}
.rw-color-modal-actions button{padding:.5rem .8rem;border:1px solid var(--border);border-radius:4px;background:var(--raised);color:var(--text);cursor:pointer}
.rw-color-modal-actions .rw-color-primary{background:var(--accent);color:#17101b}
@media(max-width:540px){.rw-color-modal-body{grid-template-columns:1fr}.rw-color-sv{min-height:160px}}


/* v41: all credited books, accessible compact horizontal gallery & book preview. */
.forum32 .forum32-books{display:flex;flex-direction:column;gap:.4rem;min-width:0;width:100%;margin-top:.7rem}
.forum32 .forum41-books-heading{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
.forum32 .forum41-books-heading strong{white-space:nowrap;font-size:.8rem}
.forum32 .forum41-books-total{font-size:.72rem;color:var(--f32-muted)}
.forum32 .forum41-books-rail{display:flex;align-items:center;gap:.3rem;min-width:0;width:100%}
.forum32 .forum32-book-row{display:flex;flex-wrap:nowrap;gap:.5rem;min-width:0;max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:.25rem .1rem .55rem;box-sizing:border-box}
.forum32 .forum41-book{display:block;flex:0 0 auto;line-height:0;scroll-snap-align:start;border-radius:5px;outline-offset:2px}
.forum32 .forum41-book img{display:block;width:50px;height:75px;max-width:none;object-fit:cover;border-radius:5px;border:1px solid var(--f32-edge);transition:transform .12s ease,border-color .12s ease}
.forum32 .forum41-book:hover img,.forum32 .forum41-book:focus-visible img{border-color:var(--accent);transform:translateY(-2px)}
.forum32 .forum41-rail-arrow{flex:none;width:25px;min-width:25px;height:45px;padding:0;background:var(--raised);border:1px solid var(--f32-edge);border-radius:7px;color:var(--text);font-size:1.3rem;cursor:pointer}
.forum32 .forum41-rail-arrow:hover,.forum32 .forum41-rail-arrow:focus-visible{border-color:var(--accent);background:var(--surface)}
.forum41-book-preview{position:fixed;margin:0;z-index:2000;box-sizing:border-box;width:min(450px,calc(100vw - 20px));max-height:min(70vh,560px);padding:1rem 1rem 3rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 50px #0008}
.forum41-book-preview:not([open]){display:none}
.forum41-book-preview[open]{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:start;gap:1rem}
.forum41-book-preview .forum41-preview-media{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;min-width:0}
.forum41-book-preview .forum41-preview-cover{width:145px;height:auto;max-height:245px;object-fit:contain;border-radius:6px;border:1px solid var(--border)}
.forum41-book-preview h3{font-size:1rem;line-height:1.3;margin:0 0 .5rem;color:var(--text);overflow-wrap:anywhere}
.forum41-book-preview p{font-size:.83rem;line-height:1.5;margin:.25rem 0;color:var(--muted);overflow-wrap:anywhere;max-height:280px;overflow:auto}
.forum41-book-preview .forum41-preview-link{display:block;line-height:1.3;text-align:center;font-weight:700;color:var(--accent);padding:.35rem .2rem;border-radius:5px;white-space:normal}
.forum41-book-preview .forum41-preview-link:hover,.forum41-book-preview .forum41-preview-link:focus-visible{text-decoration:underline;background:var(--raised)}
.forum41-book-preview .forum41-preview-close{display:flex;align-items:center;justify-content:center;position:absolute;bottom:.55rem;left:.65rem;min-width:35px;min-height:35px;border:1px solid var(--border);background:var(--raised);color:var(--text);border-radius:7px;padding:0 .4rem;font-size:1.5rem;line-height:1;cursor:pointer}
.forum41-book-preview .forum41-preview-close:hover,.forum41-book-preview .forum41-preview-close:focus-visible{background:var(--accent);color:var(--surface);outline-offset:2px}
.forum41-book-preview.forum41-hover{pointer-events:auto}
.forum41-book-preview.forum41-touch{pointer-events:auto;width:min(410px,94vw);max-height:85vh;margin:auto;padding:1.1rem}
.forum41-book-preview.forum41-touch::backdrop{background:#000b}
/* The same bottom-left close control is available on touch devices. */
@media(max-width:680px){
  .forum32 .forum32-books{margin-top:.6rem}
  .forum32 .forum32-book-row{gap:.5rem;padding-bottom:.5rem}
  .forum32 .forum41-book img{width:54px;height:81px}
  .forum32 .forum41-rail-arrow{height:52px;width:30px}
  .forum41-book-preview.forum41-touch[open]{display:flex;flex-direction:column;align-items:center;overflow:auto}
  .forum41-book-preview.forum41-touch .forum41-preview-cover{width:150px;max-height:235px}
  .forum41-book-preview.forum41-touch .forum41-preview-media{align-self:center;width:150px;max-width:100%}
  .forum41-book-preview.forum41-touch .forum41-preview-details{align-self:stretch}
}
@media(max-width:360px){.forum41-book-preview.forum41-touch[open]{display:flex;flex-direction:column;align-items:center;text-align:center;overflow:auto}.forum41-book-preview.forum41-touch .forum41-preview-cover{max-height:160px}}
@media(prefers-reduced-motion:reduce){.forum32 .forum41-book img{transition:none}}


/* v42: latest activity on forum index; starter and last responder on thread listings. */
.forum32 .forum42-board-item{display:grid;grid-template-columns:42px minmax(0,1fr) 88px minmax(200px,290px);gap:1.1rem;align-items:center}
.forum32 .forum42-board-item .forum32-board-text{display:block;text-decoration:none}
.forum32 .forum42-board-item .forum32-board-numbers{align-self:center}
.forum32 .forum42-board-activity{display:flex;align-items:center;gap:.7rem;min-width:0;padding-left:1rem;border-left:1px solid var(--f32-edge);min-height:52px}
.forum32 .forum42-activity-avatar,.forum32 .forum42-last-profile,.forum32 .forum42-thread-starter-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center}
.forum32 .forum42-last-avatar,.forum32 .forum42-starter-avatar{width:43px;height:43px;object-fit:cover;border:1px solid var(--f32-edge);border-radius:50%;background:var(--raised)}
.forum32 .forum42-starter-avatar{width:47px;height:47px;border-radius:11px}
.forum32 .forum42-activity-details{display:flex;flex-direction:column;gap:.18rem;min-width:0;flex:1}
.forum32 .forum42-activity-details small{font-size:.75rem;color:var(--f32-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forum32 .forum42-activity-details small a{color:var(--f33-link,var(--accent))}
.forum32 .forum42-last-title{display:block;color:var(--f33-link,var(--accent));font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:650}
.forum32 .forum42-board-empty{font-size:.79rem;color:var(--f32-muted)}
.forum32 .forum42-thread-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(175px,235px);align-items:center;gap:.85rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--f32-edge);min-width:0}
.forum32 .forum42-thread-row:last-child{border-bottom:0}
.forum32 .forum42-thread-row:hover{background:var(--raised)}
.forum32 .forum42-thread-info{min-width:0;display:flex;flex-direction:column;gap:.25rem}
.forum32 .forum42-thread-info .forum32-thread-title{display:block;overflow-wrap:anywhere;text-decoration:none}
.forum32 .forum42-thread-info small{color:var(--f32-muted);font-size:.77rem;line-height:1.5}
.forum32 .forum42-thread-info small a{color:var(--f33-link,var(--accent))}
.forum32 .forum42-thread-latest{border-left:1px solid var(--f32-edge);padding-left:.75rem;display:flex;align-items:center;gap:.6rem;min-width:0}
.forum32 .forum42-last-post-link{color:var(--f33-link,var(--accent));font-size:.82rem;font-weight:650}
.forum32 .forum42-create-bottom{display:flex;justify-content:flex-end;margin:1rem 0 1.7rem}
.forum32 .forum42-last-title:hover,.forum32 .forum42-last-post-link:hover,.forum32 .forum42-thread-info .forum32-thread-title:hover{text-decoration:underline}
@media(max-width:900px){
  .forum32 .forum42-board-item{grid-template-columns:42px minmax(0,1fr) 80px;gap:.65rem}
  .forum32 .forum42-board-activity{grid-column:2 / -1;padding-left:0;padding-top:.55rem;border-left:0;border-top:1px solid var(--f32-edge);min-height:auto}
  .forum32 .forum42-thread-row{grid-template-columns:48px minmax(0,1fr) minmax(145px,190px)}
}
@media(max-width:580px){
  .forum32 .forum42-board-item{grid-template-columns:minmax(0,1fr) auto;padding:.85rem 1rem;gap:.55rem}
  .forum32 .forum42-board-item .forum32-board-mark{display:none}
  .forum32 .forum42-board-activity{grid-column:1 / -1;padding-top:.6rem}
  .forum32 .forum42-thread-row{grid-template-columns:42px minmax(0,1fr);gap:.65rem;padding:.75rem}
  .forum32 .forum42-starter-avatar{width:40px;height:40px}
  .forum32 .forum42-thread-latest{grid-column:2;border-left:0;border-top:1px solid var(--f32-edge);padding:.55rem 0 0}
  .forum32 .forum42-last-avatar{width:33px;height:33px}
  .forum32 .forum42-thread-info small{font-size:.73rem}
}
@media(min-width:581px) and (max-width:680px){
 .forum32 .forum42-board-item{grid-template-columns:minmax(0,1fr) 80px}
 .forum32 .forum42-board-activity{grid-column:1 / -1}
}

/* v42.1 — original thread starter's avatar beside inner thread heading (not page title). */
.forum32 .forum42-thread-heading-row{display:flex;align-items:center;gap:1rem;min-width:0}
.forum32 .forum42-thread-heading-author{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:12px}
.forum32 .forum42-thread-heading-author:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.forum32 .forum42-thread-heading-image{display:block;width:62px;height:62px;object-fit:cover;border-radius:12px;border:1px solid var(--f32-edge);background:var(--raised)}
.forum32 .forum42-thread-heading-copy{min-width:0;overflow-wrap:anywhere}
.forum32 .forum42-thread-heading-copy h2{margin:0 0 .3rem}
@media(max-width:580px){
  .forum32 .forum42-thread-heading-row{gap:.7rem;align-items:center}
  .forum32 .forum42-thread-heading-image{width:48px;height:48px;border-radius:10px}
}
