/* Direct messages: a two-pane chat built on the Comments page tokens (.cm-page) and filters. */
.ms-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);height:min(720px,calc(100vh - 250px));min-height:540px;margin-top:22px;border:1px solid var(--cm-line);border-radius:14px;background:var(--cm-panel);box-shadow:var(--cm-shadow);overflow:hidden}
.ms-list-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--cm-line)}
.ms-list-pane>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--cm-line)}
.ms-list-pane h2{margin:0;color:var(--cm-text);font:600 15px/1.3 var(--font);letter-spacing:0}
.ms-list-pane>header span{color:var(--cm-muted);font-size:11px}
.ms-list{flex:1;min-height:0;overflow-y:auto;padding:6px}
.ms-list>.ms-empty{min-height:260px;margin:4px;border:0}
.ms-conversation{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:var(--cm-text);font:inherit;text-align:left;cursor:pointer;transition:background .15s}
.ms-conversation:hover{background:var(--cm-hover)}
.ms-conversation.is-selected{background:var(--cm-active)}
.ms-portrait>.cm-platform-mark{right:-4px;bottom:-4px}
.ms-conversation-copy{display:grid;flex:1;gap:2px;min-width:0}
.ms-conversation-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.ms-conversation-top strong{overflow:hidden;font-size:13px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.ms-conversation-top time{flex:none;color:var(--cm-muted);font-size:11px}
.ms-conversation-preview{overflow:hidden;color:var(--cm-muted);font-size:12px;white-space:nowrap;text-overflow:ellipsis}
.ms-conversation.is-unread .ms-conversation-preview{color:var(--cm-text);font-weight:600}
.ms-conversation-copy small{overflow:hidden;color:var(--cm-muted);font-size:11px;white-space:nowrap;text-overflow:ellipsis}
.ms-unread{display:grid;place-items:center;flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--cm-accent);color:#fff;font-size:11px;font-weight:700}
.ms-thread-pane{display:flex;flex-direction:column;min-width:0;min-height:0}
.ms-thread-pane>.cm-empty{flex:1;border:0;border-radius:0}
.ms-thread-header{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--cm-line)}
.ms-thread-header .cm-avatar{width:40px;height:40px}
.ms-thread-title{display:grid;flex:1;gap:3px;min-width:0}
.ms-thread-title strong{overflow:hidden;font-size:14px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}
.ms-thread-title small{display:flex;align-items:center;gap:6px;min-width:0;color:var(--cm-muted);font-size:11px}
.ms-open{display:inline-flex;align-items:center;gap:6px;flex:none;color:var(--cm-accent);font-size:12px;font-weight:600;text-decoration:none}
.ms-open:hover{text-decoration:underline}
.ms-open .icon{width:14px;height:14px}
.ms-back{display:none;place-items:center;flex:none;width:34px;height:34px;padding:0;border:1px solid var(--cm-line);border-radius:9px;background:var(--cm-panel);color:var(--cm-text);cursor:pointer}
.ms-back .icon{width:16px;height:16px;transform:rotate(180deg)}
.ms-thread-list{display:flex;flex:1;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;padding:16px 22px;background:var(--cm-soft)}
.ms-thread-list>.cm-empty{flex:1;min-height:0;border:0;background:transparent}
.ms-thread-list>.cm-load-row{display:flex;justify-content:center;margin:0 0 8px}
.ms-day{display:flex;justify-content:center;margin:12px 0 6px}
.ms-day span{padding:3px 10px;border-radius:10px;background:var(--cm-panel);color:var(--cm-muted);font-size:11px;font-weight:600;box-shadow:0 1px 2px #0000000d}
.ms-message{display:flex;flex-direction:column;max-width:min(520px,78%)}
.ms-message.is-incoming{align-self:flex-start;align-items:flex-start}
.ms-message.is-outgoing{align-self:flex-end;align-items:flex-end}
.ms-bubble{padding:9px 13px;border-radius:16px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.is-incoming .ms-bubble{border:1px solid var(--cm-line);border-bottom-left-radius:5px;background:var(--cm-panel);color:var(--cm-text)}
.is-outgoing .ms-bubble{border-bottom-right-radius:5px;background:var(--cm-accent);color:#fff}
.ms-message .ms-bubble.is-muted{border:1px dashed var(--cm-line);background:transparent;color:var(--cm-muted);font-style:italic}
.is-pending .ms-bubble{opacity:.7}
.is-failed .ms-bubble{background:#f6e3df;color:#7a2f25}
.ms-meta{margin-top:3px;color:var(--cm-muted);font-size:11px}
.ms-context{margin-bottom:3px;color:var(--cm-muted);font-size:11px}
.ms-link{padding:0;border:0;background:none;color:var(--cm-accent);font:600 11px var(--font);text-decoration:underline;cursor:pointer}
.ms-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ms-attachment{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--cm-line);border-radius:12px;background:var(--cm-panel);color:var(--cm-text);font-size:12px;text-decoration:none}
a.ms-attachment:hover{border-color:var(--cm-muted)}
.ms-attachment .icon{width:14px;height:14px}
.ms-send-error{max-width:420px;margin:6px 0 0;color:#b34e43;font-size:12px;line-height:1.5;text-align:right}
.ms-send-error.is-limit{padding:10px 12px;border:1px solid #e1d5b6;border-radius:10px;background:#faf7ee;color:#795e2b;text-align:left}
.ms-composer{padding:12px 16px 14px;border-top:1px solid var(--cm-line);background:var(--cm-panel)}
.ms-composer-row{display:flex;align-items:flex-end;gap:10px;padding:5px 5px 5px 15px;border:1px solid var(--cm-line);border-radius:20px;background:var(--cm-panel)}
.ms-composer-row:focus-within{border-color:var(--cm-accent)}
.ms-composer textarea{flex:1;min-height:24px;max-height:180px;padding:6px 0;border:0;outline:0;resize:none;background:transparent;color:var(--cm-text);font:13px/1.5 var(--font)}
.ms-composer-foot{display:flex;justify-content:space-between;gap:14px;margin-top:7px;padding:0 6px;color:var(--cm-muted);font-size:11px;line-height:1.5}
.ms-composer-foot>span:last-child{flex:none}
.ms-note{display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;color:var(--cm-muted);font-size:12px;line-height:1.6}
.ms-note .icon{width:15px;height:15px;margin-top:2px}
.ms-note a{color:var(--cm-accent);font-weight:600}
.ms-limit{border-color:#e7c9a1;background:#fbf2e4}
:root[data-theme="dark"] .is-outgoing .ms-bubble,:root[data-theme="dark"] .ms-unread{color:#183122}
:root[data-theme="dark"] .is-failed .ms-bubble{background:#4a2c27;color:#f5d4cc}
:root[data-theme="dark"] .ms-send-error{color:#efb8a9}
:root[data-theme="dark"] .ms-send-error.is-limit,:root[data-theme="dark"] .ms-limit{border-color:#65563a;background:#332e24;color:#e4cda5}
@media(max-width:800px){
 .ms-layout{grid-template-columns:1fr;height:auto;min-height:0}
 .ms-list-pane{border-right:0}
 .ms-list{max-height:none}
 .ms-thread-pane{display:none}
 .ms-layout.has-selection .ms-list-pane{display:none}
 .ms-layout.has-selection .ms-thread-pane{display:flex;height:calc(100vh - 190px);min-height:460px}
 .ms-back{display:grid}
 .ms-thread-header{padding:11px 14px}
 .ms-open{font-size:0;gap:0}
 .ms-open .icon{width:18px;height:18px}
 .ms-thread-list{padding:12px 14px}
 .ms-message{max-width:88%}
 .ms-composer{padding:10px 12px 12px}
 .ms-composer-foot{flex-direction:column;gap:2px}
}
