.cs-root{background:var(--bg-app);color:var(--text-bright)}.cs-desktop{inset:var(--topnav-h) 0 0 0;z-index:30;grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--rightpanel-w);display:grid;position:fixed}.cs-mobile{z-index:60;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:fixed;inset:0}.cs-stage{justify-content:center;align-items:center;gap:var(--sp-5);min-height:0;padding:var(--sp-5);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.cs-status-row{top:var(--sp-4);left:var(--sp-4);right:var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-3);pointer-events:none;display:flex;position:absolute}.cs-pill{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-bright);align-items:center;gap:7px;padding:6px 12px;font-weight:600;display:inline-flex}.cs-pill.ghost{color:var(--online);background:0 0;border-color:#0000}.cs-pill.warn{color:var(--idle)}.cs-pill .cs-dot{background:var(--online);border-radius:50%;width:8px;height:8px}.cs-pill.warn .cs-dot{background:var(--idle)}.cs-eq{color:var(--online);animation:1.1s ease-in-out infinite csEq}@keyframes csEq{0%,to{opacity:.55}50%{opacity:1}}.cs-avatar-wrap{align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.cs-avatar-ring{margin-bottom:var(--sp-2);place-items:center;display:grid;position:relative}.cs-rings{pointer-events:none;z-index:0;width:210px;height:210px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cs-rings:before,.cs-rings:after{content:"";border:1.5px solid var(--brand);border-radius:50%;animation:2.6s ease-out infinite csPulse;position:absolute;inset:0}.cs-rings:after{animation-delay:1.3s}@keyframes csPulse{0%{opacity:.55;transform:scale(.7)}to{opacity:0;transform:scale(1.25)}}.cs-big-avatar{z-index:1;position:relative;box-shadow:0 12px 40px #00000073}.cs-peer-name{font-size:var(--fs-2xl);font-weight:800}.cs-peer-sub{font-size:var(--fs-md);color:var(--text-muted)}.cs-main-video-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.cs-main-video{border-radius:var(--r-lg);object-fit:contain;background:#000;max-width:100%;max-height:100%}.cs-video-name{left:var(--sp-3);bottom:var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-sm);background:#0000008c;padding:4px 10px;font-weight:600;position:absolute}.cs-self{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-strong);place-items:center;width:132px;height:96px;display:grid;position:absolute;overflow:hidden}.cs-desktop .cs-self{right:var(--sp-5);bottom:var(--sp-5)}.cs-mobile .cs-self{right:var(--sp-4);top:calc(var(--sp-4) + 40px);width:104px;height:138px}.cs-self-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.cs-self-ph{color:var(--text-faint,var(--text-muted));opacity:.6}.cs-self-label{font-size:var(--fs-xs);color:var(--text-bright);text-shadow:0 1px 3px #000c;font-weight:600;position:absolute;bottom:6px;left:8px}.cs-ctl-wrap{flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.cs-ctl{border-radius:var(--r-lg);background:var(--surface-2);width:58px;height:58px;color:var(--text-bright);place-items:center;transition:background .14s,transform 80ms,color .14s;display:grid}.cs-ctl:hover{background:var(--surface-3)}.cs-ctl:active{transform:scale(.93)}.cs-ctl:disabled{opacity:.5;cursor:default}.cs-ctl.off{color:var(--danger);background:#f0436a29}.cs-ctl.accent{background:var(--brand);color:#fff}.cs-ctl.danger{background:var(--danger);color:#fff}.cs-ctl.danger:hover{filter:brightness(1.08);background:var(--danger)}.cs-ctl-label,.cs-ctl-caret{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.cs-ctl-caret{align-items:center;gap:3px;transition:color .14s;display:inline-flex}.cs-ctl-caret:hover{color:var(--text-bright)}.cs-devmenu-backdrop{z-index:25;position:fixed;inset:0}.cs-devmenu{z-index:26;width:max(220px,100%);max-width:280px;padding:var(--sp-1);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--sh-lg);background:#15151d;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.cs-devmenu-item{text-align:left;border-radius:var(--r-sm);width:100%;font-size:var(--fs-sm);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;padding:8px 10px;display:block;overflow:hidden}.cs-devmenu-item:hover{background:var(--surface-2)}.cs-devmenu-item.active{color:var(--brand);font-weight:700}.cs-devmenu-empty{font-size:var(--fs-sm);color:var(--text-muted);padding:8px 10px}.cs-side{border-right:1px solid var(--line);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex;overflow-y:auto}.cs-side-back{color:var(--brand);font-weight:700;font-size:var(--fs-sm);align-self:flex-start;align-items:center;gap:6px;padding:6px 4px;display:inline-flex}.cs-side-list{flex-direction:column;gap:2px;display:flex}.cs-convo{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);text-align:left;padding:8px;transition:background .14s;display:flex}.cs-convo:hover{background:var(--surface)}.cs-convo.active{background:var(--brand-soft)}.cs-convo-info{min-width:0}.cs-convo-name{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.cs-convo-sub{font-size:var(--fs-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cs-center{flex-direction:column;min-width:0;display:flex}.cs-chead{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);flex:none;display:flex}.cs-chead-meta{flex:1;min-width:0}.cs-chead-top{align-items:center;gap:var(--sp-2);display:flex}.cs-chead-name{font-size:var(--fs-lg);font-weight:800}.cs-chead-sub{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:6px;display:flex}.cs-dotsep{opacity:.6}.cs-chead-signal.good{color:var(--online)}.cs-chead-signal.ok{color:var(--text-muted)}.cs-chead-signal.bad{color:var(--idle)}.cs-chead-actions{gap:var(--sp-2);display:flex}.cs-badge{border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);font-size:var(--fs-xs);padding:2px 9px;font-weight:700}.cs-iconbtn{border-radius:var(--r-md);background:var(--surface-2);width:40px;height:40px;color:var(--text-muted);place-items:center;transition:background .14s,color .14s;display:grid}.cs-iconbtn:hover{background:var(--surface-3);color:var(--text-bright)}.cs-dctls{justify-content:center;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-6);flex:none;display:flex}.cs-params{border-left:1px solid var(--line);padding:var(--sp-5);overflow-y:auto}.cs-params-title{font-size:var(--fs-lg);margin-bottom:var(--sp-4);font-weight:800}.cs-sec-h{font-size:var(--fs-sm);color:var(--text-muted);margin:var(--sp-4) 0 var(--sp-2);font-weight:700}.cs-sec-h:first-of-type{margin-top:0}.cs-sec-h span{color:var(--text-faint,var(--text-muted))}.cs-roster{gap:var(--sp-1);flex-direction:column;display:flex}.cs-rrow{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);padding:6px;display:flex}.cs-rrow-info{min-width:0}.cs-rrow-name{color:var(--text-bright);align-items:center;gap:6px;font-weight:600;display:flex}.cs-you{color:var(--text-muted);font-weight:500}.cs-admin{border-radius:var(--r-sm);color:var(--danger);letter-spacing:.03em;background:#f0436a29;padding:1px 6px;font-size:10px;font-weight:800}.cs-rrow-sub{font-size:var(--fs-sm);color:var(--text-muted)}.cs-share{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex}.cs-share-ic{border-radius:var(--r-sm);background:var(--surface-2);width:38px;height:38px;color:var(--text-muted);flex:none;place-items:center;display:grid}.cs-share-txt{min-width:0;font-size:var(--fs-sm);color:var(--text-muted);flex:1}.cs-share-btn{border-radius:var(--r-md);background:var(--brand);color:#fff;font-weight:700;font-size:var(--fs-sm);flex:none;padding:8px 14px;transition:background .14s}.cs-share-btn:hover{background:var(--brand-hover)}.cs-share-btn.on{background:var(--danger)}.cs-quality{align-items:center;gap:var(--sp-3);display:flex}.cs-q-ic.good{color:var(--online)}.cs-q-ic.ok{color:var(--text-muted)}.cs-q-ic.bad{color:var(--idle)}.cs-q-label{font-weight:700}.cs-q-label.good{color:var(--online)}.cs-q-label.bad{color:var(--idle)}.cs-q-sub{font-size:var(--fs-sm);color:var(--text-muted)}.cs-tip{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-muted);align-items:flex-start;gap:8px;display:flex}.cs-tip svg{color:var(--idle);flex:none;margin-top:2px}.cs-dev{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--sp-2);display:flex}.cs-dev-ic{color:var(--brand);flex:none}.cs-dev-body{flex-direction:column;flex:1;min-width:0;display:flex}.cs-dev-label{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.cs-dev-select{width:100%;color:var(--text-bright);font-size:var(--fs-sm);background:0 0;border:none;outline:none;padding:0;font-weight:600}.cs-dev-select option{color:var(--text-bright);background:#15151d}.cs-mhead{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--line);flex:none;display:flex}.cs-mback{border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:var(--fs-sm);flex:none;align-items:center;gap:2px;padding:6px 10px 6px 4px;display:inline-flex}.cs-mhead-peer{align-items:center;gap:var(--sp-2);flex:1;justify-content:center;min-width:0;display:flex}.cs-mhead-meta{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.cs-mhead-time{font-size:var(--fs-xs);color:var(--text-muted)}.cs-mhead-actions{flex:none;gap:6px;display:flex}.cs-quick{margin:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex:none;overflow:hidden}.cs-quick-head{width:100%;padding:var(--sp-3) var(--sp-4);color:var(--text-bright);justify-content:space-between;align-items:center;font-weight:700;display:flex}.cs-quick-chev{transition:transform .18s}.cs-quick-chev.open{transform:rotate(180deg)}.cs-quick-item{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);text-align:left;color:var(--text-bright);font-weight:600;display:flex}.cs-quick-item>span:nth-child(2){flex:1;min-width:0}.cs-quick-ic{border-radius:var(--r-md);background:var(--brand-soft);width:40px;height:40px;color:var(--brand);flex:none;place-items:center;display:grid}.cs-quick-item.accent .cs-quick-ic{background:var(--brand);color:#fff}.cs-mctls{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4) var(--sp-3) calc(var(--sp-5) + env(safe-area-inset-bottom));border-top:1px solid var(--line);flex:none;display:flex}.cs-sheet-overlay{z-index:70;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.cs-sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;padding:var(--sp-3) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));background:#15151d;animation:.2s csSheetIn}@keyframes csSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cs-sheet-grab{background:var(--line-strong);width:40px;height:4px;margin:0 auto var(--sp-3);border-radius:2px}.cs-sheet-title{font-weight:800;font-size:var(--fs-lg);margin-bottom:var(--sp-3)}.voice-float-main{align-items:center;gap:var(--sp-3);text-align:left;flex:1;min-width:0;display:flex}@media (width<=1140px){.cs-desktop{grid-template-columns:minmax(0, 1fr) var(--rightpanel-w)}.cs-side{display:none}}@media (width<=900px){.cs-desktop{grid-template-columns:minmax(0,1fr)}.cs-params{display:none}}:root{--m-nav-h:62px;--m-fab-size:58px}.app-root.mobile{height:100dvh}.app-root.mobile .app-main{background:var(--bg-app)}.m-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding-top:calc(env(safe-area-inset-top) + 16px);padding-bottom:var(--sp-4);display:flex}.m-header-lg{align-items:stretch;gap:var(--sp-3);flex-direction:column}.m-header-lg .m-header-actions{justify-content:space-between;gap:var(--sp-2)}.m-header-titles{min-width:0}.m-header-titles h1{font-size:var(--fs-xl);color:var(--text-bright);font-weight:800;line-height:1.2}.m-header-lg .m-header-titles h1{font-size:24px}.m-header-titles p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px}.m-header-actions{flex:none;align-items:center;gap:6px;display:flex}.m-iconbtn{border-radius:var(--r-md);width:40px;height:40px;color:var(--text-muted);place-items:center;transition:background .14s,color .14s;display:grid;position:relative}.m-iconbtn:active{background:var(--surface-2);color:var(--text-bright)}.m-iconbtn.download{text-decoration:none}.m-iconbtn.has-dot:after{content:"";background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-app);border-radius:50%;position:absolute;top:8px;right:9px}.m-iconbtn .notif-badge{box-shadow:0 0 0 2px var(--bg-app)}.m-avatar-btn{--dot-ring:var(--bg-app);place-items:center;margin-left:2px;display:grid}.m-nav{z-index:40;min-height:var(--m-nav-h);padding:8px 10px 0;padding-bottom:env(safe-area-inset-bottom);background:var(--bg-topnav);border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:4px;display:flex;position:relative;overflow:visible}.m-tab{min-width:0;color:var(--text-muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding-top:2px;text-decoration:none;transition:color .14s;display:flex}.m-tab.active{color:var(--brand)}.m-tab-ic{place-items:center;display:grid;position:relative}.m-tab-label{white-space:nowrap;font-size:11px;font-weight:600}.m-tab-badge{border-radius:var(--r-pill);background:var(--brand);color:#fff;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--bg-topnav);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-5px;right:-9px}.m-fab{width:var(--m-fab-size);height:var(--m-fab-size);background:var(--brand-grad);color:#fff;box-shadow:0 8px 22px var(--brand-glow);border-radius:50%;flex:none;place-items:center;margin:0 6px;transition:transform .18s,filter .14s;display:grid;transform:translateY(-16px)}.m-fab:active{filter:brightness(1.08)}.m-fab.open{transform:translateY(-16px)rotate(90deg)}.m-sheet-overlay{z-index:200;background:#0000008c;align-items:flex-end;animation:.18s mSheetFade;display:flex;position:fixed;inset:0}@keyframes mSheetFade{0%{opacity:0}to{opacity:1}}.m-sheet{width:100%;max-height:86vh;padding:10px var(--sp-4) calc(env(safe-area-inset-bottom) + var(--sp-5));border-top-left-radius:var(--r-xl);border-top-right-radius:var(--r-xl);border-top:1px solid var(--line-strong);box-shadow:var(--sh-lg);background:#15151d;animation:.24s cubic-bezier(.16,1,.3,1) mSheetUp;position:relative;overflow-y:auto}.m-sheet-x{border-radius:var(--r-md);background:var(--surface-2);width:36px;height:36px;color:var(--text-muted);place-items:center;display:grid;position:absolute;top:12px;right:12px}.m-sheet-x:active{background:var(--surface-3);color:var(--text-bright)}@keyframes mSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.m-sheet-grab{border-radius:var(--r-pill);background:var(--surface-3);width:40px;height:4px;margin:4px auto 14px}.m-sheet-head{margin-bottom:var(--sp-4)}.m-sheet-head h2{font-size:var(--fs-2xl);color:var(--text-bright);font-weight:800}.m-sheet-head p{font-size:var(--fs-base);color:var(--text-muted);margin-top:2px}.m-sheet-group{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-md);color:var(--brand);align-items:center;gap:8px;font-weight:700;display:flex}.m-sheet-group-ic{place-items:center;display:grid}.m-sheet-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.m-sheet-item{align-items:center;gap:var(--sp-3);text-align:left;width:100%;padding:14px;transition:background .14s;display:flex}.m-sheet-item+.m-sheet-item{border-top:1px solid var(--line)}.m-sheet-item:active{background:var(--surface-2)}.m-sheet-ic{border-radius:var(--r-md);background:var(--brand-soft);width:46px;height:46px;color:var(--brand);flex:none;place-items:center;display:grid}.m-sheet-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.m-sheet-text b{font-size:var(--fs-md);color:var(--text-bright);font-weight:700}.m-sheet-text i{font-style:normal;font-size:var(--fs-sm);color:var(--text-muted)}.m-sheet-arrow{color:var(--text-muted);flex:none}.m-sheet-foot{margin-top:var(--sp-4);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:8px;display:flex}.m-sheet-foot>svg{flex:none}.app-root.mobile .page-3col{grid-template-columns:minmax(0,1fr)!important}.app-root.mobile .page-sidebar,.app-root.mobile .page-right{display:none}.app-root.mobile .page-center{padding:var(--sp-4) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom))}.app-root.mobile .page-center.ms-center{padding:0}.app-root.mobile .ms-dlg-head{padding-top:calc(env(safe-area-inset-top) + var(--sp-3))}.app-root.mobile .ms-back{border-radius:var(--r-md);width:38px;height:38px;color:var(--text-muted);flex:none;place-items:center;margin-left:-6px;display:grid}.app-root.mobile .ms-back:active{background:var(--surface-2);color:var(--text-bright)}.app-root.mobile .ms-composer{padding:var(--sp-3) var(--sp-3) calc(var(--sp-3) + env(safe-area-inset-bottom))}.ms-info-sheet{z-index:150;background:var(--bg-app);flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) msInfoIn;display:flex;position:fixed;inset:0}@keyframes msInfoIn{0%{transform:translate(100%)}to{transform:translate(0)}}.ms-info-sheet-head{align-items:center;gap:var(--sp-2);padding:calc(env(safe-area-inset-top) + 10px) var(--sp-3) 10px;border-bottom:1px solid var(--line);font-size:var(--fs-lg);color:var(--text-bright);flex:none;font-weight:800;display:flex}.ms-info-sheet-body{min-height:0;padding:var(--sp-4) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.m-search-box{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--sp-2);color:var(--text-muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.m-search-box input{min-width:0;color:var(--text-bright);background:0 0;border:none;outline:none;flex:1;font-size:16px}.m-search-box input::placeholder{color:var(--text-muted)}.m-search-clear{color:var(--text-muted);flex:none;display:flex}.m-search-hint{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.m-screen{-webkit-overflow-scrolling:touch;height:100%;padding:0 var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom));overflow-y:auto}.m-sec-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin:var(--sp-6) 0 var(--sp-3);display:flex}.m-sec-head h2{color:var(--text-bright);font-size:18px;font-weight:800}.m-sec-link{color:var(--brand);font-size:var(--fs-sm);white-space:nowrap;flex:none;align-items:center;gap:3px;font-weight:600;display:inline-flex}.m-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.m-empty{padding:var(--sp-5);text-align:center;color:var(--text-muted);font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.m-badge{border-radius:var(--r-pill);background:var(--brand);color:#fff;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.m-chips{gap:var(--sp-2);scrollbar-width:none;margin:0 calc(-1 * var(--sp-4)) var(--sp-2);padding:0 var(--sp-4) 4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.m-chips::-webkit-scrollbar{display:none}.m-chip{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.m-chip.active{background:var(--brand);color:#fff}.m-chip-count{border-radius:var(--r-pill);background:#ffffff2e;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.m-chip:not(.active) .m-chip-count{background:var(--surface-3);color:var(--text-muted)}.m-stats{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.m-stat{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;flex-direction:column;transition:background .14s,border-color .14s;display:flex}.m-stat:active{background:var(--surface-2)}.m-stat-ic{border-radius:var(--r-md);flex:none;place-items:center;width:44px;height:44px;display:grid}.m-stat-ic.purple{background:var(--brand-soft);color:var(--brand)}.m-stat-ic.blue{color:#6f9cff;background:#4a7ce829}.m-stat-head{align-items:center;gap:var(--sp-3);width:100%;display:flex}.m-stat-num{color:var(--text-bright);font-size:30px;font-weight:800;line-height:1}.m-stat-desc{width:100%;font-size:var(--fs-sm);color:var(--text-muted);line-height:1.3}.m-stat-go{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;padding-top:var(--sp-3);border-top:1px solid var(--line);color:var(--brand);font-size:var(--fs-xs);margin-top:auto;font-weight:600;display:flex}.m-stat-go>svg{flex:none}.m-convo{--dot-ring:var(--surface);align-items:flex-start;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);text-align:left;transition:background .14s;display:flex}.m-convo+.m-convo,.m-disc+.m-disc,.m-today+.m-today{border-top:1px solid var(--line)}.m-convo:active{background:var(--surface-2);--dot-ring:var(--surface-2)}.m-convo-body{flex:1;min-width:0}.m-convo-top{align-items:center;gap:var(--sp-2);display:flex}.m-convo-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.m-convo-time{font-size:var(--fs-xs);color:var(--text-muted);flex:none;margin-left:auto}.m-convo-text{align-items:center;gap:var(--sp-2);margin-top:2px;display:flex}.m-convo-last{min-width:0;font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.m-convo-tag{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:5px;margin-top:8px;display:inline-flex}.m-convo-tag-arrow{margin-left:2px}.m-disc{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);text-align:left;transition:background .14s;display:flex}.m-disc:active{background:var(--surface-2)}.m-disc-ic{border-radius:var(--r-md);background:var(--surface-3);width:44px;height:44px;color:var(--brand);flex:none;place-items:center;display:grid}.m-disc-body{flex:1;min-width:0}.m-disc-top{align-items:center;gap:var(--sp-2);display:flex}.m-disc-title{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-weight:700;display:inline-flex;overflow:hidden}.m-disc-pin{color:var(--brand);flex:none}.m-disc-time{font-size:var(--fs-xs);color:var(--text-muted);flex:none;margin-left:auto}.m-disc-sub{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:5px;margin-top:3px;display:flex}.m-disc-sub>svg{flex:none}.m-disc-arrow{color:var(--text-muted);flex:none}.m-today{--dot-ring:var(--surface);align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);display:flex}.m-today-ic{border-radius:var(--r-md);background:var(--brand-soft);width:44px;height:44px;color:var(--brand);flex:none;place-items:center;display:grid}.m-today-body{flex:1;min-width:0}.m-today-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.m-today-meta{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.m-today-meta.m-online{color:var(--online);align-items:center;gap:6px;display:flex}.m-dot{background:var(--online);border-radius:50%;width:8px;height:8px}.m-today-join{border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-sm);flex:none;padding:8px 18px;font-weight:700;transition:background .14s}.m-today-join:active{background:var(--brand-hover)}.m-today-empty{padding:var(--sp-5);text-align:center;font-size:var(--fs-sm);color:var(--text-muted)}.m-calendar{justify-content:center;align-items:center;gap:var(--sp-2);width:100%;margin-top:var(--sp-4);padding:var(--sp-4);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--text-muted);font-size:var(--fs-sm);font-weight:600;display:flex}.m-calendar:disabled{cursor:default}.hm-greet h1{color:var(--text-bright);font-size:38px;font-weight:800}.hm-greet p{margin:4px 0 var(--sp-6);font-size:var(--fs-md);color:var(--text-muted)}.hm-cards{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.hm-card{align-items:center;gap:var(--sp-2) var(--sp-4);padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;grid-template-columns:auto 1fr;grid-template-areas:"ic main""go go";transition:border-color .14s,background .14s;display:grid}.hm-card:hover{border-color:var(--line-strong);background:var(--surface-2)}.hm-card-ic{border-radius:var(--r-md);grid-area:ic;place-items:center;width:52px;height:52px;display:grid}.hm-card-ic.purple{background:var(--brand-soft);color:var(--brand)}.hm-card-ic.blue{color:#6f9cff;background:#4a7ce829}.hm-card-main{grid-area:main}.hm-card-label{font-size:var(--fs-sm);color:var(--text-muted)}.hm-card-num{font-size:var(--fs-3xl);color:var(--text-bright);font-weight:800;line-height:1.05}.hm-card-sub{font-size:var(--fs-sm);color:var(--text-muted)}.hm-card-go{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line);color:var(--brand);font-size:var(--fs-sm);grid-area:go;justify-content:space-between;align-items:center;font-weight:600;display:flex}.hm-sec-head{margin:var(--sp-6) 0 var(--sp-3);justify-content:space-between;align-items:center;display:flex}.hm-sec-head h2{font-size:var(--fs-xl);color:var(--text-bright);font-weight:800}.hm-sec-link{color:var(--brand);font-size:var(--fs-sm);align-items:center;gap:4px;font-weight:600;display:inline-flex}.hm-sec-link:hover{text-decoration:underline}.hm-list{gap:var(--sp-2);flex-direction:column;display:flex}.hm-empty{padding:var(--sp-6);text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.hm-convo{--dot-ring:var(--surface);align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;transition:border-color .14s,background .14s;display:flex}.hm-convo:hover{border-color:var(--line-strong);background:var(--surface-2);--dot-ring:var(--surface-2)}.hm-convo-info{flex:1;min-width:0}.hm-convo-top{align-items:center;gap:var(--sp-2);display:flex}.hm-convo-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.hm-convo-time{font-size:var(--fs-xs);color:var(--text-muted);margin-left:auto}.hm-unread{border-radius:var(--r-pill);background:var(--brand);color:#fff;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.hm-convo-last{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.hm-tag{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);flex:none;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.hm-comm{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;transition:border-color .14s,background .14s;display:flex}.hm-comm:hover{border-color:var(--line-strong);background:var(--surface-2)}.hm-comm-info{flex:1;min-width:0}.hm-comm-name{color:var(--text-bright);font-weight:700}.hm-comm-sub{font-size:var(--fs-sm);color:var(--text-muted)}.hm-comm-arrow{color:var(--text-muted);flex:none}.hm-disc{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;cursor:pointer;transition:background .14s,border-color .14s;display:flex}.hm-disc:hover{border-color:var(--line-strong);background:var(--surface-2)}.hm-disc-ic{border-radius:var(--r-md);background:var(--surface-3);width:44px;height:44px;color:var(--brand);flex:none;place-items:center;display:grid}.hm-disc-info{flex:1;min-width:0}.hm-disc-title{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:flex;overflow:hidden}.hm-disc-pin{color:var(--brand);flex:none}.hm-disc-sub{font-size:var(--fs-sm);color:var(--text-muted)}.hm-rp-title{margin:0 0 var(--sp-3);font-size:var(--fs-lg);color:var(--text-bright);font-weight:800}.hm-rp-title:not(:first-child){margin-top:var(--sp-5)}.hm-rp-card{--dot-ring:var(--surface);margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.hm-today{align-items:center;gap:var(--sp-3);display:flex}.hm-today-ic{border-radius:var(--r-md);background:var(--brand-soft);width:42px;height:42px;color:var(--brand);flex:none;place-items:center;display:grid}.hm-today-name{color:var(--text-bright);font-weight:700}.hm-today-sub{font-size:var(--fs-sm);color:var(--text-muted)}.hm-event-head{align-items:center;gap:var(--sp-3);display:flex}.hm-event-tag{font-size:var(--fs-xs);color:var(--text-muted)}.hm-event-meta{margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted)}.hm-event-foot{margin-top:var(--sp-3);justify-content:space-between;align-items:center;display:flex}.hm-event-going{font-size:var(--fs-sm);color:var(--text-muted)}.hm-event-join{border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-sm);padding:8px 18px;font-weight:700;transition:background .14s}.hm-event-join:hover{background:var(--brand-hover)}.hm-rp-head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);font-weight:700;display:flex}.hm-rp-item{align-items:center;gap:var(--sp-2);padding:6px 0;display:flex}.hm-rp-item-info{flex:1;min-width:0}.hm-rp-item-name{font-size:var(--fs-sm);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.hm-rp-item-sub{font-size:var(--fs-xs);color:var(--online)}.hm-rp-item-sub.voice{color:var(--brand);align-items:center;gap:4px;display:flex}.hm-rp-join{border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-xs);cursor:pointer;border:none;flex:none;padding:5px 12px;font-weight:700;transition:filter .14s}.hm-rp-join:hover{filter:brightness(1.1)}.hm-rp-empty{padding:var(--sp-2) 0;font-size:var(--fs-sm);color:var(--text-muted)}.hm-rp-link{margin-top:var(--sp-2);color:var(--brand);font-size:var(--fs-sm);font-weight:600}.hm-rp-link:hover{text-decoration:underline}.hm-quick{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.hm-quick button{align-items:center;gap:var(--sp-2);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);flex-direction:column;font-weight:600;transition:background .14s,border-color .14s,color .14s;display:flex}.hm-quick button:hover{background:var(--surface-2);border-color:var(--line-strong);color:var(--text-bright)}.hm-quick button>svg{color:var(--brand)}.mf-add-btn{border-radius:var(--r-md);background:var(--brand);color:#fff;height:40px;font-size:var(--fs-sm);flex:none;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.mf-add-btn:active{background:var(--brand-hover)}.mf-sub-dot{background:var(--online);border-radius:50%;width:8px;height:8px;margin-right:3px;display:inline-block}.mf-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 12px;display:flex}.mf-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-base);background:0 0;border:none;outline:none;flex:1}.mf-tiles{gap:var(--sp-2);margin-bottom:var(--sp-2);grid-template-columns:repeat(4,1fr);display:grid}.mf-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-align:left;flex-direction:column;align-items:flex-start;gap:5px;padding:10px 8px;display:flex}.mf-tile.active{border-color:var(--brand);background:var(--brand-soft)}.mf-tile-ic{height:20px;color:var(--text-muted);place-items:center;display:grid}.mf-tile.active .mf-tile-ic{color:var(--brand)}.mf-tile-dot{background:var(--online);border-radius:50%;width:9px;height:9px}.mf-tile-num{color:var(--text-bright);font-size:20px;font-weight:800;line-height:1}.mf-tile-label{color:var(--text-muted);font-size:11px;line-height:1.2}.mf-tile.active .mf-tile-label{color:var(--text)}.mf-online{gap:var(--sp-3);scrollbar-width:none;margin:0 calc(-1 * var(--sp-4));padding:0 var(--sp-4) 4px;display:flex;overflow-x:auto}.mf-online::-webkit-scrollbar{display:none}.mf-oc{--dot-ring:var(--surface);width:144px;padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;flex:none;align-items:flex-start;display:flex;position:relative}.mf-oc-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:8px;font-weight:700;overflow:hidden}.mf-oc-status{font-size:var(--fs-xs);color:var(--online);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:2px;overflow:hidden}.mf-oc-chat{top:var(--sp-3);right:var(--sp-3);border-radius:var(--r-sm);background:var(--brand-soft);width:34px;height:34px;color:var(--brand);place-items:center;display:grid;position:absolute}.mf-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.mf-row{--dot-ring:var(--surface);padding-right:var(--sp-3);align-items:center;gap:6px;display:flex}.mf-row+.mf-row,.mf-req+.mf-req{border-top:1px solid var(--line)}.mf-row-main{align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-3) var(--sp-2) var(--sp-3) var(--sp-4);text-align:left;flex:1;display:flex}.mf-row-main:active{background:var(--surface-2)}.mf-row-info{flex:1;min-width:0}.mf-row-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-weight:700;display:flex;overflow:hidden}.mf-star{color:#f0b232;flex:none}.mf-row-status{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.mf-row-status.online{color:var(--online)}.mf-ic{border-radius:var(--r-md);background:var(--surface-2);width:40px;height:40px;color:var(--text);flex:none;place-items:center;display:grid}.mf-ic:active{background:var(--surface-3)}.mf-more{flex:none;position:relative}.mf-menu-backdrop{z-index:50;position:fixed;inset:0}.mf-menu{z-index:51;border:1px solid var(--line-strong);border-radius:var(--r-md);min-width:210px;box-shadow:var(--sh-lg);background:#15151d;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.mf-menu button{border-radius:var(--r-sm);text-align:left;color:var(--text);font-size:var(--fs-sm);align-items:center;gap:10px;padding:11px 10px;font-weight:600;display:flex}.mf-menu button:active{background:var(--surface-2)}.mf-menu-danger{color:var(--danger)!important}.mf-req{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);flex-direction:column;display:flex}.mf-req-head{align-items:center;gap:var(--sp-3);display:flex}.mf-req-info{flex:1;min-width:0}.mf-req-actions{gap:8px;display:flex}.mf-req-actions .mf-btn-ghost,.mf-req-actions .mf-btn-primary{text-align:center;flex:1}.mf-btn-ghost{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);padding:9px 14px;font-weight:600}.mf-btn-primary{border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-sm);padding:9px 16px;font-weight:700}.mf-note{margin-top:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:8px;padding:12px 14px;display:flex}.mf-note>svg{flex:none}.mf-form{flex-direction:column;gap:8px;display:flex}.mf-form label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.mf-form input{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-bright);font-size:var(--fs-base);outline:none;padding:11px 12px}.mf-form input:focus{border-color:var(--brand)}.mf-add-msg{font-size:var(--fs-sm);padding:2px 0}.mf-add-msg.ok{color:var(--online)}.mf-add-msg.err{color:var(--danger)}.mf-form-submit{border-radius:var(--r-sm);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:11px;font-weight:700;display:inline-flex}.mf-profile{text-align:center;--dot-ring:#15151d;flex-direction:column;align-items:center;gap:6px;display:flex}.mf-profile-name{font-size:var(--fs-xl);color:var(--text-bright);font-weight:800}.mf-profile-status{font-size:var(--fs-sm);color:var(--text-muted)}.mf-profile-status.online{color:var(--online)}.mf-profile-actions{margin-top:var(--sp-4);gap:8px;width:100%;display:flex}.mf-profile-actions .mf-btn-primary,.mf-profile-actions .mf-btn-ghost{flex:1;justify-content:center;align-items:center;gap:6px;padding:11px;display:inline-flex}.fr-side{flex-direction:column;height:100%;display:flex}.fr-side-title{margin-bottom:var(--sp-4);font-size:var(--fs-xl);color:var(--text-bright);font-weight:800}.fr-filters{flex-direction:column;gap:2px;display:flex}.fr-filter{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-md);padding:10px 12px;font-weight:600;transition:background .14s,color .14s;display:flex}.fr-filter:hover{background:var(--surface-2);color:var(--text-bright)}.fr-filter.active{background:var(--brand-soft);color:var(--text-bright)}.fr-filter-label{text-align:left;flex:1}.fr-filter-count{text-align:center;border-radius:var(--r-pill);background:var(--surface-3);min-width:22px;color:var(--text-muted);font-size:var(--fs-sm);padding:1px 7px;font-weight:700}.fr-filter.active .fr-filter-count{background:var(--brand);color:#fff}.fr-add-btn{margin-top:var(--sp-4);justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--r-md);background:var(--brand);color:#fff;font-size:var(--fs-md);box-shadow:0 4px 14px var(--brand-glow);padding:11px;font-weight:700;transition:background .14s,transform 80ms;display:flex}.fr-add-btn:hover{background:var(--brand-hover)}.fr-add-btn:active{transform:scale(.97)}.fr-note{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);color:var(--text-muted);font-size:var(--fs-sm);margin-top:auto;line-height:1.45;display:flex}.fr-note>svg{color:var(--brand);flex:none;margin-top:1px}.fr-note b{color:var(--text)}.fr-head h1{font-size:var(--fs-3xl);color:var(--text-bright);font-weight:800}.fr-head p{margin:2px 0 var(--sp-5);color:var(--text-muted)}.fr-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-5);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 14px;display:flex}.fr-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.fr-search input::placeholder{color:var(--text-muted)}.fr-search-filter{flex:none}.fr-section{align-items:center;gap:var(--sp-2);margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:700;display:flex}.fr-section:first-child{margin-top:0}.fr-cards{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.fr-card{--dot-ring:var(--surface);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .14s}.fr-card:hover{border-color:var(--line-strong)}.fr-card-top{align-items:center;gap:var(--sp-3);display:flex}.fr-card-meta{min-width:0}.fr-card-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.fr-card-status{font-size:var(--fs-sm);color:var(--text-muted)}.fr-card-status.online{color:var(--online)}.fr-card-actions{gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line);display:flex}.fr-card-actions .fr-btn{flex:1;justify-content:center}.fr-rows{gap:var(--sp-1);flex-direction:column;display:flex}.fr-row{--dot-ring:var(--bg-app);align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--r-md);transition:background .14s;display:flex}.fr-row:hover{background:var(--surface);--dot-ring:var(--surface)}.fr-row-info{flex:1;min-width:0}.fr-row-name{color:var(--text-bright);align-items:center;gap:6px;font-weight:600;display:flex}.fr-star{color:var(--idle)}.fr-row-status{font-size:var(--fs-sm);color:var(--text-muted)}.fr-row-status.online{color:var(--online)}.fr-row-actions{align-items:center;gap:var(--sp-2);display:flex;position:relative}.fr-btn{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-bright);font-size:var(--fs-sm);align-items:center;gap:6px;padding:8px 14px;font-weight:600;transition:background .14s;display:inline-flex}.fr-btn:hover{background:var(--surface-3)}.fr-icon-btn{border-radius:var(--r-sm);background:var(--surface-2);width:38px;height:38px;color:var(--text);flex:none;place-items:center;transition:background .14s,color .14s;display:grid}.fr-icon-btn:hover{background:var(--surface-3);color:var(--text-bright)}.fr-btn-primary{border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-sm);align-items:center;gap:6px;padding:8px 16px;font-weight:700;transition:background .14s;display:inline-flex}.fr-btn-primary:hover{background:var(--brand-hover)}.fr-btn-ghost{border-radius:var(--r-sm);border:1px solid var(--line-strong);color:var(--text);font-size:var(--fs-sm);background:0 0;padding:8px 14px;font-weight:600;transition:background .14s}.fr-btn-ghost:hover{background:var(--surface-2)}.fr-menu-backdrop{z-index:40;position:fixed;inset:0}.fr-menu{z-index:41;border:1px solid var(--line-strong);border-radius:var(--r-md);min-width:210px;box-shadow:var(--sh-lg);background:#15151d;padding:6px;position:absolute;top:calc(100% + 4px);right:0}.fr-menu button{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);width:100%;color:var(--text);font-size:var(--fs-sm);text-align:left;padding:9px 10px;font-weight:600;transition:background .14s;display:flex}.fr-menu button:hover{background:var(--surface-2);color:var(--text-bright)}.fr-menu-danger{color:var(--danger)}.fr-menu-danger:hover{background:#f0436a1f}.fr-empty{align-items:center;gap:var(--sp-3);padding:var(--sp-8);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.fr-dot{background:var(--online);border-radius:50%;flex:none;width:9px;height:9px}.fr-rp-title{margin-bottom:var(--sp-4);font-size:var(--fs-lg);color:var(--text-bright);font-weight:800}.fr-rp-card{--dot-ring:var(--surface);margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.fr-rp-head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);font-weight:700;display:flex}.fr-rp-head>svg{color:var(--idle)}.fr-rp-item{align-items:center;gap:var(--sp-2);padding:6px 0;display:flex}.fr-rp-item-info{min-width:0}.fr-rp-item-name{font-size:var(--fs-sm);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.fr-rp-item-sub{font-size:var(--fs-xs);color:var(--text-muted)}.fr-rp-item-sub.online{color:var(--online)}.fr-rp-empty{padding:var(--sp-2) 0;font-size:var(--fs-sm);color:var(--text-muted)}.fr-rp-link{margin-top:var(--sp-2);color:var(--brand);font-size:var(--fs-sm);font-weight:600}.fr-rp-link:hover{text-decoration:underline}.fr-rp-text{margin-bottom:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.fr-rp-manage{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-bright);font-size:var(--fs-sm);align-items:center;gap:6px;padding:8px 14px;font-weight:600;transition:background .14s;display:inline-flex}.fr-rp-manage:hover{background:var(--surface-3)}.fr-form{flex-direction:column;display:flex}.fr-form label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-weight:700}.fr-form input{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-bright);font-size:var(--fs-md);outline:none;padding:11px 12px}.fr-form input:focus{border-color:var(--brand)}.fr-form-submit{margin-top:var(--sp-4);justify-content:center;padding:11px}.fr-add-msg{margin-top:var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);padding:9px 12px}.fr-add-msg.ok{color:#5fd38a;background:#23a55a1f}.fr-add-msg.err{color:#f5a3b2;background:#f0436a1f}.fr-profile{--dot-ring:#15151d;text-align:center;flex-direction:column;align-items:center;display:flex}.fr-profile-name{margin-top:var(--sp-3);font-size:var(--fs-xl);color:var(--text-bright);font-weight:700}.fr-profile-status{font-size:var(--fs-sm);color:var(--text-muted)}.fr-profile-status.online{color:var(--online)}.fr-profile-actions{gap:var(--sp-2);margin-top:var(--sp-5);display:flex}.fr-profile-actions .fr-btn-primary,.fr-profile-actions .fr-btn-ghost{padding:10px 18px}.mm-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 12px;display:flex}.mm-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-base);background:0 0;border:none;outline:none;flex:1}.mm-search input::placeholder{color:var(--text-muted)}.mm-h2-ic{align-items:center;gap:6px;display:inline-flex}.mm-h2-ic svg{color:var(--brand)}.mm-convo{--dot-ring:var(--surface);align-items:center;gap:var(--sp-2);padding-right:var(--sp-3);display:flex}.mm-convo+.mm-convo{border-top:1px solid var(--line)}.mm-convo-main{align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-3) var(--sp-2) var(--sp-3) var(--sp-4);text-align:left;flex:1;display:flex}.mm-convo-main:active{background:var(--surface-2)}.mm-convo-info{flex:1;min-width:0}.mm-convo-top{align-items:center;gap:var(--sp-2);display:flex}.mm-convo-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.mm-convo-time{font-size:var(--fs-xs);color:var(--text-muted);flex:none;margin-left:auto}.mm-convo-bottom{align-items:center;gap:var(--sp-2);margin-top:2px;display:flex}.mm-convo-last{min-width:0;font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.mm-call,.mm-pin{border-radius:var(--r-md);background:var(--surface-2);width:44px;height:44px;color:var(--text);flex:none;place-items:center;display:grid}.mm-call:active{background:var(--surface-3)}.mm-pin{background:var(--brand-soft);color:var(--brand)}.mm-secure{justify-content:center;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-6);padding:0 var(--sp-4);color:var(--text-muted);font-size:var(--fs-xs);text-align:center;display:flex}.mm-secure>svg{flex:none;margin-top:1px}.mm-empty-link{color:var(--brand);font-weight:600;font-size:var(--fs-sm);margin:10px auto 0;display:block}.mm-new-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 12px;display:flex}.mm-new-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-base);background:0 0;border:none;outline:none;flex:1}.mm-new-list{flex-direction:column;gap:4px;max-height:50vh;display:flex;overflow-y:auto}.mm-new-item{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);text-align:left;color:var(--text-bright);padding:10px;font-weight:600;display:flex}.mm-new-item:active{background:var(--surface-2)}.ms-icon-btn{border-radius:var(--r-sm);background:var(--surface-2);width:38px;height:38px;color:var(--text);flex:none;place-items:center;transition:background .14s,color .14s;display:grid}.ms-icon-btn:hover{background:var(--surface-3);color:var(--text-bright)}.ms-icon-btn.active{background:var(--surface-3);color:var(--brand)}.ms-more-wrap{position:relative}.ms-common-server{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);width:100%;color:var(--text-bright);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 8px;font-weight:600;transition:background .14s;display:flex}.ms-common-server:hover{background:var(--surface-2)}.ms-common-server span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ms-pin-btn{width:28px;height:28px;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer;opacity:0;background:0 0;border:none;flex:none;align-self:center;place-items:center;margin:0 4px;transition:opacity .14s,color .14s,background .14s;display:grid}.ms-row:hover .ms-pin-btn{opacity:1}.ms-pin-btn:hover{background:var(--surface-3);color:var(--text-bright)}.ms-pin-btn.on{opacity:1;color:var(--brand)}.ms-row.own .ms-pin-btn{order:-1}.ms-pinned-item{align-items:flex-start;gap:var(--sp-2);border-radius:var(--r-sm);background:var(--surface-2);padding:8px;display:flex}.ms-pinned-item>svg{color:var(--brand);flex:none;margin-top:2px}.ms-pinned-body{cursor:pointer;flex:1;min-width:0}.ms-pinned-text{font-size:var(--fs-sm);color:var(--text-bright);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ms-pinned-meta{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}.ms-pinned-unpin{width:24px;height:24px;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;display:grid}.ms-pinned-unpin:hover{color:var(--text-bright);background:var(--surface-3)}@keyframes msRowFlash{0%{background:var(--brand-glow)}to{background:0 0}}.ms-row-flash{border-radius:10px;animation:1.6s msRowFlash}.ms-search-bar{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--line);flex:none;padding:8px 14px;display:flex}.ms-search-bar>svg{color:var(--text-muted);flex:none}.ms-search-bar input{min-width:0;color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.ms-search-count{font-size:var(--fs-sm);color:var(--text-muted);flex:none}.ms-search-x{width:28px;height:28px;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;transition:background .14s,color .14s;display:grid}.ms-search-x:hover{background:var(--surface-3);color:var(--text-bright)}.ms-hl{background:var(--brand);color:#fff;border-radius:3px;padding:0 1px}.ms-side{flex-direction:column;height:100%;display:flex}.ms-side-top{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.ms-side-title{font-size:var(--fs-xl);color:var(--text-bright);font-weight:800}.ms-new-btn{justify-content:center;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);border-radius:var(--r-md);background:var(--brand);color:#fff;font-size:var(--fs-md);box-shadow:0 4px 14px var(--brand-glow);padding:11px;font-weight:700;transition:background .14s,transform 80ms;display:flex}.ms-new-btn:hover{background:var(--brand-hover)}.ms-new-btn:active{transform:scale(.97)}.ms-filters{flex-direction:column;gap:2px;display:flex}.ms-filter{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-md);padding:10px 12px;font-weight:600;transition:background .14s,color .14s;display:flex}.ms-filter:hover{background:var(--surface-2);color:var(--text-bright)}.ms-filter.active{background:var(--brand-soft);color:var(--text-bright)}.ms-filter-label{text-align:left;flex:1}.ms-filter-count{text-align:center;border-radius:var(--r-pill);background:var(--surface-3);min-width:22px;color:var(--text-muted);font-size:var(--fs-sm);padding:1px 7px;font-weight:700}.ms-filter.active .ms-filter-count{background:var(--brand);color:#fff}.ms-side-note{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);color:var(--text-muted);font-size:var(--fs-sm);margin-top:auto;line-height:1.45;display:flex}.ms-side-note>svg{color:var(--brand);flex:none;margin-top:1px}.ms-head h1{font-size:var(--fs-2xl);color:var(--text-bright);font-weight:800}.ms-search{align-items:center;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-3);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 14px;display:flex}.ms-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.ms-section{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:700}.ms-convos{gap:var(--sp-2);flex-direction:column;display:flex}.ms-convo{--dot-ring:var(--surface);align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);display:flex}.ms-convo:hover{background:var(--surface-2);border-color:var(--line-strong);--dot-ring:var(--surface-2)}.ms-convo.unread{--dot-ring:var(--surface);background:linear-gradient(90deg, var(--brand-soft), var(--surface));box-shadow:inset 3px 0 0 var(--brand);border-color:#0000}.ms-convo.unread:hover{background:linear-gradient(90deg, var(--brand-soft), var(--surface-2))}.ms-convo-main{align-items:center;gap:var(--sp-3);text-align:left;flex:1;min-width:0;display:flex}.ms-convo-info{flex:1;min-width:0}.ms-convo-top{align-items:center;gap:var(--sp-2);display:flex}.ms-convo-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ms-convo.unread .ms-convo-name{font-weight:700}.ms-new-badge{border-radius:var(--r-pill);background:var(--brand);color:#fff;flex:none;padding:1px 7px;font-size:10px;font-weight:700}.ms-convo-time{font-size:var(--fs-xs);color:var(--text-muted);flex:none;margin-left:auto}.ms-convo-bottom{align-items:center;gap:var(--sp-2);margin-top:2px;display:flex}.ms-convo-last{min-width:0;font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.ms-convo.unread .ms-convo-last{color:var(--text)}.ms-unread{border-radius:var(--r-pill);background:var(--brand);color:#fff;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.ms-convo-actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.ms-act{border-radius:var(--r-md);height:36px;font-size:var(--fs-sm);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.ms-act.write{color:var(--brand);background:var(--brand-soft)}.ms-act.write:hover{background:var(--brand-soft);filter:brightness(1.35)}.ms-act.call,.ms-act.danger{width:36px;padding:0}.ms-act.call{color:#fff;background:var(--brand-grad)}.ms-act.call:hover{filter:brightness(1.1)}.ms-act.danger{color:var(--danger);background:#f0436a1f}.ms-act.danger:hover{color:#fff;background:var(--danger)}@media (width<=1240px){.ms-act.write span{display:none}.ms-act.write{width:36px;padding:0}}.ms-convo-foot{margin-top:var(--sp-4);text-align:center;font-size:var(--fs-sm);color:var(--text-muted)}.ms-empty{padding:var(--sp-8);text-align:center;color:var(--text-muted)}.ms-rp-title{margin-bottom:var(--sp-4);font-size:var(--fs-lg);color:var(--text-bright);font-weight:800}.ms-rp-card{margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.ms-rp-stat{align-items:center;gap:var(--sp-3);display:flex}.ms-rp-ic{border-radius:var(--r-md);background:var(--brand-soft);width:42px;height:42px;color:var(--brand);flex:none;place-items:center;display:grid}.ms-rp-stat b{font-size:var(--fs-2xl);color:var(--text-bright);font-weight:800;line-height:1.1;display:block}.ms-rp-stat span{font-size:var(--fs-sm);color:var(--text-muted)}.ms-new-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-muted);padding:10px 12px;display:flex}.ms-new-search input{color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.ms-new-list{flex-direction:column;gap:2px;max-height:50vh;display:flex;overflow-y:auto}.ms-new-item{--dot-ring:#15151d;align-items:center;gap:var(--sp-3);border-radius:var(--r-sm);color:var(--text-bright);text-align:left;padding:9px 10px;font-weight:600;transition:background .14s;display:flex}.ms-new-item:hover{background:var(--surface-2)}.ms-new-empty{padding:var(--sp-5);text-align:center;color:var(--text-muted)}.ms-center{flex-direction:column;padding:0;display:flex;overflow:hidden}.ms-dlg{flex-direction:column;height:100%;display:flex}.ms-dlg-head{--dot-ring:var(--bg-app);align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line);flex:none;display:flex}.ms-back{display:none}.ms-dlg-meta{flex:1;min-width:0}.ms-dlg-name{color:var(--text-bright);font-weight:700}.ms-dlg-status{font-size:var(--fs-sm);color:var(--text-muted)}.ms-dlg-status.online{color:var(--online)}.ms-dlg-actions{align-items:center;gap:var(--sp-2);display:flex}.ms-msgs{min-height:0;padding:var(--sp-5) var(--sp-6);flex-direction:column;flex:1;gap:3px;display:flex;overflow-y:auto}.ms-day{margin:var(--sp-4) 0 var(--sp-3);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--text-muted);align-self:center;padding:3px 12px}.ms-row{display:flex}.ms-row.own{justify-content:flex-end}.ms-bubble{background:var(--surface);max-width:min(620px,72%);color:var(--text-bright);font-size:var(--fs-md);word-break:break-word;border-radius:14px 14px 14px 5px;padding:8px 12px;line-height:1.45}.ms-row.own .ms-bubble{background:var(--brand);color:#fff;border-bottom-right-radius:5px;border-bottom-left-radius:14px}.ms-bubble img{cursor:pointer;border-radius:10px;max-width:320px;max-height:320px;margin-top:4px;display:block}.ms-file{color:inherit;font-size:var(--fs-sm);background:#0003;border-radius:8px;align-items:center;gap:8px;margin-top:4px;padding:8px 10px;text-decoration:none;display:flex}.ms-time{color:var(--text-muted);margin-left:8px;font-size:11px;display:inline-block}.ms-row.own .ms-time{color:#ffffffb3}.ms-typing{padding:4px var(--sp-6);font-size:var(--fs-sm);color:var(--text-muted);font-style:italic}.ms-composer{gap:var(--sp-2);padding:var(--sp-3) var(--sp-5) var(--sp-5);flex-direction:column;flex:none;display:flex;position:relative}.ms-comp-row{align-items:flex-end;gap:var(--sp-2);display:flex}.ms-comp-ic{width:42px;height:42px;color:var(--text-muted);border-radius:50%;flex:none;place-items:center;transition:background .14s,color .14s;display:grid}.ms-comp-ic:hover{background:var(--surface-2);color:var(--text-bright)}.ms-comp-emoji{color:var(--text-muted);flex:none;place-items:center;transition:color .14s;display:grid}.ms-comp-emoji:hover{color:var(--text-bright)}.ms-emoji{bottom:calc(100% - 6px);right:var(--sp-5);z-index:20;width:286px;max-height:210px;padding:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--sh-lg);background:#15151d;flex-wrap:wrap;gap:2px;display:flex;position:absolute;overflow-y:auto}.ms-emoji-btn{border-radius:var(--r-sm);place-items:center;width:34px;height:34px;font-size:20px;transition:background .14s;display:grid}.ms-emoji-btn:hover{background:var(--surface-2)}.ms-attach{align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);align-self:flex-start;max-width:100%;padding:8px 10px;display:flex}.ms-attach-thumb{object-fit:cover;border-radius:6px;flex:none;width:34px;height:34px}.ms-attach-name{font-size:var(--fs-sm);color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.ms-attach-size{font-size:var(--fs-xs);color:var(--text-muted)}.ms-attach-x{color:var(--text-muted);border-radius:4px;margin-left:4px;padding:3px}.ms-attach-x:hover{color:var(--danger);background:var(--surface-2)}.ms-attach-load{font-size:var(--fs-sm);color:var(--text-muted)}.ms-attach-err{font-size:var(--fs-sm);color:#f5a3b2}.ms-comp-field{align-items:flex-end;gap:var(--sp-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);flex:1;min-width:0;padding:10px 16px;transition:border-color .14s;display:flex}.ms-comp-field:focus-within{border-color:var(--brand)}.ms-comp-field.multiline{border-radius:var(--r-lg)}.ms-comp-field input,.ms-comp-field textarea{min-width:0;color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.ms-comp-field textarea{resize:none;max-height:140px;margin:0;padding:0;font-family:inherit;line-height:1.4;display:block}.ms-send{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;transition:background .14s,transform 80ms;display:grid}.ms-send:hover{background:var(--brand-hover)}.ms-send:active{transform:scale(.94)}.ms-send:disabled{opacity:.5;cursor:default}.ms-info-head{--dot-ring:var(--bg-app);text-align:center;padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);flex-direction:column;align-items:center;display:flex}.ms-info-name{margin-top:var(--sp-3);font-size:var(--fs-lg);color:var(--text-bright);font-weight:700}.ms-info-status{font-size:var(--fs-sm);color:var(--text-muted)}.ms-info-status.online{color:var(--online)}.ms-info-nick{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;color:var(--text-bright);font-size:var(--fs-md);outline:none;padding:9px 12px}.ms-info-nick:focus{border-color:var(--brand)}.ms-info-hint{font-size:var(--fs-xs);color:var(--text-muted);margin-top:4px}.ms-info-sec{margin-top:var(--sp-5);margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--text-bright);font-weight:700}.ms-info-list{gap:var(--sp-2);flex-direction:column;display:flex}.ms-info-file{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.ms-info-file>svg{flex:none}.ms-info-file a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.ms-info-file a:hover{color:var(--brand)}.ms-info-empty{font-size:var(--fs-sm);color:var(--text-muted)}.ms-dot{background:var(--brand);border-radius:50%;flex:none;width:9px;height:9px}.mc-create-btn{border-radius:var(--r-md);background:var(--brand);color:#fff;height:40px;font-size:var(--fs-sm);flex:none;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.mc-create-btn:active{background:var(--brand-hover)}.mc-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 12px;display:flex}.mc-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-base);background:0 0;border:none;outline:none;flex:1}.mc-list{gap:var(--sp-3);flex-direction:column;display:flex}.mc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);position:relative;overflow:hidden}.mc-accent{width:100%;height:4px}.mc-main{width:100%;padding:var(--sp-4);text-align:left;display:block}.mc-main:active{background:var(--surface-2)}.mc-top{align-items:center;gap:var(--sp-3);display:flex}.mc-info{flex:1;min-width:0}.mc-name{font-size:var(--fs-md);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding-right:30px;font-weight:700;display:flex;overflow:hidden}.mc-badge{border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);flex:none;padding:2px 8px;font-size:11px;font-weight:700}.mc-meta{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px}.mc-avatars{margin-top:var(--sp-3);align-items:center;display:flex}.mc-mini{box-shadow:0 0 0 2px var(--surface);margin-left:-8px}.mc-mini:first-child{margin-left:0}.mc-more{border-radius:var(--r-pill);background:var(--surface-2);height:24px;color:var(--text-muted);align-items:center;margin-left:6px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.mc-star{top:calc(4px + var(--sp-4));right:var(--sp-4);z-index:2;border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);place-items:center;display:grid;position:absolute}.mc-star.on{color:#f0b232}.mc-form{flex-direction:column;gap:8px;display:flex}.mc-form label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.mc-form input{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-bright);font-size:var(--fs-base);outline:none;padding:11px 12px}.mc-form input:focus{border-color:var(--brand)}.mc-msg{font-size:var(--fs-sm);padding:2px 0}.mc-msg.ok{color:var(--online)}.mc-msg.err{color:var(--danger)}.mc-form-submit{border-radius:var(--r-sm);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:6px;margin-top:2px;padding:11px;font-weight:700;display:inline-flex}.mc-form-submit.ghost{background:var(--surface-2);color:var(--text)}.mc-form-divider{margin:var(--sp-4) 0;color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:10px;display:flex}.mc-form-divider:before,.mc-form-divider:after{content:"";background:var(--line);flex:1;height:1px}.cm-side{flex-direction:column;height:100%;display:flex}.cm-side-title{margin-bottom:var(--sp-4);font-size:var(--fs-xl);color:var(--text-bright);font-weight:800}.cm-filters{flex-direction:column;gap:2px;display:flex}.cm-filter{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-md);padding:10px 12px;font-weight:600;transition:background .14s,color .14s;display:flex}.cm-filter:hover{background:var(--surface-2);color:var(--text-bright)}.cm-filter.active{background:var(--brand-soft);color:var(--text-bright)}.cm-filter-label{text-align:left;flex:1}.cm-filter-count{text-align:center;border-radius:var(--r-pill);background:var(--surface-3);min-width:22px;color:var(--text-muted);font-size:var(--fs-sm);padding:1px 7px;font-weight:700}.cm-filter.active .cm-filter-count{background:var(--brand);color:#fff}.cm-list-head h1{font-size:var(--fs-2xl);color:var(--text-bright);font-weight:800}.cm-list-head p{margin:2px 0 var(--sp-5);color:var(--text-muted)}.cm-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 14px;display:flex}.cm-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.cm-cards{gap:var(--sp-3);flex-direction:column;display:flex}.cm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .14s;position:relative;overflow:hidden}.cm-card:hover{border-color:var(--line-strong)}.cm-accent{width:100%;height:4px}.cm-card-row{--dot-ring:var(--surface);align-items:center;gap:var(--sp-4);padding:var(--sp-4);display:flex}.cm-card-info{flex:1;min-width:0}.cm-card-name{align-items:center;gap:var(--sp-2);font-size:var(--fs-lg);color:var(--text-bright);font-weight:700;display:flex}.cm-badge{border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);font-size:var(--fs-xs);text-transform:uppercase;padding:2px 8px;font-weight:700}.cm-card-sub{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.cm-card-avatars{margin-top:var(--sp-3);align-items:center;display:flex}.cm-mini{box-shadow:0 0 0 2px var(--surface);margin-left:-8px}.cm-mini:first-child{margin-left:0}.cm-more{margin-left:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted)}.cm-open{border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-sm);flex:none;padding:9px 20px;font-weight:700;transition:background .14s,transform 80ms}.cm-open:hover{background:var(--brand-hover)}.cm-open:active{transform:scale(.96)}.cm-empty{padding:var(--sp-8);text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.cm-rp-title{margin-bottom:var(--sp-4);font-size:var(--fs-lg);color:var(--text-bright);font-weight:800}.cm-rp-card{margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.cm-rp-head{font-size:var(--fs-base);color:var(--text-bright);font-weight:700}.cm-rp-text{margin:var(--sp-1) 0 var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.cm-rp-input{width:100%;margin:var(--sp-3) 0 var(--sp-2);background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-bright);font-size:var(--fs-md);outline:none;padding:10px 12px}.cm-rp-input:focus{border-color:var(--brand)}.cm-rp-btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);background:var(--surface-2);width:100%;color:var(--text-bright);font-size:var(--fs-sm);padding:10px;font-weight:700;transition:background .14s;display:inline-flex}.cm-rp-btn:hover{background:var(--surface-3)}.cm-rp-btn.primary{background:var(--brand);color:#fff}.cm-rp-btn.primary:hover{background:var(--brand-hover)}.cm-rp-btn:disabled{opacity:.6;cursor:default}.cm-msg{margin-top:var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-sm);padding:8px 12px}.cm-msg.ok{color:#5fd38a;background:#23a55a1f}.cm-msg.err{color:#f5a3b2;background:#f0436a1f}.cm-form{flex-direction:column;display:flex}.cm-form label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-weight:700}.cm-form input,.cm-form textarea,.cm-form select{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-bright);font-size:var(--fs-md);resize:vertical;outline:none;padding:11px 12px;font-family:inherit}.cm-form input:focus,.cm-form textarea:focus,.cm-form select:focus{border-color:var(--brand)}.cm-form-submit{margin-top:var(--sp-4);padding:11px}.cmu-layout{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100%;display:grid}.cmu-nav{border-right:1px solid var(--line);padding:var(--sp-4);overflow-y:auto}.cmu-body{min-width:0;height:100%;overflow:hidden}.cmu-missing{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.cmu-missing h1{color:var(--text-bright)}.cmu-back{margin-bottom:var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:4px;font-weight:600;display:inline-flex}.cmu-back:hover{color:var(--brand)}.cmu-back-ic{transform:rotate(180deg)}.cmu-srv{align-items:center;gap:var(--sp-3);padding:var(--sp-3);margin-bottom:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex}.cmu-srv-meta{min-width:0}.cmu-srv-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.cmu-srv-sub{font-size:var(--fs-sm);color:var(--text-muted)}.cmu-sections{flex-direction:column;gap:2px;display:flex}.cmu-section{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-md);padding:10px 12px;font-weight:600;text-decoration:none;transition:background .14s,color .14s;display:flex}.cmu-section:hover{background:var(--surface-2);color:var(--text-bright)}.cmu-section.active{background:var(--brand-soft);color:var(--text-bright)}.cmu-2col{grid-template-columns:minmax(0, 1fr) var(--rightpanel-w);height:100%;display:grid}.cmu-2col.no-right{grid-template-columns:minmax(0,1fr)}.cmu-center{padding:var(--sp-6) var(--sp-8);overflow-y:auto}.cmu-right{border-left:1px solid var(--line);padding:var(--sp-5);overflow-y:auto}.cmu-head h1{font-size:var(--fs-2xl);color:var(--text-bright);font-weight:800}.cmu-head p{margin:2px 0 var(--sp-5);color:var(--text-muted)}.cmu-head-row{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.cmu-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 14px;display:flex}.cmu-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.cmu-sec{margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:700}.cmu-sec-head{justify-content:space-between;align-items:center;display:flex}.cmu-link{color:var(--brand);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.cmu-link:hover{text-decoration:underline}.cmu-empty{padding:var(--sp-6);text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.cmu-dot{background:var(--online);border-radius:50%;flex:none;width:9px;height:9px}.cmu-banner{--dot-ring:var(--surface);align-items:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-wrap:wrap;display:flex}.cmu-banner-info{flex:220px}.cmu-banner-info h1{font-size:var(--fs-2xl);color:var(--text-bright);overflow-wrap:anywhere;font-weight:800}.cmu-banner-stats{gap:var(--sp-4);margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.cmu-banner-stats span{align-items:center;gap:6px;display:inline-flex}.cmu-invite-btn{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-sm);flex:none;padding:10px 18px;font-weight:700;transition:background .14s;display:inline-flex}.cmu-invite-btn:hover{background:var(--brand-hover)}.cmu-members-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.cmu-member-chip{--dot-ring:var(--surface);align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-bright);padding:8px 10px;font-weight:600;display:flex}.cmu-member-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmu-soon-block{align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--brand);display:flex}.cmu-soon-block b{color:var(--text-bright)}.cmu-soon-block p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.cmu-disc-list{gap:var(--sp-2);flex-direction:column;display:flex}.cmu-disc-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;transition:background .15s,border-color .15s;display:flex}.cmu-disc-row:hover{background:var(--surface-inset);border-color:var(--line-strong)}.cmu-disc-ic{border-radius:var(--r-sm);background:var(--surface-inset);width:36px;height:36px;color:var(--brand);flex:none;place-items:center;display:grid}.cmu-disc-info{flex:1;min-width:0}.cmu-disc-title{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:flex;overflow:hidden}.cmu-disc-pin{color:var(--brand);flex:none}.cmu-disc-sub{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.cmu-soon-page{text-align:center;max-width:520px;margin:12vh auto 0}.cmu-soon-ic{width:64px;height:64px;margin-bottom:var(--sp-3);border-radius:var(--r-lg);background:var(--brand-soft);color:var(--brand);place-items:center;display:inline-grid}.cmu-soon-page h1{font-size:var(--fs-2xl);color:var(--text-bright);margin-bottom:var(--sp-2);font-weight:800}.cmu-soon-page p{color:var(--text-muted);line-height:1.55}.cmu-soon-note{align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.cmu-soon-note>svg{color:var(--brand);flex:none}.cmu-invite-text{margin-bottom:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted)}.cmu-invite-code{align-items:center;gap:var(--sp-2);display:flex}.cmu-invite-code code{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-bright);font-size:var(--fs-lg);letter-spacing:.05em;flex:1;padding:11px 14px}.cmu-rp-title{margin-bottom:var(--sp-4);font-size:var(--fs-lg);color:var(--text-bright);font-weight:800}.cmu-rp-card{margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.cmu-rp-row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.cmu-rp-row span{color:var(--text-muted)}.cmu-rp-row b{color:var(--text-bright)}.cmu-soon{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.cmu-soon>svg{color:var(--brand);flex:none}.cmu-mlist{gap:var(--sp-1);flex-direction:column;display:flex}.cmu-mrow{--dot-ring:var(--bg-app);align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--r-md);transition:background .14s;display:flex}.cmu-mrow:hover{background:var(--surface);--dot-ring:var(--surface)}.cmu-mrow-info{flex:1;min-width:0}.cmu-mrow-name{align-items:center;gap:var(--sp-2);color:var(--text-bright);font-weight:600;display:flex}.cmu-role{border-radius:var(--r-pill);font-size:var(--fs-xs);text-transform:uppercase;padding:1px 8px;font-weight:700}.cmu-role.owner{color:var(--idle);background:#f0b23229}.cmu-role.mod{background:var(--brand-soft);color:var(--brand)}.cmu-role.admin{color:var(--danger);background:#f0436a29}.cmu-mrow-status{font-size:var(--fs-sm);color:var(--text-muted)}.cmu-mrow-status.online{color:var(--online)}.cmu-mrow-actions{flex:none;position:relative}.cmu-mrow-more{border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-muted);place-items:center;display:grid}.cmu-mrow-more:hover{color:var(--text-bright);background:var(--surface-2)}.cmu-roles{gap:var(--sp-2);flex-direction:column;display:flex}.cmu-role-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex}.cmu-role-ic{border-radius:var(--r-sm);background:var(--surface-2);width:34px;height:34px;color:var(--text-muted);flex:none;place-items:center;display:grid}.cmu-role-ic.owner{color:var(--idle);background:#f0b23229}.cmu-role-ic.mod{background:var(--brand-soft);color:var(--brand)}.cmu-role-ic.admin{color:var(--danger);background:#f0436a29}.cmu-role-info{flex:1;min-width:0}.cmu-role-name{font-size:var(--fs-sm);color:var(--text-bright);font-weight:700}.cmu-role-desc{font-size:var(--fs-xs);color:var(--text-muted)}.cmu-role-count{color:var(--text-bright);font-weight:800}.cmu-vlist{gap:var(--sp-2);flex-direction:column;display:flex}.cmu-vrow{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex}.cmu-vic{border-radius:var(--r-sm);background:var(--brand-soft);width:40px;height:40px;color:var(--brand);flex:none;place-items:center;display:grid}.cmu-vrow-info{flex:1;min-width:0}.cmu-vrow-name{color:var(--text-bright);font-weight:600}.cmu-vrow-sub{font-size:var(--fs-sm);color:var(--text-muted)}.cmu-vbtn{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);flex:none;padding:8px 18px;font-weight:700;transition:background .14s}.cmu-vbtn:disabled{cursor:default}.cmu-vbtn.join{background:var(--brand);color:#fff}.cmu-vbtn.join:hover{background:var(--brand-hover)}.cmu-vbtn.leave{color:var(--danger);background:#f0436a29}.cmu-vbtn.leave:hover{background:#f0436a3d}.cmu-vroom{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.cmu-vroom.active{border-color:var(--brand-ring)}.cmu-vroom-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);display:flex}.cmu-vparts{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.cmu-vpart{--dot-ring:var(--surface);border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text-bright);border:1px solid #0000;align-items:center;gap:6px;padding:4px 11px 4px 4px;font-weight:600;display:flex}.cmu-vpart.speaking{border-color:var(--online)}.cmu-vmute{color:var(--text-muted)}.cmu-ev-list{gap:var(--sp-2);flex-direction:column;display:flex}.cmu-ev-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex}.cmu-ev-card.live{border-color:var(--online)}.cmu-ev-when{border-radius:var(--r-sm);background:var(--brand-soft);width:40px;height:40px;color:var(--brand);flex:none;place-items:center;display:grid}.cmu-ev-card.live .cmu-ev-when{color:var(--online);background:#23c56229}.cmu-ev-info{flex:1;min-width:0}.cmu-ev-title{align-items:center;gap:var(--sp-2);color:var(--text-bright);font-weight:700;display:flex}.cmu-ev-livebadge{border-radius:var(--r-pill);color:var(--online);font-size:var(--fs-xs);text-transform:uppercase;background:#23c56229;padding:1px 8px;font-weight:700}.cmu-ev-desc{font-size:var(--fs-sm);color:var(--text-muted);margin-top:1px}.cmu-ev-meta{font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.cmu-ev-actions{flex:none;align-items:center;gap:6px;display:flex}.cmu-ev-rsvp{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);padding:7px 12px;font-weight:600;transition:background .14s}.cmu-ev-rsvp:hover{background:var(--surface-3)}.cmu-ev-rsvp.yes{background:var(--brand);color:#fff}.cmu-ev-rsvp.no{color:var(--danger);background:#f0436a29}.cmu-ev-del{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);place-items:center;display:grid}.cmu-ev-del:hover{color:var(--danger);background:var(--surface-2)}.cmm-layout{background:var(--bg-app);flex-direction:column;height:100%;display:flex}.cmm-header{align-items:center;gap:var(--sp-2);padding:calc(env(safe-area-inset-top) + 10px) var(--sp-3) 10px;flex:none;display:flex}.cmm-back{border-radius:var(--r-md);width:36px;height:36px;color:var(--text-muted);flex:none;place-items:center;margin-left:-6px;display:grid}.cmm-back:active{background:var(--surface-2);color:var(--text-bright)}.cmm-srv-name{min-width:0;font-size:var(--fs-lg);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:800;overflow:hidden}.cmm-more-wrap{flex:none;position:relative}.cmm-tabs{scrollbar-width:none;padding:0 var(--sp-3) 8px;flex:none;gap:4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.cmm-tabs::-webkit-scrollbar{display:none}.cmm-tab{border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-md);white-space:nowrap;flex:none;padding:8px 14px;font-weight:600;text-decoration:none}.cmm-tab.active{background:var(--brand);color:#fff}.cmm-body{flex:1;min-height:0;overflow:hidden}.cmm-body .cmu-2col{grid-template-columns:minmax(0,1fr)}.cmm-body .cmu-right{display:none}.cmm-body .cmu-center{padding:var(--sp-4) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom))}.cmm-body .cmu-banner{gap:var(--sp-3);padding:var(--sp-4);flex-wrap:wrap}.cmm-body .cmu-banner-info h1{font-size:var(--fs-xl)}.cmm-body .cmu-invite-btn{flex-basis:100%;justify-content:center;padding:11px}.cmm-body .cmu-head h1,.cmm-body .ds-head h1,.cmm-body .th-header-main h1{font-size:var(--fs-xl)}.cmm-body .ds-head{align-items:stretch;gap:var(--sp-3);flex-direction:column}.cmm-body .ds-new{justify-content:center}.cmm-body .cmu-head-row{align-items:stretch;gap:var(--sp-3);flex-direction:column}.cmm-body .cmu-head-row .cmu-invite-btn{flex:1;justify-content:center}.cmm-body .cmu-ev-card{flex-wrap:wrap}.cmm-body .cmu-ev-actions{margin-top:var(--sp-2);flex-wrap:wrap;flex-basis:100%}.cmm-body .th-scroll{padding:var(--sp-4)}.cmm-body .th-post.reply{margin-left:var(--sp-5)}.cmm-body .th-composer{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.ds-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.ds-head h1{font-size:var(--fs-2xl);color:var(--text-bright);font-weight:800}.ds-head p{color:var(--text-muted);margin-top:2px}.ds-new{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);background:var(--brand);color:#fff;font-size:var(--fs-sm);flex:none;padding:10px 16px;font-weight:700;transition:background .14s,transform 80ms;display:inline-flex}.ds-new:hover{background:var(--brand-hover)}.ds-new:active{transform:scale(.97)}.ds-new:disabled{opacity:.6;cursor:default}.ds-search{align-items:center;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-3);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-muted);padding:10px 14px;display:flex}.ds-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.ds-chips{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.ds-chip{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:6px;padding:7px 14px;font-weight:600;transition:background .14s,color .14s;display:inline-flex}.ds-chip:hover{color:var(--text-bright)}.ds-chip.active{background:var(--brand-soft);color:var(--brand)}.ds-list{gap:var(--sp-3);flex-direction:column;display:flex}.ds-card{width:100%;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;transition:border-color .14s,background .14s;display:block}.ds-card:hover{border-color:var(--line-strong);background:var(--surface-2)}.ds-card.pinned{border-color:var(--brand-ring)}.ds-pinned-label{margin-bottom:var(--sp-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--brand);align-items:center;gap:5px;font-weight:700;display:inline-flex}.ds-card-top{gap:var(--sp-3);display:flex}.ds-card-ic{border-radius:var(--r-md);background:var(--brand-soft);width:40px;height:40px;color:var(--brand);flex:none;place-items:center;display:grid}.ds-card-main{flex:1;min-width:0}.ds-card-title{font-size:var(--fs-lg);color:var(--text-bright);font-weight:700}.ds-card-preview{font-size:var(--fs-sm);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.ds-card-tags{margin-top:var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.ds-tag{border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-muted);font-size:var(--fs-xs);padding:2px 9px;font-weight:600;transition:color .14s,background .14s}.ds-tag:hover{background:var(--brand-soft);color:var(--brand)}.ds-tag b{color:var(--text)}.ds-card-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line);display:flex}.ds-card-author{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text);font-weight:600;display:inline-flex}.ds-card-stats{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.ds-empty{padding:var(--sp-8);text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.ds-rp-title{margin-bottom:var(--sp-3);font-size:var(--fs-lg);color:var(--text-bright);font-weight:800}.ds-rp-title:not(:first-child){margin-top:var(--sp-5)}.ds-rp-card{padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.ds-rp-empty{font-size:var(--fs-sm);color:var(--text-muted)}.ds-tagcloud{flex-wrap:wrap;gap:6px;display:flex}.ds-recent{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);width:100%;color:var(--text);text-align:left;padding:8px 6px;transition:background .14s;display:flex}.ds-recent:hover{background:var(--surface-2)}.ds-recent>svg{color:var(--brand);flex:none}.ds-recent-info{min-width:0}.ds-recent-title{font-size:var(--fs-sm);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ds-recent-sub{font-size:var(--fs-xs);color:var(--text-muted)}.ds-form{flex-direction:column;display:flex}.ds-form label{margin:var(--sp-2) 0 6px;font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.ds-form label:first-child{margin-top:0}.ds-form input,.ds-form textarea{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-bright);font-size:var(--fs-md);resize:vertical;outline:none;padding:11px 12px;font-family:inherit}.ds-form input:focus,.ds-form textarea:focus{border-color:var(--brand)}.ds-form-submit{margin-top:var(--sp-4);justify-content:center;padding:11px}.ds-back{margin-bottom:var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:4px;font-weight:600;display:inline-flex}.ds-back:hover{color:var(--brand)}.th-main{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.th-scroll{min-height:0;padding:var(--sp-6) var(--sp-8);flex:1;overflow-y:auto}.th-header{gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;position:relative}.th-header-ic{border-radius:var(--r-md);background:var(--brand-soft);width:46px;height:46px;color:var(--brand);flex:none;place-items:center;display:grid}.th-header-main{flex:1;min-width:0}.th-header-main h1{font-size:var(--fs-2xl);color:var(--text-bright);align-items:center;gap:8px;font-weight:800;display:flex}.th-pin-ic{color:var(--brand);flex:none}.th-header-tags{margin-top:var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.th-header-stats{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted)}.th-more-wrap{flex:none;position:relative}.th-more{border-radius:var(--r-sm);width:38px;height:38px;color:var(--text-muted);place-items:center;display:grid}.th-more:hover{background:var(--surface-2);color:var(--text-bright)}.th-posts{gap:var(--sp-1);flex-direction:column;display:flex}.th-post{gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);display:flex}.th-post:hover{background:var(--surface)}.th-post.reply{margin-left:var(--sp-8)}.th-post-body{flex:1;min-width:0}.th-post-head{align-items:baseline;gap:var(--sp-2);display:flex}.th-post-author{color:var(--text-bright);font-weight:700}.th-post-time{font-size:var(--fs-xs);color:var(--text-muted)}.th-post-content{font-size:var(--fs-md);color:var(--text);white-space:pre-wrap;word-break:break-word;margin-top:3px;line-height:1.5}.th-post-actions{margin-top:var(--sp-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.th-react{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--text);align-items:center;gap:5px;padding:3px 9px;transition:background .14s,border-color .14s;display:inline-flex}.th-react span{color:var(--text-muted);font-weight:700}.th-react:hover{border-color:var(--line-strong)}.th-react.mine{background:var(--brand-soft);border-color:var(--brand-ring)}.th-react.mine span{color:var(--brand)}.th-react-add{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);width:32px;height:26px;color:var(--text-muted);place-items:center;display:grid}.th-react-add:hover{color:var(--text-bright);border-color:var(--line-strong)}.th-reply-btn{border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:5px;padding:3px 10px;font-weight:600;display:inline-flex}.th-reply-btn:hover{color:var(--brand);background:var(--surface-2)}.th-emoji{max-width:300px;margin-top:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--sh-md);background:#15151d;flex-wrap:wrap;gap:2px;display:flex}.th-emoji-btn{border-radius:var(--r-sm);place-items:center;width:32px;height:32px;font-size:19px;transition:background .14s;display:grid}.th-emoji-btn:hover{background:var(--surface-2)}.th-emoji-composer{bottom:calc(100% - 4px);right:var(--sp-5);z-index:20;max-height:200px;box-shadow:var(--sh-lg);position:absolute;overflow-y:auto}.th-composer{padding:var(--sp-3) var(--sp-5) var(--sp-5);border-top:1px solid var(--line);flex:none;position:relative}.th-replying{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);background:var(--surface-2);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-muted);padding:7px 12px;display:flex}.th-replying b{color:var(--text-bright)}.th-replying button{color:var(--text-muted);border-radius:4px;padding:2px}.th-replying button:hover{color:var(--danger)}.th-comp-row{align-items:center;gap:var(--sp-2);display:flex}.th-comp-field{align-items:center;gap:var(--sp-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);flex:1;padding:10px 16px;transition:border-color .14s;display:flex}.th-comp-field:focus-within{border-color:var(--brand)}.th-comp-field input{color:var(--text-bright);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1}.th-comp-emoji{color:var(--text-muted);flex:none;place-items:center;display:grid}.th-comp-emoji:hover{color:var(--text-bright)}.th-send{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;transition:background .14s,transform 80ms;display:grid}.th-send:hover{background:var(--brand-hover)}.th-send:active{transform:scale(.94)}.th-send:disabled{opacity:.5;cursor:default}.th-rp-title{margin-bottom:var(--sp-3);font-size:var(--fs-lg);color:var(--text-bright);font-weight:800}.th-rp-sub{margin-top:var(--sp-5)}.th-rp-card{margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.th-rp-row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.th-rp-row span{color:var(--text-muted)}.th-rp-row b{color:var(--text-bright)}.th-pinned-card{align-items:center;gap:var(--sp-2);color:var(--brand);font-size:var(--fs-sm);font-weight:600;display:flex}.th-participants{flex-wrap:wrap;gap:6px;display:flex}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-rail:#0a0a0f;--bg-channels:#0f0f15;--bg-main:#0c0c12;--bg-input:#1a1a23;--card:#16161f;--card-hover:#1d1d28;--border:#ffffff12;--text:#c9ccd6;--text-muted:#8a8d99;--text-bright:#f3f4f8;--accent:#7c5cff;--accent-hover:#6a4af0;--accent-soft:#7c5cff24;--active:#20202b;--danger:#f0436a;--online:#2dd46f}body{background:var(--bg-main);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#root{height:100vh}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input{font-family:inherit}*,:before,:after{transition:background-color var(--t-base) var(--ease), color var(--t-base) var(--ease), border-color var(--t-base) var(--ease), outline-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), fill var(--t-base) var(--ease), stroke var(--t-base) var(--ease), opacity var(--t-base) var(--ease)}button,a,select,input,textarea,summary,[role=button],.member,.friend-row,.cm-arrow{transition:background-color var(--t-base) var(--ease), color var(--t-base) var(--ease), border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), opacity var(--t-base) var(--ease), filter var(--t-base) var(--ease), transform var(--t-fast) var(--ease)}.cm-item:hover .cm-arrow{transform:translate(3px)}.center{justify-content:center;align-items:center;height:100vh;display:flex}.auth-card{background:var(--bg-channels);border-radius:12px;flex-direction:column;width:380px;padding:32px;display:flex;box-shadow:0 8px 24px #00000059}.auth-logo{filter:drop-shadow(0 8px 22px #7c5cff66);width:108px;height:108px;margin:0 auto 4px;animation:4s ease-in-out infinite ghostFloat;display:block}@keyframes ghostFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.auth-card .logo{text-align:center;background:linear-gradient(100deg,#5865f2,#8a5cf6,#c08cff,#8a5cf6,#5865f2) 0 0/220%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:32px;animation:6s linear infinite logoShimmer}@keyframes logoShimmer{to{background-position:220%}}.auth-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:24px}.auth-card label{text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:700}.auth-card input{color:var(--text-bright);background:#1e1f22;border:1px solid #1e1f22;border-radius:6px;outline:none;margin-bottom:16px;padding:10px 12px;font-size:15px}.auth-card input:focus{border-color:var(--accent)}.auth-card .error{color:#f5a3a5;background:#f23f431a;border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:14px}button.primary{background:linear-gradient(135deg, var(--accent), #9d6bff);color:#fff;border-radius:6px;padding:11px;font-size:15px;font-weight:600;transition:filter .15s,opacity .15s}button.primary:hover{filter:brightness(1.08)}button.primary:disabled{opacity:.6;cursor:default}button.link{color:var(--text-muted);margin-top:12px;font-size:14px}button.link:hover{color:var(--text);text-decoration:underline}.chat{height:100vh;display:flex}.servers-rail{background:var(--bg-rail);flex-direction:column;align-items:center;gap:8px;width:72px;padding:12px 0;display:flex;overflow-y:auto}.server-icon{background:var(--bg-channels);width:48px;height:48px;color:var(--text-bright);border-radius:24px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:600;transition:border-radius .18s,background .18s,transform .12s;display:flex}.server-icon:hover,.server-icon.active{background:var(--accent);border-radius:16px}.server-icon:active{transform:scale(.88)}.server-icon.download{color:#23a55a;cursor:pointer;margin-top:auto;text-decoration:none}.server-icon.download:hover{color:#fff;background:#23a55a;border-radius:16px}.download-app{box-sizing:border-box;color:#fff;background:#23a55a;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:11px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.download-app:hover{background:#1e9150}.channels{background:var(--bg-channels);flex-direction:column;width:240px;display:flex}.server-name{color:var(--text-bright);justify-content:space-between;align-items:center;gap:8px;padding:16px;font-weight:700;display:flex;box-shadow:0 1px #0003}.server-name-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.channel-list{flex:1;padding:8px;overflow-y:auto}.channel{text-align:left;width:100%;color:var(--text-muted);border-radius:4px;align-items:center;gap:6px;margin-bottom:2px;padding:8px 10px;font-size:15px;transition:background .15s,color .15s;display:flex;position:relative}.channel:hover{color:var(--text);background:#ffffff0a}.channel.active{background:var(--active);color:var(--text-bright)}.channel:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:18px;transition:transform .2s cubic-bezier(.2,.8,.3,1);position:absolute;top:50%;left:-8px;transform:translateY(-50%)scaleY(0)}.channel.active:before{transform:translateY(-50%)scaleY(1)}.hash{color:var(--text-muted);font-weight:600}.user-bar{border-top:1px solid var(--border);background:#00000038;align-items:center;gap:8px;padding:8px 8px 8px 10px;display:flex}.user-bar-meta{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.user-bar .me{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.user-bar-sub{color:var(--online);font-size:11px;font-weight:600}.user-bar-gear{width:34px;height:34px;color:var(--text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .12s;display:flex}.user-bar-gear svg{width:20px;height:20px;transition:transform .25s}.user-bar-gear:hover{color:var(--text-bright);background:#ffffff0f}.user-bar-gear:hover svg{transform:rotate(40deg)}.user-bar-gear:active{transform:scale(.92)}.avatar{background:var(--accent);color:#fff;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex;position:relative}.avatar.small{width:32px;height:32px;font-size:14px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.channel-header{color:var(--text-bright);align-items:center;gap:6px;padding:14px 16px;font-weight:700;display:flex;box-shadow:0 1px #0003}.messages{flex-direction:column;flex:1;gap:0;padding:16px;display:flex;overflow-y:auto}.empty{color:var(--text-muted);text-align:center;margin:auto}.message{gap:12px;margin-top:17px;animation:.22s msgIn;display:flex;position:relative}.message-body{min-width:0}.message-head{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.author{color:var(--text-bright);font-weight:600}.time{color:var(--text-muted);font-size:12px}.content{color:var(--text);word-wrap:break-word;line-height:1.4}.composer{align-items:center;gap:8px;padding:0 16px 20px;display:flex;position:relative}.composer input{background:var(--bg-input);min-width:0;color:var(--text-bright);border:none;border-radius:8px;outline:none;flex:1;padding:12px 16px;font-size:15px}.composer input::placeholder{color:var(--text-muted)}.composer input:disabled{opacity:.5}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.server-icon.add{background:var(--bg-channels);color:#23a55a;font-size:24px;font-weight:400}.server-icon.add:hover{color:#fff;background:#23a55a;border-radius:16px}.add-channel{color:var(--text-muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;line-height:1;display:flex}.add-channel:hover{color:var(--text-bright);background:#ffffff0f}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;animation:.18s overlayIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-channels);border-radius:12px;flex-direction:column;width:360px;padding:24px;animation:.22s cubic-bezier(.2,.8,.3,1) modalIn;display:flex;box-shadow:0 8px 24px #0006}.modal-x{width:30px;height:30px;color:var(--text-muted);z-index:2;border-radius:8px;justify-content:center;align-self:flex-end;align-items:center;margin:0 -8px -30px 0;transition:background .15s,color .15s,transform .1s;display:flex;position:sticky;top:0}.modal-x:hover{color:var(--text-bright);background:#ffffff14}.modal-x:active{transform:scale(.9)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.modal h2{color:var(--text-bright);margin-bottom:16px;font-size:20px}.modal input{color:var(--text-bright);background:#1e1f22;border:1px solid #1e1f22;border-radius:6px;outline:none;margin-bottom:16px;padding:10px 12px;font-size:15px}.modal input:focus{border-color:var(--accent)}.modal-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.modal-actions .primary{padding:10px 20px}.modal-actions .link{margin-top:0}.server-actions{gap:2px;display:flex}.icon-btn{color:var(--text-muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:flex}.modal>form{flex-direction:column;display:flex}.hint-text{color:var(--text-muted);margin-bottom:16px;font-size:14px}.invite-code{gap:8px;margin-bottom:16px;display:flex}.invite-code code{color:var(--text-bright);letter-spacing:2px;text-align:center;-webkit-user-select:all;user-select:all;background:#1e1f22;border-radius:6px;flex:1;padding:12px;font-family:Consolas,monospace;font-size:18px}.copy{background:var(--accent);color:#fff;white-space:nowrap;border-radius:6px;padding:0 16px;font-size:14px;font-weight:600}.copy:hover{background:var(--accent-hover)}.copy:disabled{opacity:.5}.modal-actions .link.left{margin-right:auto}.members{background:var(--bg-channels);flex-shrink:0;width:200px;padding:16px 8px;overflow-y:auto}.members-title{text-transform:uppercase;color:var(--text-muted);padding:0 8px 8px;font-size:12px;font-weight:700}.members-title:not(:first-child){margin-top:16px}.member{border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.member:hover{background:#ffffff0a}.member.offline .avatar,.member.offline .member-name{opacity:.4}.member-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.online-dot{background:var(--online);border:2.5px solid var(--bg-channels);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-2px;right:-2px}.date-divider{text-align:center;color:var(--text-muted);align-items:center;margin:16px 0 4px;font-size:12px;font-weight:600;display:flex}.date-divider:before,.date-divider:after{content:"";background:#ffffff0f;flex:1;height:1px}.date-divider span{padding:0 12px}.message.grouped{margin-top:2px}.message-gutter{flex-shrink:0;justify-content:flex-end;align-items:center;width:40px;padding-right:4px;display:flex}.hover-time{color:var(--text-muted);opacity:0;font-size:10px}.message.grouped:hover .hover-time{opacity:1}.channel.voice .vicon{margin-right:2px}.voice-group{margin-bottom:2px}.voice-member{color:var(--text-muted);align-items:center;gap:6px;padding:3px 10px 3px 30px;font-size:13px;display:flex}.vdot{background:#23a55a;border-radius:50%;flex-shrink:0;width:8px;height:8px}.voice-member-wrap{margin-bottom:1px}.voice-member .vm-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vm-vol-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px;font-size:12px;line-height:1}.voice-member:hover .vm-vol-btn,.vm-vol-btn.on{opacity:1}.vm-vol-btn:hover{background:var(--card-hover)}.vm-vol{flex-direction:column;gap:6px;padding:2px 10px 8px 30px;display:flex}.vm-vol-row{align-items:center;gap:8px;display:flex}.vm-mute{color:var(--text);background:#ffffff0f;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.vm-mute:hover{background:var(--card-hover);color:var(--text-bright)}.vm-mute.on{color:#f5a3a5;background:#f0436a24}.vm-vol input[type=range]{min-width:0;accent-color:var(--accent);cursor:pointer;flex:1}.vm-vol-val{color:var(--text-muted);text-align:right;flex-shrink:0;width:34px;font-size:11px}.voice-bar{background:linear-gradient(180deg, #2dd46f14, #2dd46f00), var(--card);border:1px solid #2dd46f38;border-radius:10px;align-items:center;gap:8px;margin:0 8px 8px;padding:7px 7px 7px 12px;display:flex}.voice-bar-info{flex-direction:column;flex:1;min-width:0;display:flex}.voice-bar-status{color:var(--online);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.voice-bar-status.err{color:var(--danger)}.vb-signal{background:var(--online);border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:2.4s ease-in-out infinite presencePulse}.vb-signal.ring{animation:1s ease-in-out infinite presencePulse}.voice-bar-status.err .vb-signal{background:var(--danger);animation:none}.voice-bar-channel{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.voice-bar-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.vb-ic{width:34px;height:34px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .1s;display:flex}.vb-ic svg{width:20px;height:20px}.vb-ic:hover{color:var(--text-bright);background:#ffffff14}.vb-ic:active{transform:scale(.9)}.vb-ic.off{color:var(--danger);background:#f0436a1f}.vb-ic.leave{color:var(--text-muted)}.vb-ic.leave:hover{color:#fff;background:var(--danger)}.type-toggle{gap:8px;margin-bottom:16px;display:flex}.type-opt{color:var(--text-muted);background:#1e1f22;border:1px solid #0000;border-radius:6px;flex:1;padding:10px;font-size:14px;font-weight:600}.type-opt:hover{color:var(--text)}.type-opt.active{border-color:var(--accent);color:var(--text-bright);background:#5865f21a}.menu-btn,.members-btn,.mobile-overlay{display:none}@media (width<=768px){body,#root,.chat,.center{height:100dvh}.servers-rail{z-index:50;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-312px)}.channels{z-index:50;transition:transform .2s;position:fixed;top:0;bottom:0;left:72px;transform:translate(-312px)}.chat.sidebar-open .servers-rail,.chat.sidebar-open .channels{transform:translate(0)}.mobile-overlay{z-index:40;background:#00000080;position:fixed;inset:0}.chat.sidebar-open .mobile-overlay,.chat.members-open .mobile-overlay{display:block}.main{width:100%}.members{z-index:50;width:240px;max-width:80%;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(260px)}.chat.members-open .members{transform:translate(0)}.menu-btn{width:34px;height:34px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;margin-right:4px;font-size:20px;display:flex}.menu-btn:hover{background:#ffffff0f}.members-btn{width:34px;height:34px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;margin-left:auto;font-size:18px;display:flex}.members-btn:hover{background:#ffffff0f}.auth-card,.modal{width:90%}}.emoji-toggle{background:var(--bg-input);border-radius:8px;flex-shrink:0;width:44px;height:44px;font-size:20px}.emoji-toggle:hover{background:#40434a}.emoji-toggle:disabled{opacity:.5}.attach-btn{background:var(--bg-input);border-radius:8px;flex-shrink:0;width:44px;height:44px;font-size:20px}.attach-btn:hover{background:#40434a}.attach-btn:disabled{opacity:.5;cursor:default}.composer-field{background:var(--bg-input);border:1px solid #0000;border-radius:8px;flex:1;align-items:center;gap:2px;min-width:0;padding-right:6px;transition:border-color .2s,box-shadow .2s;display:flex}.composer-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-field input{min-width:0;color:var(--text-bright);background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:12px 4px 12px 14px;font-size:15px}.composer-field .emoji-toggle{background:0 0;width:36px;height:36px;font-size:19px}.composer-field .emoji-toggle:hover{background:#ffffff0f}.send-btn{background:var(--accent);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;transition:background .15s,transform .1s;display:flex}.send-btn:hover{background:var(--accent-hover)}.send-btn:not(:disabled):hover{transform:scale(1.08)}.send-btn:not(:disabled):active{transform:scale(.9)}.send-btn:disabled{color:var(--text-muted);cursor:default;background:0 0}.attachment-preview{background:var(--bg-channels);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;bottom:64px;left:16px;right:16px;box-shadow:0 8px 24px #0006}.ap-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:40px;height:40px}.ap-icon{flex-shrink:0;font-size:26px}.ap-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.ap-size{color:var(--text-muted);flex-shrink:0;font-size:12px}.ap-info{color:var(--text-muted);font-size:14px}.ap-error{color:var(--danger);font-size:14px}.ap-remove{color:var(--text-muted);border-radius:6px;flex-shrink:0;width:28px;height:28px;margin-left:auto;font-size:16px}.ap-remove:hover{color:var(--text-bright);background:#ffffff14}.attachment-image-link{margin-top:4px;display:inline-block}.attachment-image{cursor:pointer;border-radius:8px;max-width:min(400px,100%);max-height:300px;display:block}.attachment-file{background:var(--bg-input);max-width:400px;color:inherit;border-radius:8px;align-items:center;gap:12px;margin-top:4px;padding:10px 14px;text-decoration:none;display:flex}.attachment-file:hover{background:#40434a}.af-icon{flex-shrink:0;font-size:26px}.af-meta{flex-direction:column;min-width:0;display:flex}.af-name{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.af-size{color:var(--text-muted);font-size:12px}.af-download{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:18px}.emoji-popup{background:var(--bg-channels);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;max-height:220px;padding:8px;display:grid;position:absolute;bottom:64px;left:16px;right:16px;overflow-y:auto;box-shadow:0 8px 24px #0006}.emoji{background:0 0;border-radius:6px;padding:4px;font-size:22px;line-height:1}.emoji:hover{background:#ffffff14}.icon-btn.danger:hover{color:#fff;background:var(--danger)}.primary.danger{background:var(--danger)}.primary.danger:hover{background:#c93b3e}.channel-row{align-items:center;display:flex}.channel-row .channel{flex:1;min-width:0}.channel-gear{color:var(--text-muted);opacity:.45;border-radius:4px;flex-shrink:0;width:26px;height:30px;font-size:13px}.channel-row:hover .channel-gear{opacity:1}.channel-gear:hover{color:var(--text-bright);background:#ffffff0f}.settings-actions{flex-direction:column;gap:8px;margin-top:18px;margin-bottom:12px;display:flex}.settings-actions button{border-radius:6px;padding:10px;font-size:14px;font-weight:600}.btn-warn{color:#f0b232;background:#f0b23226}.btn-warn:hover{color:#1a1a1a;background:#f0b232}.btn-danger{color:#f5a3a5;background:#f23f4326}.btn-danger:hover{background:var(--danger);color:#fff}.message-delete{background:var(--bg-input);color:var(--text-muted);opacity:0;border-radius:6px;padding:4px 6px;font-size:13px;line-height:1;position:absolute;top:-8px;right:8px;box-shadow:0 1px 4px #0000004d}.message:hover .message-delete{opacity:1}.message-delete:hover{color:#fff;background:var(--danger)}.admin-badge{text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--accent);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.admin-user-list{flex-direction:column;gap:6px;max-height:50vh;margin:8px 0;display:flex;overflow-y:auto}.admin-user-row{background:var(--bg-input);border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.au-meta{flex-direction:column;flex:1;min-width:0;display:flex}.au-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.au-stats{color:var(--text-muted);font-size:12px}.btn-danger.small{border-radius:6px;flex-shrink:0;padding:6px 9px;font-size:14px}.server-icon.home{background:var(--bg-channels);color:var(--text);font-size:20px}.server-icon.home.active,.server-icon.home:hover{background:var(--accent);color:#fff;border-radius:16px}.rail-divider{background:var(--bg-channels);border-radius:1px;flex-shrink:0;width:32px;height:2px;margin:2px 0 6px}.dm-home-btn{text-align:left;width:100%;color:var(--text-muted);border-radius:6px;padding:8px 10px;font-size:15px;font-weight:600;display:block}.dm-home-btn:hover,.dm-home-btn.active{background:var(--active);color:var(--text-bright)}.dm-section{text-transform:uppercase;color:var(--text-muted);letter-spacing:.4px;padding:14px 10px 4px;font-size:11px;font-weight:700}.dm-empty{color:var(--text-muted);padding:6px 10px;font-size:13px}.dm-item{width:100%;color:var(--text-muted);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:background .15s,color .15s;display:flex}.dm-item:hover,.dm-item.active{background:var(--active);color:var(--text-bright)}.dm-item-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.dm-head-avatar{margin-right:2px}.dm-head-name{color:var(--text-bright);font-weight:700}.dm-head-status{color:#23a55a;margin-left:8px;font-size:12px;font-weight:500}.friends-panel{flex-direction:column;flex:1;min-width:0;display:flex}.friends-title{color:var(--text-bright);font-weight:700}.friends-body{flex:1;padding:16px;overflow-y:auto}.add-friend input{background:var(--bg-input);min-width:0;color:var(--text-bright);border:none;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:15px}.add-friend-msg{color:var(--text-muted);margin-bottom:8px;font-size:13px}.friend-row{border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.friend-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.friend-status,.friend-pending{color:var(--text-muted);flex-shrink:0;font-size:12px}.primary.small{border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:13px}.server-icon{position:relative}.rail-unread{background:var(--danger);border:2px solid var(--bg-rail);border-radius:6px;width:12px;height:12px;position:absolute;bottom:2px;right:2px}.unread-badge{background:var(--danger);color:#fff;text-align:center;border-radius:9px;flex-shrink:0;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.channel.unread,.dm-item.unread{color:var(--text-bright);font-weight:600}.settings-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin:14px 0 6px;font-size:12px;font-weight:700;display:block}.settings-row{align-items:center;gap:8px;display:flex}.settings-input{flex:1;min-width:0;margin-bottom:0!important}.settings-hint{color:var(--text-muted);margin-top:6px;font-size:12px}.settings-select{width:100%;color:var(--text-bright);background:#1e1f22;border:1px solid #1e1f22;border-radius:6px;outline:none;padding:10px 12px;font-size:14px}.settings-select:focus{border-color:var(--accent)}.settings-toggles{flex-direction:column;gap:2px;display:flex}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;display:flex}.toggle-text{flex-direction:column;gap:2px;min-width:0;display:flex}.toggle-title{color:var(--text-bright);font-size:14px}.toggle-sub{color:var(--text-muted);font-size:12px}.toggle-switch{appearance:none;cursor:pointer;background:#4f545c;border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .15s;position:relative}.toggle-switch:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-switch:checked{background:#23a55a}.toggle-switch:checked:before{transform:translate(18px)}.modal{max-height:85vh;overflow-y:auto}.call-bar{background:linear-gradient(180deg, #2dd46f1a, #2dd46f00), var(--card)}.dm-call-btn{background:var(--bg-input);border-radius:8px;flex-shrink:0;width:36px;height:36px;margin-left:auto;font-size:17px}.dm-call-btn:hover{background:#248046}.dm-head-status.offline{color:var(--text-muted)}.friend-status.online{color:#23a55a}.call-incoming{text-align:center;align-items:center;width:320px}.call-avatar{border-radius:36px;width:72px;height:72px;margin:4px auto 12px;font-size:28px;animation:1.2s ease-in-out infinite callpulse}@keyframes callpulse{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.7)}}.call-actions{justify-content:center;gap:12px;margin-top:16px;display:flex}.call-accept,.call-decline{border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}.call-accept{color:#fff;background:#248046}.call-accept:hover{background:#1a6334}.call-decline{background:var(--danger);color:#fff}.call-decline:hover{background:#c93b3e}.call-note{background:var(--bg-channels);color:var(--text-bright);z-index:50;border-radius:8px;padding:10px 18px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.friend-call{background:var(--bg-input);border-radius:8px;flex-shrink:0;width:32px;height:32px;font-size:15px}.friend-call:hover{background:#248046}.friend-remove{width:30px;height:30px;color:var(--text-muted);border-radius:8px;flex-shrink:0;font-size:16px}.friend-remove:hover{color:#fff;background:var(--danger)}.typing-indicator{color:var(--text-muted);padding:2px 18px 4px;font-size:13px;font-style:italic}.voice-member.speaking{color:#23a55a}.voice-member.speaking .vdot{background:#23a55a;box-shadow:0 0 6px #23a55a}.call-bar.speaking{box-shadow:inset 0 0 0 2px #23a55a}.call-participants{flex-wrap:wrap;justify-content:center;gap:40px;display:flex}.call-participant{flex-direction:column;align-items:center;gap:12px;display:flex}.call-avatar-big{color:#fff;border-radius:55px;justify-content:center;align-items:center;width:110px;height:110px;font-size:42px;font-weight:600;transition:box-shadow .1s;display:flex}.call-avatar-big.speaking{box-shadow:0 0 0 4px #23a55a}.call-participant-name{color:var(--text-bright);font-size:16px;font-weight:600}.call-screen-status{color:var(--text-muted);font-size:15px}.call-screen-controls{gap:16px;display:flex}.call-ctrl{background:var(--bg-input);border-radius:28px;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;display:flex}.call-ctrl:hover{background:#40434a}.call-ctrl.muted{background:var(--danger)}.call-ctrl.hangup{background:var(--danger);color:#fff}.call-ctrl.hangup:hover{background:#c93b3e}.dm-search{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.dm-search-icon{color:var(--text-muted);flex-shrink:0}.dm-search input{min-width:0;color:var(--text-bright);background:0 0;border:none;outline:none;flex:1;font-size:14px}.dm-search input::placeholder{color:var(--text-muted)}.offline-dot{background:var(--bg-rail);border:2.5px solid #5d6069;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.friends-title{color:var(--text-bright);align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.friends-title svg{color:var(--accent)}.friends-body{padding:18px 24px 28px}.friends-tabs{gap:8px;margin-bottom:18px;display:flex}.friends-tab{color:var(--text-muted);background:var(--card);border:1px solid var(--border);border-radius:20px;align-items:center;gap:7px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.friends-tab:hover{color:var(--text-bright);background:var(--card-hover)}.friends-tab.active{color:#fff;background:linear-gradient(135deg, var(--accent), #9d6bff);border-color:#0000}.tab-badge{background:var(--danger);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.friends-tab.active .tab-badge{background:#00000047}.add-friend-card{background:var(--card);border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:18px;margin-bottom:26px;padding:22px 24px;display:flex}.add-friend-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.add-friend-main{flex:1;min-width:0}.add-friend-heading{color:var(--text-bright);margin-bottom:4px;font-size:20px;font-weight:800}.add-friend-sub{color:var(--text-muted);margin-bottom:16px;font-size:14px}.add-friend{gap:12px;margin-bottom:0;display:flex}.add-friend input{background:var(--bg-input);border:1px solid var(--border);min-width:0;height:48px;color:var(--text-bright);border-radius:10px;outline:none;flex:1;padding:0 16px;font-size:15px}.add-friend input:focus{border-color:var(--accent)}.add-friend input::placeholder{color:var(--text-muted)}.add-friend .primary{white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;height:48px;padding:0 22px;display:inline-flex}.add-friend-msg{color:var(--text-muted);margin-top:10px;font-size:13px}.friends-section{margin-top:22px}.friends-section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin-bottom:10px;font-size:12px;font-weight:700}.friend-row{background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:12px 16px;display:flex}.friend-row:hover{background:var(--card-hover)}.friend-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.friend-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:15px;font-weight:700;overflow:hidden}.friend-status{color:var(--text-muted);font-size:13px}.friend-status.online{color:var(--online);font-weight:600}.friend-pending{color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;flex-shrink:0;padding:7px 12px;font-size:13px}.friend-action{border-radius:10px;flex-shrink:0;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:14px;font-weight:600;transition:background .15s,color .15s,filter .15s;display:inline-flex}.friend-action.write{color:var(--accent);background:var(--accent-soft)}.friend-action.write:hover{background:#7c5cff3d}.friend-action.call{color:#fff;background:linear-gradient(135deg, var(--accent), #9d6bff);justify-content:center;width:38px;padding:0}.friend-action.call:hover{filter:brightness(1.1)}.friend-action.danger{width:38px;color:var(--danger);background:#f0436a1f;justify-content:center;padding:0}.friend-action.danger:hover{background:var(--danger);color:#fff}.friend-row .primary.small{border-radius:10px;height:38px;padding:0 16px;font-size:14px}.ghost-btn{height:38px;color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border);border-radius:10px;flex-shrink:0;padding:0 16px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.ghost-btn:hover{color:var(--text-bright);background:var(--card-hover)}.friends-empty{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;margin-top:22px;padding:40px 20px 28px;display:flex}.friends-empty-art{width:220px;max-width:70%;height:auto;margin-bottom:18px}.friends-empty-title{color:var(--text-bright);margin-bottom:8px;font-size:20px;font-weight:800}.friends-empty-text{color:var(--text-muted);max-width:430px;margin-bottom:20px;font-size:14px;line-height:1.5}.friends-empty-btn{align-items:center;gap:8px;padding:11px 22px;display:inline-flex}@media (width<=768px){.friends-body{padding:14px 14px 24px}.add-friend-card{flex-direction:column;gap:14px;padding:16px}.add-friend{flex-direction:column}.add-friend input{flex:none;width:100%;height:50px;font-size:16px}.add-friend .primary{width:100%}.friend-action.write{justify-content:center;width:38px;padding:0}.friend-action.write span{display:none}}.channel-category{justify-content:space-between;align-items:center;padding:16px 8px 4px;display:flex}.channel-category-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.channel-category-label:hover{color:var(--text-bright)}.cat-chevron{font-size:12px;line-height:1;transition:transform .15s;display:inline-block}.cat-chevron.collapsed{transform:rotate(-90deg)}.channel-category-add{color:var(--text-muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:18px;line-height:1;display:flex}.channel-category-add:hover{color:var(--text-bright);background:#ffffff0f}.side-invite{background:var(--card);border:1px solid var(--border);text-align:left;border-radius:12px;flex-shrink:0;align-items:center;gap:10px;margin:8px;padding:12px;display:flex}.side-invite:hover{background:var(--card-hover)}.side-invite-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.side-invite-text{flex-direction:column;flex:1;min-width:0;display:flex}.side-invite-title{color:var(--text-bright);font-size:13px;font-weight:700}.side-invite-sub{color:var(--text-muted);font-size:12px}.side-invite-arrow{color:var(--text-muted);flex-shrink:0;font-size:18px}.header-invite{color:#fff;background:linear-gradient(135deg, var(--accent), #9d6bff);border-radius:9px;flex-shrink:0;align-items:center;gap:7px;height:36px;margin-left:auto;padding:0 16px;font-size:14px;font-weight:600;transition:filter .15s;display:inline-flex}.header-invite:hover{filter:brightness(1.08)}.welcome-banner{border:1px solid var(--border);background:linear-gradient(135deg,#7c5cff29,#7c5cff0a);border-radius:16px;flex-shrink:0;margin-bottom:16px;padding:22px 24px;position:relative}.welcome-close{width:28px;height:28px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;top:14px;right:14px}.welcome-close:hover{color:var(--text-bright);background:#ffffff14}.welcome-head{align-items:center;gap:18px;margin-bottom:18px;display:flex}.welcome-mascot{flex-shrink:0;width:96px;height:96px}.welcome-title{color:var(--text-bright);margin-bottom:4px;font-size:22px;font-weight:800}.welcome-sub{color:var(--text-muted);font-size:14px}.welcome-actions{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.welcome-card{background:var(--card);border:1px solid var(--border);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:14px;transition:background .15s;display:flex}.welcome-card:hover{background:var(--card-hover)}.welcome-card-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;font-weight:700;display:flex}.welcome-card-icon.purple{color:#a78bfa;background:#7c5cff29}.welcome-card-icon.blue{color:#7c9cff;background:#5b8cff29}.welcome-card-icon.green{color:#2dd46f;background:#2dd46f29}.welcome-card-text{flex-direction:column;flex:1;min-width:0;display:flex}.welcome-card-title{color:var(--text-bright);font-size:14px;font-weight:700}.welcome-card-sub{color:var(--text-muted);font-size:12px}.welcome-card-arrow{color:var(--text-muted);flex-shrink:0;font-size:18px}.members-head{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:6px;padding:2px 8px 12px;font-size:12px;font-weight:800}.member-meta{flex-direction:column;flex:1;min-width:0;display:flex}.member-status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.member-status.online{color:var(--online)}.member-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.member-badge.admin{color:#fff;background:var(--accent)}.member-badge.owner{color:#f0c869;background:#f0c86924}@media (width<=768px){.header-invite{display:none}.welcome-head{text-align:center;flex-direction:column;gap:10px}.welcome-mascot{width:80px;height:80px}.welcome-title{font-size:19px}.welcome-banner{padding:18px 16px}}.call-screen{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:0;min-height:0;padding:0;display:flex}.call-top{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:12px 18px;display:flex}.call-top-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.call-top-info{min-width:0}.call-top-title{color:var(--text-bright);font-size:16px;font-weight:800}.call-top-sub{color:var(--online);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.call-body{flex:1;gap:14px;min-height:0;padding:14px;display:flex}.call-stage{border:1px solid var(--border);background:radial-gradient(circle at 50% 38%, #7c5cff33, #0c0c1200 62%), var(--card);border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex;position:relative;overflow:hidden}.call-viz{justify-content:center;align-items:center;width:170px;height:170px;display:flex;position:relative}.call-viz:before,.call-viz:after{content:"";opacity:0;border:2px solid #7c5cff73;border-radius:50%;width:130px;height:130px;position:absolute}.call-viz.speaking:before{animation:1.8s ease-out infinite callpulse}.call-viz.speaking:after{animation:1.8s ease-out .9s infinite callpulse}.call-avatar-xl{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;font-size:52px;font-weight:700;transition:box-shadow .2s;display:flex;position:relative;box-shadow:0 0 0 6px #7c5cff2e,0 14px 44px #7c5cff59}.call-viz.speaking .call-avatar-xl{box-shadow:0 0 0 8px #2dd46f40,0 14px 50px #2dd46f66}.call-stage-name{color:var(--text-bright);font-size:22px;font-weight:800}.call-stage-status{color:var(--accent);font-size:14px;font-weight:600}.call-speaking{border:1px solid var(--border);color:var(--text);opacity:0;background:#00000052;border-radius:16px;align-items:center;gap:8px;padding:5px 14px;font-size:13px;transition:opacity .15s;display:inline-flex}.call-speaking.on{opacity:1}.eq{height:14px;color:var(--online);align-items:center;gap:2px;display:inline-flex}.eq i{background:currentColor;border-radius:2px;width:3px;height:100%;animation:.9s ease-in-out infinite eqbar}.eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}.eq i:nth-child(4){animation-delay:.45s}@keyframes eqbar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.call-self{border:1px solid var(--border);cursor:pointer;background:#0006;border-radius:14px;flex-direction:column;align-items:center;gap:8px;width:150px;padding:16px 12px;transition:border-color .15s,transform .12s,box-shadow .15s;display:flex;position:absolute;bottom:16px;right:16px}.call-self:hover{border-color:var(--accent);box-shadow:0 6px 22px #0006}.call-self:active{transform:scale(.97)}.call-self-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;transition:box-shadow .15s;display:flex}.call-self-avatar.speaking{box-shadow:0 0 0 3px var(--online)}.call-self-name{color:var(--text-bright);font-size:13px;font-weight:600}.call-self-mute{color:var(--danger);display:flex;position:absolute;top:10px;right:10px}.call-side{background:var(--card);border:1px solid var(--border);border-radius:18px;flex-direction:column;flex-shrink:0;gap:6px;width:320px;min-height:0;padding:16px;display:flex}.call-side-head{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-bottom:2px;font-size:12px;font-weight:800}.call-chat-head{border-top:1px solid var(--border);margin-top:8px;padding-top:14px}.call-part{border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.call-part:hover{background:var(--card-hover)}.call-vol{align-items:center;gap:8px;padding:4px 10px 10px;display:flex}.call-vol-icon{flex-shrink:0;font-size:13px}.call-vol input[type=range]{min-width:0;accent-color:var(--accent);cursor:pointer;flex:1}.call-vol-val{color:var(--text-muted);text-align:right;flex-shrink:0;width:38px;font-size:12px}.call-mic{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.call-mic.off{color:var(--danger)}.call-vol-mute{opacity:.85;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:13px;line-height:1}.call-vol-mute:hover{opacity:1;background:var(--card-hover)}.call-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-content:center;gap:14px;width:100%;max-width:720px;padding:20px;display:grid}.call-grid-tile{border:1px solid var(--border);background:#00000040;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:22px 12px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.call-grid-tile.speaking{border-color:var(--online);box-shadow:0 0 0 1px var(--online)}.call-grid-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:28px;font-weight:700;display:flex}.call-grid-name{max-width:100%;color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.call-grid-mute{color:var(--danger);display:flex;position:absolute;top:10px;right:10px}.call-add-list{flex-direction:column;gap:4px;max-height:320px;margin-top:4px;display:flex;overflow-y:auto}.call-add-row{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;transition:background .15s;display:flex}.call-add-row:hover{background:var(--card-hover)}.call-add-name{min-width:0;color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.call-add-go{color:var(--accent);flex-shrink:0;font-size:13px;font-weight:600}.call-chat-msgs{flex-direction:column;flex:1;gap:10px;min-height:70px;padding:4px 4px 0 0;display:flex;overflow-y:auto}.call-chat-empty{text-align:center;color:var(--text-muted);margin:auto 0;font-size:13px}.call-msg{flex-direction:column;gap:2px;display:flex}.call-msg-head{align-items:baseline;gap:6px;display:flex}.call-msg-name{color:var(--text-bright);font-size:13px;font-weight:700}.call-msg-time{color:var(--text-muted);font-size:11px}.call-msg-text{color:var(--text);word-wrap:break-word;overflow-wrap:anywhere;font-size:14px}.call-chat-form{align-items:center;gap:8px;display:flex}.call-chat-form input{background:var(--bg-input);border:1px solid var(--border);min-width:0;color:var(--text-bright);border-radius:10px;outline:none;flex:1;padding:10px 12px;font-size:14px}.call-chat-form input:focus{border-color:var(--accent)}.call-chat-send{background:linear-gradient(135deg, var(--accent), #9d6bff);color:#fff;border-radius:10px;flex-shrink:0;width:40px;height:40px;font-size:16px}.call-chat-send:disabled{opacity:.5}.call-dock{border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding:14px;display:flex}.call-dock-btn{width:84px;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;font-size:12px;transition:color .15s;display:flex}.call-dock-ic{background:var(--bg-input);width:48px;height:48px;color:var(--text-bright);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s,filter .15s;display:flex}.call-dock-btn:not(.soon):hover .call-dock-ic{background:var(--card-hover)}.call-dock-btn.off .call-dock-ic{background:var(--danger);color:#fff}.call-dock-btn.active .call-dock-ic{background:var(--accent-soft);color:var(--accent)}.call-dock-btn.soon{opacity:.4;cursor:not-allowed}.call-dock-btn.hangup .call-dock-ic{background:var(--danger);color:#fff;transform:rotate(135deg)}.call-dock-btn.hangup:hover .call-dock-ic{filter:brightness(1.1)}.call-dock-lbl{white-space:nowrap}@media (width<=768px){.call-body{flex-direction:column;gap:10px;padding:10px;position:relative}.call-stage{min-height:230px}.call-side{width:auto;display:none}.call-side.open{z-index:5;display:flex;position:absolute;inset:0}.call-avatar-xl{width:104px;height:104px;font-size:40px}.call-viz{width:140px;height:140px}.call-viz:before,.call-viz:after{width:104px;height:104px}.call-self{width:104px;padding:10px 8px;bottom:10px;right:10px}.call-self-avatar{width:42px;height:42px;font-size:17px}.call-dock{gap:4px;padding:10px}.call-dock-btn{width:62px;padding:6px 3px;font-size:11px}.call-dock-ic{width:40px;height:40px}.call-dock-lbl{font-size:10px}}.call-video-main{background:#000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.call-video-main video{object-fit:contain;width:100%;height:100%}.call-video-label{border:1px solid var(--border);color:#fff;background:#0000008c;border-radius:10px;padding:5px 12px;font-size:13px;font-weight:600;position:absolute;bottom:14px;left:14px}.call-self-video{object-fit:cover;background:#000;border-radius:10px;width:100%;height:82px}.call-quality-head{justify-content:space-between;align-items:center;width:100%;margin-top:8px;display:flex}.call-quality-head .cat-chevron{color:var(--text-muted);font-size:14px}.call-quality-card{background:var(--bg-input);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.cqc-bars{height:22px;color:var(--text-muted);flex-shrink:0;align-items:flex-end;gap:3px;display:inline-flex}.cqc-bars i{background:currentColor;border-radius:2px;width:4px}.cqc-bars i:first-child{height:40%}.cqc-bars i:nth-child(2){height:70%}.cqc-bars i:nth-child(3){height:100%}.call-quality-card.q-good .cqc-bars,.call-quality-card.q-good .cqc-title{color:var(--online)}.call-quality-card.q-poor .cqc-bars,.call-quality-card.q-poor .cqc-title{color:#f0a83c}.call-quality-card.q-lost .cqc-bars,.call-quality-card.q-lost .cqc-title{color:var(--danger)}.cqc-meta{flex-direction:column;min-width:0;display:flex}.cqc-title{color:var(--text-bright);font-size:15px;font-weight:700}.cqc-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:12px;overflow:hidden}.reconnect{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.reconnect-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin-bottom:6px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.reconnect-title{color:var(--text-bright);font-size:17px;font-weight:700}.reconnect-sub{color:var(--text-muted);font-size:14px}.reconnect .link{margin-top:8px}.messages,.call-chat-msgs,.dm-head-name,.content,.call-msg-text{-webkit-user-select:text;user-select:text}.msg-link{color:#7ca8ff;word-break:break-all;text-decoration:none}.msg-link:hover{text-decoration:underline}.channel-header{gap:8px;min-height:60px;padding:10px 14px}.ch-title{color:var(--text-bright);align-items:center;gap:6px;min-width:0;font-weight:700;display:inline-flex}.header-icons{align-items:center;gap:4px;margin-left:auto;display:flex}.head-ic{width:36px;height:36px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.head-ic svg{width:20px;height:20px}.head-ic:hover{color:var(--text-bright);background:#ffffff0d}.head-ic.on{color:var(--accent);background:var(--accent-soft)}.header-icons .header-invite{margin-left:6px}.dm-head-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.dm-head-meta .dm-head-status{margin-left:0;font-size:12px}.info-panel{background:var(--bg-channels);border-left:1px solid var(--border);flex-shrink:0;width:300px;transition:width .32s cubic-bezier(.2,.8,.3,1),opacity .26s,border-left-width .32s cubic-bezier(.2,.8,.3,1);overflow:hidden}.info-panel.closed{opacity:0;pointer-events:none;border-left-width:0;width:0}.info-panel-inner{width:300px;height:100%;padding-bottom:16px;overflow-y:auto}.info-profile{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;padding:28px 16px 18px;display:flex}.info-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:12px;font-size:34px;font-weight:700;display:flex;position:relative}.info-avatar .online-dot,.info-avatar .offline-dot{border:4px solid var(--bg-channels);border-radius:50%;width:20px;height:20px;position:absolute;bottom:5px;right:5px}.info-avatar .online-dot{background:var(--online)}.info-avatar .offline-dot{background:var(--text-muted)}.info-name{color:var(--text-bright);text-align:center;font-size:19px;font-weight:800}.info-status{color:var(--text-muted);margin-top:3px;font-size:13px}.info-status.online{color:var(--online)}.info-note{background:var(--card);border-radius:10px;margin:14px;padding:10px 12px}.info-note-head{color:var(--text);align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.info-note-head svg{width:15px;height:15px;color:var(--text-muted)}.info-note-input{resize:none;width:100%;color:var(--text);background:0 0;border:none;outline:none;font-family:inherit;font-size:13px;line-height:1.4}.info-note-input::placeholder{color:var(--text-muted)}.info-nick-input{background:var(--input,#1e1f22);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;outline:none;padding:7px 9px;font-family:inherit;font-size:14px}.info-nick-input:focus{border-color:var(--accent,#5865f2)}.info-nick-input::placeholder{color:var(--text-muted)}.info-nick-hint{color:var(--text-muted);margin-top:5px;font-size:11px}.info-section{border-top:1px solid var(--border);padding:14px 16px}.info-section-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:800;display:flex}.info-section-title svg{width:15px;height:15px}.info-section-arrow{font-size:17px;line-height:1}.info-empty-sm{color:var(--text-muted);font-size:13px}.info-server{border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px;display:flex}.info-server:hover{background:var(--card-hover)}.info-server-icon{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:flex}.info-server-meta{text-align:left;flex-direction:column;min-width:0;display:flex}.info-server-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.info-server-sub{color:var(--text-muted);font-size:12px}.info-server-arrow{color:var(--text-muted);margin-left:auto;font-size:18px}.info-media-empty{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.info-media-emptytitle{color:var(--text);font-size:13px;font-weight:600}.info-media-emptysub{color:var(--text-muted);font-size:12px}.info-links{flex-direction:column;gap:2px;display:flex}.info-link{color:var(--accent);border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;text-decoration:none;display:flex}.info-link:hover{background:var(--card-hover)}.info-link-ic{flex-shrink:0}.info-link-url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.composer-field{gap:2px;padding:3px 6px}.composer-field input{padding:11px 6px}.composer-field .comp-ic{width:38px;height:38px;color:var(--text-muted);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.composer-field .comp-ic svg{width:22px;height:22px}.composer-field .comp-ic.plus{color:var(--text)}.composer-field .comp-ic:hover:not(:disabled){color:var(--text-bright);background:#ffffff0f}.composer-field .comp-ic:disabled{opacity:.5;cursor:default}.composer-field .comp-gif{letter-spacing:.5px;color:var(--text-muted);border-radius:6px;flex-shrink:0;padding:5px 7px;font-size:11px;font-weight:800}.composer-field .comp-gif:hover:not(:disabled){color:var(--text-bright);background:#ffffff0f}.composer-field .comp-gif:disabled{opacity:.5;cursor:default}.composer>.send-btn{border-radius:12px;width:46px;height:46px;font-size:16px}.composer>.send-btn:disabled{background:var(--bg-input);color:var(--text-muted);opacity:1}@media (width<=1100px){.info-panel{display:none}}@media (width<=768px){.header-icons{gap:0}.head-ic{width:34px}.header-icons .header-invite span{display:none}.header-icons .header-invite{margin-left:4px;padding:0 10px}}.chat-search{background:var(--bg-input);border-radius:10px;align-items:center;gap:8px;margin:10px 16px 0;padding:8px 12px;display:flex}.chat-search-ic{color:var(--text-muted);display:flex}.chat-search-ic svg{width:18px;height:18px}.chat-search input{min-width:0;color:var(--text-bright);background:0 0;border:none;outline:none;flex:1;font-size:14px}.chat-search input::placeholder{color:var(--text-muted)}.chat-search-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.chat-search-close{color:var(--text-muted);border-radius:6px;flex-shrink:0;width:24px;height:24px;font-size:15px}.chat-search-close:hover{color:var(--text-bright);background:#ffffff0f}.head-ic.off{color:#e0566f}.info-files{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.info-file{background:var(--card);border-radius:8px;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;text-decoration:none;display:flex;overflow:hidden}.info-file.img img{object-fit:cover;width:100%;height:100%;display:block}.info-file.doc:hover{background:var(--card-hover)}.avatar-img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.settings-avatar{align-items:center;gap:16px;margin-bottom:8px;display:flex}.settings-av{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:28px;font-weight:700;display:flex;position:relative}.settings-avatar-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.avatar-cropper{text-align:center}.cropper-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;border-radius:12px;margin:8px auto 14px;position:relative;overflow:hidden}.cropper-stage:active{cursor:grabbing}.cropper-stage img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cropper-mask{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 999px #0c0c12b8}.cropper-zoom{width:100%;accent-color:var(--accent);margin-bottom:4px}.head-ic,.icon-btn,.menu-btn,.members-btn,.friend-action,.ghost-btn,.copy,.emoji-toggle,.attach-btn,.btn-warn,.btn-danger,.type-opt,.call-accept,.call-decline,.call-ctrl,.friend-call,.friend-remove,.dm-call-btn,button.primary{transition:background .15s,color .15s,filter .15s,opacity .15s,box-shadow .15s,transform .1s}.head-ic:active,.icon-btn:active,.menu-btn:active,.members-btn:active,.friend-action:active,.ghost-btn:active,.btn-warn:active,.btn-danger:active,.type-opt:active,.call-accept:active,.call-decline:active,.call-ctrl:active,.friend-call:active,.friend-remove:active,.dm-call-btn:active,.copy:not(:disabled):active,.emoji-toggle:not(:disabled):active,.attach-btn:not(:disabled):active,button.primary:not(:disabled):active{transform:scale(.93)}.info-avatar .online-dot{animation:2.6s ease-in-out infinite presencePulse}@keyframes presencePulse{0%,to{box-shadow:0 0 #2dd46f80}50%{box-shadow:0 0 0 5px #2dd46f00}}:root{--bg-app:#0b0b11;--bg-topnav:#0e0e15;--surface:var(--card);--surface-2:#1c1c26;--surface-3:#23232f;--surface-inset:#0c0c12;--line:var(--border);--line-strong:#ffffff1f;--brand:var(--accent);--brand-hover:var(--accent-hover);--brand-soft:var(--accent-soft);--brand-ring:#7c5cff73;--brand-glow:#7c5cff66;--brand-grad:linear-gradient(135deg, #7c5cff, #5865f2);--idle:#f0b232;--dnd:#f0436a;--offline:#6a6e7b;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:32px;--sh-sm:0 1px 2px #0000004d;--sh-md:0 6px 18px #00000059;--sh-lg:0 18px 48px #00000080;--ease:cubic-bezier(.2, .8, .3, 1);--t-fast:.12s;--t-base:.18s;--t-slow:.28s;--topnav-h:64px;--sidebar-w:280px;--rightpanel-w:340px}.app-root{background:var(--bg-app);flex-direction:column;height:100vh;display:flex}.topnav{height:var(--topnav-h);align-items:center;gap:var(--sp-4);padding:0 var(--sp-5);background:var(--bg-topnav);border-bottom:1px solid var(--line);flex:none;display:flex}.topnav-logo{flex:none;place-items:center;width:50px;height:50px;display:grid}.topnav-logo img{object-fit:contain;filter:drop-shadow(0 4px 12px #7c5cff66);width:100%;height:100%}.topnav-nav{align-items:center;gap:var(--sp-1);display:flex}.nav-item{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-md);white-space:nowrap;padding:9px 14px;font-weight:600;text-decoration:none;transition:background .16s,color .16s;display:inline-flex}.nav-item:hover{color:var(--text-bright);background:var(--surface-2)}.nav-item.active{color:var(--text-bright);background:var(--brand-soft);box-shadow:inset 0 -2px 0 var(--brand)}.nav-item svg{flex:none}.nav-badge{border-radius:var(--r-pill);background:var(--brand);color:#fff;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:2px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.topnav-create{position:relative}.btn-create{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);background:var(--brand);color:#fff;font-size:var(--fs-md);box-shadow:0 4px 14px var(--brand-glow);padding:9px 16px;font-weight:700;transition:background .16s,transform 80ms;display:inline-flex}.btn-create:hover{background:var(--brand-hover)}.btn-create:active{transform:scale(.96)}.create-menu{width:340px;padding:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-lg);z-index:60;background:#15151d;animation:.14s cmIn;position:absolute;top:calc(100% + 10px);left:0}@keyframes cmIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cm-head{padding:var(--sp-2) var(--sp-2) var(--sp-3);justify-content:space-between;align-items:flex-start;display:flex}.cm-title{font-size:var(--fs-lg);color:var(--text-bright);font-weight:700}.cm-sub{font-size:var(--fs-sm);color:var(--text-muted)}.cm-x{color:var(--text-muted);border-radius:var(--r-sm);padding:4px}.cm-x:hover{color:var(--text-bright);background:var(--surface-2)}.cm-group{padding:var(--sp-2) var(--sp-2) var(--sp-1);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--brand);font-weight:700}.cm-item{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);text-align:left;width:100%;padding:10px;transition:background .14s;display:flex}.cm-item:hover{background:var(--surface-2)}.cm-ic{border-radius:var(--r-sm);background:var(--brand-soft);width:38px;height:38px;color:var(--brand);flex:none;place-items:center;display:grid}.cm-text{flex-direction:column;flex:1;min-width:0;display:flex}.cm-text b{font-size:var(--fs-base);color:var(--text-bright);font-weight:600}.cm-text i{font-style:normal;font-size:var(--fs-sm);color:var(--text-muted)}.cm-arrow{color:var(--text-muted);flex:none}.cm-foot{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2) var(--sp-2);margin-top:var(--sp-1);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.cm-foot>svg{flex:none}.cm-link{color:var(--brand);white-space:nowrap;margin-left:auto;font-weight:600}.cm-link:hover{text-decoration:underline}.topnav-search{align-items:center;gap:var(--sp-2);background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--r-md);width:clamp(240px,30vw,440px);color:var(--text-muted);margin-left:auto;padding:8px 12px;display:flex;position:relative}.topnav-search-x{border-radius:var(--r-sm);width:22px;height:22px;color:var(--text-muted);flex:none;place-items:center;transition:color .14s,background .14s;display:grid}.topnav-search-x:hover{background:var(--surface-2);color:var(--text-bright)}.search-menu{max-height:60vh;padding:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-lg);z-index:60;background:#15151d;animation:.14s cmIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.search-empty{padding:var(--sp-4) var(--sp-3);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.search-group+.search-group{margin-top:var(--sp-2)}.search-group-title{padding:var(--sp-2) var(--sp-2) var(--sp-1);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--brand);font-weight:700}.search-item{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);text-align:left;width:100%;color:var(--text-bright);padding:8px 10px;font-weight:600;transition:background .14s;display:flex}.search-item:hover{background:var(--surface-2)}.search-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topnav-search input{min-width:0;color:var(--text-bright);font-size:var(--fs-base);background:0 0;border:none;outline:none;flex:1}.topnav-search input::placeholder{color:var(--text-muted)}.topnav-search kbd{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);flex:none;padding:2px 6px;font-family:inherit;font-size:11px}.topnav-actions{align-items:center;gap:var(--sp-2);display:flex}.theme-pick{position:relative}.theme-menu{z-index:60;width:208px;padding:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-lg);background:#15151d;animation:.14s cmIn;position:absolute;top:calc(100% + 8px);right:0}.theme-menu-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--sp-3);font-weight:700}.theme-swatches{gap:var(--sp-3);grid-template-columns:repeat(4,1fr);display:grid}.theme-swatch{color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;transition:transform .1s,box-shadow .14s;display:grid}.theme-swatch:hover{transform:scale(1.1)}.theme-swatch.active{box-shadow:0 0 0 2px #15151d,0 0 0 4px #ffffffbf}.theme-swatch svg{filter:drop-shadow(0 1px 2px #0000008c)}.icon-btn{border-radius:var(--r-md);width:40px;height:40px;color:var(--text-muted);transition:background .14s, color .14s, transform var(--t-fast) var(--ease);place-items:center;display:grid;position:relative}.icon-btn:hover{color:var(--text-bright);background:var(--surface-2)}.icon-btn.download{color:#23a55a;text-decoration:none}.icon-btn.download:hover{color:#fff;background:#1e9150}.icon-btn.has-dot:after{content:"";background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-topnav);border-radius:50%;position:absolute;top:9px;right:10px}.notif-badge{border-radius:var(--r-pill);background:var(--danger);color:#fff;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--bg-topnav);pointer-events:none;animation:notifPop .18s var(--ease);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:2px;right:2px}@keyframes notifPop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.user-chip{align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);--dot-ring:var(--bg-topnav);padding:4px 10px 4px 4px;transition:background .14s;display:flex}.user-chip:hover{background:var(--surface-2)}.user-chip-name{font-size:var(--fs-base);color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:600;overflow:hidden}.user-chip-arrow{color:var(--text-muted)}.ui-avatar{color:#fff;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;position:relative}.ui-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.ui-av-dot{width:32%;min-width:10px;height:32%;min-height:10px;box-shadow:0 0 0 2.5px var(--dot-ring,var(--bg-app));border-radius:50%;position:absolute;bottom:-1px;right:-1px}.ui-av-dot.on{background:var(--online)}.ui-av-dot.off{background:var(--offline)}.app-main{flex:1;min-height:0;overflow:hidden}.page-fade{height:100%;animation:pageFade .22s var(--ease)}@keyframes pageFade{0%{opacity:0}to{opacity:1}}.page-3col{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--rightpanel-w);height:100%;display:grid}.page-3col.no-left{grid-template-columns:minmax(0, 1fr) var(--rightpanel-w)}.page-3col.no-right{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.page-3col.no-left.no-right{grid-template-columns:minmax(0,1fr)}.page-sidebar{border-right:1px solid var(--line);padding:var(--sp-5);overflow-y:auto}.page-right{border-left:1px solid var(--line);padding:var(--sp-5);overflow-y:auto}.page-center{padding:var(--sp-6) var(--sp-8);overflow-y:auto}@media (width<=1080px){.page-3col{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.page-3col.no-left{grid-template-columns:minmax(0,1fr)}.page-right{display:none}.page-center{padding:var(--sp-5)}}.page-right-toggle,.page-right-backdrop{display:none}@media (width>=769px) and (width<=1080px){.page-right-toggle{top:calc(var(--topnav-h) + var(--sp-3));right:var(--sp-4);z-index:50;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-strong);width:42px;height:42px;color:var(--text-bright);box-shadow:var(--sh-md);place-items:center;transition:background .14s,transform 80ms;display:grid;position:fixed}.page-right-toggle:hover{background:var(--surface-3)}.page-right-toggle:active{transform:scale(.94)}.page-right.open{top:var(--topnav-h);width:min(var(--rightpanel-w), 86vw);z-index:45;background:var(--bg-app);border-left:1px solid var(--line-strong);animation:.18s rightDrawerIn;display:block;position:fixed;bottom:0;right:0;box-shadow:-10px 0 30px #00000073}.page-right-backdrop{inset:var(--topnav-h) 0 0 0;z-index:44;background:#00000080;animation:.18s backdropIn;display:block;position:fixed}}@keyframes rightDrawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.page-stub{text-align:center;max-width:560px;margin:12vh auto 0}.page-stub-badge{margin-bottom:var(--sp-3);font-size:44px}.page-stub h1{font-size:var(--fs-3xl);color:var(--text-bright);margin-bottom:var(--sp-2);font-weight:800}.page-stub p{color:var(--text-muted);font-size:var(--fs-md)}.page-stub-hint{margin-top:var(--sp-4);font-size:var(--fs-sm)}.page-stub a{color:var(--brand);font-weight:600;text-decoration:none}.page-stub a:hover{text-decoration:underline}.ui-modal-overlay{z-index:100;padding:var(--sp-4);background:#0000008c;place-items:center;animation:.14s cmIn;display:grid;position:fixed;inset:0}.ui-modal{box-sizing:border-box;width:420px;max-width:calc(100vw - 32px);max-height:86vh;padding:var(--sp-6);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-lg);background:#15151d;position:relative;overflow-y:auto}.ui-modal-x{top:var(--sp-3);right:var(--sp-3);border-radius:var(--r-sm);color:var(--text-muted);padding:6px;position:absolute}.ui-modal-x:hover{color:var(--text-bright);background:var(--surface-2)}.ui-modal-title{margin-bottom:var(--sp-4);font-size:var(--fs-xl);color:var(--text-bright);font-weight:700}.voice-float{left:var(--sp-5);bottom:var(--sp-5);z-index:80;align-items:center;gap:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--sh-lg);background:#15151d;padding:10px 12px;animation:.16s cmIn;display:flex;position:fixed}.voice-float-info{flex-direction:column;min-width:0;display:flex}.voice-float-status{font-size:var(--fs-sm);color:var(--online);align-items:center;gap:6px;font-weight:700;display:flex}.voice-float-status.err{color:var(--danger)}.voice-float-signal{background:var(--online);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite voicePulse}.voice-float-status.err .voice-float-signal{background:var(--danger);animation:none}@keyframes voicePulse{0%,to{opacity:1}50%{opacity:.35}}.voice-float-label{max-width:170px;font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.voice-float-actions{gap:6px;display:flex}.voice-float-btn{border-radius:var(--r-sm);background:var(--surface-2);width:38px;height:38px;color:var(--text);place-items:center;transition:background .14s,color .14s;display:grid}.voice-float-btn:hover{background:var(--surface-3);color:var(--text-bright)}.voice-float-btn.off{color:var(--danger);background:#f0436a29}.voice-float-btn.leave{background:var(--danger);color:#fff}.voice-float-btn.leave:hover{background:#d83a5e}.voice-float.call .voice-float-status.call-title{color:var(--text-bright)}.voice-note{left:var(--sp-5);bottom:var(--sp-5);z-index:80;border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--sh-lg);color:var(--text);font-size:var(--fs-sm);background:#15151d;padding:11px 16px;animation:.16s cmIn;position:fixed}.incall-overlay{z-index:120;background:#0009;place-items:center;animation:.14s cmIn;display:grid;position:fixed;inset:0}.incall{width:320px;padding:var(--sp-6);text-align:center;border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-lg);background:#15151d}.incall-avatar{animation:1.4s infinite incallPulse}@keyframes incallPulse{0%{box-shadow:0 0 0 0 var(--brand-glow)}70%{box-shadow:0 0 0 16px #0000}to{box-shadow:0 0 #0000}}.incall-title{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted)}.incall-name{font-size:var(--fs-xl);color:var(--text-bright);font-weight:800}.incall-actions{gap:var(--sp-3);margin-top:var(--sp-5);display:flex}.incall-actions button{border-radius:var(--r-md);color:#fff;flex:1;justify-content:center;align-items:center;gap:6px;padding:11px;font-weight:700;transition:filter .14s;display:inline-flex}.incall-actions button:hover{filter:brightness(1.08)}.incall-decline{background:var(--danger)}.incall-accept{background:var(--success)}.topnav-user{position:relative}.user-menu{width:290px;padding:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-lg);z-index:60;--dot-ring:#15151d;background:#15151d;animation:.14s cmIn;position:absolute;top:calc(100% + 8px);right:0}.user-menu-head{align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-3);margin-bottom:var(--sp-2);border-bottom:1px solid var(--line);display:flex}.user-menu-meta{min-width:0}.user-menu-name{color:var(--text-bright);font-weight:700}.user-menu-cur{font-size:var(--fs-sm);color:var(--online);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu-label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-weight:700}.user-menu-input{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;color:var(--text-bright);font-size:var(--fs-base);outline:none;padding:9px 12px}.user-menu-input:focus{border-color:var(--brand)}.user-menu-presets{margin:var(--sp-2) 0;flex-wrap:wrap;gap:6px;display:flex}.user-menu-presets button{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);padding:5px 10px;transition:background .14s}.user-menu-presets button:hover{background:var(--surface-3);color:var(--text-bright)}.user-menu-row{margin-bottom:var(--sp-2);gap:6px;display:flex}.user-menu-save,.user-menu-clear{border-radius:var(--r-sm);font-size:var(--fs-sm);flex:1;padding:8px;font-weight:600;transition:background .14s}.user-menu-save{background:var(--brand);color:#fff}.user-menu-save:hover{background:var(--brand-hover)}.user-menu-clear{background:var(--surface-2);color:var(--text)}.user-menu-clear:hover{background:var(--surface-3)}.user-menu-logout{width:100%;margin-top:var(--sp-1);border-top:1px solid var(--line);color:var(--danger);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:6px;padding:9px;font-weight:600;display:flex}.user-menu-logout:hover{background:#f0436a1a}.user-menu-settings{width:100%;margin-top:var(--sp-1);border-top:1px solid var(--line);color:var(--text);font-size:var(--fs-sm);align-items:center;gap:6px;padding:9px;font-weight:600;display:flex}.user-menu-settings:hover{background:var(--surface-2);color:var(--text-bright)}.settings-panel{flex-direction:column;display:flex}.settings-av-wrap{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-2);display:flex}.settings-av-actions{gap:var(--sp-2);display:flex}.settings-panel .set-input{background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-width:0;color:var(--text-bright);font-size:var(--fs-base);outline:none;flex:1;padding:9px 12px}.settings-panel .set-input:focus{border-color:var(--brand)}.set-pw-form{gap:var(--sp-2);margin-top:var(--sp-3);flex-direction:column;display:flex}.topnav-notif{position:relative}.notif-menu{width:340px;max-height:70vh;padding:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--sh-lg);z-index:60;background:#15151d;animation:.14s cmIn;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.notif-menu-head{padding:var(--sp-2) var(--sp-2) var(--sp-3);font-size:var(--fs-lg);color:var(--text-bright);justify-content:space-between;align-items:center;font-weight:700;display:flex}.notif-menu-count{border-radius:var(--r-pill);background:var(--brand);color:#fff;min-width:20px;height:20px;font-size:var(--fs-xs);justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.nt-empty{padding:var(--sp-5) var(--sp-3);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.nt-group+.nt-group{margin-top:var(--sp-2)}.nt-group-title{padding:var(--sp-2) var(--sp-2) var(--sp-1);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--brand);align-items:center;gap:6px;font-weight:700;display:flex}.nt-item{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);text-align:left;width:100%;padding:10px;display:flex}.nt-item-btn{transition:background .14s}.nt-item-btn:hover,.nt-item-btn:active{background:var(--surface-2)}.nt-item-body{flex:1;min-width:0}.nt-item-name{font-size:var(--fs-base);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.nt-item-sub{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nt-item-actions{flex:none;gap:6px;display:flex}.nt-act{border-radius:var(--r-sm);place-items:center;width:34px;height:34px;transition:filter .14s,background .14s;display:grid}.nt-act.accept{background:var(--success);color:#fff}.nt-act.accept:hover{filter:brightness(1.1)}.nt-act.decline{background:var(--surface-2);color:var(--text)}.nt-act.decline:hover{background:var(--surface-3);color:var(--text-bright)}.nt-badge{border-radius:var(--r-pill);background:var(--brand);color:#fff;min-width:20px;height:20px;font-size:var(--fs-xs);flex:none;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}@media (width<=1180px){.topnav{gap:var(--sp-3);padding:0 var(--sp-4)}.topnav-search{flex:auto;width:auto;min-width:0;max-width:none;margin-left:0}.topnav-search kbd,.user-chip-name,.user-chip-arrow{display:none}}@media (width<=1080px){.topnav-nav .nav-item span,.btn-create span{display:none}.btn-create{padding:9px 12px}.nav-item{padding:8px 10px}}
