/* 8aPDF Friends Chat — approved reference design, 17 Oct 2026.
   Intentional chat-scoped art direction. Does not change the parent website. */
:root{
 --chat-bg:#07090c; --chat-surface:#0e1115; --chat-surface-2:#14181e;
 --chat-raised:#1a1e24; --chat-raised-hover:#21262d;
 --chat-stroke:#252a30; --chat-stroke-light:#363c44;
 --chat-text:#f5f6f8; --chat-sub:#b0b5bf; --chat-muted:#858c98;
 --chat-green:#28da88; --chat-white:#f4f6f8;
 --chat-ease:cubic-bezier(.22,1,.36,1);
 --ink:var(--chat-text);--soft:var(--chat-sub);--panel:var(--chat-surface);
 --raised:var(--chat-raised);--raised2:var(--chat-raised-hover);
 --border:var(--chat-stroke);--border2:var(--chat-stroke-light);
 --chat-accent:var(--chat-white);--chat-accent-text:#0c0d10;
 --curve:var(--chat-ease); --green:var(--chat-green);
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{background:var(--chat-bg);color:var(--chat-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
button,input,textarea{font-family:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{
 outline:2px solid #c8d3df;outline-offset:3px;
}
[hidden]{display:none!important}
.sprites{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.app-shell{
 display:grid;grid-template-columns:80px minmax(252px,290px) minmax(0,1fr) minmax(258px,320px);
 gap:16px;padding:16px;width:100%;height:100dvh;overflow:hidden;
 background:radial-gradient(ellipse at 55% -20%,rgba(61,72,87,.08),transparent 50%),var(--chat-bg);
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 color:var(--chat-text);isolation:isolate;
}
.app-rail,.chat-sidebar,.conversation,.members-panel{
 position:relative;min-width:0;min-height:0;overflow:hidden;
 border:1px solid var(--chat-stroke);border-radius:20px;
 box-shadow:0 12px 38px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.025);
}
.app-rail{
 display:flex!important;align-items:center;flex-direction:column;gap:0;
 padding:16px 9px;background:linear-gradient(135deg,#101318,#080a0d 80%);
 border-color:#30353d;border-radius:24px;
 box-shadow:0 0 20px rgba(164,186,211,.03),inset 0 1px rgba(255,255,255,.06);
}
.rail-brand{
 display:flex!important;width:50px;height:50px;margin:0;align-items:center;justify-content:center;
 background:linear-gradient(160deg,#fff,#e1e5eb);color:#090b0e;border:0;
 border-radius:15px;font-family:inherit;font-size:25px;font-weight:850;line-height:1;letter-spacing:-.10em;
 box-shadow:0 2px 20px rgba(255,255,255,.09);transition:transform .18s var(--curve);
}
.rail-brand span{font-size:15px;letter-spacing:-.08em}
.rail-brand:hover{transform:translateY(-2px)}
.rail-rule{height:1px;width:33px;flex:none;background:linear-gradient(90deg,transparent,#5b626d,transparent);margin:24px 0 15px}
.rail-navigation{display:grid;gap:12px;justify-items:center;width:100%}
.rail-button{
 width:50px;height:50px;display:grid;place-items:center;border-radius:15px;
 border:1px solid transparent;color:#d9dce2;background:transparent;
 transition:background .18s,transform .18s,border-color .18s,box-shadow .18s;
}
.rail-button svg{height:22px;width:22px}
.rail-button:hover{transform:translateY(-1px);background:#1b2026;color:white}
.rail-button.active{
 color:#fbfcfd;border-color:#828a96;
 background:linear-gradient(145deg,#30363e,#15191e);
 box-shadow:inset 3px 0 0 #eff3f7,0 5px 21px rgba(0,0,0,.23),0 0 13px rgba(188,204,224,.09);
}
.rail-spacer{flex:1}
.rail-profile{
 position:relative;width:51px;height:51px;padding:0;border:0;border-radius:50%;
 background:transparent;display:grid;place-items:center;
}
.rail-avatar{
 width:51px;height:51px;border-radius:50%;display:grid;place-items:center;font-size:16px;
 background:linear-gradient(135deg,#30343b,#181c22);border:1px solid #383e46;
 color:#f8f9fa;box-shadow:0 3px 13px #0005;
}
.rail-online{position:absolute;bottom:2px;right:1px;width:12px;height:12px;background:var(--chat-green);border-radius:50%;border:2px solid #0b0d10;box-shadow:0 0 8px #24e18a47}
.rail-account{
 position:absolute;z-index:100;left:calc(100% + 13px);bottom:10px;width:222px;padding:12px;
 border-radius:15px;border:1px solid var(--chat-stroke-light);
 background:#161b21;box-shadow:0 12px 36px #0009;
}
.rail-account .mini-profile{margin:0;padding:7px;display:flex;align-items:center;gap:10px;border:0;background:transparent}
.rail-account .mini-avatar{border-radius:11px;width:36px;height:36px;background:#242a30}
.rail-account .mini-profile span{display:flex;flex-direction:column}
.rail-account .mini-profile strong{font-size:12px}
.rail-account .mini-profile small{font-size:10px;color:var(--chat-muted)}
.account-home{display:flex;align-items:center;gap:8px;padding:12px 8px 5px;font-size:12px;color:var(--chat-sub)}
.account-home svg{width:16px;height:16px}
.chat-sidebar{
 background:radial-gradient(ellipse at 80% 100%,rgba(52,64,80,.07),transparent 53%),linear-gradient(145deg,#11151a,#0b0e12 77%);
 display:flex;flex-direction:column;
}
.side-top{padding:34px 24px 0}
.side-kicker{display:flex;align-items:center;justify-content:space-between;color:#aeb4c0;font-size:11px;font-weight:750;letter-spacing:.18em}
.side-top h1{font-size:34px;letter-spacing:-.055em;line-height:1.15;margin:10px 0 6px;color:#fff;font-weight:780}
.side-top p{font-size:13px;color:#d4d7db;line-height:1.5;margin:0 0 30px}
.room-search-field{
 width:100%;height:53px;border:1px solid #252b31;display:flex;align-items:center;gap:13px;
 padding:0 17px;border-radius:14px;color:var(--chat-sub);background:linear-gradient(145deg,#20252c,#1a1f25);
 transition:border-color .18s,box-shadow .18s;
}
.room-search-field:focus-within{border-color:#66727f;box-shadow:0 0 0 3px rgba(197,209,222,.05)}
.room-search-field svg{width:18px;height:18px;flex:none}
.room-search-field input{min-width:0;width:100%;height:100%;flex:1;border:0;outline:0!important;background:transparent;color:#f8f9fa;font-size:12px}
.room-search-field input::placeholder{color:#9fa6af;opacity:1}
.rooms-heading{
 position:relative;padding:30px 22px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;
 color:#9fa9ba;font-size:12px;letter-spacing:.16em;font-weight:760;
}
.rooms-heading>span{display:flex;align-items:center;gap:8px}
.room-count{font-size:10px;letter-spacing:0;min-width:18px;color:#89919d}
.add-room-button{
 display:grid;place-items:center;width:35px;height:35px;flex:none;border:1px solid #272d34;
 border-radius:50%;background:linear-gradient(145deg,#22272e,#171b20);color:#ecf0f5;
 transition:background .16s,transform .16s,border-color .16s;
}
.add-room-button svg{height:19px;width:19px}
.add-room-button:hover{background:#2b323b;transform:rotate(90deg);border-color:#56616d}
.room-actions-menu{
 position:absolute;right:17px;top:calc(100% - 2px);z-index:50;
 display:grid;gap:4px;width:228px;padding:8px;
 background:#171c23;border:1px solid #353d46;border-radius:15px;
 box-shadow:0 19px 45px #000b,0 0 20px rgba(150,173,199,.05);
}
.room-actions-menu button{
 min-height:39px;display:flex;align-items:center;gap:11px;text-align:left;
 padding:9px 11px;border:0;background:transparent;color:#dce1e7;
 font-size:12px;border-radius:9px;font-weight:580;
}
.room-actions-menu button:hover{background:#292f38;color:white}
.room-actions-menu svg{height:16px;width:16px;color:#b5bdc8}
.room-list{flex:1;min-height:0;overflow-y:auto;padding:0 10px 24px;scrollbar-width:thin;scrollbar-color:#303640 transparent}
.list-loading{padding:22px 14px;font-size:12px;color:#8e97a3;line-height:1.6}
.room-item{
 position:relative;display:flex;align-items:center;gap:16px;width:100%;min-width:0;
 text-align:left;padding:15px 13px;margin:0 0 8px;border:1px solid transparent;border-radius:14px;
 background:transparent;color:#e8ebf0;transition:background .18s,border-color .18s,transform .18s var(--curve);
}
.room-item:hover{transform:translateX(2px);background:#1d2229}
.room-item.selected{
 background:linear-gradient(105deg,#24292e,#15191f 87%);
 border-color:#292e36;
 box-shadow:inset 3px 0 0 #f6f8fb,0 6px 18px rgba(0,0,0,.19),0 0 17px rgba(175,193,210,.025);
}
.room-icon{
 width:50px;height:50px;flex:none;display:grid;place-items:center;
 font-size:23px;font-weight:680;border-radius:15px;
 background:linear-gradient(145deg,#242a32,#15191f);border:1px solid #313842;color:#f4f5f6;
}
.room-icon svg{height:21px;width:21px}
.room-text{flex:1;min-width:0}
.room-text strong{display:block;font-size:13px;font-weight:730;letter-spacing:-.02em;color:#f4f5f8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-text small{display:block;font-size:11px;margin-top:5px;color:#9ca4ae;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-item>svg{display:none}
.room-item.selected::after{content:"";width:9px;height:9px;flex:none;border-radius:50%;background:var(--chat-green);box-shadow:0 0 11px #21dc844d}
.conversation{
 display:flex;flex-direction:column;min-height:0;overflow:hidden;
 background:radial-gradient(ellipse 70% 50% at 50% -3%,rgba(63,74,89,.15),transparent 72%),linear-gradient(180deg,#0c0e12 0%,#080a0d 68%,#07090b);
 border-color:#222830;
}
.chat-topbar{
 flex:none;height:115px;display:flex;justify-content:space-between;align-items:center;gap:12px;
 padding:0 32px;background:transparent;border-bottom:1px solid #242a31;backdrop-filter:none;
}
.chat-title-area,.header-actions{display:flex;align-items:center;min-width:0;gap:20px}
.topic-icon{
 width:69px;height:69px;flex:none;display:grid;place-items:center;
 border:1px solid #454d58;border-radius:19px;background:linear-gradient(150deg,#282f37,#15191f);
 color:#fff;font-size:36px;font-weight:780;box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.topic-text{min-width:0}
.topic-text h2{margin:0;font-size:24px;line-height:1.2;font-weight:780;letter-spacing:-.04em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#f8f9fa}
.topic-text p{margin:5px 0 0;font-size:14px;color:#c6ccd4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.header-actions{gap:12px;flex:none}
.header-divider{height:26px;width:1px;background:#394047;margin:0 1px}
.connection-badge{display:flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;background:linear-gradient(150deg,#192024,#13181b);border:1px solid #29323a;font-size:13px;color:#f3f6f8;white-space:nowrap}
.status-light{height:8px;width:8px;flex:none;display:inline-block;border-radius:50%;background:var(--chat-green);box-shadow:0 0 12px #25e18a57}
.status-light.off{background:#6c7780;box-shadow:none}
.connection-badge .status-light{height:9px;width:9px}
.icon-button{
 width:38px;height:38px;display:grid;place-items:center;border:1px solid transparent;
 border-radius:11px;background:transparent;color:#e4e8ee;
 transition:background .18s,color .18s,transform .18s;
}
.icon-button:hover{background:#1d232a;color:white;transform:translateY(-1px)}
.icon-button svg{height:21px;width:21px}
#mobileOpenMembers{display:none}
.conversation-stage{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;margin:0;border:0;border-radius:0;background:transparent;overflow:hidden}
.messages-area{
 position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
 padding:32px clamp(24px,3vw,55px) 14px;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#242a32 transparent;
 contain:layout paint;
}
.messages{min-height:100%;width:100%;max-width:1160px;display:flex;flex-direction:column;gap:22px;justify-content:flex-end;margin:0 auto}
.message-day{
 position:relative;align-self:center;margin:9px 0 10px;padding:11px 22px;
 border-radius:999px;border:1px solid #3b424b;
 color:#cdd2db;background:linear-gradient(145deg,#171c22,#0f1317);
 font-size:12px;font-weight:540;letter-spacing:0;
 box-shadow:0 4px 14px #0003;
}
.message-day::before,.message-day::after{content:"";position:absolute;top:50%;width:clamp(35px,6vw,110px);height:1px;background:linear-gradient(to right,transparent,#313943)}
.message-day::before{right:calc(100% + 16px)}.message-day::after{left:calc(100% + 16px);transform:rotate(180deg)}
.message-row{display:flex;gap:15px;max-width:min(82%,760px);min-width:0;align-items:flex-end;align-self:flex-start;animation:none}
.message-row.mine{align-self:flex-end;flex-direction:row-reverse}
.message-row.is-new{animation:chatNewMessage .26s var(--chat-ease) both}
.msg-avatar{
 display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;
 background:linear-gradient(150deg,#272d33,#171b20);border:1px solid #2d343b;
 color:#f7f8f9;font-weight:730;font-size:16px;
}
.msg-content{max-width:min(620px,100%);min-width:0}
.msg-meta{display:flex;align-items:center;gap:14px;color:#89929e;font-size:12px;margin:0 0 8px 2px}
.msg-meta strong{color:#f4f6f8;font-size:13px;font-weight:730}
.message-row.mine .msg-meta{justify-content:flex-end;margin-right:3px}
.msg-bubble{
 font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px 23px;
 border:1px solid #2a3037;border-radius:18px;background:linear-gradient(145deg,#272c33,#1e232a);
 color:#f4f6f8;box-shadow:0 7px 21px #0003;
}
.message-row.mine .msg-bubble{background:linear-gradient(145deg,#343a43,#242a32);border-color:#363e47;color:#f8f9fc;border-radius:18px}
.message-row.pending{opacity:.55}
.msg-options{font-size:11px;color:#a1a9b4;margin:7px 3px}
.msg-reply-quote{display:block;max-width:420px;margin:0 0 11px;padding:7px 11px;border-left:2px solid #b7c2cc;color:#c4cdd7;background:#151920;border-radius:6px;font-size:11px}
.msg-reply-quote strong{display:block;margin-bottom:4px}
.message-actions{display:flex;gap:3px;flex-wrap:wrap;margin:8px 1px 0;opacity:0;transition:opacity .17s}
.message-row:hover .message-actions,.message-row:focus-within .message-actions{opacity:1}
.message-actions button{font-size:11px;border-radius:9px;border:0;padding:5px 9px;color:#a8b1bd;background:transparent}
.message-actions button:hover{background:#212832;color:#fff}
.reaction-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.reaction-pill{display:flex;align-items:center;gap:5px;border-radius:999px;border:1px solid #3b444f;background:#1c2229;color:#f3f5f7;font-size:12px;padding:4px 9px}
.reaction-pill.mine-reaction{background:#2d343c;border-color:#65707d}
.emoji-picker{display:flex;flex-wrap:wrap;gap:5px;max-width:255px;padding:7px;margin-top:6px;border-radius:12px;background:#20262d;border:1px solid #3e4750;box-shadow:0 12px 30px #0007}
.emoji-picker button{font-size:16px;padding:7px;border-radius:8px}.emoji-picker button:hover{background:#303944}
.msg-attachment{margin-top:8px;border:1px solid #303943;border-radius:15px;background:#181d22;overflow:hidden;padding:5px;max-width:min(440px,70vw)}
.msg-attachment img{border-radius:11px;max-height:380px}.msg-attachment video{max-height:360px}
.file-open,.media-open{color:#f2f5f8}
.load-older{display:block;width:fit-content;margin:0 auto 17px;padding:10px 15px;border:1px solid #3b444c;border-radius:999px;background:#161b21;color:#e6ebf1;font-size:12px}
.load-older:hover{background:#222a32}
.load-older[hidden]{display:none}
.intro-space{margin:auto;max-width:470px;padding:28px 10px;text-align:center;color:var(--chat-sub)}
.intro-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;background:linear-gradient(145deg,#282d35,#151a20);border:1px solid #343d47;border-radius:19px}
.intro-icon svg{width:27px;height:27px}
.intro-space h3{margin:0 0 10px;font-size:21px;letter-spacing:-.03em;color:var(--chat-text)}
.intro-space p{margin:0;font-size:13px;color:var(--chat-muted);line-height:1.7}
.typing-status{flex:none;width:100%;max-width:1160px;min-height:18px;padding:0 48px;margin:0 auto;color:#a5acb7;font-size:11px}
.composer-wrap{
 flex:none;padding:13px 26px 24px;border-top:0;background:transparent;min-width:0;
}
.composer{
 display:flex;align-items:flex-end;gap:15px;max-width:1160px;margin:0 auto;
 min-height:89px;padding:15px 18px;border-radius:22px;
 border:1px solid #303740;background:radial-gradient(ellipse at 50% 100%,rgba(85,97,115,.12),transparent 90%),linear-gradient(150deg,#191e24,#10151b);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 31px rgba(0,0,0,.24),0 0 22px rgba(169,188,211,.025);
 transition:border-color .18s,box-shadow .18s;
}
.composer:focus-within{border-color:#5c6674;box-shadow:0 0 0 3px rgba(196,209,224,.055),0 13px 34px #0006}
.attach-button{
 display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:16px;
 color:#f0f3f6;background:linear-gradient(150deg,#282e36,#1c2228);
 border:1px solid #343c45;cursor:pointer;transition:background .17s,transform .17s;
}
.attach-button:hover{transform:translateY(-1px);background:#313a44}
.attach-button svg{width:22px;height:22px}
.composer textarea{
 flex:1;min-width:0;min-height:56px;max-height:170px;resize:none;padding:16px 0 12px;
 outline:0!important;border:0;background:transparent;color:#f8f9fa;font-size:16px;line-height:1.55;
 scrollbar-width:thin;
}
.composer textarea::placeholder{color:#89929f;opacity:1}
.send-button{
 display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:17px;
 border:1px solid #fff;background:linear-gradient(150deg,#fff,#e4e9ef);color:#090b0d;
 box-shadow:0 2px 17px #dbe9fc16;transition:transform .18s,filter .18s;
}
.send-button:hover{transform:translateY(-2px);filter:brightness(1.02);color:#090b0d}
.send-button:disabled{opacity:.5;cursor:wait}
.send-button svg{height:23px;width:23px}
.reply-draft{max-width:1160px;margin:0 auto;background:#181e24;border-color:#37414c;color:#f2f5f9;border-radius:12px 12px 0 0}
.reply-draft small{color:#b5bdc7}
.reply-draft+.composer{border-radius:0 0 20px 20px}
.members-panel{
 display:flex;flex-direction:column;padding:26px 27px 22px;
 background:radial-gradient(ellipse at 50% -10%,rgba(52,61,76,.12),transparent 57%),linear-gradient(140deg,#11151a,#080b0e 91%);
 border-color:#252b32;
}
.details-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#acb3bd;font-size:13px}
.details-close{width:30px;height:30px;margin:-6px -5px 0 0}
.details-close svg{width:20px;height:20px}
.details-cover{flex:none;background:transparent;border:0;padding:34px 0 0}
.details-crest{
 display:grid;place-items:center;width:83px;height:83px;margin:0 0 22px;
 border-radius:20px;border:1px solid #48515d;color:#f4f7fa;
 background:linear-gradient(145deg,#242a32,#11151b);font-size:45px;font-weight:760;
 box-shadow:inset 0 1px #ffffff09,0 8px 28px #0003;
}
.details-cover h2{color:#f8f9fb;font-size:28px;line-height:1.2;letter-spacing:-.04em;font-weight:780;margin:0 0 12px;overflow-wrap:anywhere}
.details-live{display:flex;align-items:center;gap:10px;font-size:13px;color:#d4dbe3}
.details-live .status-light{width:9px;height:9px}
.details-cover p{font-size:14px;line-height:1.75;color:#aeb6c2;margin:24px 0 0}
.details-divider{height:1px;background:#303840;margin:30px 0 28px}
.members-top{display:flex;align-items:center;border:0;padding:0;margin:0 0 10px}
.members-top h3{margin:0;display:flex;align-items:center;gap:12px;color:#f5f6f8;font-size:16px;font-weight:720;letter-spacing:0}
.members-top h3 span{display:grid;place-items:center;padding:4px 9px;min-width:31px;height:28px;color:#dce0e7;background:#191e24;border:1px solid #252c34;border-radius:999px;font-size:12px;font-weight:610}
.members-list{flex:1;min-height:0;padding:0;margin-top:5px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#27313a transparent}
.member-row{display:flex;align-items:center;gap:16px;padding:10px 0;border:0;border-radius:10px;background:transparent;transition:background .16s}
.member-row:hover{background:rgba(255,255,255,.035)}
.member-avatar{
 display:grid;place-items:center;width:53px;height:53px;flex:none;border-radius:50%;
 font-size:17px;font-weight:720;background:linear-gradient(145deg,#272d34,#14181e);
 border:1px solid #2b333b;color:#f7f8f9;
}
.member-avatar i{width:12px;height:12px;border:2px solid #0b0e12;right:-1px;bottom:0;background:#636b76}
.member-avatar i.online{background:var(--chat-green);box-shadow:0 0 9px #20dc8655}
.member-info strong{font-size:12px;font-weight:720;color:#f7f9fa}
.member-info small{font-size:12px;color:#8993a0;margin-top:5px}
.member-discriminator{color:#aab4c0;font-size:10px;font-weight:500}
.members-panel:not(.show-all) .member-row:nth-child(n+5){display:none}
.members-search-wrap{padding:0 0 13px}
.members-search-wrap::before{display:none}
.member-search-box{display:flex;align-items:center;gap:10px;width:100%;min-height:45px;padding:0 12px;background:#1b2128;border:1px solid #34404b;border-radius:12px;color:#aab4bf}
.member-search-box svg{width:17px;height:17px}
.member-search{flex:1;min-width:0;min-height:0;height:44px;border:0;outline:none!important;padding:0;background:transparent;color:#f2f5f8;font-size:12px;border-radius:0}
.member-search::placeholder{color:#a1aab6}
.member-search:focus{border:0;box-shadow:none}
.members-all-button{
 width:100%;min-height:66px;display:flex;align-items:center;gap:15px;flex:none;
 margin-top:13px;padding:0 16px;border:1px solid #242c34;border-radius:14px;
 background:linear-gradient(145deg,#1a2027,#13181e);color:#e9edf3;font-size:13px;font-weight:620;
 transition:background .18s,border-color .18s;
}
.members-all-button:hover{background:#242b33;border-color:#3c4650}
.members-all-button svg{width:20px;height:20px;flex:none}
.members-all-button svg:last-child{height:15px;width:15px;margin-left:auto}
.members-panel.show-all .members-all-button svg:last-child{transform:rotate(90deg)}
/* Keep the existing complex chat dialogs usable with the new surfaces. */
.app-dialog,.preview-dialog{background:#151a20;color:#f5f7f9;border:1px solid #3b434e;border-radius:20px;box-shadow:0 24px 100px #000b}
.app-dialog::backdrop,.preview-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}
.dialog-content p,.dialog-content .help{color:#aeb8c3}
.dialog-content label{color:#e4e9ed}
.dialog-content input{background:#10151a;color:white;border:1px solid #414a55}
.dialog-content input:focus{border-color:#a9b8c8}
.dialog-footer button,.inline-member button{border-color:#454e58;color:#eef1f4}
.dialog-footer button.confirm,.pending-invite button.confirm{background:#edf1f5;color:#0a0c0e;border-color:#edf1f5}
.toast{background:#222a32;border-color:#3a4652;color:#f4f6f8}
.mobile-only{display:none}
.mobile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.67);z-index:28;backdrop-filter:blur(5px)}
.mobile-backdrop[hidden]{display:none}
@keyframes chatNewMessage{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1551px){
 .app-shell.details-collapsed{grid-template-columns:80px minmax(252px,290px) minmax(0,1fr)}
 .app-shell.details-collapsed .members-panel{display:none}
 .app-shell.details-collapsed #mobileOpenMembers{display:grid}
}
@media(max-width:1550px) and (min-width:781px){
 .app-shell{grid-template-columns:72px minmax(242px,280px) minmax(0,1fr);gap:12px;padding:12px}
 .app-rail{padding-inline:6px}
 .rail-brand{width:46px;height:46px}
 .members-panel{position:fixed;top:12px;right:12px;bottom:12px;width:min(330px,90vw);z-index:29;transform:translateX(calc(100% + 30px));transition:transform .24s var(--chat-ease);box-shadow:-25px 0 65px #0008}
 .members-panel.open{transform:translateX(0)}
 #mobileOpenMembers{display:grid}
 .members-panel .details-close{display:grid}
}
@media(max-width:980px) and (min-width:781px){
 .app-shell{grid-template-columns:62px 240px minmax(0,1fr);padding:8px;gap:8px}
 .side-top{padding:25px 16px 0}
 .side-top h1{font-size:30px}
 .room-item{padding:11px 7px;gap:10px}
 .room-icon{width:41px;height:41px}
 .rooms-heading{padding-inline:14px}
 .topic-icon{width:51px;height:51px;font-size:28px}
 .chat-topbar{height:85px;padding:0 19px}
 .topic-text h2{font-size:20px}.topic-text p{font-size:12px}
 .messages-area{padding-inline:24px}
 .composer-wrap{padding:12px 18px 20px}
 .composer{min-height:71px;padding:10px}
 .attach-button,.send-button{width:48px;height:48px}
}
@media(max-width:780px){
 html,body{height:100%;overflow:hidden}
 .app-shell{display:grid;grid-template-columns:minmax(0,1fr);padding:0;gap:0;height:100dvh}
 .app-rail{display:none!important}
 .conversation{height:100%;border:0;border-radius:0}
 .chat-sidebar,.members-panel{
  position:fixed;top:0;bottom:0;width:min(350px,90vw);height:100dvh;z-index:29;
  border-radius:0;box-shadow:0 0 60px #000a;transition:transform .25s var(--chat-ease);
 }
 .chat-sidebar{left:0;transform:translateX(-105%)}
 .members-panel{right:0;transform:translateX(105%)}
 .chat-sidebar.open,.members-panel.open{transform:translateX(0)}
 .mobile-only{display:grid}
 #mobileOpenMembers{display:grid}
 .side-top{padding-top:max(26px,env(safe-area-inset-top))}
 .side-top h1{font-size:32px}
 .chat-topbar{height:77px;padding:0 13px}
 .chat-title-area,.header-actions{gap:8px}
 .topic-icon{width:42px;height:42px;border-radius:12px;font-size:23px}
 .topic-text h2{font-size:16px;max-width:130px}
 .topic-text p{font-size:10px;max-width:140px}
 .header-divider,.connection-badge{display:none}
 .header-actions .icon-button{width:34px;height:34px}
 .header-actions .icon-button svg{width:17px;height:17px}
 .messages-area{padding:15px 12px 9px}
 .messages{gap:16px}
 .message-row{max-width:95%;gap:9px}
 .msg-avatar{width:33px;height:33px;font-size:12px}
 .msg-meta{font-size:10px;gap:7px;margin-bottom:5px}
 .msg-meta strong{font-size:11px}
 .msg-bubble{font-size:13px;padding:11px 14px;border-radius:15px}
 .message-actions{opacity:1}
 .message-day{font-size:10px;padding:8px 14px}
 .message-day::before,.message-day::after{width:28px}
 .typing-status{padding:0 13px;font-size:10px}
 .composer-wrap{padding:8px 10px max(12px,env(safe-area-inset-bottom))}
 .composer{min-height:60px;padding:7px;gap:9px;border-radius:17px}
 .attach-button,.send-button{width:43px;height:43px;border-radius:12px}
 .attach-button svg,.send-button svg{width:19px;height:19px}
 .composer textarea{font-size:16px;min-height:42px;padding:9px 0}
 .members-panel{padding:25px 22px max(17px,env(safe-area-inset-bottom))}
 .details-cover{padding-top:26px}
}
@media(max-width:385px){
 .chat-topbar{padding-inline:7px}
 .chat-title-area{gap:5px}
 .topic-text h2{max-width:105px}
 .header-actions .icon-button{width:32px}
 .composer textarea{font-size:16px}
 .message-day::before,.message-day::after{display:none}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
/* Account popover must escape the navigation rail without clipping. */
@media (min-width:781px){
 .app-rail{overflow:visible;z-index:35}
 .app-rail .rail-account[hidden]{display:none!important}
}
/* Keep emoji pickers and hidden controls truly hidden after the old base CSS. */
.emoji-picker[hidden],.room-actions-menu[hidden],.members-search-wrap[hidden]{display:none!important}

/* 8aPDF compact 20261017 — match the attached screenshot, preserving graphite glow. */
@media (min-width:781px){
  .app-shell{
    grid-template-columns:72px minmax(230px,270px) minmax(0,1fr) minmax(236px,285px);
    gap:12px;padding:12px;font-family:inherit;font-size:12px;
  }
  .app-shell.details-collapsed{grid-template-columns:72px minmax(230px,270px) minmax(0,1fr)}
  .app-rail,.chat-sidebar,.conversation,.members-panel{border-radius:18px}
  .app-rail{padding:12px 6px;border-radius:20px}
  .rail-brand{width:46px;height:46px;border-radius:13px;font-size:22px}
  .rail-brand span{font-size:13px}
  .rail-rule{margin:19px 0 13px}
  .rail-navigation{gap:9px}
  .rail-button{width:43px;height:43px;border-radius:13px}
  .rail-button svg{width:18px;height:18px}
  .rail-profile,.rail-avatar{width:44px;height:44px}
  .rail-avatar{font-size:14px}
  .side-top{padding:26px 19px 0}
  .side-kicker{font-size:9.5px}
  .side-top h1{font-size:28px;line-height:1.12;margin:8px 0 5px;letter-spacing:-.05em}
  .side-top p{font-size:11.5px;line-height:1.45;margin:0 0 23px}
  .room-search-field{height:46px;padding:0 13px;gap:10px;border-radius:12px}
  .room-search-field svg{width:16px;height:16px}
  .room-search-field input{font-size:11px}
  .rooms-heading{padding:24px 17px 11px;font-size:10px}
  .room-count{font-size:9px}
  .add-room-button{width:31px;height:31px}
  .add-room-button svg{width:17px;height:17px}
  .room-list{padding:0 9px 16px}
  .room-item{gap:11px;padding:11px 10px;margin:0 0 6px;border-radius:12px}
  .room-icon{width:43px;height:43px;border-radius:12px;font-size:20px}
  .room-text strong{font-size:11.5px}
  .room-text small{font-size:10px;margin-top:4px}
  .room-item.selected::after{width:7px;height:7px}
  .chat-topbar{height:90px;padding:0 24px}
  .chat-title-area{gap:14px}
  .header-actions{gap:8px}
  .topic-icon{width:54px;height:54px;border-radius:15px;font-size:28px}
  .topic-text h2{font-size:19px;letter-spacing:-.035em}
  .topic-text p{font-size:11.5px;margin-top:4px}
  .connection-badge{font-size:11px;padding:7px 11px;gap:8px}
  .connection-badge .status-light{width:7px;height:7px}
  .icon-button{width:35px;height:35px}
  .icon-button svg{width:18px;height:18px}
  .messages-area{padding:23px clamp(18px,2.6vw,42px) 11px}
  .messages{max-width:1120px;gap:18px}
  .message-row{max-width:min(79%,700px);gap:10px;align-items:flex-start}
  .msg-content{max-width:min(550px,100%)}
  .msg-avatar{width:39px;height:39px;font-size:13px;margin-top:2px}
  .msg-meta{font-size:10px;gap:10px;margin:0 0 7px 2px}
  .msg-meta strong{font-size:11px}
  .msg-bubble{font-size:13px;line-height:1.55;padding:12px 17px;border-radius:15px}
  .message-row.mine .msg-bubble{border-radius:15px}
  .message-actions{margin:6px 1px 0}
  .message-day{font-size:10px;padding:8px 16px;margin:7px 0 8px}
  .msg-attachment{max-width:min(380px,67vw);border-radius:12px;padding:4px}
  .msg-attachment img{max-height:320px;border-radius:9px}
  .msg-attachment video{max-height:320px}
  .composer-wrap{padding:10px 19px 17px}
  .composer{max-width:1120px;min-height:72px;gap:12px;padding:11px 13px;border-radius:17px}
  .composer textarea{font-size:13px;min-height:44px;max-height:150px;padding:11px 0 9px;line-height:1.45}
  .attach-button{width:48px;height:48px;border-radius:13px}
  .send-button{width:49px;height:49px;border-radius:13px}
  .attach-button svg,.send-button svg{width:19px;height:19px}
  .reply-draft{max-width:1120px}
  .members-panel{padding:19px 20px 17px}
  .details-top{font-size:11px}
  .details-cover{padding:25px 0 0}
  .details-crest{width:64px;height:64px;border-radius:17px;margin:0 0 17px;font-size:35px}
  .details-cover h2{font-size:22px;margin-bottom:9px}
  .details-live{font-size:11.5px;gap:8px}
  .details-cover p{font-size:11.5px;line-height:1.6;margin-top:17px}
  .details-divider{margin:23px 0 22px}
  .members-top h3{font-size:14px;gap:10px}
  .members-top h3 span{min-width:28px;height:24px;font-size:10px}
  .member-row{gap:11px;padding:8px 0}
  .member-avatar{width:43px;height:43px;font-size:13px}
  .member-avatar i{width:10px;height:10px}
  .member-info strong{font-size:11px}
  .member-info small{font-size:10px;margin-top:3px}
  .members-all-button{min-height:53px;margin-top:10px;padding:0 12px;font-size:11px;gap:11px;border-radius:12px}
  .members-all-button svg{width:17px;height:17px}
}
@media (min-width:781px) and (max-width:1550px){
  .app-shell{grid-template-columns:62px minmax(224px,252px) minmax(0,1fr);gap:10px;padding:10px}
  .members-panel{top:10px;right:10px;bottom:10px;width:min(306px,90vw)}
}
@media (min-width:781px) and (max-width:980px){
  .app-shell{grid-template-columns:54px minmax(192px,230px) minmax(0,1fr);gap:8px;padding:8px}
  .side-top{padding:22px 13px 0}
  .side-top h1{font-size:26px}
  .rooms-heading{padding-inline:12px}
  .chat-topbar{height:78px;padding:0 16px}
  .topic-icon{width:43px;height:43px;font-size:24px}
  .topic-text h2{font-size:17px}
  .messages-area{padding-inline:16px}
  .composer-wrap{padding:9px 13px 14px}
  .composer{min-height:64px;padding:8px}
  .attach-button,.send-button{width:43px;height:43px}
}
/* Mobile remains legible; 16px inputs avoid unwanted Safari auto-zoom. */
@media (max-width:780px){.app-shell{font-family:inherit}}
