.inbox-header-actions { display:flex; align-items:center; gap:5px; }
.inbox-icon-button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:1px solid var(--border); border-radius:11px; color:var(--text-main); background:var(--surface); cursor:pointer; text-decoration:none; }
.inbox-icon-button:hover { border-color:var(--accent); color:var(--accent); }
.inbox-count { position:absolute; top:-5px; right:-5px; min-width:17px; height:17px; padding:0 4px; box-sizing:border-box; border-radius:20px; background:#c34c4c; color:white; font-size:10px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.inbox-popover { position:fixed; top:78px; right:22px; z-index:1500; width:min(390px,calc(100vw - 24px)); max-height:75vh; overflow:auto; background:var(--surface); border:1px solid var(--border); border-radius:16px; box-shadow:0 16px 45px #0006; }
.inbox-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px; }
.inbox-text-button { background:none; color:var(--accent); cursor:pointer; border:0; padding:6px; font:inherit; font-size:.8rem; }
.inbox-item { display:block; padding:13px 16px; border-bottom:1px solid var(--border); color:var(--text-main); text-decoration:none; overflow-wrap:anywhere; }
.inbox-item:hover { background:var(--bg); }
.inbox-item.is-unread { background:rgba(210,169,105,.07); border-left:3px solid var(--accent); padding-left:13px; }
.inbox-item strong { font-size:.9rem; }
.inbox-item p { margin:5px 0; font-size:.84rem; color:var(--text-muted); line-height:1.4; white-space:pre-wrap; }
.inbox-item time { font-size:.7rem; color:var(--text-muted); }
.inbox-view-all { display:block; padding:13px 16px; text-align:center; color:var(--accent); text-decoration:none; }
.inbox-empty,.inbox-status { color:var(--text-muted); font-size:.83rem; padding:12px; }
.inbox-status:empty { display:none; }
.inbox-notifications-page { max-width:850px; margin:25px auto 50px; }
.inbox-page-head { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:20px; }
.inbox-page-head h1 { margin:0 0 5px; font-size:1.5rem; }
.inbox-page-head p { margin:0; color:var(--text-muted); font-size:.85rem; }
#notification-page-items { background:var(--surface); border:1px solid var(--border); border-radius:15px; overflow:hidden; }
.inbox-profile-message { display:inline-flex; margin:8px 0 12px; }
.dm-app { display:grid; grid-template-columns:290px minmax(0,1fr); height:min(760px,calc(100dvh - 150px)); min-height:420px; margin:22px auto; border:1px solid var(--border); border-radius:18px; overflow:hidden; background:var(--surface); }
.dm-sidebar { border-right:1px solid var(--border); overflow:auto; padding:16px 10px; }
.dm-sidebar h1 { margin:0 6px 16px; font-size:1.3rem; }
.dm-search-label { display:block; font-size:.75rem; color:var(--text-muted); margin:0 6px 5px; }
.dm-search { width:100%; box-sizing:border-box; padding:10px; border:1px solid var(--border); border-radius:9px; color:var(--text-main); background:var(--bg); margin-bottom:12px; }
.dm-conversation { display:block; width:100%; padding:11px 9px; border:0; border-bottom:1px solid var(--border); color:var(--text-main); background:transparent; text-align:left; cursor:pointer; border-radius:8px; font:inherit; }
.dm-conversation:hover,.dm-conversation.is-active { background:var(--bg); }
.dm-conversation strong { display:block; font-size:.86rem; }
.dm-conversation p { margin:5px 0 0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--text-muted); font-size:.78rem; }
.dm-unread { float:right; border-radius:20px; color:white; background:#b78f50; padding:1px 7px; font-size:.72rem; }
.dm-main { min-width:0; min-height:0; display:flex; flex-direction:column; }
.dm-thread-head { padding:14px 18px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:12px; }
.dm-thread-head h2 { margin:0; font-size:1rem; }
.dm-thread-head span { font-size:.74rem; color:var(--text-muted); }
.dm-thread-head a { margin-left:auto; font-size:.78rem; color:var(--accent); }
.dm-messages { flex:1; min-height:0; overflow:auto; display:flex; flex-direction:column; gap:9px; padding:16px; overscroll-behavior:contain; }
.dm-message { max-width:85%; width:fit-content; padding:9px 12px; border-radius:12px 12px 12px 3px; border:1px solid var(--border); background:var(--bg); align-self:flex-start; overflow-wrap:anywhere; }
.dm-message.is-own { align-self:flex-end; border-color:rgba(210,169,105,.4); border-radius:12px 12px 3px 12px; }
.dm-message p { white-space:pre-wrap; margin:0; font-size:.92rem; line-height:1.45; }
.dm-message footer { margin-top:5px; color:var(--text-muted); font-size:.66rem; display:flex; align-items:center; gap:8px; justify-content:flex-end; }
.dm-message footer button { padding:0 3px; font-size:.7rem; }
.dm-quote,.dm-reply-preview { border-left:2px solid var(--accent); padding:6px 8px; color:var(--text-muted); font-size:.78rem; margin-bottom:7px; background:rgba(210,169,105,.06); white-space:pre-wrap; }
.dm-reply-preview { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dm-composer { padding:12px 16px; border-top:1px solid var(--border); }
.dm-composer textarea { width:100%; box-sizing:border-box; resize:vertical; min-height:55px; max-height:160px; border:1px solid var(--border); border-radius:9px; padding:10px; font:inherit; font-size:.9rem; color:var(--text-main); background:var(--bg); }
.dm-composer > div:last-child { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-top:6px; }
.dm-composer small { font-size:.68rem; color:var(--text-muted); }
.dm-load-older { align-self:center; }
.dm-app [hidden],.inbox-header-actions [hidden],.inbox-popover[hidden],.inbox-count[hidden],#notification-page-more[hidden] { display:none !important; }
@media(max-width:700px) {
 .inbox-icon-button { width:33px; height:33px; border-radius:9px; }
 .inbox-header-actions { gap:4px; }
 .inbox-popover { top:70px; right:12px; }
 .inbox-page-head { align-items:flex-start; flex-direction:column; }
 .dm-app { grid-template-columns:1fr; height:calc(100dvh - 125px); min-height:380px; }
 .dm-app .dm-main { display:none; }
 .dm-app.has-thread .dm-sidebar { display:none; }
 .dm-app.has-thread .dm-main { display:flex; }
 .dm-app.has-thread #dm-back { display:block !important; }
 .dm-message { max-width:92%; }
 .dm-composer { padding:10px; }
 .dm-composer textarea { font-size:16px; }
 .dm-composer small { display:none; }
}

/* Avatars and group management */
.dm-avatar { position:relative; display:inline-flex; flex:0 0 34px; width:34px; height:34px; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; color:var(--accent); background:var(--accent-light); font-size:.84rem; font-weight:800; }
.dm-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dm-conversation { display:flex; align-items:center; gap:10px; }
.dm-conversation-copy { flex:1; min-width:0; }
.dm-conversation-copy strong { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.dm-unread { float:none; flex-shrink:0; margin-left:auto; }
.dm-sidebar-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.dm-sidebar-title h1 { margin:0 6px; }
.dm-thread-head { padding:10px 14px; gap:10px; }
#dm-peer-avatar { flex-shrink:0; }
#dm-peer-avatar .dm-avatar { width:36px; height:36px; }
#dm-group-info { margin-left:auto; }
.dm-message-author { display:flex; align-items:center; gap:7px; font-size:.75rem; margin-bottom:6px; color:var(--accent); }
.dm-message-author .dm-avatar { width:22px; height:22px; flex-basis:22px; font-size:.62rem; }
.dm-answer,.comment-reply-button { display:inline-flex; align-items:center; gap:5px; }
.dm-answer svg,.comment-reply-button svg { flex-shrink:0; }
.dm-group-dialog { width:min(460px,calc(100vw - 24px)); max-height:85dvh; box-sizing:border-box; overflow:auto; background:var(--surface); color:var(--text-main); border:1px solid var(--border); border-radius:16px; padding:20px; box-shadow:0 20px 70px #0007; }
.dm-group-dialog::backdrop { background:#0008; }
.dm-dialog-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:14px; }
.dm-dialog-head h2 { font-size:1.1rem; margin:0; }
.dm-group-dialog label { display:block; color:var(--text-muted); font-size:.8rem; margin-bottom:5px; }
.dm-group-dialog input:not([type="checkbox"]) { box-sizing:border-box; width:100%; padding:10px; border-radius:9px; border:1px solid var(--border); background:var(--bg); color:var(--text-main); margin-bottom:12px; }
.dm-group-dialog .dm-member-choice,.dm-member-row { display:flex; align-items:center; gap:9px; padding:8px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.dm-member-choice { cursor:pointer; }
.dm-member-row > span:not(.dm-avatar) { flex:1; min-width:0; }
.dm-member-choice input { width:18px; height:18px; flex-shrink:0; }
.dm-selected-chip { padding:5px 8px; margin:0 4px 5px 0; border:1px solid var(--border); border-radius:20px; background:var(--bg); color:var(--accent); cursor:pointer; }
.dm-dialog-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:14px; }
.dm-group-dialog [hidden],#dm-peer-avatar[hidden],#dm-group-info[hidden] { display:none !important; }

/* Direct desktop links; mobile uses the original vertical menu from base.css. */
@media(min-width:901px) {
 .modern-header .modern-nav-container { height:64px; gap:14px; }
 .modern-header .modern-logo { font-size:1.2rem; flex-shrink:0; }
 .modern-header .modern-nav-menu { gap:3px; }
 .modern-header .modern-nav-link { padding:8px 11px; font-size:.88rem; gap:7px; border-radius:10px; white-space:nowrap; }
 .modern-header .modern-nav-right { gap:9px; flex-shrink:0; }
 .modern-header .user-chip > span { max-width:95px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
 .modern-header .inbox-icon-button { width:34px; height:34px; border-radius:10px; }
 .inbox-popover { top:72px; }
}
.btn-queue-trigger.home-randomizer { text-decoration:none; background:var(--surface) !important; color:var(--text-main) !important; border:1px solid var(--border) !important; }
@media(max-width:900px) {
 .modern-header .mobile-menu-btn { display:flex; }
 .modern-header .modern-nav-menu { box-sizing:border-box; }
 .inbox-popover { top:78px; }
}
@media(max-width:600px) {
 .modern-header .modern-logo { font-size:1.05rem; }
 .modern-header .modern-nav-right { gap:6px; }
}

/* Explicit margins override the site's universal margin reset for native dialogs. */
dialog.dm-group-dialog { position:fixed; inset:0; margin:auto; height:fit-content; width:min(480px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:24px; background:var(--surface); }
dialog.dm-group-dialog:not([open]) { display:none; }
.dm-group-dialog form { margin:0; min-width:0; }
.dm-dialog-head { margin-bottom:20px; }
.dm-dialog-head h2 { font-size:1.15rem; }
.dm-close-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:32px; padding:0; border:1px solid var(--border); border-radius:10px; background:var(--bg); color:var(--text-muted); font:inherit; font-size:1.35rem; cursor:pointer; }
.dm-close-button:hover { color:var(--text-main); border-color:var(--accent); }
.dm-dialog-hint { color:var(--text-muted); font-size:.8rem; line-height:1.5; margin:0 0 12px; }
.dm-group-dialog #dm-current-members { max-height:230px; overflow:auto; margin-bottom:18px; }
.dm-group-dialog #dm-current-members:empty { display:none; }
.dm-group-dialog #dm-group-results { max-height:220px; overflow:auto; }
.dm-group-dialog .dm-member-choice { display:flex; align-items:center; gap:10px; padding:10px; border-radius:10px; margin:0 0 4px; border:1px solid var(--border); color:var(--text-main); font-size:.86rem; }
.dm-member-choice:hover { background:var(--bg); }
.dm-group-dialog .dm-member-choice input { margin:0; accent-color:var(--accent); }
.dm-member-choice > span:last-child { flex:1; min-width:0; }
.dm-member-row { padding:10px 0; font-size:.86rem; }
.dm-member-row .inbox-text-button { border:1px solid var(--border); border-radius:8px; padding:6px 9px; }
.dm-selected-chip { font:inherit; font-size:.75rem; padding:6px 10px; }
.dm-dialog-actions { flex-wrap:wrap; gap:10px; padding-top:16px; margin-top:16px; border-top:1px solid var(--border); }
.dm-group-dialog .btn { font:inherit; font-size:.86rem; padding:10px 16px; border-radius:10px; cursor:pointer; }
.dm-header-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 12px; border:1px solid var(--border); border-radius:10px; background:var(--bg); color:var(--text-main); font:inherit; font-size:.78rem; font-weight:600; text-decoration:none; cursor:pointer; white-space:nowrap; }
.dm-thread-head a.dm-header-button { color:var(--text-main); }
.dm-header-button:hover { border-color:var(--accent); color:var(--accent); }
.dm-thread-head > div { min-width:0; }
.dm-thread-head h2 { overflow-wrap:anywhere; }
.dm-message footer { flex-wrap:wrap; }
.dm-message-action { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--text-muted); cursor:pointer; }
.dm-message-action:hover { border-color:var(--border); background:var(--surface); color:var(--accent); }
.dm-message-action.is-danger:hover { color:#d66969; }
.dm-message.is-deleted { opacity:.7; }
.dm-message.is-deleted p { font-style:italic; font-size:.82rem; }
.dm-group-dialog textarea { display:block; width:100%; box-sizing:border-box; min-height:120px; max-height:40dvh; resize:vertical; padding:12px; border:1px solid var(--border); border-radius:10px; font:inherit; line-height:1.5; color:var(--text-main); background:var(--bg); }
.dm-group-dialog textarea[hidden],.dm-group-dialog label[hidden],.dm-group-dialog p[hidden] { display:none; }
.dm-group-dialog .dm-danger-button { background:#b63f45; border-color:#b63f45; color:#fff; }
.dm-header-button:focus-visible,.dm-message-action:focus-visible,.dm-close-button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:600px) {
 dialog.dm-group-dialog { padding:18px; width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
 .dm-group-dialog input:not([type="checkbox"]),.dm-group-dialog textarea { font-size:16px; }
 .dm-thread-head { gap:8px; flex-wrap:wrap; }
 .dm-thread-head h2 { font-size:.9rem; }
 .dm-header-button { padding:8px 10px; }
}

/* Group picture and Unicode emoji controls. */
.dm-group-picture-row { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
#dm-group-picture-preview { flex-shrink:0; }
#dm-group-picture-preview .dm-avatar { width:72px; height:72px; flex-basis:72px; border:1px solid var(--border); }
#dm-group-picture-preview .dm-avatar > svg { width:30px; height:30px; }
#dm-group-picture-controls { min-width:0; }
.dm-group-dialog label.dm-picture-label { display:inline-flex; color:var(--text-main); margin-bottom:6px; cursor:pointer; }
#dm-group-picture { position:absolute; width:1px; height:1px; padding:0; opacity:0; overflow:hidden; }
.dm-group-picture-row:focus-within .dm-picture-label { outline:2px solid var(--accent); outline-offset:2px; }
#dm-group-picture-controls .dm-dialog-hint { margin:4px 0 0; font-size:.72rem; }
.dm-send-actions { display:flex; position:relative; align-items:center; justify-content:flex-end; gap:8px; }
.dm-emoji-toggle { min-width:38px; min-height:38px; flex-shrink:0; }
.dm-send-actions > .btn { width:auto; }
.dm-emoji-picker { position:absolute; bottom:calc(100% + 10px); right:0; z-index:10; width:320px; max-width:calc(100vw - 48px); box-sizing:border-box; padding:10px; background:var(--surface); color:var(--text-main); border:1px solid var(--border); border-radius:14px; box-shadow:0 10px 35px #0004; }
.dm-emoji-tabs { display:flex; gap:4px; overflow-x:auto; padding-bottom:8px; margin-bottom:6px; border-bottom:1px solid var(--border); }
.dm-emoji-tab { flex-shrink:0; border:0; border-radius:7px; background:transparent; color:var(--text-muted); padding:6px; font:inherit; font-size:.7rem; cursor:pointer; }
.dm-emoji-tab[aria-pressed="true"] { background:var(--bg); color:var(--accent); }
.dm-emoji-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; max-height:min(240px,38dvh); overflow-y:auto; }
.dm-emoji-cell { display:flex; align-items:center; justify-content:center; height:36px; padding:0; border:0; border-radius:8px; background:transparent; font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; font-size:24px; line-height:1; cursor:pointer; }
.dm-emoji-cell:hover,.dm-emoji-cell:focus-visible { background:var(--bg); outline:1px solid var(--accent); }
.dm-emoji-grid > p { grid-column:1 / -1; padding:10px; }
.dm-edit-emoji-tools { margin-top:10px; }
.dm-edit-emoji-tools .dm-emoji-picker { position:static; width:100%; max-width:none; margin-top:8px; box-shadow:none; }
.dm-edit-emoji-tools[hidden],.dm-emoji-picker[hidden],#dm-group-picture-controls[hidden] { display:none !important; }
@media(max-width:600px) {
 .dm-group-picture-row { gap:12px; }
 .dm-send-actions { margin-left:auto; }
 .dm-emoji-picker { max-width:calc(100vw - 44px); }
}

/* Edit messages in the existing composer, preserving the ordinary draft. */
.dm-edit-preview { display:flex; align-items:center; gap:10px; padding:8px 4px 10px; margin-bottom:8px; border-bottom:1px solid var(--border); color:var(--accent); }
.dm-edit-preview > svg { flex-shrink:0; }
.dm-edit-preview > div { flex:1; min-width:0; }
.dm-edit-preview strong { display:block; font-size:.78rem; font-weight:600; margin-bottom:3px; }
.dm-edit-preview span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-muted); font-size:.78rem; }
.dm-edit-preview #dm-cancel-edit { flex-shrink:0; font-size:1.4rem; padding:4px 8px; }
.dm-message.is-editing { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.dm-composer.is-editing textarea { border-color:var(--accent); }
.dm-edit-preview[hidden] { display:none !important; }

/* Typing state shares a stable status line with connection information. */
.dm-peer-info { flex:1; min-width:0; }
.dm-peer-status { position:relative; display:block; min-height:1.25rem; }
#dm-peer-status-idle,#dm-peer-typing { display:block; transition:opacity .18s ease,transform .18s ease; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#dm-peer-typing { position:absolute; inset:0; color:var(--accent); opacity:0; transform:translateY(3px); pointer-events:none; }
.dm-peer-status.is-typing #dm-peer-status-idle { opacity:0; transform:translateY(-3px); }
.dm-peer-status.is-typing #dm-peer-typing { opacity:1; transform:translateY(0); }
.dm-back-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 38px; width:38px; height:38px; padding:0; border:1px solid var(--border); border-radius:11px; background:var(--bg); color:var(--accent); cursor:pointer; }
.dm-back-button:hover { border-color:var(--accent); }
.dm-back-button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.dm-message-arriving { animation:dm-message-arrive .22s cubic-bezier(.2,.7,.2,1) backwards; }
.dm-message-removing { overflow:hidden; animation:dm-message-remove .24s ease-out both; }
@keyframes dm-message-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes dm-message-remove { from { opacity:.3; transform:scale(.97); } to { opacity:.7; transform:none; } }
@media(max-width:900px) {
 html.messages-page { height:100%; overflow:hidden; scrollbar-gutter:auto; }
 body.messages-page { position:fixed; inset:0; width:100%; height:var(--messenger-height,100dvh); min-height:0; overflow:hidden; }
 body.messages-page > .modern-header { flex-shrink:0; }
 body.messages-page > footer.footer { display:none; }
 body.messages-page > .main-content { display:flex; flex:1 1 0; min-height:0; padding:0 !important; overflow:hidden; }
 body.messages-page > .main-content > .container { display:flex; flex:1; width:100%; max-width:none; min-width:0; min-height:0; margin:0; padding:0; }
 body.messages-page .dm-app { width:100%; height:100%; min-height:0; margin:0; border:0; border-radius:0; grid-template-columns:minmax(0,1fr); }
 body.messages-page .dm-sidebar { min-height:0; padding:16px 12px max(12px,env(safe-area-inset-bottom)); border:0; overscroll-behavior:contain; }
 body.messages-page .dm-main { display:none; }
 body.messages-page .dm-app.has-thread .dm-sidebar { display:none; }
 body.messages-page .dm-app.has-thread .dm-main { display:flex; }
 body.messages-page .dm-app.has-thread #dm-back { display:inline-flex !important; }
 body.messages-page .dm-thread-head { flex-wrap:nowrap; flex-shrink:0; padding:10px 12px; gap:9px; }
 body.messages-page .dm-peer-info h2 { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
 body.messages-page .dm-thread-head > .dm-header-button { padding:8px; flex-shrink:0; font-size:.72rem; }
 body.messages-page #dm-peer-avatar .dm-avatar { width:32px; height:32px; flex-basis:32px; }
 body.messages-page .dm-messages { padding:12px; scroll-padding-bottom:12px; }
 body.messages-page .dm-composer { flex-shrink:0; padding:8px 12px max(8px,env(safe-area-inset-bottom)); background:var(--surface); }
 body.messages-page .dm-composer > .dm-search-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 body.messages-page .dm-composer textarea { min-height:44px; max-height:140px; resize:none; font-size:16px; }
 body.messages-page .dm-composer small { display:none; }
 body.messages-page .dm-composer > div:last-child { margin-top:5px; }
 body.messages-page .dm-send-actions { width:100%; }
 body.messages-page .dm-send-actions > .btn { padding:9px 16px; min-height:38px; }
 body.messages-page .dm-emoji-toggle { margin-right:auto; }
 body.messages-page .modern-nav-menu { max-height:calc(var(--messenger-height,100dvh) - 70px); overflow-y:auto; }
}
@media(prefers-reduced-motion:reduce) {
 .dm-message-arriving,.dm-message-removing { animation:none; }
 #dm-peer-status-idle,#dm-peer-typing { transition:none; }
}

/* One composer row: text, emoji, then send. */
.dm-visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.dm-composer .dm-compose-row { display:flex; align-items:flex-end; gap:8px; margin:0; }
.dm-composer .dm-compose-row textarea { flex:1 1 0; width:0; min-width:0; min-height:44px; margin:0; }
.dm-composer .dm-send-actions { flex:0 0 auto; width:auto; display:flex; align-items:center; gap:6px; margin:0; padding-bottom:0; }
.dm-composer .dm-emoji-toggle { width:44px; height:44px; min-width:44px; min-height:44px; margin:0; padding:0; border-radius:50%; }
.dm-send-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:0; margin:0; border:0; border-radius:50%; background:var(--accent); color:var(--surface); cursor:pointer; }
.dm-send-button:hover { filter:brightness(1.08); }
.dm-send-button:disabled { opacity:.5; cursor:default; }
.dm-send-button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.dm-compose-hint { display:block; margin-top:6px; }
@media(max-width:900px) {
 body.messages-page { top:var(--messenger-top,0px); bottom:auto; }
 body.messages-page .dm-composer .dm-compose-row { display:flex; gap:6px; margin:0; }
 body.messages-page .dm-composer .dm-send-actions { width:auto; gap:4px; margin:0; }
 body.messages-page .dm-composer .dm-emoji-toggle { margin:0; }
 body.messages-page .dm-composer .dm-compose-row textarea { min-height:44px; }
 body.messages-page .inbox-popover { top:calc(var(--messenger-top,0px) + 78px); }
 html.messages-page.messenger-keyboard-open body.messages-page .dm-composer { padding-bottom:8px; }
}

/* Emoji belongs to the left of the input; send stays at the right edge. */
.dm-emoji-anchor { position:relative; flex:0 0 44px; }
.dm-emoji-anchor .dm-emoji-picker { left:0; right:auto; }
.dm-compose-row > .dm-send-button { flex-shrink:0; }

/* Center the SVG box and compensate for the paper plane's visual weight. */
#dm-send > svg { display:block; flex:0 0 20px; width:20px; height:20px; }
#dm-send[aria-label="Отправить"] > svg { transform:translate(-1.5px,1.5px); }

.push-settings { padding:0 15px 12px; border-bottom:1px solid var(--border); }
.push-settings .dm-dialog-hint { margin:8px 0 0; font-size:.72rem; }
.push-settings .dm-dialog-hint:empty { display:none; }
.push-permission-prompt { position:fixed; z-index:2100; left:50%; bottom:max(16px,env(safe-area-inset-bottom)); transform:translateX(-50%); width:min(390px,calc(100vw - 24px)); padding:18px; box-sizing:border-box; border:1px solid var(--border); border-radius:16px; background:var(--surface); color:var(--text-main); box-shadow:0 8px 40px #0007; }
.push-permission-prompt strong { font-size:.95rem; }
.push-permission-prompt p { margin:8px 0 14px; font-size:.82rem; color:var(--text-muted); line-height:1.5; }
.push-permission-prompt > div { display:flex; align-items:center; gap:12px; }
.push-permission-prompt[hidden],.push-permission-prompt [hidden] { display:none !important; }

/* Push preferences belong to the messages screen. */
.dm-sidebar .push-settings{padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid var(--border-color, #41465f)}
.dm-sidebar .push-settings>button{width:100%}
.dm-chat-push{flex:0 0 32px;width:32px;height:36px;padding:5px}
.dm-chat-push .dm-push-slash{display:none}
.dm-chat-push.is-muted .dm-push-slash{display:block}
.dm-chat-push.is-muted{opacity:.65}

/* Stable mobile rendering; no permanent compositing layer per message. */
.dm-message { transition:border-color .16s ease,box-shadow .16s ease; }
.dm-conversation { transition:background-color .16s ease,border-color .16s ease; }
.dm-send-button,.dm-emoji-toggle,.dm-back-button { transition:background-color .16s ease,transform .12s ease; }
.dm-send-button:active,.dm-emoji-toggle:active,.dm-back-button:active { transform:scale(.94); }
@media(prefers-reduced-motion:reduce) {
 .dm-message,.dm-conversation,.dm-send-button,.dm-emoji-toggle,.dm-back-button { transition:none; }
 .dm-send-button:active,.dm-emoji-toggle:active,.dm-back-button:active { transform:none; }
}

@keyframes dm-panel-enter { from { opacity:.7; transform:translateY(3px); } to { opacity:1; transform:none; } }
@media(max-width:900px) and (prefers-reduced-motion:no-preference) {
 body.messages-page .dm-main,body.messages-page .dm-sidebar { animation:dm-panel-enter .16s ease-out; }
}

/* Messenger navigation and compact controls. */
.dm-thread-head { position:relative; }
.dm-thread-head .dm-peer-info { flex:1 1 0; min-width:0; overflow:hidden; }
.dm-thread-head h2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dm-thread-head > #dm-peer-avatar { flex:0 0 auto; }
#dm-thread-more { flex:0 0 34px; width:34px; height:36px; padding:4px; }
#dm-thread-more[hidden] { display:none; }
.dm-peer-status { max-width:100%; overflow:hidden; font-size:.72rem; }
#dm-peer-status-idle { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.dm-peer-status[data-connection="offline"],.dm-peer-status[data-connection="auth"] { color:#d69b74; }
.dm-thread-menu { position:absolute; z-index:45; right:12px; top:calc(100% - 4px); min-width:215px; padding:7px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:0 12px 36px #0005; }
.dm-thread-menu[hidden] { display:none !important; }
.dm-thread-menu > .dm-header-button,.dm-thread-menu > .dm-chat-push { display:flex; align-items:center; gap:9px; width:100%; height:auto; min-height:40px; padding:10px 12px; margin:0 !important; border:0; border-radius:8px; text-decoration:none; text-align:left; font:inherit; font-size:.84rem; color:var(--text-main); background:transparent; cursor:pointer; }
.dm-thread-menu > [hidden] { display:none !important; }
.dm-thread-menu > :hover { background:var(--bg); }
.dm-thread-menu .dm-chat-push { flex-basis:auto; }
.dm-thread-menu .dm-chat-push::after { content:'Push-уведомления'; }
.dm-thread-menu .dm-chat-push.is-muted::after { content:'Включить push'; }
.dm-thread-menu svg { flex-shrink:0; }
.dm-search-wrap { position:relative; margin:0 0 12px; }
.dm-search-wrap > svg { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--text-muted); pointer-events:none; }
.dm-search-wrap .dm-search { margin:0; width:100%; padding-left:40px; border-radius:24px; background:var(--bg); }
.dm-sidebar .dm-push-banner { display:flex; align-items:center; gap:10px; padding:12px; border:0; border-radius:12px; background:var(--bg); margin:0 0 10px; }
.dm-push-copy { flex:1; min-width:0; }
.dm-push-copy > strong { display:block; font-size:.8rem; }
.dm-push-copy > span { display:block; font-size:.7rem; color:var(--text-muted); margin-top:3px; line-height:1.35; }
.dm-sidebar .dm-push-banner > button { width:auto; flex:0 0 auto; max-width:110px; font-size:.75rem; padding:4px; }
.dm-new-option { display:block; width:100%; padding:13px 10px; background:transparent; color:var(--accent); border:0; border-bottom:1px solid var(--border); text-align:left; font:inherit; cursor:pointer; }
.dm-new-option small { display:block; color:var(--text-muted); font-size:.72rem; margin-top:3px; }
#dm-new-dialog .dm-search-label { margin-top:16px; }
#dm-new-dialog #dm-search-results { max-height:42dvh; overflow:auto; }
.dm-chat-pin-mark { color:var(--text-muted); flex-shrink:0; }
.dm-message-action.is-pinned { color:var(--accent); }
.dm-pinned-bar { flex:0 0 auto; width:100%; border:0; border-bottom:1px solid var(--border); border-left:3px solid var(--accent); padding:9px 14px; background:var(--surface); color:var(--text-main); text-align:left; cursor:pointer; }
.dm-pinned-bar[hidden] { display:none !important; }
.dm-pinned-bar strong { display:block; font-size:.72rem; color:var(--accent); }
.dm-pinned-bar span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.78rem; margin-top:3px; }
.dm-pinned-item { padding:12px 0; border-bottom:1px solid var(--border); }
.dm-pinned-item p { white-space:pre-wrap; overflow-wrap:anywhere; margin:0 0 8px; }
.dm-pinned-item time { display:block; color:var(--text-muted); font-size:.7rem; }
.dm-pinned-item button { margin:8px 12px 0 0; }
#dm-feedback:empty { display:none; }
@media(max-width:900px) {
 body.messages-page .dm-app { position:relative; display:block; overflow:hidden; isolation:isolate; }
 body.messages-page .dm-sidebar,body.messages-page .dm-app.has-thread .dm-sidebar { position:absolute; inset:0; display:block; width:100%; height:100%; box-sizing:border-box; background:var(--surface); animation:none; transition:transform .24s cubic-bezier(.2,.7,.2,1),opacity .24s ease; }
 body.messages-page .dm-main,body.messages-page .dm-app.has-thread .dm-main { position:absolute; inset:0; display:flex; width:100%; height:100%; background:var(--surface); z-index:2; transform:translateX(100%); visibility:hidden; pointer-events:none; animation:none; transition:transform .24s cubic-bezier(.2,.7,.2,1),visibility .24s; }
 body.messages-page .dm-app.has-thread .dm-main { transform:translateX(0); visibility:visible; pointer-events:auto; }
 body.messages-page .dm-app.has-thread .dm-sidebar { transform:translateX(-22%); opacity:.65; pointer-events:none; }
 body.messages-page .dm-app.is-swiping .dm-main { transform:translateX(var(--dm-swipe,0px)); transition:none; }
 body.messages-page .dm-app.is-swiping .dm-sidebar { transform:none; opacity:1; transition:none; }
 body.messages-page .dm-thread-head { gap:8px; padding:9px 10px; }
 body.messages-page .dm-peer-info { max-width:none; }
 body.messages-page .dm-peer-info h2 { font-size:.92rem; }
 body.messages-page .dm-push-banner { padding:10px 12px; }
 body.messages-page .dm-message footer { gap:5px; }
 body.messages-page .dm-message-action { width:24px; }
}
@media(max-width:900px) and (prefers-reduced-motion:reduce) {
 body.messages-page .dm-sidebar,body.messages-page .dm-app.has-thread .dm-sidebar,body.messages-page .dm-main,body.messages-page .dm-app.has-thread .dm-main { transition:none; }
}

/* Site palette, compact Telegram-style bubbles, clocks and receipt icons. */
.dm-thread-head #dm-peer-avatar,.dm-thread-head #dm-peer-link { margin:0; padding:0; font-size:inherit; text-decoration:none; color:inherit; min-width:0; display:block; }
.dm-thread-head #dm-peer-avatar { cursor:pointer; flex:0 0 auto; }
.dm-thread-head #dm-peer-link[href]:hover h2 { color:var(--accent); }
.dm-thread-head #dm-peer-link:not([href]) { cursor:default; }
.dm-danger-text { color:#e69999 !important; }
.dm-messages,.dm-wallpaper-swatch { --chat-in:#2c3040; --chat-out:#454234; background-color:#1e212d; }
[data-wallpaper="night"] { background-color:#1e212d; background-image:radial-gradient(ellipse at 20% 10%,#34354955,transparent 65%); }
[data-wallpaper="stars"] { background-color:#1c202d; background-image:radial-gradient(circle at 20px 20px,#dfca8d45 1px,transparent 1.5px),radial-gradient(circle at 72px 64px,#cfbf9a2b 1.5px,transparent 2px),linear-gradient(120deg,#32354933,transparent); background-size:96px 96px,128px 128px,100% 100%; }
[data-wallpaper="aurora"] { background-color:#172b30; background-image:radial-gradient(ellipse at 10% 10%,#37887850,transparent 60%),radial-gradient(ellipse at 95% 85%,#55559260,transparent 65%); --chat-in:#273c42; --chat-out:#3d4b40; }
[data-wallpaper="plum"] { background-color:#2b2235; background-image:radial-gradient(ellipse at 90% 5%,#7c526c65,transparent 65%),radial-gradient(ellipse at 10% 90%,#51497a66,transparent 65%); --chat-in:#3a3147; --chat-out:#51434b; }
[data-wallpaper="sand"] { background-color:#302b26; background-image:radial-gradient(ellipse at 20% 20%,#7d694343,transparent 60%),linear-gradient(145deg,transparent,#151c2c66); --chat-in:#3b3834; --chat-out:#554c38; }
[data-wallpaper="grid"] { background-color:#202631; background-image:linear-gradient(#bea8760d 1px,transparent 1px),linear-gradient(90deg,#bea8760d 1px,transparent 1px),radial-gradient(ellipse at 50% 0%,#3c42534d,transparent 70%); background-size:32px 32px,32px 32px,100% 100%; }
.dm-message { position:relative; max-width:80%; width:fit-content; min-width:76px; padding:8px 11px 5px; background:var(--chat-in,#2c3040); border:1px solid #ffffff09; border-radius:17px 17px 17px 5px; box-shadow:0 1px 2px #0002; }
.dm-message.is-own { background:var(--chat-out,#454234); border-color:#d8bd7b16; border-radius:17px 17px 5px 17px; }
.dm-message p { font-size:.91rem; line-height:1.47; }
.dm-message footer { min-height:15px; gap:5px; margin-top:2px; font-size:.62rem; line-height:1.2; align-items:center; color:#c2bdafaa; flex-wrap:nowrap; }
.dm-message footer time { white-space:nowrap; }
.dm-read-state { display:inline-flex; align-items:center; color:#c8c0ab9c; flex:0 0 auto; }
.dm-read-state.is-read { color:var(--accent); }
.dm-read-state svg { display:block; width:18px; height:15px; }
.dm-message footer .dm-message-more { padding:0 0 0 3px; border:0; background:transparent; color:inherit; font-size:17px; line-height:12px; width:20px; height:17px; cursor:pointer; opacity:.7; }
.dm-message footer .dm-message-more:hover { color:var(--accent); opacity:1; }
.dm-message-tools { display:none !important; }
.dm-message .dm-edited { font-size:.59rem; }
.dm-date-separator { position:sticky; top:6px; z-index:1; align-self:center; flex-shrink:0; border-radius:20px; background:#343747; color:#e5dfcc; font-size:.68rem; line-height:1.25; padding:5px 11px; margin:5px 0 2px; box-shadow:0 1px 2px #0002; }
.dm-message-menu-action { display:flex; align-items:center; gap:12px; width:100%; padding:12px 10px; border:0; border-radius:9px; background:transparent; color:var(--text-main); text-align:left; font:inherit; font-size:.88rem; cursor:pointer; }
.dm-message-menu-action:hover { background:var(--bg); }
.dm-message-menu-action svg { flex-shrink:0; color:var(--accent); }
.dm-message-menu-action[data-message-action="delete"] { color:#e9a5a5; }
.dm-wallpapers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.dm-wallpaper-choice { padding:4px; border:2px solid transparent; border-radius:14px; background:transparent; color:var(--text-main); font:inherit; font-size:.73rem; cursor:pointer; }
.dm-wallpaper-choice[aria-pressed="true"] { border-color:var(--accent); }
.dm-wallpaper-swatch { display:block; height:100px; border-radius:9px; margin-bottom:6px; position:relative; overflow:hidden; }
.dm-wallpaper-swatch::after { content:''; position:absolute; width:50%; height:20px; right:10px; top:52%; border-radius:9px 9px 3px 9px; background:#c7b77a55; box-shadow:-20px -27px 0 #a7adca30; }
@media(max-width:900px) {
 body.messages-page .dm-message { max-width:87%; padding:8px 10px 5px; }
 body.messages-page .dm-messages { gap:5px; padding:10px 12px 12px; }
 body.messages-page .dm-message footer { gap:4px; }
 .dm-tools-dialog { max-width:420px; }
 .dm-wallpaper-swatch { height:90px; }
}

.dm-message { box-sizing:border-box; overflow:hidden; }
@media(max-width:900px) { body.messages-page .dm-main #dm-back { display:inline-flex !important; } }
.dm-message .dm-edited { order:-1; }

/* Message rows reserve an avatar column outside the actual bubble. */
.dm-messages { gap:6px; }
.dm-message,.dm-message.is-own,body.messages-page .dm-message,body.messages-page .dm-message.is-own {
 display:flex; align-items:flex-end; justify-content:flex-start; align-self:stretch; gap:8px;
 width:100%; max-width:100%; min-width:0; padding:0; border:0; border-radius:0;
 background:transparent; box-shadow:none; overflow:visible;
}
.dm-message.is-own,body.messages-page .dm-message.is-own { justify-content:flex-end; }
.dm-message:not(.is-run-start) { margin-top:-3px; }
.dm-bubble { box-sizing:border-box; position:relative; min-width:76px; width:fit-content; max-width:calc(85% - 12px); padding:8px 11px 5px; border:1px solid #ffffff09; border-radius:17px 17px 17px 5px; background:var(--chat-in,#2c3040); box-shadow:0 1px 2px #0002; overflow:hidden; overflow-wrap:anywhere; }
.dm-message.is-own .dm-bubble { max-width:85%; border-color:#d8bd7b16; border-radius:17px 17px 5px 17px; background:var(--chat-out,#454234); }
.dm-message:not(.is-run-start) .dm-bubble { border-top-left-radius:6px; }
.dm-message:not(.is-run-end) .dm-bubble { border-bottom-left-radius:6px; }
.dm-message.is-own:not(.is-run-start) .dm-bubble { border-top-left-radius:17px; border-top-right-radius:6px; }
.dm-message.is-own:not(.is-run-end) .dm-bubble { border-bottom-left-radius:17px; border-bottom-right-radius:6px; }
.dm-message-avatar { display:flex; align-items:flex-end; justify-content:center; flex:0 0 30px; width:30px; height:30px; color:inherit; text-decoration:none; margin-bottom:1px; }
.dm-message-avatar[data-empty="true"] { visibility:hidden; pointer-events:none; }
.dm-message-avatar > .dm-avatar { width:30px; height:30px; flex-basis:30px; font-size:.72rem; }
.dm-bubble > .dm-message-author { display:block; min-width:0; margin:0 0 3px; line-height:1.25; font-size:.73rem; color:var(--accent); }
.dm-bubble > .dm-message-author strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dm-message.is-editing { box-shadow:none; }
.dm-message.is-editing .dm-bubble { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.dm-message footer { min-height:15px; }

/* The chat picker has independent sibling buttons for selection and actions. */
.dm-conversation-row { display:flex; align-items:center; gap:0; border-radius:11px; margin-bottom:2px; transition:background-color .15s ease; }
.dm-conversation-row:hover,.dm-conversation-row.is-active { background:var(--bg); }
.dm-conversation-row > .dm-conversation { flex:1 1 0; min-width:0; width:0; border:0; margin:0; padding:11px 5px 11px 9px; background:transparent; }
.dm-row-more { flex:0 0 30px; width:30px; height:38px; padding:4px; margin:0 3px 0 0; border:0; background:transparent; color:var(--text-muted); border-radius:9px; }
.dm-row-more:hover,.dm-row-more[aria-expanded="true"] { background:var(--surface); color:var(--accent); }
.dm-sidebar-title { gap:10px; }
.dm-sidebar-actions { display:flex; align-items:center; gap:5px; margin-left:auto; }
.dm-sidebar-actions .inbox-icon-button { flex-shrink:0; }
.dm-push-icon .push-icon-slash { display:block; }
.dm-push-icon.is-enabled .push-icon-slash { display:none; }
.dm-push-icon.is-enabled { color:var(--accent); }

/* Small anchored menus, without a backdrop or modal layout. */
.dm-context-menu,#dm-thread-menu.dm-context-menu {
 position:fixed; z-index:2400; inset:auto; right:auto; width:224px; min-width:0; max-width:calc(100vw - 20px);
 box-sizing:border-box; margin:0; padding:5px; border:1px solid var(--border); border-radius:12px;
 background:var(--surface); color:var(--text-main); box-shadow:0 8px 28px #0007;
 overflow:auto; overscroll-behavior:contain;
}
.dm-context-menu[hidden],#dm-thread-menu.dm-context-menu[hidden] { display:none !important; }
.dm-context-menu:not([hidden]) { animation:dm-menu-open .12s ease-out; }
.dm-context-menu .dm-message-menu-action,#dm-thread-menu.dm-context-menu > button {
 display:flex; align-items:center; gap:10px; width:100%; min-height:36px; height:auto; margin:0; padding:9px 10px;
 border:0; border-radius:7px; background:transparent; color:var(--text-main); text-align:left; font:inherit; font-size:.8rem; line-height:1.25; cursor:pointer;
}
.dm-context-menu .dm-message-menu-action:hover,.dm-context-menu .dm-message-menu-action:focus-visible,#dm-thread-menu.dm-context-menu > button:hover { background:var(--bg); }
.dm-context-menu .dm-message-menu-action:focus-visible { outline:1px solid var(--accent); outline-offset:-1px; }
.dm-context-menu .dm-message-menu-action svg { width:16px; height:16px; flex:0 0 16px; }
.dm-context-menu .dm-message-menu-action[data-message-action="delete"],.dm-context-menu .dm-danger-text { color:#e9a5a5; }
.dm-menu-feedback { position:fixed; z-index:2500; left:50%; bottom:max(18px,env(safe-area-inset-bottom)); transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text-main); font-size:.8rem; box-shadow:0 5px 20px #0005; }
.dm-menu-feedback[hidden] { display:none; }
@keyframes dm-menu-open { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:none; } }
@media(max-width:900px) {
 body.messages-page .dm-messages { gap:6px; }
 .dm-bubble { max-width:calc(100% - 38px); padding:8px 10px 5px; }
 .dm-message.is-own .dm-bubble { max-width:87%; }
}
@media(prefers-reduced-motion:reduce) {
 .dm-context-menu:not([hidden]) { animation:none; }
 .dm-conversation-row { transition:none; }
}

/* Six original repeating illustrations, drawn for the site's chat palette. */
[data-wallpaper="night"] { background-image:url('/static/img/chat-patterns/night.svg?v=scatter-gradient4'),radial-gradient(ellipse at 20% 10%,#34354955,transparent 65%); background-size:260px 260px,100% 100%; background-repeat:repeat,no-repeat; }
[data-wallpaper="stars"] { background-image:url('/static/img/chat-patterns/stars.svg?v=scatter-gradient4'),linear-gradient(135deg,#1c2334,#232538); background-size:260px 260px,100% 100%; background-repeat:repeat,no-repeat; }
[data-wallpaper="aurora"] { background-image:url('/static/img/chat-patterns/aurora.svg?v=scatter-gradient4'),radial-gradient(ellipse at 10% 10%,#37887850,transparent 60%),radial-gradient(ellipse at 95% 85%,#55559260,transparent 65%); background-size:260px 260px,100% 100%,100% 100%; background-repeat:repeat,no-repeat,no-repeat; }
[data-wallpaper="plum"] { background-image:url('/static/img/chat-patterns/plum.svg?v=scatter-gradient4'),radial-gradient(ellipse at 90% 5%,#7c526c65,transparent 65%),radial-gradient(ellipse at 10% 90%,#51497a66,transparent 65%); background-size:260px 260px,100% 100%,100% 100%; background-repeat:repeat,no-repeat,no-repeat; }
[data-wallpaper="sand"] { background-image:url('/static/img/chat-patterns/sand.svg?v=scatter-gradient4'),linear-gradient(145deg,#383125,#232632); background-size:260px 260px,100% 100%; background-repeat:repeat,no-repeat; }
[data-wallpaper="grid"] { background-image:url('/static/img/chat-patterns/grid.svg?v=scatter-gradient4'),radial-gradient(ellipse at 50% 0%,#3c42534d,transparent 70%); background-size:260px 260px,100% 100%; background-repeat:repeat,no-repeat; }
.dm-wallpaper-swatch { background-size:160px 160px,100% 100%,100% 100%; }

/* Pin shading is deliberately darker than the regular dialog list. */
.dm-conversation-row.is-pinned { background:#191d29; }
.dm-conversation-row.is-pinned:hover { background:#202532; }
.dm-conversation-row.is-pinned.is-active { background:#252938; box-shadow:inset 2px 0 var(--accent); }
.dm-pinned-bar { background:#191d29; border-bottom-color:#33384b; }
.dm-pinned-item { background:#1d212e; border-radius:10px; margin-bottom:8px; padding:12px; }

/* Reserve space above the iOS home indicator, except while typing. */
@media(max-width:900px) {
 body.messages-page .dm-composer { padding-bottom:calc(8px + max(18px,env(safe-area-inset-bottom,0px))); }
 html.messages-page.messenger-keyboard-open body.messages-page .dm-composer { padding-bottom:8px; }
 .dm-bubble { touch-action:pan-y pinch-zoom; }
}

/* Only the bubble moves for a reply swipe; avatars stay in their column. */
.dm-message .dm-bubble { transform:translateX(0); transition:transform .18s cubic-bezier(.2,.7,.2,1),border-color .16s ease; }
.dm-message.is-reply-swiping .dm-bubble { transform:translateX(var(--dm-reply-shift,0px)); transition:none; }
.dm-reply-indicator { position:absolute; z-index:-1; left:var(--dm-reply-x,70%); bottom:12px; display:flex; align-items:center; justify-content:center; width:29px; height:29px; border-radius:50%; background:#33394e; color:var(--accent); opacity:0; transform:scale(.75); transition:opacity .15s ease,transform .15s ease; pointer-events:none; }
.dm-message.is-reply-swiping .dm-reply-indicator { opacity:.65; transform:scale(.85); }
.dm-message.is-reply-ready .dm-reply-indicator { opacity:1; transform:scale(1); background:#4c493b; }
@media(prefers-reduced-motion:reduce) {
 .dm-message .dm-bubble,.dm-reply-indicator { transition:none; }
}
.dm-message .dm-bubble { z-index:1; transform:none; }
.dm-reply-indicator { z-index:0; }

/* Black messenger surfaces; retain the site's gold accent and original patterns. */
body.messages-page {
 --bg:#000; --surface:#101010; --surface-rgb:16,16,16; --border:#292929;
 --text-main:#eee; --text-muted:#a0a0a0; background:#000;
}
body.messages-page > .modern-header { border-bottom-color:var(--border); }
body.messages-page .dm-app,body.messages-page .dm-main,body.messages-page .dm-sidebar { background:#101010; }
body.messages-page .dm-messages,body.messages-page .dm-wallpaper-swatch {
 --chat-in:#191919; --chat-out:#29261d; background-color:#000;
}
body.messages-page [data-wallpaper="night"] { background-image:url('/static/img/chat-patterns/night.svg?v=scatter-gradient4'); }
body.messages-page [data-wallpaper="stars"] { background-image:url('/static/img/chat-patterns/stars.svg?v=scatter-gradient4'); }
body.messages-page [data-wallpaper="aurora"] { background-image:url('/static/img/chat-patterns/aurora.svg?v=scatter-gradient4'); }
body.messages-page [data-wallpaper="plum"] { background-image:url('/static/img/chat-patterns/plum.svg?v=scatter-gradient4'); }
body.messages-page [data-wallpaper="sand"] { background-image:url('/static/img/chat-patterns/sand.svg?v=scatter-gradient4'); }
body.messages-page [data-wallpaper="grid"] { background-image:url('/static/img/chat-patterns/grid.svg?v=scatter-gradient4'); }
body.messages-page .dm-bubble { border-color:#ffffff0b; }
body.messages-page .dm-message.is-own .dm-bubble { border-color:#d8bd7b12; }
body.messages-page .dm-conversation-row:hover,body.messages-page .dm-conversation-row.is-active { background:#202020; }
body.messages-page .dm-conversation-row.is-pinned { background:#000; }
body.messages-page .dm-conversation-row.is-pinned:hover { background:#171717; }
body.messages-page .dm-conversation-row.is-pinned.is-active { background:#202020; }
body.messages-page .dm-pinned-bar { background:#050505; border-bottom-color:#262626; }
body.messages-page .dm-pinned-item { background:#080808; }
body.messages-page .dm-date-separator { background:#252525; color:#ddd5c3; }
body.messages-page .dm-context-menu,body.messages-page #dm-thread-menu.dm-context-menu { background:#171717; }
body.messages-page .dm-reply-indicator { background:#2a2a2a; }
body.messages-page .dm-message.is-reply-ready .dm-reply-indicator { background:#393326; }

/* Smaller tiles and extra motifs create a denser illustrated background. */
body.messages-page [data-wallpaper] { background-size:210px 210px; }
body.messages-page .dm-wallpaper-swatch { background-size:140px 140px; }

/* Large, irregularly scattered layouts; no small tile arranged in rows. */
body.messages-page [data-wallpaper] { background-size:960px 1280px; }
body.messages-page .dm-wallpaper-swatch { background-size:480px 640px; }

/* Soft diagonal gradients on both the background and the scattered ink. */
body.messages-page [data-wallpaper="night"] { background-image:url('/static/img/chat-patterns/night.svg?v=scatter-gradient4'),linear-gradient(135deg,#000000 0%,#080809 48%,#15110c 100%); background-size:960px 1280px,100% 100%; background-repeat:repeat,no-repeat; }
body.messages-page [data-wallpaper="stars"] { background-image:url('/static/img/chat-patterns/stars.svg?v=scatter-gradient4'),linear-gradient(135deg,#000000 0%,#050609 48%,#0c1018 100%); background-size:960px 1280px,100% 100%; background-repeat:repeat,no-repeat; }
body.messages-page [data-wallpaper="aurora"] { background-image:url('/static/img/chat-patterns/aurora.svg?v=scatter-gradient4'),linear-gradient(135deg,#000000 0%,#040809 48%,#0b1716 100%); background-size:960px 1280px,100% 100%; background-repeat:repeat,no-repeat; }
body.messages-page [data-wallpaper="plum"] { background-image:url('/static/img/chat-patterns/plum.svg?v=scatter-gradient4'),linear-gradient(135deg,#000000 0%,#080509 48%,#180e16 100%); background-size:960px 1280px,100% 100%; background-repeat:repeat,no-repeat; }
body.messages-page [data-wallpaper="sand"] { background-image:url('/static/img/chat-patterns/sand.svg?v=scatter-gradient4'),linear-gradient(135deg,#000000 0%,#090704 48%,#19140b 100%); background-size:960px 1280px,100% 100%; background-repeat:repeat,no-repeat; }
body.messages-page [data-wallpaper="grid"] { background-image:url('/static/img/chat-patterns/grid.svg?v=scatter-gradient4'),linear-gradient(135deg,#000000 0%,#060708 48%,#121719 100%); background-size:960px 1280px,100% 100%; background-repeat:repeat,no-repeat; }
body.messages-page .dm-wallpaper-swatch { background-size:480px 640px,100% 100%; }

/* Per-chat bell state stays visible alongside the dialog name. */
.dm-conversation-copy strong { display:flex; align-items:center; gap:6px; min-width:0; }
.dm-conversation-name { display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.dm-chat-notification-state { display:inline-flex; align-items:center; justify-content:center; flex:0 0 14px; width:14px; height:14px; color:#b6a77f; opacity:.8; }
.dm-chat-notification-state.is-muted { color:#969696; opacity:.9; }
.dm-chat-notification-state svg { display:block; width:14px; height:14px; }

/* Text-only inbox reliability controls. */
.dm-unread-divider { align-self:stretch; padding:5px 10px; margin:7px -4px; text-align:center; color:var(--accent); background:#2b271e; font-size:.72rem; border-radius:7px; }
.dm-outbox { opacity:.85; }
.dm-outbox-error { display:block; margin-top:5px; font-size:.7rem; color:#e8a4a4; }
.dm-outbox footer { flex-wrap:wrap; }
.dm-outbox footer button { height:auto; font-size:.7rem; padding:3px 5px; }
.dm-reactions { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.dm-reaction { border:1px solid #ffffff15; background:#0003; border-radius:14px; color:var(--text-main); padding:2px 7px; font-size:.75rem; cursor:pointer; }
.dm-reaction.is-mine { border-color:var(--accent); background:#e5cc981a; }
.dm-reaction-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; padding:4px; }
.dm-reaction-picker button { background:transparent; border:0; border-radius:8px; font-size:1.25rem; padding:7px 2px; cursor:pointer; }
.dm-reaction-picker button:hover { background:#ffffff10; }
.dm-history-search-form { display:flex; gap:8px; align-items:flex-start; margin-top:12px; }
.dm-history-search-form input { flex:1; min-width:0; }
.dm-search-result { display:block; width:100%; border:0; border-bottom:1px solid var(--border); background:transparent; color:var(--text-main); padding:12px 5px; text-align:left; cursor:pointer; }
.dm-search-result:hover { background:var(--bg); }
.dm-search-result p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.83rem; margin-top:5px; }
.dm-search-result time { color:var(--text-muted); font-size:.7rem; }
.dm-push-panel { width:270px; padding:12px; }
#push-diagnostic-status { white-space:pre-line; font-size:.75rem; line-height:1.5; margin:8px 0; }
.dm-report-page { max-width:850px; margin:24px auto; }
.dm-report-filters { display:flex; gap:8px; margin:18px 0; }
.dm-moderation-report { padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); margin-bottom:14px; overflow-wrap:anywhere; }
.dm-moderation-report p { margin:8px 0; font-size:.85rem; }
.dm-moderation-report blockquote { padding:10px 12px; border-left:3px solid var(--accent); white-space:pre-wrap; background:var(--bg); font-size:.88rem; }

/* The mobile messenger fills the remaining screen below the site header. */
@media(max-width:900px) {
 body.messages-page { display:flex; flex-direction:column; }
 body.messages-page > .main-content { flex:1 1 0 !important; width:100%; min-height:0; }
 body.messages-page > .main-content > .container { flex:1 1 0; flex-direction:column; align-items:stretch; min-height:0; }
 body.messages-page .dm-app { flex:1 1 0; height:auto; min-height:0; max-height:none; }
 body.messages-page .dm-main,body.messages-page .dm-sidebar { min-height:0; }
 body.messages-page .dm-messages { flex:1 1 0; width:100%; min-height:0; overflow-x:hidden; overflow-y:auto; }
 body.messages-page .dm-thread-head { padding:8px 10px; }
 body.messages-page .dm-group-dialog { width:calc(100vw - 16px); padding:18px; max-height:calc(var(--messenger-height,100dvh) - 16px); }
}
/* Prevent flex shrinking and browser anchoring from fighting message animations. */
.dm-messages { overflow-anchor:none; scroll-behavior:auto; }
.dm-message,.dm-unread-divider,.dm-load-older,.dm-messages > .inbox-empty { flex-shrink:0; }
.dm-message-arriving { animation:dm-message-arrive .24s cubic-bezier(.2,.7,.2,1) backwards; }
@keyframes dm-message-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.dm-main.is-thread-loading .dm-messages { opacity:.25; pointer-events:none; transition:opacity .12s ease; }
.dm-main.is-thread-loading .dm-composer { visibility:hidden; pointer-events:none; }
.dm-history-enter { animation:dm-history-reveal .18s ease-out both; }
@keyframes dm-history-reveal { from { opacity:.25; transform:translateX(10px); } to { opacity:1; transform:translateX(0); } }
@media(prefers-reduced-motion:reduce) {
 .dm-history-enter,.dm-message-arriving { animation:none; }
 .dm-main.is-thread-loading .dm-messages { transition:none; }
}

/* Date chips sit above message animations; JS pushes each chip out before the next one arrives. */
.dm-messages { isolation:isolate; }
.dm-message { z-index:0; }
.dm-date-separator { position:sticky; top:6px; z-index:30; pointer-events:none; box-shadow:0 2px 8px #0009; border:1px solid #ffffff18; }
.dm-unread-divider { position:relative; z-index:1; }
/* Distinct tinted bubbles follow the selected wallpaper while keeping the black palette. */
body.messages-page .dm-messages[data-wallpaper="night"] { --chat-in:#242323; --chat-out:#423a29; --bubble-edge:#af987b33; }
body.messages-page .dm-messages[data-wallpaper="stars"] { --chat-in:#202c3c; --chat-out:#354964; --bubble-edge:#97bde43b; }
body.messages-page .dm-messages[data-wallpaper="aurora"] { --chat-in:#1c3534; --chat-out:#305448; --bubble-edge:#82d5bb3b; }
body.messages-page .dm-messages[data-wallpaper="plum"] { --chat-in:#342433; --chat-out:#55394e; --bubble-edge:#e0a3d13b; }
body.messages-page .dm-messages[data-wallpaper="sand"] { --chat-in:#332e24; --chat-out:#55462c; --bubble-edge:#e9ca833b; }
body.messages-page .dm-messages[data-wallpaper="grid"] { --chat-in:#253035; --chat-out:#3b4c53; --bubble-edge:#a1cbd43b; }
body.messages-page .dm-bubble { border-color:var(--bubble-edge,#ffffff26); box-shadow:0 2px 6px #0006,inset 0 1px #ffffff07; }
body.messages-page .dm-message.is-own .dm-bubble { border-color:var(--bubble-edge,#d8bd7b33); }
body.messages-page .dm-message footer { color:#ded9ccbb; }
body.messages-page .dm-service-message { align-self:center; justify-content:center; padding:4px 0; }
.dm-service-chip { display:block; max-width:90%; padding:6px 12px; border-radius:14px; color:#e5dfd1; background:#202020ed; border:1px solid #ffffff14; font-size:.73rem; line-height:1.45; text-align:center; white-space:pre-wrap; }
/* Status messages are overlays and never take space away from the conversation. */
#dm-feedback { position:absolute; z-index:45; bottom:calc(var(--dm-composer-height,80px) + 10px); left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 28px); margin:0; padding:9px 14px; border:1px solid #ffffff22; border-radius:14px; background:#181818f5; box-shadow:0 5px 20px #0008; color:var(--text-main); pointer-events:none; overflow-wrap:anywhere; }
#dm-feedback:empty { display:none; }
.dm-reaction-picker { display:flex; gap:3px; width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; padding:6px 3px 10px; margin-bottom:5px; border-bottom:1px solid #ffffff13; }
.dm-reaction-picker::-webkit-scrollbar { display:none; }
.dm-reaction-picker button { flex:0 0 36px; width:36px; height:38px; padding:0; border-radius:50%; transition:background-color .15s,transform .15s; }
.dm-reaction-picker button[aria-pressed="true"] { background:#d7bd7933; box-shadow:inset 0 0 0 1px var(--accent); }
.dm-reaction-picker button:active { transform:scale(1.18); }
.dm-reaction { min-height:25px; padding:3px 8px; border-radius:16px; transition:background-color .15s; }
.dm-reaction.is-mine { background:#d9bd7233; color:#fff1ca; border-color:#d9bd7277; }
.dm-member-row { flex-wrap:wrap; }
.dm-member-row > .inbox-text-button { font-size:.72rem; }
.dm-moderation-report textarea { width:100%; min-height:65px; max-height:160px; background:var(--bg); color:var(--text-main); border:1px solid var(--border); padding:9px; border-radius:9px; font:inherit; margin:10px 0; }
.dm-moderation-actions { display:flex; gap:8px; flex-wrap:wrap; }
@media(prefers-reduced-motion:reduce) { .dm-reaction-picker button,.dm-reaction { transition:none; } }
.dm-main { position:relative; }
@media(pointer:coarse) { .dm-bubble { -webkit-touch-callout:none; } }
/* Public chat keeps ordinary unread messages quiet, and calls to you distinct. */
.dm-unread.is-general { background:#454545; color:#d1d1d1; }
.dm-attention-count { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; padding:2px 7px; margin-left:5px; border-radius:20px; background:var(--accent); color:#17130c; font-weight:800; font-size:.72rem; line-height:1.5; }
.dm-mention { color:var(--accent); font-weight:600; text-decoration:none; }
.dm-mention:hover { text-decoration:underline; }
body.messages-page .dm-message.is-attention .dm-bubble { border-left:2px solid var(--accent); }
.dm-composer { position:relative; }
.dm-mention-list { position:absolute; z-index:65; bottom:100%; left:10px; right:10px; max-height:min(230px,40dvh); overflow:auto; background:#191919; border:1px solid #ffffff26; border-radius:14px; padding:5px; box-shadow:0 -6px 25px #0008; }
.dm-mention-choice { display:flex; align-items:center; gap:9px; width:100%; min-height:44px; padding:6px 8px; border:0; background:transparent; border-radius:9px; color:var(--text-main); font:inherit; font-size:.8rem; text-align:left; cursor:pointer; }
.dm-mention-choice > span:not(.dm-avatar) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.dm-mention-choice small { color:var(--text-muted); }
.dm-mention-choice:hover,.dm-mention-choice.is-selected { background:#ffffff0d; }

/* Horizontal reaction gestures work with touch, mouse dragging and the wheel. */
.dm-context-menu #dm-tools-list { min-width:0; max-width:100%; }
.dm-context-menu .dm-reaction-picker {
 display:flex; flex-wrap:nowrap; box-sizing:border-box; width:100%; min-width:0; max-width:100%;
 overflow-x:auto; overflow-y:hidden; touch-action:pan-y pinch-zoom;
 -webkit-overflow-scrolling:touch; -webkit-user-select:none; user-select:none; cursor:grab;
}
.dm-context-menu .dm-reaction-picker.is-dragging,.dm-context-menu .dm-reaction-picker.is-dragging button { cursor:grabbing; }
.dm-context-menu .dm-reaction-picker button { flex:0 0 36px; min-width:36px; max-width:36px; touch-action:pan-y pinch-zoom; cursor:inherit; }
/* Reactions and message metadata share one bottom row. */
.dm-bubble.has-reactions { min-width:min(220px,calc(100% - 50px)); }
.dm-message .dm-message-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:nowrap; width:100%; margin-top:4px; }
.dm-message-footer > .dm-message-meta { display:inline-flex; align-items:center; flex:0 0 auto; gap:4px; margin-left:auto; min-height:18px; white-space:nowrap; }
.dm-message-footer > .dm-reactions { display:flex; flex:1 1 auto; flex-wrap:nowrap; align-items:center; gap:3px; min-width:0; margin:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.dm-message-footer > .dm-reactions::-webkit-scrollbar { display:none; }
.dm-message .dm-message-footer .dm-reaction { flex:0 0 auto; min-height:24px; padding:2px 7px; font-size:.74rem; line-height:1.3; }
.dm-message-footer > .dm-reactions { touch-action:pan-y pinch-zoom; -webkit-user-select:none; user-select:none; }
.dm-message-footer > .dm-reactions.is-dragging,.dm-message-footer > .dm-reactions.is-dragging button { cursor:grabbing; }

/* One floating date, outside the scrolling history; inline dates do not stick. */
.dm-messages > .dm-date-separator { position:static; top:auto; z-index:1; transform:none !important; }
.dm-messages > .dm-date-separator.is-floating-date-source { opacity:0; }
.dm-main > .dm-floating-date {
 position:absolute; z-index:35; display:flex; justify-content:center; align-items:flex-start;
 box-sizing:border-box; overflow:hidden; pointer-events:none; padding:0;
}
.dm-main > .dm-floating-date[hidden] { display:none !important; }
.dm-floating-date > .dm-floating-date-chip { position:static; flex:0 0 auto; align-self:flex-start; margin:0; max-width:calc(100% - 24px); }
.dm-bubble > button.dm-quote { display:block; width:100%; text-align:left; border-top:0; border-right:0; border-bottom:0; cursor:pointer; font-family:inherit; }
.dm-bubble > button.dm-quote:hover { background:#d9bd7218; }
.dm-bubble > button.dm-quote:focus-visible { outline:1px solid var(--accent); outline-offset:2px; }
.dm-message-highlight .dm-bubble { animation:dm-jump-highlight 1.4s ease-out; }
@keyframes dm-jump-highlight { from { box-shadow:0 0 0 2px var(--accent); } to { box-shadow:0 2px 6px #0006; } }
.dm-preview-author { font-weight:600; color:var(--text-main); }
.dm-member-copy { display:flex; flex-direction:column; gap:2px; }
.dm-member-copy strong { font-size:.85rem; }
.dm-member-copy small { font-size:.7rem; color:var(--text-muted); }
.dm-member-copy .is-online { color:#92c29b; }
.dm-site-role { max-width:160px; padding:6px 8px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text-main); font:inherit; font-size:.75rem; }
@media(prefers-reduced-motion:reduce) { .dm-message-highlight .dm-bubble { animation:none; outline:1px solid var(--accent); } }

/* Reserve only the actual metadata width at the end of the final text line. */
.dm-message .dm-bubble > .dm-message-text { min-width:0; }
.dm-bubble:not(.has-reactions) > .dm-message-text::after {
 content:''; display:inline-block; width:calc(var(--dm-meta-width,78px) + 7px); height:0; vertical-align:baseline;
}
.dm-message .dm-bubble:not(.has-reactions) > .dm-message-footer {
 position:relative; float:right; display:flex; justify-content:flex-end;
 width:auto; height:18px; min-height:18px; margin:-18px 0 0; gap:0;
}
.dm-message .dm-message-footer > .dm-message-meta { gap:3px; min-height:18px; line-height:1; font-variant-numeric:tabular-nums; }
.dm-message .dm-message-meta > .dm-message-more {
 display:inline-flex; align-items:center; justify-content:center; flex:0 0 18px;
 width:18px; height:18px; padding:0; margin:0; line-height:1; font-size:17px;
}
.dm-message .dm-message-meta .dm-read-state svg { width:16px; height:14px; }
/* Reactions keep their bottom row, sized to the contents instead of a fixed 220px bubble. */
.dm-bubble.has-reactions { min-width:min(calc(var(--dm-meta-width,78px) + 70px),calc(100% - 50px)); }
.dm-message .dm-bubble.has-reactions > .dm-message-footer { margin-top:2px; gap:6px; }
.dm-main > .dm-jump-controls { position:absolute; z-index:40; right:12px; bottom:calc(var(--dm-composer-height,80px) + 14px); display:flex; flex-direction:column; gap:10px; pointer-events:none; }
.dm-jump-controls[hidden],.dm-jump-controls > [hidden] { display:none !important; }
.dm-jump-button { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:0 0 42px; width:42px; height:42px; padding:0; border:1px solid #ffffff26; border-radius:50%; color:var(--accent); background:#191919f5; box-shadow:0 3px 12px #0007; cursor:pointer; pointer-events:auto; }
.dm-jump-button:hover { border-color:var(--accent); }
.dm-jump-button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.dm-jump-button:disabled { opacity:.6; cursor:wait; }
.dm-jump-count { position:absolute; top:-5px; right:-5px; min-width:19px; padding:1px 5px; border-radius:12px; background:var(--accent); color:#17130c; font-size:.65rem; font-weight:800; line-height:1.5; }
#dm-new-notice { display:none !important; }
.dm-service-chip > .dm-service-more { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; padding:0; margin:0 0 0 5px; border:0; border-radius:50%; background:transparent; color:var(--text-muted); font-size:17px; line-height:1; vertical-align:middle; cursor:pointer; }
.dm-service-chip > .dm-service-more:hover { color:var(--accent); background:#ffffff0d; }
/* Only message content and editable fields participate in text selection. */
body.messages-page { -webkit-user-select:none; user-select:none; }
body.messages-page .dm-message-text,body.messages-page .dm-message-text *,
body.messages-page .dm-quote,body.messages-page .dm-quote *,body.messages-page .dm-service-chip,
body.messages-page input,body.messages-page textarea,body.messages-page [contenteditable="true"] { -webkit-user-select:text; user-select:text; }
body.messages-page .dm-message-text::after,body.messages-page .dm-service-more { -webkit-user-select:none; user-select:none; }
body.messages-page img { -webkit-user-drag:none; }

/* Animate the header notification panel without reflowing the page. */
.inbox-popover {
    opacity: 0;
    transform: translateY(-6px) scale(.985);
    transform-origin: top right;
    pointer-events: none;
    transition: opacity .16s ease, transform .18s cubic-bezier(.2,.7,.2,1);
}
.inbox-popover.is-open { opacity: 1; transform: none; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) {
    .inbox-popover { transition: none; transform: none; }
}
