:root{--bg:#1a1d21;--side:#19171d;--panel:#222529;--fg:#d1d2d3;--mut:#9a9b9e;--acc:#1264a3;--hi:#3a3000;--bd:#35373b}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:15px/1.4 system-ui,sans-serif}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.banner{background:#4a3b00;color:#ffe9a6;padding:4px 12px;font-size:13px;text-align:center}
.app{flex:1;display:flex;min-height:0}
.sidebar{width:250px;background:var(--side);padding:12px;overflow:auto;display:flex;flex-direction:column;gap:6px}
.brand{font-weight:700;display:flex;gap:8px;align-items:center}
.sec{font-size:12px;text-transform:uppercase;color:var(--mut);margin:10px 0 2px}
input,textarea,button{font:inherit}
input[type=search],input:not([type]),textarea{background:#2b2e33;color:var(--fg);border:1px solid var(--bd);border-radius:6px;padding:6px 8px;width:100%}
.chk{font-size:13px;color:var(--mut)}
nav button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;color:var(--fg);border:0;padding:6px 8px;border-radius:6px;cursor:pointer}
nav button:hover{background:#2b2e33}nav button.active{background:var(--acc);color:#fff}nav button.unread .nm{font-weight:700}
.nm{flex:1}
.badge{background:#e01e5a;color:#fff;border-radius:10px;padding:0 6px;font-size:12px}
.reset{margin-top:auto;background:none;border:1px solid var(--bd);color:var(--mut);padding:6px;border-radius:6px;cursor:pointer}
.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}
.topbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--bd)}
.topbar h1{font-size:17px;margin:0;flex:1}
.search-wrap{display:flex;align-items:center;gap:4px;width:220px}
.icon-btn{position:relative;background:none;border:0;color:var(--fg);cursor:pointer;padding:6px;border-radius:6px}
.icon-btn:hover{background:#2b2e33}.icon-btn .badge{position:absolute;top:-2px;right:-2px}
.ic{width:20px;height:20px}.menu-btn{display:none}
.messages{flex:1;overflow:auto;padding:12px 16px}
.msg{display:flex;gap:10px;padding:6px 4px;border-radius:6px}.msg.flash{background:var(--hi)}
.avatar{flex:none;width:36px;height:36px;border-radius:6px;color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
.meta{display:flex;gap:8px;align-items:baseline}.author{font-weight:700}
time{color:var(--mut);font-size:12px}.sim{font-size:11px;color:#ffd166;border:1px solid #ffd166;border-radius:4px;padding:0 4px}
.text{white-space:pre-wrap;overflow-wrap:anywhere}
.mention{background:#1d3b57;color:#8ec9ff;border-radius:4px;padding:0 2px}.mention.me{background:#5a4a00;color:#ffe08a}
.actions{display:flex;gap:8px;font-size:13px}.reply-btn{background:none;border:0;color:#6cb6ff;cursor:pointer;padding:0}
.error{color:#ff8a8a;margin:0 16px;min-height:1em;font-size:13px}
.composer{padding:0 16px 12px;position:relative}.hint{font-size:12px;color:var(--mut)}
.mention-list{position:absolute;bottom:100%;left:16px;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--bd);border-radius:6px;min-width:180px;z-index:5}
.mention-list li{padding:4px 8px;cursor:pointer;border-radius:4px}.mention-list li[aria-selected=true]{background:var(--acc);color:#fff}
.right{width:320px;background:var(--panel);border-left:1px solid var(--bd);overflow:auto;padding:10px}
.ph{display:flex;align-items:center;gap:8px}.ph h2{flex:1;font-size:16px;margin:0}
.notif-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--bd);color:var(--fg);padding:8px;cursor:pointer}
.notif-item.unread{border-left:3px solid #e01e5a;font-weight:700}
.thread-form{display:flex;gap:6px;margin-top:8px}.thread-messages .msg{padding-left:12px}
[hidden]{display:none!important}
@media(max-width:800px){
 .menu-btn{display:inline-block}
 .sidebar{position:fixed;top:28px;bottom:0;left:0;z-index:10;transform:translateX(-100%);transition:transform .2s}
 .sidebar.open{transform:none}
 .right{position:fixed;top:28px;bottom:0;right:0;width:min(320px,90vw);z-index:10}
 .search-wrap{width:120px}
}
button:focus-visible,input:focus-visible,textarea:focus-visible,[role=option]:focus-visible{outline:2px solid #4a8cff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
