.message-link { position:relative; text-decoration:none; color:inherit; }
.message-unread { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 5px; border-radius:20px; background:#ef4652; color:white; font-size:11px; font-weight:800; }
.message-unread[hidden] { display:none !important; }
.message-link[aria-current="page"] { color:#fff; }
.dm { display:grid; grid-template-columns:minmax(250px,320px) minmax(0,1fr); min-height:min(72vh,720px); background:#16181d; border:1px solid #30333b; border-radius:18px; overflow:hidden; color:#f5f5f4; }
.dm-list-pane { min-width:0; border-right:1px solid #30333b; display:flex; flex-direction:column; }
.dm-heading { padding:20px 18px 14px; }
.dm-heading h1 { font-size:24px; margin:0; }
.dm-heading span,.dm-muted,.dm-new small { color:#a5a7af; font-size:13px; }
.dm-new { padding:0 18px 18px; border-bottom:1px solid #30333b; }
.dm-new label { display:block; font-size:13px; font-weight:700; margin-bottom:7px; }
.dm-new-row { display:flex; gap:7px; margin-bottom:5px; }
.dm-new input,.dm-compose input { min-width:0; flex:1; background:#0b0c0f; color:#fff; border:1px solid #30333b; border-radius:10px; padding:11px; font:inherit; }
.dm button { cursor:pointer; font:inherit; }
.dm-new button,.dm-compose button { border:0; border-radius:10px; padding:10px 15px; background:#ef4652; color:white; font-weight:700; }
.dm button:disabled { opacity:.45; cursor:default; }
.dm-conversations { overflow:auto; flex:1; }
.dm-conversations .dm-muted { padding:16px; }
.dm-conversation { display:block; width:100%; text-align:left; border:0; border-bottom:1px solid #30333b; background:transparent; color:#fff; padding:15px 18px; }
.dm-conversation:hover,.dm-conversation[aria-current="true"] { background:#252830; }
.dm-conversation strong { display:block; }
.dm-conversation small { color:#a5a7af; display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.dm-chat-pane { min-width:0; display:flex; flex-direction:column; }
.dm-chat-header { padding:16px 20px; border-bottom:1px solid #30333b; display:flex; gap:12px; align-items:center; }
.dm-back { display:none; border:0; color:#fff; background:transparent; font-size:24px !important; }
.dm-messages { flex:1; min-height:260px; max-height:60vh; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:10px; }
.dm-bubble { max-width:80%; width:fit-content; align-self:flex-start; padding:10px 14px; border-radius:15px; background:#292c34; white-space:pre-wrap; overflow-wrap:anywhere; }
.dm-bubble.mine { align-self:flex-end; background:#b82f3a; }
.dm-bubble time { display:block; font-size:10px; opacity:.75; margin-top:5px; text-align:right; }
.dm-compose { padding:14px; border-top:1px solid #30333b; display:flex; gap:10px; }
.dm-error { color:#ff7780; font-size:13px; margin:0; padding:0 15px 10px; }
.dm-error[hidden] { display:none; }
@media(max-width:800px) { .dm { grid-template-columns:1fr; min-height:calc(100dvh - 220px); } .dm-chat-pane { display:none; } .dm.dm-open .dm-list-pane { display:none; } .dm.dm-open .dm-chat-pane { display:flex; } .dm-back { display:inline-block; } .dm-messages { max-height:none; min-height:40vh; } }

/* Player autocomplete */
.dm-new > input { width:100%; box-sizing:border-box; background:#0b0c0f; color:#fff; border:1px solid #30333b; border-radius:10px; padding:11px; font:inherit; }
.dm-player-results { max-height:245px; overflow-y:auto; margin-top:6px; }
.dm-player-results .dm-muted { padding:8px 0; margin:0; }
.dm-player-result { display:flex; width:100%; flex-direction:column; gap:2px; text-align:left; border:0; border-bottom:1px solid #30333b; background:transparent; color:#fff; padding:10px 8px; border-radius:7px; }
.dm-player-result:hover,.dm-player-result:focus-visible { background:#252830; }
.dm-player-result small { color:#a5a7af; }
