:root{--bg:#0f1013;--bg2:#16171b;--bg3:#1d1f24;--bg4:#26282e;--line:#000;--txt:#e3e5e8;--muted:#8b8f98;--accent:#6b5cff;--accent2:#5a4cf0;--author:#fff}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}#root{flex-direction:column;display:flex}:root{--tb:34px}.titlebar{height:var(--tb);background:var(--bg1);border-bottom:1px solid var(--bg4);-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;display:flex}.tb-brand{height:100%;color:var(--txt);align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:600;display:flex}.tb-logo{color:var(--accent);display:flex}.tb-controls{height:100%;display:flex}.tb-btn{cursor:pointer;width:46px;height:100%;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.tb-btn:hover{background:var(--bg3);color:var(--txt)}.tb-btn.close:hover{color:#fff;background:#d83c3e}body{background:var(--bg);color:var(--txt);font:15px/1.45 Segoe UI,system-ui,sans-serif;overflow:hidden}button,input{font:inherit}.login-wrap{background:radial-gradient(1200px 600px at 50% -10%, #221f4a 0%, var(--bg) 60%);flex:1;place-items:center;min-height:0;display:grid}.login{background:var(--bg2);border:1px solid var(--bg4);border-radius:14px;flex-direction:column;width:340px;padding:28px;display:flex;box-shadow:0 20px 60px #00000080}.login .logo{color:var(--accent);text-align:center;font-size:34px}.login h1{text-align:center;margin-top:6px;font-size:22px}.login .sub{text-align:center;color:var(--muted);margin-bottom:18px;font-size:13px}.login label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 4px;font-size:11px;font-weight:700}.login input{background:var(--bg);border:1px solid var(--bg4);color:var(--txt);border-radius:8px;outline:none;padding:10px 12px}.login input:focus{border-color:var(--accent)}.login button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;margin-top:18px;padding:11px;font-weight:700}.login button:hover{background:var(--accent2)}.login button:disabled{opacity:.6;cursor:default}.err{color:#ff6b6b;margin-top:12px;font-size:13px}.app{flex:1;min-height:0;display:flex}.sidebar{background:var(--bg2);border-right:1px solid var(--line);flex-direction:column;flex:0 0 240px;width:240px;display:flex}.brand{color:#fff;border-bottom:1px solid var(--line);padding:16px;font-weight:800}.chan-list{flex:1;padding:8px;overflow-y:auto}.chan{text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;margin-bottom:2px;padding:8px 10px;font-weight:600;display:flex}.chan .hash{color:#5b5f69;font-weight:700}.chan:hover{background:var(--bg3);color:var(--txt)}.chan.active{background:var(--bg4);color:#fff}.new-chan{border-top:1px solid var(--line);gap:6px;padding:10px;display:flex}.new-chan input{background:var(--bg);border:1px solid var(--bg4);min-width:0;color:var(--txt);border-radius:6px;outline:none;flex:1;padding:7px 9px}.new-chan button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;width:34px;font-weight:700}.me{color:var(--muted);border-top:1px solid var(--line);background:var(--bg);padding:10px 14px;font-size:12px}.me b{color:var(--txt)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.chead{color:#fff;border-bottom:1px solid var(--line);background:var(--bg3);align-items:center;gap:6px;padding:15px 18px;font-weight:800;display:flex}.chead .hash{color:#5b5f69}.banner{color:#ff9b9b;background:#3a1d1d;padding:8px 18px;font-size:13px}.messages{flex:1;padding:18px 18px 8px;overflow-y:auto}.empty{color:var(--muted);text-align:center;margin-top:40px}.msg{gap:12px;padding:1px 0;display:flex}.msg.first{margin-top:16px}.msg .avatar{color:#fff;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:15px;font-weight:700;display:grid}.msg:not(.first) .msg-body{margin-left:50px}.msg-body{min-width:0}.author{color:var(--author);margin-bottom:1px;font-size:14px;font-weight:700}.text{color:var(--txt);white-space:pre-wrap;word-wrap:break-word}.composer{border-top:1px solid var(--line);background:var(--bg3);gap:10px;padding:14px 18px;display:flex}.composer input{background:var(--bg);border:1px solid var(--bg4);color:var(--txt);border-radius:10px;outline:none;flex:1;padding:12px 14px}.composer input:focus{border-color:var(--accent)}.composer button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:0 20px;font-weight:700}.composer button:hover{background:var(--accent2)}.server-select{background:var(--bg);border:1px solid var(--bg4);color:var(--txt);border-radius:8px;outline:none;padding:10px 12px}.server-select:focus{border-color:var(--accent)}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:10px;font-size:13px;text-decoration:underline}.link-btn:hover{color:var(--txt)}.brand .env{float:right;color:var(--muted);background:var(--bg4);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.me{justify-content:space-between;align-items:center;gap:8px;display:flex}.me .who{align-items:center;gap:8px;min-width:0;display:flex}.me .who b{color:var(--txt)}.role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700}.role-dev{color:#c9b6ff;background:#3a2d5f}.role-user,.role-member{color:#8b8f98;background:#26282e}.logout{border:1px solid var(--bg4);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:5px 8px;font-size:11px}.logout:hover{color:var(--txt);border-color:var(--muted)}.dot{vertical-align:middle;border-radius:50%;flex:none;width:8px;height:8px;margin-right:4px;display:inline-block}.dot.on{background:#3ba55d}.dot.off{background:#faa61a;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.conn-banner{color:#ffcf7a;background:#4a3b1d;align-items:center;gap:6px;padding:8px 18px;font-size:13px;display:flex}.me .handle{color:#8a8f98;opacity:.85;font-size:12px}.rail{background:var(--bg);border-right:1px solid var(--line);flex-direction:column;flex:0 0 68px;align-items:center;gap:8px;width:68px;padding:10px 0;display:flex;overflow-y:auto}.rail::-webkit-scrollbar{width:0}.rail-icon{cursor:pointer;color:#fff;background:var(--bg3);border:0;border-radius:50%;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:18px;font-weight:800;transition:border-radius .15s,background .15s;display:grid}.rail-icon:hover{border-radius:16px}.rail-icon.active{box-shadow:0 0 0 2px var(--accent);border-radius:16px}.rail-icon.home{background:var(--accent);color:#fff;font-size:20px}.rail-icon.add{background:var(--bg3);color:#3ba55d;font-size:24px;line-height:1}.rail-icon.add:hover{background:#1f3326}.rail-sep{background:var(--bg4);border-radius:2px;flex:none;width:32px;height:2px}.chan.voice{opacity:.7;cursor:default}.chan.voice:hover{color:var(--muted);background:0 0}.invite-btn{cursor:pointer;background:var(--bg3);border:1px solid var(--bg4);color:var(--txt);border-radius:6px;margin:0 10px 8px;padding:9px;font-weight:600}.invite-btn:hover{background:var(--bg4)}.notice{color:#9ecbff;cursor:pointer;background:#1d2f4a;padding:8px 18px;font-size:13px}.modal-overlay{z-index:50;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--bg4);border-radius:14px;flex-direction:column;width:360px;padding:24px;display:flex;box-shadow:0 20px 60px #00000080}.modal h2{color:#fff;margin-bottom:14px;font-size:18px}.modal label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 0 5px;font-size:11px;font-weight:700}.modal-row{gap:8px;display:flex}.modal-row input{background:var(--bg);border:1px solid var(--bg4);min-width:0;color:var(--txt);border-radius:8px;outline:none;flex:1;padding:9px 11px}.modal-row input:focus{border-color:var(--accent)}.modal-row button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:0 16px;font-weight:700}.modal-row button:hover{background:var(--accent2)}.modal-or{text-align:center;color:var(--muted);margin:14px 0 4px;font-size:12px}.modal .link-btn{align-self:center}.chan.nav{color:var(--txt);margin-bottom:6px;font-weight:700}.section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 10px 4px;font-size:11px;font-weight:700}.hint{color:var(--muted);padding:4px 10px;font-size:12px}.avatar-sm{color:#fff;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-grid}.friends-scroll{flex:1;padding:16px 20px;overflow-y:auto}.add-friend{gap:8px;margin-bottom:12px;display:flex}.add-friend input{background:var(--bg);border:1px solid var(--bg4);color:var(--txt);border-radius:8px;outline:none;flex:1;padding:10px 12px}.add-friend input:focus{border-color:var(--accent)}.add-friend button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:0 16px;font-weight:700}.add-friend button:hover{background:var(--accent2)}.code-row{color:var(--muted);margin-bottom:8px;font-size:13px}.code-row b{color:var(--txt);letter-spacing:.08em}.code-row .link-btn{margin:0 0 0 8px}.friend-row{border-top:1px solid var(--bg2);align-items:center;gap:10px;padding:8px 6px;display:flex}.friend-name{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.friend-name b{color:var(--txt)}.friend-name .handle{color:var(--muted);font-size:12px}.friend-actions{gap:6px;display:flex}.mini{background:var(--bg3);border:1px solid var(--bg4);color:var(--txt);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.mini:hover{background:var(--bg4)}.mini.ok{background:var(--accent);border-color:var(--accent);color:#fff}.mini.ok:hover{background:var(--accent2)}.mini.danger:hover{color:#ffb3b3;background:#4a1d1d;border-color:#7a3a3a}.msg{position:relative}.msg:hover{background:#ffffff05}.edited{color:var(--muted);font-size:11px}.msg-actions{background:var(--bg2);border:1px solid var(--bg4);border-radius:8px;gap:1px;padding:2px;display:none;position:absolute;top:-12px;right:12px;box-shadow:0 4px 14px #0006}.msg:hover .msg-actions{display:flex}.msg-actions button{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:15px;line-height:1}.msg-actions button:hover{background:var(--bg4)}.msg-actions button.del:hover{background:#4a1d1d}.reacts{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.react-chip{background:var(--bg3);border:1px solid var(--bg4);color:var(--txt);cursor:pointer;border-radius:12px;padding:2px 9px;font-size:12px;line-height:1.5}.react-chip:hover{border-color:var(--muted)}.react-chip.mine{border-color:var(--accent);color:#cfc9ff;background:#2a2555}.edit-box{flex-direction:column;gap:6px;margin:2px 0;display:flex}.edit-box input{background:var(--bg);border:1px solid var(--accent);color:var(--txt);border-radius:8px;outline:none;padding:9px 11px}.edit-actions{gap:6px;display:flex}.reply-preview{color:var(--muted);align-items:center;gap:5px;min-width:0;margin-bottom:2px;font-size:12px;display:flex}.reply-preview b{color:#b9bdc7}.reply-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pin-badge{font-size:12px}.reply-bar{background:var(--bg2);border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:6px 18px;font-size:13px;display:flex}.reply-bar b{color:var(--txt)}.reply-bar button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:14px}.reply-bar button:hover{color:var(--txt)}.brand{align-items:center;gap:8px;display:flex}.gear{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px 4px;font-size:16px}.gear:hover{color:var(--txt)}.modal.settings{width:640px;max-width:94vw;max-height:86vh}.tabs{border-bottom:1px solid var(--bg4);gap:6px;margin-bottom:14px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px;font-weight:700}.tabs button.active{color:var(--txt);border-bottom-color:var(--accent)}.settings-body{max-height:56vh;overflow-y:auto}.roles-pane{gap:14px;display:flex}.roles-col{flex-direction:column;flex:0 0 200px;gap:3px;width:200px;display:flex}.mini.full{width:100%;margin-bottom:6px}.role-item{text-align:left;color:var(--txt);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.role-item:hover{background:var(--bg3)}.role-item.active{background:var(--bg4)}.role-dot{border-radius:50%;flex:0 0 12px;width:12px;height:12px}.role-edit{flex:1;min-width:0}.role-edit label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 4px;font-size:11px;font-weight:700;display:block}.role-edit input[type=text],.role-edit>input:not([type]){background:var(--bg);border:1px solid var(--bg4);width:100%;color:var(--txt);border-radius:8px;outline:none;padding:9px 11px}.role-edit>input{background:var(--bg);border:1px solid var(--bg4);color:var(--txt);border-radius:8px;outline:none;padding:6px}.perm-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.perm-check{color:var(--txt);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:flex}.member-row{border-top:1px solid var(--bg2);align-items:center;gap:10px;padding:8px 4px;display:flex}.member-roles{flex-wrap:wrap;justify-content:flex-end;gap:5px;margin-left:auto;display:flex}.role-chip{background:var(--bg3);border:1px solid var(--bg4);color:var(--muted);cursor:pointer;border-radius:12px;padding:2px 9px;font-size:12px}.role-chip.mine{color:#cfc9ff;background:#2a2555}.ic{color:#6b7079;align-items:center;display:inline-flex}.chan .ic,.chan.nav .ic{color:#6b7079}.chan:hover .ic,.chan.active .ic{color:var(--txt)}.chead .ic{color:#6b7079}svg{display:block}.msg-actions button{color:var(--muted);align-items:center;display:inline-flex}.msg-actions button:hover{color:var(--txt)}.msg-actions button.del:hover{color:#ff9b9b}.reply-preview .ic,.reply-preview svg{color:var(--muted)}.pin-badge{vertical-align:middle;color:var(--accent);margin-right:3px;display:inline-flex}.reply-bar button{align-items:center;display:inline-flex}.member-mod{gap:4px;margin-left:8px;display:flex}.member-mod button{background:var(--bg3);border:1px solid var(--bg4);color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;padding:5px;display:inline-flex}.member-mod button:hover{color:var(--txt);background:var(--bg4)}.member-mod button.del:hover{color:#ff9b9b;background:#3a1d1d;border-color:#7a3a3a}.ban-reason{color:var(--muted);margin-left:4px;font-size:12px}.bans-pane .member-row button.mini{margin-left:auto}.role-chip.locked{opacity:.4;cursor:not-allowed}.role-chip.locked:hover{background:var(--bg3);color:var(--muted)}.chan.in-voice{background:var(--bg4);color:var(--txt)}.chan.in-voice .ic{color:var(--accent)}.voice-mini{background:var(--bg3);border:1px solid var(--bg4);border-radius:8px;margin:8px 6px;padding:8px 10px}.voice-mini-top{justify-content:space-between;align-items:center;display:flex}.vm-signal{color:#3ba55d;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.vm-leave{cursor:pointer;color:#ff9b9b;background:#3a1d1d;border:none;border-radius:6px;padding:4px;display:flex}.voice-mini-chan{color:var(--muted);margin-top:3px;font-size:12px}.call{background:var(--bg2);flex-direction:column;height:100%;min-height:0;display:flex}.call-head{border-bottom:1px solid var(--bg4);flex:none;align-items:center;gap:8px;padding:14px 16px;font-weight:600;display:flex}.call-head .ic{color:var(--accent);display:flex}.call-count{color:var(--muted);margin-left:auto;font-size:12px;font-weight:400}.call-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px;display:flex;overflow:auto}.call-screens{flex-direction:column;gap:12px;display:flex}.call-screens .vtile video{width:100%;max-height:52vh}.call-shares{flex-wrap:wrap;gap:8px;display:flex}.call-shares .watch{background:var(--bg3);border:1px solid var(--bg4);color:var(--txt);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:8px 12px;font-size:13px;display:flex}.call-shares .watch:hover{border-color:var(--accent)}.call-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));place-content:center;gap:12px;display:grid}.call-grid[data-count="1"]{grid-template-columns:minmax(280px,560px)}.call-grid[data-count="2"],.call-grid[data-count="3"],.call-grid[data-count="4"]{grid-template-columns:repeat(2,minmax(220px,1fr))}.call-tile{aspect-ratio:16/9;background:#15171c;border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;transition:border-color .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.call-tile.speaking{border-color:#3ba55d;box-shadow:0 0 0 3px #3ba55d40}.call-tile video{object-fit:cover;width:100%;height:100%;display:block}.call-tile video.mirror{transform:scaleX(-1)}.call-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;font-size:30px;font-weight:600;display:flex}.call-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#0000008c;border-radius:6px;align-items:center;gap:4px;max-width:85%;padding:3px 8px;font-size:12px;display:flex;position:absolute;bottom:8px;left:8px;overflow:hidden}.vtile{background:#000;border-radius:10px;position:relative;overflow:hidden}.vtile video{aspect-ratio:16/9;object-fit:contain;background:#000;width:100%;display:block}.vtile.screen video{border:1px solid var(--accent);border-radius:10px}.vlabel{color:#fff;background:#0009;border-radius:6px;padding:3px 8px;font-size:12px;position:absolute;bottom:8px;left:8px}.vclose{cursor:pointer;color:#fff;background:#0009;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;line-height:1;position:absolute;top:6px;right:6px}.call-settings{border-top:1px solid var(--bg4);background:var(--bg3);flex-wrap:wrap;flex:none;gap:14px;padding:12px 16px;display:flex}.call-settings label{color:var(--muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.call-settings select{background:var(--bg2);border:1px solid var(--bg4);color:var(--txt);border-radius:6px;min-width:180px;padding:6px 8px;font-size:13px}.call-bar{border-top:1px solid var(--bg4);background:var(--bg1);flex:none;justify-content:center;align-items:center;gap:12px;padding:14px;display:flex}.cbtn{cursor:pointer;background:var(--bg4);width:48px;height:48px;color:var(--txt);border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.cbtn:hover{background:var(--bg2)}.cbtn.on{color:#15171c;background:#fff}.cbtn.leave{color:#fff;background:#d83c3e}.cbtn.leave:hover{background:#b52d2f}.ctx-menu{z-index:400;background:var(--bg3);border:1px solid var(--bg4);border-radius:9px;flex-direction:column;gap:1px;min-width:172px;padding:5px;animation:90ms ease-out ctx-in;display:flex;position:fixed;box-shadow:0 10px 34px #00000080}@keyframes ctx-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.ctx-item{text-align:left;cursor:pointer;width:100%;color:var(--txt);background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;display:flex}.ctx-item:hover{background:var(--accent);color:#fff}.ctx-item:hover .ctx-ic{color:#fff}.ctx-item .ctx-ic{color:var(--muted);display:flex}.ctx-item.danger{color:#ff6b6b}.ctx-item.danger:hover{color:#fff;background:#d83c3e}.ctx-item.danger:hover .ctx-ic{color:#fff}.ctx-item:disabled{opacity:.4;cursor:default}.ctx-item:disabled:hover{color:var(--txt);background:0 0}.ctx-sep{background:var(--bg4);height:1px;margin:4px 6px}.share-modal{flex-direction:column;width:min(760px,92vw);max-height:82vh;display:flex}.modal-head{justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600;display:flex}.modal-head span{align-items:center;gap:8px;display:flex}.modal-head span svg{color:var(--accent)}.modal-x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.modal-x:hover{background:var(--bg4);color:var(--txt)}.share-body{padding-right:4px;overflow-y:auto}.share-section{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 2px 7px;font-size:11px}.share-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.share-tile{cursor:pointer;background:var(--bg2);text-align:left;border:2px solid #0000;border-radius:10px;flex-direction:column;gap:6px;padding:6px;display:flex}.share-tile:hover{border-color:var(--bg4)}.share-tile.sel{border-color:var(--accent)}.share-thumb{aspect-ratio:16/9;background:#000;border-radius:6px;justify-content:center;align-items:center;display:flex;overflow:hidden}.share-thumb img{object-fit:contain;width:100%;height:100%}.share-noimg{color:var(--muted)}.share-name{color:var(--txt);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.share-loading{text-align:center;color:var(--muted);padding:40px}.modal-foot{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.share-spin{border:3px solid var(--bg4);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite share-spin}@keyframes share-spin{to{transform:rotate(360deg)}}.cbtn.danger-on{color:#fff;background:#d83c3e}.cbtn.danger-on:hover{background:#b52d2f}.cbtn.pending{background:var(--bg4);cursor:progress}.cbtn-spin{border:2.5px solid #ffffff40;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite share-spin}.ctx-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 9px 3px;font-size:10px}.ctx-item .ctx-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ctx-item .ctx-check{color:var(--accent);display:flex}.ctx-item.checked:hover .ctx-check{color:#fff}.ctx-loading{color:var(--muted);align-items:center;gap:9px;padding:8px 9px;font-size:12.5px;display:flex}.ctx-spin{border:2px solid var(--bg4);border-top-color:var(--accent);border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite share-spin}.tile-spin-overlay{background:#0a0b0ebf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}html,body{max-width:100%;overflow-x:hidden}.app{min-width:0}img,video,canvas{max-width:100%}@media (width<=900px){.rail{flex-basis:56px;width:56px}.rail-icon{flex-basis:40px;width:40px;height:40px}.sidebar{flex-basis:200px;width:200px}.chead{padding:12px 14px}.messages{padding:14px 14px 6px}.composer{padding:12px 14px}.call-body{padding:12px}}@media (width<=600px){:root{--tb:30px}.rail{flex-basis:48px;gap:6px;width:48px;padding:8px 0}.rail-icon{flex-basis:38px;width:38px;height:38px}.sidebar{flex-basis:148px;width:148px}.brand{padding:12px;font-size:15px}.chan{padding:7px 8px;font-size:13px}.chead{padding:11px 12px;font-size:15px}.messages{padding:12px 12px 4px}.msg{gap:9px}.msg .avatar{flex-basis:32px;width:32px;height:32px;font-size:13px}.msg:not(.first) .msg-body{margin-left:41px}.composer{gap:8px;padding:10px 12px}.composer input{padding:10px 12px}.composer button{padding:0 14px}.call-grid,.call-grid[data-count="1"],.call-grid[data-count="2"],.call-grid[data-count="3"],.call-grid[data-count="4"]{grid-template-columns:1fr}.call-screens .vtile video{max-height:38vh}.perm-list{grid-template-columns:1fr}.modal,.sheet{width:94vw!important;max-width:94vw!important}.roles-col{flex-basis:140px;width:140px}}@media (width<=420px){.rail{flex-basis:44px;width:44px}.sidebar{flex-basis:132px;width:132px}}.tile-status{z-index:3;color:#fff;background:#0009;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.tile-status[data-state=failed],.tile-status[data-state=disconnected],.tile-status[data-state=closed]{background:#c83232d9}.chan-wrap{flex-direction:column;display:flex}.vc-roster{flex-direction:column;gap:1px;margin:1px 0 4px 20px;display:flex}.vc-part{color:var(--muted);border-radius:6px;align-items:center;gap:7px;padding:3px 8px;font-size:13px;font-weight:600;display:flex}.vc-part:hover{background:var(--bg3)}.vc-part.speaking{color:var(--txt)}.vc-dot{color:#fff;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:grid;box-shadow:0 0 #3ba55d00}.vc-part.speaking .vc-dot{box-shadow:0 0 0 2px #3ba55d}.vc-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vc-mute{color:#ff6b6b;margin-left:auto;display:inline-flex}.vc-conn{color:var(--muted);margin-left:auto;font-size:11px}
