.os-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}.os-head h2{margin:4px 0}.os-head p,.os-card p,.os-card small{color:#9298a8}.os-primary,.os-actions button,.os-actions a{border:1px solid #51482c;background:#171b26;color:#d7c16c;border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer}.os-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.os-card,.os-teacher,.os-chat{background:#121722;border:1px solid #2a3040;border-radius:12px}.os-card{padding:18px}.os-top{display:flex;justify-content:space-between;gap:15px}.os-actions{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.os-status{padding:6px 9px;border:1px solid #4b5263;border-radius:999px;height:max-content;font-size:11px}.os-status.approved{color:#8bd6a5;border-color:#315d40}.os-status.rejected{color:#e58f91;border-color:#633638}.os-status.pending{color:#d9c26b;border-color:#665c31}.os-status-picker{position:relative;height:max-content}.os-status-trigger{display:flex;align-items:center;gap:9px;min-width:132px;justify-content:space-between;background:#111622;border:1px solid #343b4d;border-radius:8px;padding:8px 10px;color:#c9cfdb;font:inherit;font-size:12px;cursor:pointer}.os-status-trigger.pending{color:#d9c26b;border-color:#665c31}.os-status-trigger.approved{color:#8bd6a5;border-color:#315d40}.os-status-trigger.rejected{color:#e58f91;border-color:#633638}.os-status-trigger i{font-style:normal;color:#747d91}.os-status-menu{position:absolute;z-index:30;right:0;top:calc(100% + 6px);width:190px;padding:6px;background:#0d111a;border:1px solid #343b4d;border-radius:9px;box-shadow:0 16px 40px rgba(0,0,0,.45)}.os-status-menu button{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:9px;width:100%;border:0;border-radius:6px;background:transparent;color:#b7becc;padding:9px 10px;text-align:left;cursor:pointer}.os-status-menu button:hover,.os-status-menu button.active{background:#181e2b}.os-status-menu button>i{width:7px;height:7px;border-radius:50%;background:#7f8797}.os-status-menu button.pending>i{background:#d9c26b}.os-status-menu button.approved>i{background:#71c991}.os-status-menu button.rejected>i{background:#d87378}.os-status-menu button b{color:#d7c16c}.os-overlay{position:fixed;inset:0;z-index:10000;background:#04060bd9;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.os-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;background:#121722;border:1px solid #30384b;border-radius:14px}.os-dialog header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #282e3d}.os-dialog header h2{margin:0}.os-dialog header button{border:0;background:none;color:#aaa;font-size:24px}.os-form{padding:20px;display:grid;gap:15px}.os-form label{display:grid;gap:6px}.os-form input,.os-picker input{box-sizing:border-box;width:100%;background:#0c1018;border:1px solid #30384a;color:#eee;border-radius:8px;padding:11px}.os-dialog footer{padding:0 20px 20px;text-align:right}.os-thread{width:min(820px,100%)}.os-messages{height:min(55vh,560px);overflow:auto;padding:18px}.os-msg{padding:10px 0;border-bottom:1px solid #252b38}.os-msg small{margin-left:8px;color:#747d91}.os-msg div{margin-top:5px;line-height:1.45}.os-msg blockquote{border-left:2px solid #a79345;margin:5px 0;padding-left:10px}.os-editor{border-top:1px solid #293040;padding:12px;background:#0e131c;display:grid;gap:8px}.os-editor>div{display:flex;gap:4px}.os-editor>div button{background:#171d29;color:#aaa;border:1px solid #303748;border-radius:5px;width:32px;height:28px}.os-editor textarea{background:#090d14;color:#eee;border:1px solid #303849;border-radius:8px;padding:10px;min-height:70px}.os-teachers{display:grid;gap:10px}.os-teacher{display:grid;grid-template-columns:1fr auto 1fr auto;gap:18px;align-items:center;padding:16px}.os-teacher>div{display:grid}.os-teacher small,.os-teacher span{color:#8d95a6}.os-teacher>button{background:none;border:0;color:#888;font-size:20px}.os-picker{position:relative}.os-picker>div{position:absolute;z-index:5;left:0;right:0;max-height:220px;overflow:auto;background:#10151f;border:1px solid #343c50}.os-picker>div button{display:grid;width:100%;text-align:left;padding:10px;background:none;border:0;border-bottom:1px solid #252b38;color:#eee}.os-picker>div small{color:#888}.os-empty{padding:28px;text-align:center;color:#858e9f}@media(max-width:860px){.os-head{flex-direction:column;align-items:stretch}.os-grid{grid-template-columns:1fr}.os-overlay{padding:0}.os-dialog{width:100%;height:100%;max-height:none;border-radius:0}.os-teacher{grid-template-columns:1fr auto 1fr}}
/* 1.2.3 — common chat mention UX */
.sidebar-item[data-module="common_chat"]{position:relative}
.sidebar-item[data-module="common_chat"].has-common-mention::after{content:"";position:absolute;right:10px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#d94350;box-shadow:0 0 9px rgba(217,67,80,.72)}
.os-msg.mentions-me{position:relative;margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;background:linear-gradient(90deg,rgba(214,180,60,.15),rgba(214,180,60,.045) 74%,transparent);box-shadow:inset 2px 0 0 #d8b948}
.os-msg.mentions-me:hover{background:linear-gradient(90deg,rgba(214,180,60,.19),rgba(214,180,60,.06) 74%,transparent)}

/* Common chat — player identity + reactions */
#os-common-list .os-msg{display:flex;align-items:flex-start;gap:11px}
#os-common-list .os-msg-avatar{flex:0 0 38px;width:38px;height:38px;margin-top:2px;padding:0;border:1px solid #334057;border-radius:50%;overflow:hidden;background:#172132;color:#d6bd63;display:grid;place-items:center;font:700 13px/1 inherit;cursor:pointer}
#os-common-list .os-msg-avatar:hover{border-color:#75683a;box-shadow:0 0 0 2px rgba(196,171,83,.08)}
#os-common-list .os-msg-avatar img{width:100%;height:100%;object-fit:cover;display:block}
#os-common-list .os-msg-body{flex:1;min-width:0}
#os-common-list .os-msg-meta{display:flex;align-items:baseline;gap:7px}
#os-common-list .os-msg-text{margin-top:4px}
#os-common-list .qol-reactions{margin-top:7px}

/* grouped consecutive common-chat messages */
#os-common-list .os-msg.grouped{padding-top:3px;border-top:0}
#os-common-list .os-msg-avatar-spacer{flex:0 0 38px;width:38px}
#os-common-list .os-msg.grouped .os-msg-text{margin-top:0}
#os-common-list .os-msg .qol-reaction-add{opacity:0;pointer-events:none;transition:.12s}
#os-common-list .os-msg:hover .qol-reaction-add,#os-common-list .os-msg .qol-reactions:focus-within .qol-reaction-add{opacity:.72;pointer-events:auto}
@media(max-width:760px){#os-common-list .os-msg .qol-reaction-add{opacity:.72;pointer-events:auto}}

/* v4 — compact common-chat groups; separators only between calendar days */
.os-messages .os-msg{
  border-top:0!important;
  border-bottom:0!important;
}
.os-messages .os-msg.grouped{
  min-height:20px!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.os-messages .os-msg.grouped .os-msg-body{
  padding-top:0!important;
  padding-bottom:0!important;
}
.os-messages .os-msg.grouped .os-msg-text{
  margin:0!important;
  line-height:1.32!important;
}
.os-messages .os-msg:not(.grouped){
  margin-top:8px!important;
}
.os-day-divider{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:16px 0 8px;
  height:18px;
  color:var(--muted,#8d97a8);
  font-size:11px;
  font-weight:600;
  line-height:1;
}
.os-day-divider::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  border-top:1px solid rgba(130,145,165,.22);
}
.os-day-divider span{
  position:relative;
  z-index:1;
  padding:0 10px;
  background:var(--panel,#080d16);
}

/* v5 — Discord-like compact common chat + message actions */
#os-common-list{padding-top:10px!important;padding-bottom:10px!important}
#os-common-list .os-msg{position:relative!important;padding:4px 0!important;margin:0!important;min-height:0!important;border:0!important}
#os-common-list .os-msg:not(.grouped){margin-top:10px!important}
#os-common-list .os-msg.grouped{padding:1px 0!important;margin:0!important;min-height:0!important}
#os-common-list .os-msg div{margin-top:0!important}
#os-common-list .os-msg-body{padding:0!important;margin:0!important}
#os-common-list .os-msg-text{margin:0!important;line-height:1.32!important;min-height:0!important}
#os-common-list .os-msg-meta{margin:0 0 2px!important}
#os-common-list .os-msg-avatar-spacer{height:0!important}
#os-common-list .qol-reactions{margin:2px 0 0!important;min-height:0!important}
#os-common-list .qol-reactions:empty{display:none!important}
.os-message-actions{position:absolute;right:8px;top:-14px;z-index:12;display:flex;gap:2px;padding:3px;border:1px solid #303a4e;border-radius:7px;background:#101722;box-shadow:0 7px 18px rgba(0,0,0,.35);opacity:0;pointer-events:none;transform:translateY(2px);transition:.12s}
.os-msg:hover>.os-message-actions,.os-message-actions:focus-within{opacity:1;pointer-events:auto;transform:none}
.os-icon-action,.os-message-actions>.qol-reaction-add-wrap>.qol-reaction-add{width:34px!important;height:30px!important;display:grid!important;place-items:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:4px!important;background:transparent!important;color:#8e9bad!important;cursor:pointer!important;opacity:1!important;pointer-events:auto!important;box-shadow:none!important}
.os-icon-action:hover,.os-message-actions>.qol-reaction-add-wrap>.qol-reaction-add:hover{background:#1c2634!important;color:#e0c65c!important}
.os-icon-action.danger:hover{color:#e47d7d!important}
.os-icon-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.os-message-actions>.qol-reaction-add-wrap{position:relative!important;display:inline-flex!important;margin:0!important}
.os-message-actions .qol-reaction-picker{left:auto!important;right:0!important;bottom:calc(100% + 7px)!important}
.os-message-quote{display:flex!important;gap:7px!important;align-items:center!important;max-width:620px!important;margin:0 0 3px!important;padding:3px 7px!important;border:0!important;border-left:2px solid #716438!important;background:rgba(255,255,255,.025)!important;color:#9ea8b8!important;text-align:left!important;cursor:pointer!important}
.os-message-quote b{color:#d1bc6c;font-size:11px}.os-message-quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.os-reply-preview{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;background:#101722;border-top:1px solid #293040}
.os-reply-preview>div{display:grid;gap:1px;min-width:0}.os-reply-preview small{font-size:9px;color:#727e91}.os-reply-preview strong{font-size:12px;color:#d1bc6c}.os-reply-preview span{font-size:11px;color:#9ba5b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-reply-preview>button{border:0;background:transparent;color:#8792a3;font-size:18px;cursor:pointer}
.os-inline-editor{box-sizing:border-box;width:100%;min-height:54px;padding:8px;background:#090d14;color:#eee;border:1px solid #3b465b;border-radius:6px;resize:vertical}
.os-edit-hint{display:block;margin-top:3px!important;color:#778195!important;font-size:10px}
.os-edited{font-size:10px!important;margin-left:5px!important}
.os-flash{animation:osFlash 1.2s ease}@keyframes osFlash{0%,100%{background:transparent}30%{background:rgba(208,181,75,.13)}}
@media(max-width:760px){.os-message-actions{opacity:1;pointer-events:auto}.os-msg:not(:focus-within)>.os-message-actions{opacity:.78}}

/* =========================================================
   THE ORDER — COMMON CHAT UX 2.0
   ========================================================= */
.os-chat-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important}
.os-common-search{display:flex;align-items:center;gap:8px;min-width:260px;padding:8px 10px;border:1px solid rgba(133,151,177,.18);border-radius:9px;background:#080d15;color:#7f8da2}
.os-common-search:focus-within{border-color:rgba(210,184,91,.48);box-shadow:0 0 0 2px rgba(210,184,91,.07)}
.os-common-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#e8edf5;font-size:11px}.os-common-search small{font-size:9px;white-space:nowrap}
.os-chat{overflow:hidden;border:1px solid rgba(133,151,177,.18)!important;border-radius:14px!important;background:#090e17!important;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.os-messages{padding:12px 14px 18px!important;background:radial-gradient(circle at 50% -20%,rgba(73,91,122,.08),transparent 45%),#090e17!important;scrollbar-gutter:stable}
#os-common-list .os-msg{padding:2px 0!important}#os-common-list .os-msg:not(.grouped){margin-top:8px!important}
#os-common-list .os-msg.grouped{padding:0!important;min-height:21px!important}
#os-common-list .os-msg:hover{background:rgba(123,145,177,.045)!important;border-radius:5px}
#os-common-list .os-msg.search-hit{background:rgba(210,184,91,.08)!important}#os-common-list .os-msg.search-current{box-shadow:inset 2px 0 #d2b85b}
.os-day-divider{margin:15px 0 8px!important}.os-day-divider span{background:#090e17!important}
.os-editor{padding:8px 12px 11px!important;border-top:1px solid rgba(133,151,177,.18)!important;background:linear-gradient(180deg,rgba(9,14,23,.9),#0a101a)!important}
.os-editor>.os-editor-tools{display:none!important;margin:0 0 6px 40px!important;padding:4px!important;width:max-content;border:1px solid rgba(133,151,177,.18);border-radius:7px;background:#111a28}
.os-editor.format-open>.os-editor-tools{display:flex!important}
.os-editor-compose{display:flex;align-items:flex-end;gap:7px;padding:5px;border:1px solid rgba(129,148,177,.24);border-radius:11px;background:#0d1521}
.os-editor-compose:focus-within{border-color:rgba(210,184,91,.45);box-shadow:0 0 0 2px rgba(210,184,91,.06)}
.os-editor-compose textarea{flex:1;min-height:34px!important;max-height:150px;padding:8px 4px!important;border:0!important;outline:0!important;background:transparent!important;resize:none;color:#e8edf5}
.os-editor-more{flex:0 0 34px;width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:#8c9aaf;font-size:20px;cursor:pointer}.os-editor-more:hover{background:#172131;color:#d2b85b}
.os-send-modern{height:34px!important;padding:0 11px!important;border-radius:7px!important;display:flex!important;align-items:center!important;gap:7px!important;background:linear-gradient(135deg,#b89d45,#d2b85b)!important;color:#111722!important}.os-send-modern b{font-size:12px}
.os-message-actions{background:#111a28!important;border-color:rgba(133,151,177,.22)!important}
@media(max-width:760px){
 .os-chat-head{align-items:stretch!important;flex-direction:column!important}.os-common-search{min-width:0;width:auto}
 .os-chat{border-radius:0!important;border-left:0!important;border-right:0!important}
 .os-messages{padding:9px 8px 14px!important}
 .os-editor{padding:6px 7px calc(7px + env(safe-area-inset-bottom))!important}
 .os-editor-compose{border-radius:14px}.os-send-modern{width:36px!important;padding:0!important;justify-content:center}.os-send-modern span{display:none}
 .os-editor>.os-editor-tools{margin-left:0!important;max-width:100%;overflow-x:auto}
}

/* Chat UX 2.0.2 — larger common chat + aligned composer */
.os-chat-head{margin-bottom:10px!important}
.os-chat{height:calc(100dvh - 250px)!important;min-height:620px!important;display:flex!important;flex-direction:column!important}
.os-messages{flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;overflow-y:auto!important}
.os-editor{flex:0 0 auto!important}
.os-editor-compose{min-height:46px!important;align-items:center!important}
.os-editor-more{display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;margin:0!important}
.os-send-modern{align-self:center!important;justify-content:center!important;margin:0!important}
@media(max-width:760px){
 .os-chat{height:calc(100dvh - 170px)!important;min-height:480px!important}
 .os-chat-head{margin-bottom:6px!important}
}

/* Chat UX 2.0.3 — common chat composer polish */
.os-editor-compose{padding:5px 7px!important;gap:7px!important;overflow:visible!important}
.os-send-modern{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:108px!important;
  height:36px!important;
  padding:0 13px!important;
  border:1px solid rgba(238,211,108,.35)!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#d8bd55,#b99b38)!important;
  color:#111722!important;
  box-shadow:0 3px 12px rgba(201,170,62,.16)!important;
  font-size:10px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.os-send-modern span{display:inline!important;line-height:1!important}
.os-send-modern b{display:grid!important;place-items:center!important;width:14px!important;height:14px!important;line-height:1!important}
.os-send-modern:hover{filter:brightness(1.06)}
@media(max-width:760px){
 .os-send-modern{min-width:38px!important;width:38px!important;padding:0!important}
 .os-send-modern span{display:none!important}
}

.os-editor-compose{position:relative}.os-compose-icon{position:relative;flex:0 0 34px!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#8c9aaf!important;font-size:18px!important;cursor:pointer}.os-compose-icon:hover{background:#172131!important;color:#d2b85b!important}
.os-attachment-preview{display:flex;gap:6px;flex-wrap:wrap;padding:0 0 3px 0}.os-attachment-preview:empty{display:none}.os-pending-attachment{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(133,151,177,.2);border-radius:7px;background:#111a28;color:#dce3ed}.os-pending-attachment small{color:#7f899c}.os-pending-attachment button{border:0;background:transparent;color:#9aa6b8;cursor:pointer;font-size:16px}
.os-attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.os-image-attachment{display:block;max-width:360px}.os-image-attachment img{display:block;max-width:100%;max-height:280px;border-radius:9px;border:1px solid rgba(133,151,177,.18);object-fit:contain}.os-file-attachment{display:grid;gap:2px;min-width:180px;max-width:340px;padding:9px 11px;border:1px solid rgba(133,151,177,.2);border-radius:8px;background:#101826;color:#e3e9f2;text-decoration:none}.os-file-attachment small{margin:0!important;color:#7f899c}
@media(max-width:760px){.os-image-attachment{max-width:78vw}.os-compose-icon{flex-basis:32px!important;width:32px!important;height:32px!important}.qol-emoji-composer{grid-template-columns:repeat(6,1fr)}}

/* Chat 2.1.3 */
.os-attach-icon{line-height:0!important}.os-attach-icon svg{display:block!important;width:18px!important;height:18px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}.os-compose-icon[aria-label="Эмодзи"]{line-height:1!important;text-align:center!important;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif!important}

/* Quest review thread — player identity/avatar layout */
#os-thread-list .os-msg{display:flex;align-items:flex-start;gap:11px}
#os-thread-list .os-msg-avatar{box-sizing:border-box;flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;min-height:38px!important;max-height:38px!important;margin:2px 0 0!important;padding:0!important;border:1px solid #334057!important;border-radius:50%!important;overflow:hidden!important;background:#172132!important;color:#d6bd63!important;display:grid!important;place-items:center!important;font:700 13px/1 inherit!important;cursor:pointer}
#os-thread-list .os-msg-avatar:hover{border-color:#75683a!important;box-shadow:0 0 0 2px rgba(196,171,83,.08)}
#os-thread-list .os-msg-avatar img{display:block!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;object-fit:cover!important;object-position:center!important;border:0!important;border-radius:50%!important}
#os-thread-list .os-msg-avatar span{display:grid;place-items:center;width:100%;height:100%}
#os-thread-list .os-msg-body{flex:1;min-width:0;margin-top:0!important}
#os-thread-list .os-msg-meta{display:flex;align-items:baseline;gap:7px;margin-top:0!important}
#os-thread-list .os-msg-text{margin-top:4px}
#os-thread-list .os-msg-avatar-spacer{flex:0 0 38px;width:38px}
@media(max-width:760px){#os-thread-list .os-msg{gap:9px}#os-thread-list .os-msg-avatar{flex-basis:34px!important;width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important}#os-thread-list .os-msg-avatar img{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important}}


/* Quest review chat stability v3 — fixed composer + independent message scroll */
.os-dialog.os-thread{display:flex!important;flex-direction:column!important;overflow:hidden!important;height:min(90vh,820px)!important;max-height:90vh!important}
.os-dialog.os-thread>header{flex:0 0 auto!important}
.os-dialog.os-thread>#os-thread-list{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain}
.os-dialog.os-thread>.os-editor{flex:0 0 auto!important;position:relative!important;z-index:2}
@media(max-width:860px){.os-dialog.os-thread{height:100dvh!important;max-height:100dvh!important}.os-dialog.os-thread>#os-thread-list{min-height:0!important}}
\n/* v4: quest/common message action menu stays attached to its message. */
#os-thread-list .os-msg,#os-common-list .os-msg{position:relative!important}
#os-thread-list .os-message-actions{right:8px!important;top:-14px!important;left:auto!important}
/* The add-reaction control lives in the hover action menu; the reaction row only shows reactions already set. */
#os-thread-list .os-msg-body>.qol-reactions .qol-reaction-add-wrap,
#os-common-list .os-msg-body>.qol-reactions .qol-reaction-add-wrap{display:none!important}
#os-thread-list .os-message-actions>.os-action-reaction,
#os-common-list .os-message-actions>.os-action-reaction{display:inline-flex!important;position:relative!important;margin:0!important}
#os-thread-list .os-message-actions>.os-action-reaction>.qol-reaction-add,
#os-common-list .os-message-actions>.os-action-reaction>.qol-reaction-add{opacity:1!important;pointer-events:auto!important}

/* v5: quest review compact spacing + action menu anchored inside message body */
#os-thread-list .os-msg{
  position:relative!important;
  padding:3px 0!important;
  margin:0!important;
  min-height:0!important;
  border:0!important;
}
#os-thread-list .os-msg:not(.grouped){margin-top:8px!important}
#os-thread-list .os-msg.grouped{padding:1px 0!important;margin:0!important}
#os-thread-list .os-msg-body{position:relative!important;padding:0!important;margin:0!important;min-width:0!important}
#os-thread-list .os-msg div{margin-top:0!important}
#os-thread-list .os-msg-meta{margin:0 0 2px!important}
#os-thread-list .os-msg-text{margin:0!important;line-height:1.34!important;min-height:0!important}
#os-thread-list .qol-reactions{margin:2px 0 0!important;min-height:0!important}
#os-thread-list .qol-reactions:empty{display:none!important}
#os-thread-list .os-message-actions,
#os-common-list .os-message-actions{
  position:absolute!important;
  top:-18px!important;
  right:4px!important;
  left:auto!important;
  bottom:auto!important;
  margin:0!important;
  z-index:30!important;
}
#os-thread-list .os-msg:hover .os-message-actions,
#os-common-list .os-msg:hover .os-message-actions,
#os-thread-list .os-message-actions:focus-within,
#os-common-list .os-message-actions:focus-within{
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
}
#os-thread-list .os-msg-avatar-spacer{height:0!important}
@media(max-width:760px){
  #os-thread-list .os-msg:not(.grouped){margin-top:6px!important}
  #os-thread-list .os-message-actions,#os-common-list .os-message-actions{top:-16px!important;right:2px!important}
}

/* v7: in-app edit/delete confirmation dialogs */
.os-message-modal-overlay{z-index:10050!important;display:grid!important;place-items:center!important;padding:18px!important;background:rgba(3,7,14,.72)!important;backdrop-filter:blur(5px)}
.os-message-modal{width:min(520px,calc(100vw - 32px))!important;height:auto!important;max-height:min(90dvh,620px)!important;overflow:hidden!important;border:1px solid rgba(121,139,168,.28)!important;border-radius:14px!important;background:#101722!important;box-shadow:0 24px 70px rgba(0,0,0,.48)!important}
.os-message-modal>header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:17px 18px 14px!important;border-bottom:1px solid rgba(121,139,168,.16)!important}
.os-message-modal>header small{display:block!important;margin-bottom:4px!important;color:#78869b!important;font-size:10px!important;letter-spacing:.08em!important}
.os-message-modal>header h2{margin:0!important;font-size:18px!important;color:#e8edf5!important}
.os-message-modal-close{width:34px!important;height:34px!important;border:1px solid rgba(121,139,168,.18)!important;border-radius:8px!important;background:#141e2d!important;color:#aeb8c8!important;font-size:22px!important;cursor:pointer!important}
.os-message-modal-content{padding:18px!important;color:#cbd4e2!important}
.os-message-modal-content label{display:grid!important;gap:8px!important;color:#aeb9c9!important;font-size:12px!important}
.os-message-modal-input{box-sizing:border-box!important;width:100%!important;min-height:116px!important;resize:vertical!important;padding:11px 12px!important;border:1px solid #303d52!important;border-radius:9px!important;outline:none!important;background:#090f19!important;color:#eef2f8!important;font:inherit!important;line-height:1.45!important}
.os-message-modal-input:focus{border-color:#a28b3d!important;box-shadow:0 0 0 3px rgba(205,176,71,.08)!important}
.os-message-modal-hint{display:block!important;margin-top:7px!important;color:#66758b!important;font-size:10px!important}
.os-message-modal-content p{margin:0!important;line-height:1.55!important}
.os-message-modal>footer{display:flex!important;justify-content:flex-end!important;gap:9px!important;padding:0 18px 18px!important}
.os-message-modal>footer button{min-width:96px!important;height:36px!important;border-radius:8px!important;cursor:pointer!important}
.os-message-modal .os-secondary{border:1px solid #303d52!important;background:#151e2d!important;color:#b9c4d3!important}
.os-message-modal .os-danger{border:1px solid rgba(219,85,85,.42)!important;background:#7d2f35!important;color:#fff!important;font-weight:700!important}
.os-message-modal .os-danger:hover{background:#913840!important}
@media(max-width:600px){.os-message-modal-overlay{padding:10px!important}.os-message-modal{width:calc(100vw - 20px)!important}.os-message-modal>header,.os-message-modal-content{padding-left:14px!important;padding-right:14px!important}.os-message-modal>footer{padding-left:14px!important;padding-right:14px!important}.os-message-modal>footer button{flex:1!important;min-width:0!important}}

/* v9: stable character pickers in mentorship modal */
.os-picker-menu{position:fixed!important;z-index:10050!important;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;background:#10151f;border:1px solid #343c50;border-radius:9px;box-shadow:0 16px 42px rgba(0,0,0,.58);padding:5px}
.os-picker-menu[hidden]{display:none!important}
.os-picker-menu button{display:grid;width:100%;text-align:left;padding:10px!important;background:none;border:0!important;border-radius:6px;color:#eee;cursor:pointer}
.os-picker-menu button+button{border-top:1px solid #252b38!important}
.os-picker-menu button:hover,.os-picker-menu button:focus{background:#181e2b;outline:none}
.os-picker-menu button small{color:#888}
.os-picker>input[type=search]{position:relative;z-index:1}

/* Quest review workflow */
.os-quest-review{margin-top:14px;padding-top:14px;border-top:1px solid #252c3a;display:grid;gap:10px}.os-quest-attempt{display:flex;align-items:center;justify-content:space-between;color:#8f98aa;font-size:12px}.os-quest-attempt b{color:#d7c16c;font-size:13px}.os-revision-list{display:grid;gap:7px}.os-revision{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:9px 10px;border:1px solid #2d3445;border-radius:8px;background:#0e131c;text-decoration:none}.os-revision span{color:#d8dde7;font-weight:700;font-size:12px}.os-revision small{grid-column:1;color:#7f899b!important;font-size:10px}.os-revision b{grid-column:2;grid-row:1/3;color:#d7c16c;font-size:11px}.os-revision.ready:hover{border-color:#5b5130;background:#131925}.os-revision.empty{opacity:.52}.os-review-state{display:inline-flex;margin-top:5px;padding:4px 7px;border-radius:999px;border:1px solid #394154;color:#9ca6b8;font-size:10px}.os-review-state.in_review{color:#d7c16c;border-color:#665c31}.os-review-state.completed{color:#8eb7df;border-color:#35506b}.os-review-complete{border-color:#365c49!important;color:#91d7ac!important}.os-quest-delete{margin-left:auto}.os-actions .os-danger{border:1px solid #65363c;background:#241419;color:#e88c94;border-radius:8px;padding:10px 14px;cursor:pointer}@media(max-width:600px){.os-revision{grid-template-columns:1fr}.os-revision b{grid-column:1;grid-row:auto;margin-top:4px}.os-quest-delete{margin-left:0}}
