:root{--s-0: #0b0c0e;--s-1: #0e0f11;--s-2: #111214;--s-3: #141518;--s-4: #1b1c20;--s-5: #0b0c0e;--avatar: #3a3b42;--s-hover: #ffffff0a;--s-active: #ffffff12;--line: #ffffff0f;--line-strong: #ffffff1c;--scroll-thumb: #ffffff1f;--scroll-thumb-hover: #ffffff3d;--scrim: #000000a6;--on-media: #ffffff;--media-chip: #000000a6;--media-btn: #ffffff1f;--media-btn-hover: #ffffff33;--fg: #ededef;--fg-dim: #a1a1aa;--fg-mute: #80808a;--fg-faint: #5c5c66;--accent: #22c55e;--accent-hi: #4ade80;--accent-press: #1ba350;--accent-soft: #22c55e1f;--on-accent: #06140c;--ok: #22c55e;--warn: #eab308;--danger: #dc2626;--danger-hi: #f87171;--on-danger: #ffffff;--live: #dc2626;--speaking: #22c55e;--owner: #e0b968;--st-online: #22c55e;--st-idle: #eab308;--st-dnd: #ef4444;--st-offline: #6b6b75;--font: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, Consolas, monospace;--fs-11: 12px;--fs-12: 13px;--fs-13: 14px;--fs-15: 15px;--fs-17: 17px;--fs-20: 20px;--fs-24: 24px;--fs-meta: 11px;--fs-msg: 15px;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 12px;--sp-6: 16px;--sp-7: 20px;--sp-8: 24px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--r-4: 10px;--r-5: 14px;--r-pill: 999px;--e1: 0 1px 2px #00000059;--e2: 0 8px 24px #00000080, 0 0 0 1px #ffffff0a;--e3: 0 20px 56px #000000a6, 0 0 0 1px #ffffff0a;--z-raise: 2;--z-panel: 20;--z-pop: 60;--z-modal: 100;--z-confirm: 200;--z-toast: 300;--rail-w: 60px;--head-h: 52px;--members-w: 240px;--t-fast: .12s ease;--t: .16s ease;color-scheme:dark}:root[data-theme=light]{--s-0: #ececef;--s-1: #f2f2f4;--s-2: #f6f6f8;--s-3: #ffffff;--s-4: #ffffff;--s-5: #f6f6f8;--s-hover: #0000000a;--s-active: #00000012;--line: #00000012;--line-strong: #00000021;--scrim: #00000066;--fg: #17181d;--fg-dim: #4a4d55;--fg-mute: #6b6e76;--fg-faint: #8d9098;--accent-hi: #16a34a;--accent-soft: #22c55e1f;--danger-hi: #dc2626;--avatar: #d6d7dc;--scroll-thumb: #0000002e;--scroll-thumb-hover: #00000052;--e1: 0 1px 2px #0000001a;--e2: 0 8px 24px #0000001f, 0 0 0 1px #00000014;--e3: 0 20px 56px #00000029, 0 0 0 1px #00000014;color-scheme:light}@media (prefers-reduced-motion: reduce){:root{--t-fast: 0ms;--t: 0ms}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:400 var(--fs-13)/1.5 var(--font);background:var(--s-0);color:var(--fg);font-feature-settings:"ss01","cv11"}button{font:inherit;cursor:pointer;color:inherit}a{color:var(--accent-hi);text-decoration:none}input,textarea,select{font:inherit}code{background:var(--s-0);border:1px solid var(--line);padding:1px 5px;border-radius:var(--r-1);font-size:.92em;font-family:var(--font-mono)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--r-1)}.muted{color:var(--fg-mute)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box}.channels,.member-list,.dm-list-body,.re-list-body,.sp-results,.mt-body{scrollbar-color:transparent transparent}.channels:hover,.member-list:hover,.dm-list-body:hover,.re-list-body:hover,.sp-results:hover,.mt-body:hover{scrollbar-color:var(--scroll-thumb) transparent}.channels::-webkit-scrollbar-thumb,.member-list::-webkit-scrollbar-thumb,.dm-list-body::-webkit-scrollbar-thumb,.re-list-body::-webkit-scrollbar-thumb,.sp-results::-webkit-scrollbar-thumb,.mt-body::-webkit-scrollbar-thumb{background:transparent}.channels:hover::-webkit-scrollbar-thumb,.member-list:hover::-webkit-scrollbar-thumb,.dm-list-body:hover::-webkit-scrollbar-thumb,.re-list-body:hover::-webkit-scrollbar-thumb,.sp-results:hover::-webkit-scrollbar-thumb,.mt-body:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-6);padding:var(--sp-7);background-color:var(--s-0);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;background-position:center}.auth-card{background:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-5);padding:var(--sp-8) 28px;width:min(400px,92vw);box-shadow:var(--e3);display:flex;flex-direction:column;gap:var(--sp-6)}.auth-card h1{margin:0;font-size:var(--fs-24);font-weight:600;letter-spacing:-.01em}.auth-brand{display:flex;align-items:center;gap:var(--sp-4);font-weight:600;font-size:var(--fs-15)}.brand-mark{width:24px;height:24px;flex:none;display:inline-block;background:url(/favicon.png) center / contain no-repeat}.auth-card label,.modal label{display:flex;flex-direction:column;gap:var(--sp-3);font-size:var(--fs-12);font-weight:500;color:var(--fg-dim)}.auth-card input,.modal input,.tab-pane input{background:var(--s-5);border:1px solid var(--line-strong);border-radius:var(--r-2);height:40px;padding:0 12px;color:var(--fg);font-size:var(--fs-13);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.auth-card input::placeholder,.modal input::placeholder{color:var(--fg-faint)}.auth-card input:focus,.modal input:focus,.tab-pane input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-card .btn-primary{height:42px;font-size:var(--fs-13);display:flex;align-items:center;justify-content:center}.auth-err{color:var(--danger-hi);font-size:var(--fs-12);margin:0}.auth-ok{color:var(--accent-hi);font-size:var(--fs-12);margin:0}.auth-links{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-12);color:var(--fg-mute)}.auth-link{background:none;border:none;padding:0;color:var(--fg);font-size:inherit;font-weight:500;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.auth-link:hover{text-decoration-color:var(--fg)}.auth-extra{width:min(400px,92vw);display:flex;flex-direction:column;gap:var(--sp-5);align-items:center}.auth-tv{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);width:100%;height:42px;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--s-3);color:var(--fg);font-size:var(--fs-13);font-weight:500;text-decoration:none;transition:background var(--t-fast)}.auth-tv:hover{background:var(--s-4)}.auth-download{display:flex;align-items:center;gap:var(--sp-5);font-size:var(--fs-12);color:var(--fg-mute)}.auth-download a{display:inline-flex;align-items:center;gap:5px;color:var(--fg-dim);text-decoration:none}.auth-download a:hover{color:var(--fg)}.inv-card{text-align:center;align-items:center}.inv-card .btn-primary{align-self:stretch;text-decoration:none}.inv-eyebrow{margin:0;font-size:var(--fs-12);color:var(--fg-mute)}.inv-icon{width:80px;height:80px;border-radius:var(--r-5);background:var(--s-4);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-size:var(--fs-24);font-weight:600;overflow:hidden}.inv-icon img{width:100%;height:100%;object-fit:cover}.inv-card h1{margin-top:calc(var(--sp-4) * -1)}.inv-count{margin:calc(var(--sp-5) * -1) 0 0;display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-12);color:var(--fg-mute)}.inv-dot{width:7px;height:7px;border-radius:50%;background:var(--st-online)}.ct-app{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ct-app>div{flex:1}.ct-app b{font-size:var(--fs-13)}.ct-app p{margin:2px 0 0;font-size:var(--fs-12)}.ct-app .btn-sm{display:inline-flex;align-items:center;gap:6px;text-decoration:none;flex:none}@media (max-width: 760px){.auth-wrap{padding:var(--sp-6);min-height:100dvh}.auth-card,.auth-extra{width:100%}.auth-card{padding:var(--sp-7) var(--sp-6)}.auth-card input{font-size:16px;min-height:46px}.auth-card .btn-primary{min-height:48px;font-size:var(--fs-15)}.auth-download{display:none}}.handle-hint{font-size:var(--fs-11);font-weight:400;color:var(--fg-mute);display:flex;align-items:center;gap:4px}.handle-hint.ok{color:var(--accent-hi)}.handle-hint.taken,.handle-hint.bad{color:var(--danger-hi)}.btn-primary{background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--r-2);padding:10px 16px;font-weight:600;font-size:var(--fs-13);transition:background var(--t-fast)}.btn-primary:hover{background:var(--accent-hi)}.btn-primary:active{background:var(--accent-press)}.btn-primary:disabled{opacity:.45;cursor:default}.btn-danger{background:var(--danger);color:var(--on-danger);border:none;border-radius:var(--r-2);padding:10px 16px;font-weight:600;font-size:var(--fs-13);transition:filter var(--t-fast)}.btn-danger:hover{filter:brightness(1.12)}.btn-sm{background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-2);padding:6px 12px;font-size:var(--fs-12);font-weight:500;color:var(--fg);transition:background var(--t-fast),border-color var(--t-fast)}.btn-sm:hover{background:var(--s-hover);border-color:var(--fg-faint)}.link-danger{background:none;border:none;color:var(--danger-hi);font-size:var(--fs-12)}.icon-btn{background:none;border:none;color:var(--fg-mute);padding:7px;border-radius:var(--r-2);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast),color var(--t-fast)}.icon-btn:hover{color:var(--fg);background:var(--s-hover)}.icon-btn.on{color:var(--fg);background:var(--s-active)}.app-loading{height:100vh;display:flex;align-items:center;justify-content:center;color:var(--fg-mute)}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--s-3)}.shell-cols{flex:1;display:flex;min-height:0}.leftbar{position:relative;display:flex;flex-direction:column;flex:none;background:var(--s-2)}.leftbar-cols{display:flex;flex:1;min-height:0}.sidebar.compact{width:60px;align-items:center}.sw-head.compact{height:48px;justify-content:center;padding:0;box-shadow:none}.sw-collapse{background:none;border:none;color:var(--fg-mute);padding:6px;border-radius:var(--r-1);display:flex;align-items:center;flex:none;transition:background var(--t-fast),color var(--t-fast)}.sw-collapse:hover{color:var(--fg);background:var(--s-hover)}.channels.compact{display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--sp-4) 0;overflow-x:hidden}.chan.compact{width:42px;height:42px;padding:0;justify-content:center;border-radius:var(--r-2);position:relative;color:var(--fg-mute)}.chan.compact:hover{background:var(--s-hover);color:var(--fg-dim)}.chan.compact.active,.chan.compact.active:hover{background:var(--s-active);color:var(--fg)}.chan.compact.active .chan-glyph{color:var(--accent-hi)}.chan.compact.active:after{display:none}.chan.compact.unread{color:var(--fg)}.chan.compact .chan-glyph{color:inherit;opacity:1}.chan-dot{position:absolute;left:3px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--accent)}.userpanel.compact{padding:var(--sp-3) var(--sp-2)}.userpanel.compact .up-row{flex-direction:column;gap:var(--sp-2)}.userpanel.compact .up-me{flex:none;padding:3px}.userpanel.compact .up-tools{flex-direction:column}.up-voice.compact{padding:0 0 var(--sp-3);margin-bottom:var(--sp-3);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.up-voice.compact .up-voice-line{justify-content:center;color:var(--ok)}.up-voice.compact .up-voice-btns{margin:0;gap:var(--sp-2)}.up-voice.compact .up-vbtn{width:32px;height:32px;flex:none}.mobile-back{display:none;align-items:center;gap:4px;flex:none;background:none;border:none;color:var(--fg-mute);padding:6px;margin-right:2px;border-radius:var(--r-2);font-size:var(--fs-13)}.mobile-back:hover{color:var(--fg);background:var(--s-hover)}.ml-mhead{display:none;align-items:center;justify-content:space-between;padding:0 0 var(--sp-3);font-weight:700;font-size:var(--fs-13)}.ml-mhead button{background:none;border:none;color:var(--fg-mute);padding:4px;border-radius:var(--r-2)}.ml-mhead button:hover{color:var(--fg);background:var(--s-hover)}.titlebar{height:34px;flex:none;display:flex;align-items:center;justify-content:flex-end;background:var(--s-1);border-bottom:1px solid var(--line);-webkit-app-region:drag;padding-left:12px;font-size:var(--fs-12);color:var(--fg-mute)}.titlebar .tb-title{flex:1}.titlebar.mac{padding-left:80px}.titlebar button{-webkit-app-region:no-drag;width:42px;height:34px;background:none;border:none;color:var(--fg-mute);display:flex;align-items:center;justify-content:center}.titlebar button:hover{background:var(--s-hover);color:var(--fg)}.titlebar button.tb-close:hover{background:var(--danger);color:var(--on-danger)}.rail{width:var(--rail-w);background:var(--s-0);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-5) 0;overflow-y:auto;flex:none;border-right:1px solid var(--line)}.rail::-webkit-scrollbar{width:0}.rail-item{position:relative;width:40px;height:40px;border-radius:var(--r-4);border:none;background:var(--s-4);color:var(--fg-dim);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-12);flex:none;transition:background var(--t-fast),color var(--t-fast)}.rail-item img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.rail-item:hover{background:var(--s-active);color:var(--fg)}.rail-item.active{background:var(--accent);color:var(--on-accent)}.rail-item.active:before,.rail-item.has-badge:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;border-radius:0 3px 3px 0;background:var(--fg);height:6px;transition:height var(--t)}.rail-item.active:before{height:24px}.rail-sep{width:24px;height:1px;background:var(--line-strong);margin:var(--sp-1) 0;flex:none}.rail-item.add{background:transparent;color:var(--fg-mute);border:1px dashed var(--line-strong)}.rail-item.add:hover{background:var(--s-hover);color:var(--accent-hi);border-color:var(--accent)}.rail-badge{position:absolute;right:-4px;bottom:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--danger);color:var(--on-danger);border-radius:var(--r-pill);font-size:var(--fs-meta);font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--s-0);font-family:var(--font-mono)}.sidebar{width:248px;background:var(--s-2);display:flex;flex-direction:column;flex:none;border-right:1px solid var(--line);position:relative;min-height:0}.sidebar-resize{position:absolute;top:0;bottom:0;right:-3px;width:7px;z-index:var(--z-raise);cursor:col-resize;touch-action:none}.sidebar-resize:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:transparent;transition:background var(--t-fast)}.sidebar-resize:hover:after,.sidebar-resize:active:after{background:var(--accent)}.sw-head{height:var(--head-h);flex:none;display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4) 0 var(--sp-4);border-bottom:1px solid var(--line);position:relative}.sw-title{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);background:none;border:none;font-weight:600;font-size:var(--fs-15);min-width:0;padding:6px 8px;border-radius:var(--r-2);text-align:left}.sw-title:hover,.sw-title.on{background:var(--s-hover)}.sw-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-title svg{flex:none;color:var(--fg-mute);transition:transform var(--t-fast)}.sw-title.on svg{transform:rotate(180deg)}.sw-menu .sw-srv{color:var(--fg)}.sw-srv-ico{width:20px;height:20px;border-radius:var(--r-1);background:var(--s-active);flex:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-meta);font-weight:600;overflow:hidden}.sw-srv-ico img{width:100%;height:100%;object-fit:cover}.channels{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sp-4) var(--sp-4) var(--sp-6)}.cat{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:none;border:none;color:var(--fg-mute);font-size:var(--fs-11);font-weight:500;padding:14px var(--sp-4) var(--sp-2);border-radius:var(--r-1)}.cat:hover{color:var(--fg-dim)}.cat .cat-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat .cat-chev{transition:transform var(--t-fast);flex:none}.cat.collapsed .cat-chev{transform:rotate(-90deg)}.cat .cat-add{opacity:0}.cat:hover .cat-add{opacity:1}.chan-wrap{position:relative;display:flex;align-items:center}.chan-wrap .chan{flex:1}.chan-cog{position:absolute;right:6px;background:none;border:none;color:var(--fg-mute);padding:4px;border-radius:var(--r-1);display:none}.chan-wrap:hover .chan-cog{display:flex}.chan-cog:hover{color:var(--fg);background:var(--s-active)}.cs-add-row{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);padding:0 var(--sp-4)}.cs-add-row .cat{padding:6px 8px;border:1px dashed var(--line-strong);border-radius:var(--r-2);flex:1}.cs-add-row .cat:hover{background:var(--s-hover);color:var(--fg-dim)}select{background:var(--s-5);border:1px solid var(--line);border-radius:var(--r-2);padding:9px 11px;color:var(--fg);font-size:var(--fs-13)}.chan{width:100%;min-height:32px;text-align:left;background:none;border:none;color:var(--fg-dim);padding:0 var(--sp-4);border-radius:var(--r-2);display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-13);transition:background var(--t-fast),color var(--t-fast)}.chan:hover{background:var(--s-hover);color:var(--fg)}.chan.active{background:var(--s-active);color:var(--fg);font-weight:500}.chan.unread{color:var(--fg);font-weight:500}.chan{position:relative}.chan .chan-glyph{flex:none;display:flex;color:currentColor;opacity:.65}.chan.active .chan-glyph{opacity:.9}.chan .chan-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chan .chan-unread{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.chan .chan-badge{min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:var(--on-danger);border-radius:var(--r-pill);font-size:var(--fs-meta);font-weight:600;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center}.chan-wrap:hover .chan-unread,.chan-wrap:hover .chan-badge{visibility:hidden}.voice-members{list-style:none;margin:0 0 var(--sp-3);padding:2px 0 2px 24px}.voice-members li{display:flex;align-items:center;gap:var(--sp-4);min-height:28px;padding:0 6px;border-radius:var(--r-2);font-size:var(--fs-13);color:var(--fg-dim);cursor:pointer}.voice-members li:hover{background:var(--s-hover)}.voice-members li .vm-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-av{position:relative;width:22px;height:22px;border-radius:50%;background:var(--avatar);flex:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-11);font-weight:600;color:var(--fg);overflow:hidden;box-shadow:0 0 0 0 var(--speaking);transition:box-shadow var(--t-fast)}.vm-av img{width:100%;height:100%;object-fit:cover}.vm-av.speaking{box-shadow:0 0 0 2px var(--speaking)}.vm-ico{flex:none;display:flex;color:var(--fg-mute)}.vm-ico.danger{color:var(--danger-hi)}.vm-live{flex:none;display:flex;align-items:center;gap:4px;font-size:var(--fs-meta);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--on-danger);background:var(--live);padding:0 6px;border-radius:var(--r-1);border:0;font-family:inherit;line-height:18px}button.vm-live{cursor:pointer}button.vm-live:hover{filter:brightness(1.12)}.vm-live i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:pulse 1.6s infinite}.userpanel{flex:none;padding:var(--sp-3) var(--sp-4);background:var(--s-1);border-top:1px solid var(--line)}.up-voice{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);margin:var(--sp-2) 0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--s-0)}.up-voice-line{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-13);font-weight:600;color:var(--accent-hi)}.up-voice-line.warn{color:var(--warn)}.up-voice-line.bad{color:var(--danger-hi)}.up-voice-line .up-ping{margin-left:auto;font-size:var(--fs-meta);font-weight:500;color:var(--fg-mute);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.up-voice-chan{background:none;border:none;color:var(--fg-mute);font-size:var(--fs-12);display:flex;align-items:center;gap:var(--sp-3);padding:0;text-align:left;min-width:0}.up-voice-chan:hover{color:var(--fg)}.up-voice-btns{display:flex;gap:var(--sp-3)}.up-vbtn{flex:1;height:32px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--s-4);color:var(--fg-dim);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast),color var(--t-fast)}.up-vbtn:hover{background:var(--s-active);color:var(--fg)}.up-vbtn.active{color:var(--danger-hi)}.up-vbtn.leave{background:var(--danger);border-color:transparent;color:var(--on-danger)}.up-vbtn.leave:hover{filter:brightness(1.12)}.up-row{display:flex;align-items:center;gap:var(--sp-1)}.up-me{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-4);background:none;border:none;padding:4px 6px;border-radius:var(--r-2)}.up-me:hover{background:var(--s-hover)}.up-av{position:relative;width:32px;height:32px;border-radius:50%;background:var(--avatar);flex:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-12);font-weight:600;color:var(--fg)}.up-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}.up-id{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;text-align:left}.up-id b{font-size:var(--fs-12);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-id small{font-size:var(--fs-11);color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-tools{display:flex;gap:0}.up-tool{background:none;border:none;color:var(--fg-dim);width:32px;height:32px;border-radius:var(--r-2);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast),color var(--t-fast)}.up-tool:hover{color:var(--fg);background:var(--s-hover)}.up-tool.active{color:var(--danger-hi)}.status-dot{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--s-1);box-sizing:content-box}.member-list .status-dot{border-color:var(--s-2)}.s-online{background:var(--st-online)}.s-idle{background:var(--st-idle)}.s-dnd{background:var(--st-dnd)}.s-invisible,.s-offline{background:var(--st-offline)}.s-dnd:after{content:"";position:absolute;left:2px;right:2px;top:4px;height:2px;background:var(--s-1);border-radius:1px}.popover-dismiss{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-pop)}.popover{position:fixed;z-index:var(--z-pop);visibility:hidden;max-height:calc(100vh - 16px);overflow-y:auto;overscroll-behavior:contain;animation:pop-in .12s ease}@keyframes pop-in{0%{opacity:0;transform:scale(.98)}}.menu{background:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-3);padding:var(--sp-2);box-shadow:var(--e2);display:flex;flex-direction:column;gap:1px;min-width:200px;max-width:320px}.menu button{display:flex;align-items:center;gap:var(--sp-4);background:none;border:none;color:var(--fg);min-height:32px;padding:0 var(--sp-4);border-radius:var(--r-2);font-size:var(--fs-13);text-align:left;flex:none;transition:background var(--t-fast)}.menu button svg{color:var(--fg-dim);flex:none}.menu button:hover:not(:disabled){background:var(--s-active)}.menu button:disabled{color:var(--fg-mute);cursor:default}.menu button.on{background:var(--accent-soft);color:var(--accent-hi)}.menu button.on svg{color:currentColor}.menu button.danger,.menu button.danger svg{color:var(--danger-hi)}.menu button.danger:hover{background:color-mix(in srgb,var(--danger) 16%,transparent)}.menu .status-dot{position:static;border:none;width:10px;height:10px;flex:none}.menu .dev-label{padding:8px var(--sp-4) 4px;font-size:var(--fs-11);font-weight:500;color:var(--fg-mute)}.menu hr{border:none;border-top:1px solid var(--line);margin:var(--sp-2) calc(var(--sp-2) * -1)}.menu-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-head{padding:8px var(--sp-4) 10px;border-bottom:1px solid var(--line);margin:0 calc(var(--sp-2) * -1) var(--sp-2)}.mm-head b{display:block;font-size:var(--fs-13);font-weight:600}.mm-head small{color:var(--fg-mute);font-size:var(--fs-11)}.mm-back{font-weight:600}.mm-vol{display:flex;align-items:center;gap:var(--sp-3);padding:6px 10px 8px}.mm-vol input{flex:1;min-width:0;accent-color:var(--accent)}.mm-vol span{font-size:var(--fs-11);color:var(--fg-mute);width:34px;text-align:right}.mm-vol-lbl{font-size:var(--fs-11);color:var(--fg-dim);width:68px;flex:none;text-align:left}.mm-vol-btn{background:none;border:none;color:var(--fg-dim);display:flex;padding:2px;flex:none}.mm-vol-btn:hover{color:var(--fg)}.member-profile{width:288px;background:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-4);box-shadow:var(--e3)}.mp-banner{height:64px;background:var(--s-active);border-bottom:1px solid var(--line);border-radius:var(--r-4) var(--r-4) 0 0}.mp-av{width:72px;height:72px;border-radius:50%;margin:-36px 0 0 var(--sp-6);border:4px solid var(--s-4);background:var(--avatar);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;font-size:var(--fs-24);font-weight:600}.mp-av img{width:100%;height:100%;object-fit:cover}.mp-body{padding:var(--sp-4) var(--sp-6) var(--sp-6)}.mp-name{font-size:var(--fs-17);font-weight:600}.mp-handle{font-size:var(--fs-12);color:var(--fg-mute);margin-bottom:var(--sp-3)}.mp-roles{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--sp-3)}.mp-role{font-size:var(--fs-11);border:1px solid var(--line-strong);border-radius:var(--r-1);padding:0 6px;line-height:18px;color:var(--fg-dim)}.mp-meta{font-size:var(--fs-11);color:var(--fg-mute);border-top:1px solid var(--line);padding-top:var(--sp-3)}.mp-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-3)}.mp-actions .btn-sm{flex:1;display:flex;align-items:center;justify-content:center;gap:6px}.content{flex:1;display:flex;flex-direction:column;background:var(--s-3);min-width:0}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-4)}.empty-state h1{font-size:var(--fs-24);margin:0}.chead{height:var(--head-h);flex:none;display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-5) 0 var(--sp-7);border-bottom:1px solid var(--line)}.chead-title{display:flex;align-items:center;gap:var(--sp-4);font-weight:600;font-size:var(--fs-15);flex:none;min-width:0}.chead-title svg{color:var(--fg-mute);flex:none}.chead-desc{color:var(--fg-mute);font-size:var(--fs-12);font-weight:400;padding-left:var(--sp-5);border-left:1px solid var(--line-strong);margin-left:var(--sp-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:16px}.chead-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex:none}.ctabs{flex:none;display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line)}.ctab{display:flex;align-items:center;gap:var(--sp-2);background:none;border:none;color:var(--fg-mute);padding:6px 12px;border-radius:var(--r-2);font-size:var(--fs-13);font-weight:500}.ctab:hover:not(:disabled){background:var(--s-hover);color:var(--fg-dim)}.ctab.on{background:var(--accent-soft);color:var(--accent-hi)}.ctab:disabled{opacity:.4;cursor:default}.ctab .ctab-count{background:var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-11);padding:0 5px}.content-body{flex:1;display:flex;min-height:0}.content-body>.text-channel,.content-body>.voice-stage,.content-body>.voice-join{flex:1;min-width:0}.member-list{width:var(--members-w);flex:none;background:var(--s-2);border-left:1px solid var(--line);overflow-y:auto;overflow-x:hidden;padding:var(--sp-6) var(--sp-4)}.member-list ul{list-style:none;margin:0 0 var(--sp-5);padding:0}.member-list li{display:flex;align-items:center;gap:var(--sp-5);min-height:42px;padding:0 var(--sp-4);border-radius:var(--r-2);cursor:pointer}.member-list li:hover{background:var(--s-hover)}.member-list li.off{opacity:.45}.ml-av{position:relative;width:30px;height:30px;border-radius:50%;background:var(--avatar);flex:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-11);font-weight:600;color:var(--fg)}.ml-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}.ml-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.ml-text b{font-size:var(--fs-13);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-text small{font-size:var(--fs-11);color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-group{font-size:var(--fs-11);color:var(--fg-mute);font-weight:500;margin:var(--sp-5) var(--sp-4) var(--sp-3)}.ml-group:first-child{margin-top:0}.ml-badge{flex:none;display:flex;color:var(--fg-mute)}.ml-badge.owner{color:var(--owner)}.ml-more{background:none;border:none;color:var(--fg-mute);font-size:var(--fs-12);padding:4px var(--sp-3)}.ml-more:hover{color:var(--fg-dim)}.search-panel{width:320px;flex:none;background:var(--s-2);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sp-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-4);font-size:var(--fs-15);font-weight:600}.sp-head span{flex:1}.sp-box{display:flex;align-items:center;gap:var(--sp-3);margin:0 var(--sp-5);padding:8px 10px;background:var(--s-5);border:1px solid var(--line);border-radius:var(--r-2);color:var(--fg-mute);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.sp-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sp-box input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--fg);font-size:var(--fs-13)}.sp-clear{background:none;border:none;color:var(--fg-mute);font-size:var(--fs-11);padding:2px 4px}.sp-clear:hover{color:var(--fg)}.sp-chip{display:inline-flex;align-items:center;gap:5px;margin:var(--sp-4) var(--sp-5) 0;padding:3px 8px;background:var(--accent-soft);color:var(--accent-hi);border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:500;align-self:flex-start}.sp-chip button{background:none;border:none;color:inherit;font-size:var(--fs-11);padding:0 2px}.sp-results{flex:1;overflow-y:auto;padding:var(--sp-4) var(--sp-4) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}.sp-note{color:var(--fg-mute);font-size:var(--fs-12);padding:var(--sp-5);line-height:1.5;text-align:center}.sp-count{color:var(--fg-mute);font-size:var(--fs-11);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:0 var(--sp-3) var(--sp-2)}.sp-hit{text-align:left;background:var(--s-4);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--sp-4);display:flex;flex-direction:column;gap:4px;transition:border-color var(--t-fast),background var(--t-fast)}.sp-hit:hover{border-color:var(--line-strong);background:var(--s-active)}.sp-hit-top{display:flex;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-11)}.sp-hit-top b{font-size:var(--fs-12);color:var(--fg);font-weight:600}.sp-hit-top span{color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-hit-body{font-size:var(--fs-13);color:var(--fg-dim);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dm{flex:1;min-width:0;display:flex}.dm-list{width:280px;flex:none;background:var(--s-2);border-right:1px solid var(--line);display:flex;flex-direction:column;position:relative}.dm-list-head{height:var(--head-h);display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);font-size:var(--fs-15);font-weight:600}.dm-friends-btn{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:8px;padding:8px 10px;border:none;background:none;border-radius:8px;color:var(--fg-dim);font-size:var(--fs-13);font-weight:500}.dm-friends-btn:hover{background:var(--s-hover)}.dm-friends-btn.on{background:var(--s-active);color:var(--fg)}.fr-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--danger);color:var(--on-danger);font-size:var(--fs-meta);font-weight:600;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center}.fr-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--s-3)}.fr-tabs{display:flex;gap:2px;margin-left:var(--sp-5)}.fr-tabs button{background:none;border:none;color:var(--fg-mute);padding:5px 10px;border-radius:var(--r-2);font-size:var(--fs-13);display:flex;align-items:center;gap:6px}.fr-tabs button:hover{color:var(--fg-dim);background:var(--s-hover)}.fr-tabs button.on{color:var(--fg);background:var(--s-active)}.fr-tabs button>span{font-size:var(--fs-11);color:var(--fg-mute)}.fr-tabs .fr-add-tab{color:var(--accent-hi)}.fr-tabs .fr-add-tab.on{background:var(--accent);color:var(--on-accent)}.fr-body{flex:1;overflow-y:auto;padding:var(--sp-5) var(--sp-6)}.fr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.fr-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--line)}.fr-row:first-child{border-top:none}.fr-row .dm-av{width:32px;height:32px;cursor:pointer}.fr-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.fr-txt b{font-size:var(--fs-13);font-weight:500}.fr-txt small{font-size:var(--fs-12);color:var(--fg-mute)}.fr-actions{display:flex;align-items:center;gap:6px}.fr-actions button{width:34px;height:34px;border-radius:50%;border:none;background:var(--s-1);color:var(--fg-mute);display:flex;align-items:center;justify-content:center}.fr-actions button:hover{background:var(--s-4);color:var(--fg)}.fr-actions .fr-ok:hover{color:var(--ok)}.fr-tag{font-size:var(--fs-11);color:var(--fg-mute);margin-right:4px}.fr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 0;color:var(--fg-mute)}.fr-add h3{margin:0 0 4px;font-size:var(--fs-15)}.fr-add>p{margin:0 0 12px;font-size:var(--fs-13)}.fr-add .fr-list{margin-top:var(--sp-4)}.dm-list-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px}.dm-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;background:none;border-radius:8px;text-align:left;color:var(--fg-dim)}.dm-item:hover{background:var(--s-hover)}.dm-item.on{background:var(--s-active);color:var(--fg)}.dm-item-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.dm-item-txt b{font-size:var(--fs-13);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-item-txt small{font-size:var(--fs-12);color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-av{position:relative;width:36px;height:36px;border-radius:50%;background:var(--avatar);color:var(--fg);flex:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-13);font-weight:600}.dm-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}.dm-av.sm{width:24px;height:24px;font-size:var(--fs-11)}.dm-av.lg{width:72px;height:72px;font-size:var(--fs-24);margin-bottom:10px}.dm-av .status-dot{border-color:var(--s-2)}.dm-settings{position:absolute;right:12px;top:12px;width:28px;height:28px;border:none;background:none;color:var(--fg-mute);border-radius:6px;display:flex;align-items:center;justify-content:center}.dm-settings:hover{background:var(--s-hover);color:var(--fg)}.dm-conv{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--s-3)}.dm-conv .chead-title .dm-av .status-dot{border-color:var(--s-3)}.dm-empty,.dm-start{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--fg-mute)}.dm-empty{flex:1;gap:12px}.dm-start{padding:24px 0 28px;text-align:center}.dm-start-name{font-size:var(--fs-20);font-weight:600;color:var(--fg)}.text-channel{display:flex;flex-direction:column;height:100%;width:100%;min-width:0}.tc-messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--sp-6) 0 var(--sp-4);display:flex;flex-direction:column}.tc-daysep{display:flex;align-items:center;gap:var(--sp-5);margin:var(--sp-6) 0 var(--sp-3);padding:0 var(--sp-7);color:var(--fg-mute);font-size:var(--fs-11);font-weight:500}.tc-daysep:before,.tc-daysep:after{content:"";flex:1;height:1px;background:var(--line)}.tc-start{text-align:center;color:var(--fg-mute);font-size:var(--fs-12);padding:var(--sp-5)}.tc-msg{display:flex;gap:14px;padding:4px var(--sp-7);position:relative}.tc-msg.grouped{padding-top:1px;padding-bottom:1px;padding-left:calc(var(--sp-7) + 36px + 14px)}.tc-msg:not(.grouped){margin-top:var(--sp-5)}.tc-msg:hover{background:var(--s-hover)}.tc-avatar{width:36px;height:36px;border-radius:50%;background:var(--avatar);display:flex;align-items:center;justify-content:center;font-size:var(--fs-13);font-weight:600;flex:none;color:var(--fg);margin-top:2px;overflow:hidden}.tc-avatar img{width:100%;height:100%;object-fit:cover}.tc-meta{font-size:var(--fs-meta);margin-bottom:1px;display:flex;align-items:baseline;gap:var(--sp-4)}.tc-meta b{font-size:var(--fs-13);color:var(--fg);font-weight:600}.tc-meta span{color:var(--fg-faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tc-author{cursor:pointer}.tc-author:hover{text-decoration:underline}.tc-avatar.clickable{cursor:pointer}.tc-delconfirm{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-12);color:var(--fg-mute);padding:0 var(--sp-2)}.tc-delconfirm button{background:none;border:none;color:var(--fg-mute);padding:4px 8px;border-radius:var(--r-1);font-size:var(--fs-12);cursor:pointer}.tc-delconfirm button:hover{background:var(--s-hover);color:var(--fg)}.tc-delconfirm button.danger:hover{background:var(--danger);color:var(--on-danger)}.tc-content{line-height:1.55;word-break:break-word;font-size:var(--fs-msg);color:var(--fg)}.tc-content.deleted{color:var(--fg-mute);font-style:italic}.tc-content strong{font-weight:700}.tc-edited{font-size:var(--fs-11);color:var(--fg-mute);margin-left:var(--sp-2)}.tc-edit{width:100%;background:var(--s-5);border:1px solid var(--accent);border-radius:var(--r-2);padding:8px 10px;color:var(--fg);font-size:var(--fs-msg)}.tc-actions{position:absolute;right:var(--sp-7);top:-16px;display:none;gap:1px;background:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-2);padding:2px;box-shadow:var(--e2);z-index:var(--z-raise)}.tc-msg:hover .tc-actions{display:flex}.tc-actions button{background:none;border:none;color:var(--fg-dim);width:30px;height:28px;border-radius:var(--r-1);font-size:var(--fs-12);display:flex;align-items:center;justify-content:center}.tc-actions button:hover{background:var(--s-active);color:var(--fg)}.react-pick{position:relative;display:flex}.react-menu{display:flex;gap:2px;background:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-3);padding:4px;box-shadow:var(--e2)}.react-menu button{font-size:18px;width:34px;height:34px;border-radius:var(--r-2);background:none;border:none;display:flex;align-items:center;justify-content:center}.react-menu button:hover{background:var(--s-active)}.tc-reacts{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.tc-react{display:flex;align-items:center;gap:5px;font-size:var(--fs-meta);font-weight:500;font-family:var(--font-mono);background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-2);height:26px;padding:0 8px;color:var(--fg-dim);font-variant-numeric:tabular-nums}.tc-react span{font-size:var(--fs-13);font-family:var(--font)}.tc-react:hover{background:var(--s-hover)}.tc-react.me{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent-hi)}.tc-typing{padding:var(--sp-2) var(--sp-7) 0;font-size:var(--fs-11);color:var(--fg-mute);height:20px}.tc-senderr{color:var(--danger-hi)}.tc-newsep{display:flex;align-items:center;gap:var(--sp-5);margin:var(--sp-5) 0 var(--sp-2);padding:0 var(--sp-7);color:var(--accent-hi);font-size:var(--fs-11);font-weight:500}.tc-newsep:before{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--accent) 45%,transparent)}.tc-newsep span{flex:none}.tc-msg.pinned{background:color-mix(in srgb,var(--warn) 7%,transparent)}.tc-pinmark{position:absolute;left:var(--sp-3);top:6px;color:var(--warn)}.tc-msg.pinned.grouped{padding-left:calc(var(--sp-7) + 36px + 14px)}.pins-panel{flex:1;min-width:0;overflow-y:auto;padding:var(--sp-6)}.pins-head{display:flex;align-items:center;gap:var(--sp-3);font-weight:700;font-size:var(--fs-15);margin-bottom:var(--sp-5)}.pins-empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);color:var(--fg-mute);padding:60px 20px;text-align:center}.pins-empty p{margin:0;color:var(--fg-dim)}.pins-panel{max-width:820px;margin:0 auto}.pin-card{display:flex;gap:var(--sp-5);background:var(--s-4);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-4);position:relative}.pin-card .tc-meta b,.pin-card .tc-content{font-size:var(--fs-15)}.pin-card .tc-avatar.sm{width:36px;height:36px;font-size:var(--fs-13)}.pin-card .tc-avatar.sm img{width:100%;height:100%;border-radius:50%;object-fit:cover}.pin-body{flex:1;min-width:0}.pin-x{position:absolute;right:var(--sp-3);top:var(--sp-3);background:none;border:none;color:var(--fg-mute);padding:4px;border-radius:var(--r-1)}.pin-x:hover{background:var(--s-hover);color:var(--danger-hi)}.tc-input{padding:var(--sp-2) var(--sp-7) var(--sp-3);width:100%;flex:none}.tc-input form{display:flex;align-items:center;gap:var(--sp-3);background:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-3);min-height:48px;padding:6px 6px 6px var(--sp-5);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.tc-input form:focus-within{border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 3px var(--accent-soft)}.tc-input input{flex:1;min-width:0;background:none;border:none;color:var(--fg);font-size:var(--fs-msg);padding:8px 0;outline:none}.tc-input input::placeholder{color:var(--fg-mute)}.tc-input .tc-send{width:36px;height:36px;border-radius:var(--r-2);border:none;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;flex:none;transition:background var(--t-fast)}.tc-input .tc-send:hover:not(:disabled){background:var(--accent-hi)}.tc-input .tc-send:disabled{background:transparent;color:var(--fg-mute)}.voice-join{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--sp-5);text-align:center;background:var(--s-3)}.voice-join h2{margin:0;font-size:var(--fs-20);font-weight:600}.voice-join .vs-avatar{width:80px;height:80px;background:var(--s-4);color:var(--fg-mute);box-shadow:none;border:1px solid var(--line-strong)}.voice-stage{display:flex;flex-direction:column;height:100%;background:var(--s-1)}.vs-topbar{padding:var(--sp-5) var(--sp-7) 0;color:var(--fg-dim);font-size:var(--fs-12);display:flex;align-items:center;gap:var(--sp-4);flex:none}.vs-topbar-live{display:flex;align-items:center;gap:6px;color:var(--danger-hi);font-weight:500;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:var(--r-1);padding:0 8px;line-height:22px}.vs-topbar-live i{width:6px;height:6px;border-radius:50%;background:var(--danger);animation:pulse 1.6s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.vs-grid{flex:1;min-height:0;display:grid;gap:var(--sp-5);padding:var(--sp-6) var(--sp-7);align-content:center;justify-content:center;grid-template-columns:repeat(2,minmax(0,620px));overflow-y:auto}.vs-grid.n1{grid-template-columns:minmax(0,900px)}.vs-grid.n2{grid-template-columns:repeat(2,minmax(0,560px))}.vs-grid.n5,.vs-grid.n6{grid-template-columns:repeat(3,minmax(0,440px))}.vs-tile{border-radius:var(--r-3);aspect-ratio:16/10;position:relative;background:var(--s-4);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;overflow:hidden;outline:2px solid transparent;outline-offset:-2px;transition:outline-color var(--t-fast);flex:none}.vs-tile.speaking{outline-color:var(--speaking)}.vs-tile video{width:100%;height:100%;object-fit:contain;background:#000}.vs-avatar{width:88px;height:88px;border-radius:50%;background:var(--avatar);display:flex;align-items:center;justify-content:center;font-size:var(--fs-24);font-weight:600;color:var(--fg);overflow:hidden}.vs-avatar img{width:100%;height:100%;object-fit:cover}.vs-name{position:absolute;left:10px;bottom:8px;background:var(--media-chip);padding:2px 8px;border-radius:var(--r-1);font-size:var(--fs-12);font-weight:500;color:var(--on-media);display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px}.vs-muted{position:absolute;right:10px;bottom:8px;background:var(--media-chip);padding:4px;border-radius:var(--r-1);display:flex;color:var(--danger-hi)}.vs-muted.vs-silenced{right:auto;left:10px;top:8px;bottom:auto;color:var(--fg-mute)}.vs-live{position:absolute;left:10px;top:8px;background:var(--live);color:var(--on-danger);font-size:var(--fs-meta);font-weight:600;padding:0 6px;border-radius:var(--r-1);display:flex;align-items:center;gap:5px;line-height:20px;text-transform:uppercase;letter-spacing:.03em}.vs-live i,.live-dot{width:6px;height:6px;border-radius:50%;background:var(--danger);flex:none}.vs-live i{background:currentColor}.vs-live.big{position:static;font-size:var(--fs-13);background:none;padding:0;text-transform:none;letter-spacing:0;font-weight:600;color:var(--on-media)}.vs-live.big i{background:var(--danger)}.vs-focus{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--sp-5);padding:var(--sp-5) var(--sp-7)}.vs-main{flex:1;min-height:0;position:relative;background:#000;border-radius:var(--r-4);overflow:hidden;border:1px solid var(--line-strong);cursor:zoom-in}.vs-main-video{width:100%;height:100%;object-fit:contain;background:#000}.vs-main:fullscreen{border:none;border-radius:0}.vs-main:fullscreen .vs-main-video{object-fit:contain}.vs-main-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:40px var(--sp-6) var(--sp-5);background:linear-gradient(transparent,#000000d9);color:var(--on-media);transition:opacity .2s ease}.vs-main.idle .vs-main-bar,.vs-screencell.idle .vs-main-bar{opacity:0;pointer-events:none}.vs-main.idle,.vs-screencell.idle,.vs-multi.idle{cursor:none}.vs-fs{background:var(--media-btn);border:none;color:var(--on-media);border-radius:var(--r-2);height:32px;padding:0 12px;display:flex;align-items:center;gap:6px;font-size:var(--fs-12);font-weight:500}.vs-fs:hover{background:var(--media-btn-hover)}.vs-topbar .vs-fs{background:transparent;border:1px solid var(--line-strong);color:var(--fg)}.vs-topbar .vs-fs:hover{background:var(--s-hover)}.vs-main-ctl{display:flex;align-items:center;gap:var(--sp-3)}.vs-main-ctl button{background:var(--media-btn);border:none;color:var(--on-media);width:32px;height:32px;border-radius:var(--r-2);display:flex;align-items:center;justify-content:center}.vs-main-ctl button:hover{background:var(--media-btn-hover)}.vs-main-ctl .vs-fs{width:auto}.vs-main-vol{width:100px;accent-color:var(--on-media)}.vs-main-volpct{color:var(--on-media);font-size:var(--fs-meta);font-family:var(--font-mono);opacity:.85;min-width:36px}.vs-boost{position:absolute;top:6px;right:6px;font-size:var(--fs-meta);font-weight:600;font-family:var(--font-mono);color:var(--on-accent);background:var(--accent);border-radius:var(--r-1);padding:0 5px}.vs-volpop{position:absolute;left:8px;bottom:8px;right:8px;display:flex;align-items:center;gap:var(--sp-3);background:var(--media-chip);border-radius:var(--r-2);padding:6px 10px}.vs-volpop button{background:none;border:none;color:var(--on-media);display:flex}.vs-volpop input{flex:1;accent-color:var(--accent)}.vs-multi{flex:1;min-height:0;display:grid;gap:var(--sp-3);grid-template-columns:1fr}.vs-multi[data-n="2"]{grid-template-columns:1fr 1fr}.vs-multi[data-n="3"],.vs-multi[data-n="4"]{grid-template-columns:1fr 1fr;grid-auto-rows:1fr}.vs-multi:fullscreen{background:#000;padding:var(--sp-3)}.vs-screencell{position:relative;background:#000;border-radius:var(--r-3);overflow:hidden;border:1px solid var(--line-strong);min-height:0;cursor:zoom-in}.vs-screencell:fullscreen{border:none;border-radius:0}.vs-screencell .vs-main-bar{padding:var(--sp-3) var(--sp-4)}.vs-screencell .vs-main-vol{width:64px}.vs-noaudio{font-size:var(--fs-11);color:var(--on-media);opacity:.6}.vs-reconnecting{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--on-media);font-size:var(--fs-13);opacity:.75;pointer-events:none}.vs-audio-blocked{margin:var(--sp-4) var(--sp-7) 0;padding:8px 14px;border:none;border-radius:var(--r-2);background:var(--warn);color:#1a1400;font-size:var(--fs-12);font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer}.vs-audio-blocked.err{background:var(--danger);color:var(--on-danger)}.vs-offer{margin:var(--sp-4) var(--sp-7) 0;padding:8px 10px 8px 14px;border-radius:var(--r-3);background:var(--s-4);border:1px solid var(--line-strong);display:flex;align-items:center;gap:10px;font-size:var(--fs-13)}.vs-offer span{flex:1;display:flex;align-items:center;gap:7px;color:var(--fg-dim)}.vs-offer .btn-primary{padding:6px 12px;display:inline-flex;align-items:center;gap:6px}.vs-strip{flex:none;display:flex;gap:var(--sp-4);overflow-x:auto;padding-bottom:2px}.vs-strip .vs-tile.sm{width:168px;aspect-ratio:16/10;border-radius:var(--r-3)}.vs-strip .vs-tile.sm .vs-avatar{width:44px;height:44px;font-size:var(--fs-17)}.vs-strip .vs-tile.sm .vs-name{font-size:var(--fs-11);padding:0 6px;left:6px;bottom:5px;background:none}.vs-strip .vs-tile.scr{padding:0;background:#000}.vs-strip .vs-tile.scr:hover{border-color:var(--fg-faint)}.vs-strip .vs-tile.scr .vs-name{background:var(--media-chip)}.vs-strip .vs-tile.scr video{object-fit:cover}.vs-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);justify-content:center;padding:var(--sp-5);flex:none;border-top:1px solid var(--line);background:var(--s-3)}.vs-meter{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:4px var(--sp-4);font-size:var(--fs-11);color:var(--fg-mute);font-variant-numeric:tabular-nums}.vs-meter.warn{color:var(--warn)}.vs-meter b{flex-basis:100%;text-align:center;font-weight:600}.vs-controls>button,.vs-screen-wrap>button:first-child{width:44px;height:44px;border-radius:var(--r-3);border:1px solid var(--line-strong);background:var(--s-4);color:var(--fg);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast),color var(--t-fast)}.vs-controls>button:hover,.vs-screen-wrap>button:first-child:hover{background:var(--s-active)}.vs-controls button.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-hi)}.vs-controls button.leave{width:auto;padding:0 18px;gap:8px;background:var(--danger);border-color:transparent;color:var(--on-danger);margin-left:var(--sp-4);font-size:var(--fs-13);font-weight:500}.vs-controls button.leave:hover{filter:brightness(1.12);background:var(--danger)}.vs-screen-wrap{position:relative;display:flex}.vs-screen-wrap>button:first-child{border-radius:var(--r-3) 0 0 var(--r-3)}.vs-qbtn{width:24px;height:44px;border-radius:0 var(--r-3) var(--r-3) 0;border:1px solid var(--line-strong);border-left:none;background:var(--s-4);color:var(--fg-mute);display:flex;align-items:center;justify-content:center}.vs-qbtn:hover{background:var(--s-active);color:var(--fg)}.vs-qmenu{max-width:min(340px,calc(100vw - 32px))}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--sp-6)}.modal{background:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-5);padding:var(--sp-8);width:min(440px,92vw);max-height:calc(100vh - 32px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-6);box-shadow:var(--e3);animation:pop-in .14s ease}.modal.wide{width:min(760px,94vw);height:min(580px,90vh);padding:0;gap:0;overflow:hidden}.modal.wide.roomy{width:min(940px,96vw);height:min(680px,92vh)}.modal-body.flush{padding:0;display:flex;overflow:hidden}.re{display:flex;width:100%;min-height:0}.re-list{width:244px;flex:none;border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--s-2)}.re-list-head{display:flex;align-items:center;height:48px;padding:0 8px 0 16px;border-bottom:1px solid var(--line);font-size:var(--fs-13);font-weight:600}.re-list-head span{flex:1}.re-add{width:30px;height:30px;border:none;border-radius:7px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center}.re-add:hover{background:var(--accent-hi)}.re-list-body{flex:1;overflow-y:auto;padding:8px}.re-role{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 4px;border-radius:7px;cursor:pointer;color:var(--fg-dim)}.re-role:hover{background:var(--s-hover)}.re-role.on{background:var(--s-active);color:var(--fg)}.re-role .re-name{flex:1;font-size:var(--fs-13);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.re-role .re-count{font-size:var(--fs-12);color:var(--fg-mute);font-variant-numeric:tabular-nums}.re-dot{border-radius:50%;flex:none;display:inline-block}.re-reorder{display:flex;flex-direction:column;width:16px;flex:none;opacity:0;transition:opacity var(--t-fast)}.re-role:hover .re-reorder,.re-role.on .re-reorder{opacity:1}.re-reorder button{width:16px;height:13px;padding:0;border:none;background:none;color:var(--fg-mute);display:flex;align-items:center;justify-content:center}.re-reorder button:hover:not(:disabled){color:var(--fg)}.re-reorder button:disabled{opacity:.25}.re-detail{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--s-3)}.re-detail-head{display:flex;align-items:center;gap:10px;padding:16px 20px 0}.re-detail-head b{font-size:var(--fs-17);font-weight:600}.re-detail-sub{font-size:var(--fs-12);color:var(--fg-mute)}.re-del{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:none;border-radius:7px;background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger-hi);font-family:inherit;font-size:var(--fs-12)}.re-del:hover{background:color-mix(in srgb,var(--danger) 22%,transparent)}.re-tabs{display:flex;gap:22px;padding:14px 20px 0;border-bottom:1px solid var(--line)}.re-tabs button{background:none;border:none;padding:8px 0;font-size:var(--fs-13);color:var(--fg-mute);position:relative}.re-tabs button:hover{color:var(--fg-dim)}.re-tabs button.on{color:var(--fg);font-weight:500;box-shadow:inset 0 -2px 0 var(--accent)}.re-tab-n{color:var(--fg-mute);font-weight:400;margin-left:2px}.re-tab-body{flex:1;overflow-y:auto;padding:20px}.re-form{display:flex;flex-direction:column;gap:18px;max-width:440px}.re-form label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-12);color:var(--fg-dim)}.re-form input{background:var(--s-5);border:1px solid var(--line);border-radius:var(--r-2);padding:9px 12px;color:var(--fg);font-size:var(--fs-13)}.re-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.re-colors{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.re-swatch{width:28px;height:28px;border-radius:var(--r-2);border:2px solid transparent;background:var(--s-5);display:flex;align-items:center;justify-content:center;color:var(--fg-mute)}.re-swatch.on{border-color:var(--fg)}.re-hint{font-size:var(--fs-12);color:var(--fg-mute);margin:8px 0 0}.re-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;background:var(--s-5);border:1px solid var(--line);border-radius:var(--r-2);color:var(--fg-mute);margin-bottom:16px;max-width:460px}.re-search input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--fg);font-size:var(--fs-13)}.re-perm-group{margin-bottom:20px}.re-perm-gh{font-size:var(--fs-11);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:4px}.re-perm{display:flex;align-items:center;gap:16px;padding:13px 0;border-top:1px solid var(--line)}.re-perm-txt{flex:1;min-width:0}.re-perm-label{font-size:var(--fs-13);font-weight:500;display:flex;align-items:center;gap:6px}.re-perm-soon{font-size:var(--fs-11);font-weight:500;padding:0 5px;border-radius:var(--r-pill);background:var(--s-4);color:var(--fg-mute);text-transform:none;letter-spacing:0}.re-perm-desc{font-size:var(--fs-12);color:var(--fg-mute);margin-top:2px}.cs-perm{display:flex;flex-direction:column;height:100%;min-height:0}.cs-perm-top{flex:none;display:flex;flex-direction:column;gap:var(--sp-4);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line)}.cs-perm-top>.muted{margin:0;font-size:var(--fs-13)}.cs-syncbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-2);background:color-mix(in srgb,var(--warn) 12%,transparent);font-size:var(--fs-12);color:var(--fg-dim)}.cs-syncbar span{display:flex;align-items:center;gap:6px}.cs-syncbar .btn-sm{flex:none}.cs-private{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-2)}.cs-private>div{flex:1}.cs-private b{display:flex;align-items:center;gap:6px;font-size:var(--fs-13)}.cs-private p{margin:2px 0 0;font-size:var(--fs-12)}.cs-perm-body{flex:1;min-height:0;display:flex;gap:var(--sp-5);padding-top:var(--sp-5)}.cs-roles{width:190px;flex:none;display:flex;flex-direction:column;gap:1px;overflow-y:auto}.cs-roles-h{font-size:var(--fs-11);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-mute);padding:4px 8px 6px}.cs-role{display:flex;align-items:center;gap:8px;padding:7px 8px;border:none;background:none;border-radius:var(--r-2);color:var(--fg-dim);font-size:var(--fs-13);text-align:left}.cs-role:hover{background:var(--s-hover)}.cs-role.on{background:var(--s-active);color:var(--fg)}.cs-dot{width:9px;height:9px;border-radius:50%;background:var(--fg-mute);flex:none}.cs-role-mark{width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:auto;flex:none}.cs-grid{flex:1;min-width:0;overflow-y:auto;padding-right:var(--sp-3);border-left:1px solid var(--line);padding-left:var(--sp-5)}.tri{display:inline-flex;flex:none;border:1px solid var(--line-strong);border-radius:var(--r-2);overflow:hidden}.tri-b{width:34px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--s-4);color:var(--fg-mute);border:none;border-right:1px solid var(--line)}.tri-b:last-child{border-right:none}.tri-b:hover:not(:disabled){background:var(--s-active);color:var(--fg-dim)}.tri-x.on{background:color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger-hi)}.tri-n.on{background:var(--s-active);color:var(--fg)}.tri-v.on{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-hi)}.re-toggle{width:40px;height:22px;border-radius:var(--r-pill);background:var(--s-5);border:1px solid var(--line-strong);flex:none;position:relative;transition:background var(--t-fast),border-color var(--t-fast)}.re-toggle:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--fg-mute);transition:transform var(--t-fast),background var(--t-fast)}.re-toggle.on{background:var(--accent);border-color:var(--accent)}.re-toggle.on:after{transform:translate(18px);background:var(--on-accent)}.re-toggle:disabled{opacity:.5}.re-mlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.re-mlist li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.re-mav{width:28px;height:28px;border-radius:50%;background:var(--avatar);color:var(--fg);display:flex;align-items:center;justify-content:center;font-size:var(--fs-12);font-weight:600;overflow:hidden;flex:none}.re-mav img{width:100%;height:100%;object-fit:cover}.re-mname{flex:1;font-size:var(--fs-13);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.re-mbtn{height:28px;padding:0 12px;border:1px solid var(--line-strong);border-radius:7px;background:none;color:var(--fg-dim);font-family:inherit;font-size:var(--fs-12)}.re-mbtn:hover{border-color:var(--accent);color:var(--fg)}.re-mbtn.on{background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:transparent;color:var(--danger-hi)}.modal-body.flush-pad{padding:var(--sp-6)}.mt{display:flex;flex-direction:column;height:100%;min-height:0}.mt-head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);flex:none}.mt-title{font-size:var(--fs-15);font-weight:600}.mt-remove{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:none;border-radius:var(--r-2);background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger-hi);font-size:var(--fs-12);font-weight:500}.mt-remove:hover{background:color-mix(in srgb,var(--danger) 22%,transparent)}.mt-table{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden;background:var(--s-2)}.mt-row{display:flex;align-items:center;gap:var(--sp-5);padding:0 var(--sp-5);min-height:54px;border-bottom:1px solid var(--line)}.mt-body .mt-row:last-child{border-bottom:none}.mt-thead{min-height:40px;background:var(--s-3);font-size:var(--fs-11);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-mute);position:sticky;top:0;z-index:var(--z-raise)}.mt-body{flex:1;overflow-y:auto}.mt-cbox-cell{width:18px;flex:none;display:flex}.mt-cbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--line-strong);cursor:pointer}.mt-cbox.on{background:var(--accent);border-color:var(--accent);position:relative}.mt-cbox.on:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.mt-c-name{flex:2;min-width:0;display:flex;align-items:center;gap:10px}.mt-name-txt{display:flex;flex-direction:column;min-width:0;line-height:1.3}.mt-name-txt b{font-size:var(--fs-13);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-name-txt small{font-size:var(--fs-11);color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-owner{color:var(--fg-mute);display:flex;flex:none}.mt-owner[title=Dono]{color:var(--owner)}.mt-c-date{flex:1;font-size:var(--fs-12);color:var(--fg-dim)}.mt-c-roles{flex:1.4;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.mt-tag{font-size:var(--fs-11);padding:1px 7px;border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--fg-dim);white-space:nowrap}.mt-c-act{width:32px;flex:none;position:relative;display:flex;justify-content:flex-end}.mt-thead .mt-c-name,.mt-thead .mt-c-date,.mt-thead .mt-c-roles{font:inherit}.mt-kebab{width:28px;height:28px;border:none;background:none;color:var(--fg-mute);border-radius:var(--r-1);display:flex;align-items:center;justify-content:center}.mt-kebab:hover{background:var(--s-hover);color:var(--fg)}.mt-foot{display:flex;align-items:center;gap:var(--sp-4);height:44px;padding:0 var(--sp-5);border-top:1px solid var(--line);background:var(--s-3);font-size:var(--fs-12);color:var(--fg-mute);flex:none}.mt-foot button{width:28px;height:28px;border:1px solid var(--line-strong);border-radius:var(--r-1);background:none;color:var(--fg-dim);display:flex;align-items:center;justify-content:center}.mt-foot button:disabled{opacity:.35}.mt-pageno{font-variant-numeric:tabular-nums}.confirm-bg{z-index:var(--z-confirm)}.modal.confirm{width:min(400px,92vw);gap:var(--sp-6)}.confirm-head{display:flex;align-items:center;gap:var(--sp-4)}.confirm-icon{flex:none;width:34px;height:34px;border-radius:var(--r-2);display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-hi)}.confirm-icon.danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger-hi)}.confirm-head h2{font-size:var(--fs-17)}.confirm-body{margin:0;color:var(--fg-dim);font-size:var(--fs-13);line-height:1.5}.confirm-label{font-size:var(--fs-12);color:var(--fg-mute);margin-bottom:-6px}.confirm-input{width:100%}.modal.crop{width:auto;align-items:center;gap:var(--sp-5)}.crop-view{position:relative;overflow:hidden;border-radius:var(--r-3);background:#000;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.crop-view:active{cursor:grabbing}.crop-view img{position:absolute;left:0;top:0;max-width:none;pointer-events:none}.crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 0 2000px #0000008c;pointer-events:none}.crop-mask.round{border-radius:50%}.crop-zoom{display:flex;align-items:center;gap:var(--sp-4);width:100%;color:var(--fg-mute)}.crop-zoom input{flex:1;accent-color:var(--accent)}.modal h2{margin:0;font-size:var(--fs-20);font-weight:700}.modal .row{display:flex;gap:var(--sp-4);align-items:center;justify-content:flex-end}.modal .row button:not(.btn-primary):not(.btn-danger){background:var(--s-4);border:1px solid var(--line);border-radius:var(--r-2);padding:9px 14px;font-weight:600;font-size:var(--fs-13)}.modal .row button:not(.btn-primary):not(.btn-danger):hover{background:var(--s-active)}.chan-type{display:flex;gap:var(--sp-4)}.chan-type button{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4);background:var(--s-4);border:2px solid transparent;border-radius:var(--r-3);color:var(--fg-mute)}.chan-type button.on{border-color:var(--accent);color:var(--fg);background:var(--accent-soft)}.big-choice{display:flex;align-items:center;gap:var(--sp-5);text-align:left;width:100%;background:var(--s-4);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--sp-5);color:var(--fg)}.big-choice:hover{border-color:var(--accent);background:var(--accent-soft)}.big-choice b{display:block;font-size:var(--fs-15)}.big-choice small{color:var(--fg-mute);font-size:var(--fs-12)}.tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.tpl{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);text-align:left;background:var(--s-4);border:2px solid transparent;border-radius:var(--r-2);padding:var(--sp-4);color:var(--fg-dim);font-size:var(--fs-13)}.tpl.on{border-color:var(--accent);color:var(--fg);background:var(--accent-soft)}.tpl small{color:var(--fg-mute);font-size:var(--fs-11)}.imp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-5)}.imp-steps>li{display:flex;flex-direction:column;gap:var(--sp-3)}.imp-steps b{font-size:var(--fs-13)}.imp-steps small{font-size:var(--fs-11);line-height:1.4}.imp-steps .btn-sm{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.imp-preview{background:var(--s-1);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.imp-guild{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-15)}.imp-guild img,.imp-guild-ph{width:40px;height:40px;border-radius:var(--r-3);flex:none;object-fit:cover}.imp-guild-ph{background:var(--avatar);display:flex;align-items:center;justify-content:center;font-weight:700}.imp-counts{display:flex;gap:var(--sp-5);font-size:var(--fs-12);color:var(--fg-mute)}.imp-counts b{color:var(--fg);font-variant-numeric:tabular-nums}.imp-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-12);color:var(--fg-dim)}.imp-list li{display:flex;align-items:center;gap:5px}.imp-dot{width:9px;height:9px;border-radius:50%;background:var(--fg-mute);flex:none}.imp-warn{list-style:none;margin:0;padding:var(--sp-4) 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;font-size:var(--fs-11);color:var(--fg-mute)}.imp-warn li{display:flex;align-items:center;gap:5px}.icon-picker{display:flex;align-items:center;gap:var(--sp-4)}.icon-picker .ip-preview{width:64px;height:64px;border-radius:var(--r-4);background:var(--s-4);display:flex;align-items:center;justify-content:center;font-size:var(--fs-24);font-weight:700;overflow:hidden;flex:none}.icon-picker .ip-preview img{width:100%;height:100%;object-fit:cover}.modal-tabs{display:flex;gap:var(--sp-2);padding:var(--sp-5) var(--sp-5) 0;border-bottom:1px solid var(--line)}.modal-tabs button{background:none;border:none;color:var(--fg-mute);padding:8px 12px;border-radius:var(--r-2) var(--r-2) 0 0;font-size:var(--fs-13)}.modal-tabs button:hover{color:var(--fg-dim)}.modal-tabs button.on{color:var(--fg);background:var(--s-3)}.modal-x{margin-left:auto;display:flex;align-items:center;padding:8px;color:var(--fg-mute);background:none;border:none}.modal-x:hover{color:var(--fg)}.modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sp-6);background:var(--s-3)}.tab-pane{display:flex;flex-direction:column;gap:var(--sp-5)}.invite-list,.member-admin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-4)}.invite-list li{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-12)}.invite-list li code{flex:1}.invite-list button{background:var(--s-4);border:1px solid var(--line);border-radius:var(--r-1);padding:4px 8px;display:flex;align-items:center;gap:4px}.member-admin-list li{display:flex;gap:var(--sp-5);align-items:flex-start;background:var(--s-4);padding:var(--sp-5);border-radius:var(--r-2)}.ma-info{flex:1;display:flex;flex-direction:column;gap:2px}.ma-roles{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-2);font-size:var(--fs-12)}.ma-roles label{flex-direction:row;align-items:center;gap:var(--sp-2)}.ma-actions{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-12)}.ma-actions button{background:none;border:1px solid var(--line);color:var(--fg-mute);border-radius:var(--r-1);padding:4px 8px}.roles-pane{flex-direction:row;gap:var(--sp-6);height:100%}.roles-col{width:180px;flex:none}.roles-col ul,.roles-detail{list-style:none;padding:0;margin:var(--sp-4) 0 0}.roles-col li{padding:7px 9px;border-radius:var(--r-2)}.roles-col li.on{background:var(--s-active)}.roles-detail{flex:1;display:flex;flex-direction:column;gap:var(--sp-5)}.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);font-size:var(--fs-12)}.perm-grid label{flex-direction:row;align-items:center;gap:var(--sp-3);color:var(--fg)}.color-grid{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-3)}.color-swatch{width:26px;height:26px;border-radius:var(--r-2);border:2px solid transparent;background:var(--s-4);display:flex;align-items:center;justify-content:center;color:var(--fg-mute)}.color-swatch.on{border-color:var(--fg)}.vt-devices{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}.vt-devices label{min-width:0}.vt-devices select{width:100%;min-width:0}.vt-test{display:flex;align-items:center;gap:var(--sp-5)}.vt-sep{border:none;border-top:1px solid var(--line);margin:var(--sp-3) 0}.vt-sens{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-3) 0}.vt-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-5)}.vt-row b{font-size:var(--fs-13)}.vt-row p{margin:2px 0 0;font-size:var(--fs-12)}.lvl-bar{flex:1;min-width:0;height:10px;border-radius:var(--r-pill);background:var(--s-0);border:1px solid var(--line);overflow:hidden;position:relative}.lvl-bar.tall{height:16px;overflow:visible;margin:var(--sp-4) 0 var(--sp-5)}.lvl-fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-pill);transition:width 60ms linear}.lvl-fill{background:var(--fg-mute)}.lvl-fill.ok{background:var(--ok)}.lvl-fill.yellow{background:var(--warn)}.lvl-bar.tall .lvl-fill{border-radius:var(--r-pill)}.lvl-thumb{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);width:100%;margin:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:24px}.lvl-thumb::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:6px;height:24px;border-radius:3px;background:#fff;border:1px solid #0006;cursor:ew-resize;box-shadow:0 0 6px #0007}.lvl-thumb::-moz-range-thumb{width:6px;height:24px;border-radius:3px;background:#fff;border:none;cursor:ew-resize}.lvl-thumb::-webkit-slider-runnable-track{background:none}.toggle{width:40px;height:22px;border-radius:var(--r-pill);background:var(--s-4);border:1px solid var(--line);padding:0;flex:none;transition:background var(--t-fast)}.toggle i{display:block;width:16px;height:16px;border-radius:50%;background:var(--fg-mute);margin:2px;transition:transform var(--t-fast),background var(--t-fast)}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle.on i{transform:translate(18px);background:var(--on-accent)}.vt-monitor{margin-top:var(--sp-4)}.vt-gain{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) 0}.vt-gain p{margin:0;font-size:var(--fs-12)}.vt-gain input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--r-pill);background:var(--s-0);border:1px solid var(--line);cursor:ew-resize}.vt-gain input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--fg);border:none;box-shadow:var(--e1)}.vt-gain input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--fg);border:none}.vt-verdict{margin:0;font-size:var(--fs-12);color:var(--fg-mute)}.vt-verdict.on{color:var(--ok)}.tv-modal{width:min(480px,92vw)}.tv-modal section{display:flex;flex-direction:column;gap:var(--sp-3)}.tv-modal p{margin:0}.tv-sec{font-size:var(--fs-12);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim)}.tv-sec span{font-weight:400;text-transform:none;letter-spacing:0;color:var(--fg-mute);margin-left:6px}.tv-how{font-size:var(--fs-13)}.tv-seg{display:flex;border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;align-self:flex-start}.tv-seg button{padding:7px 16px;background:var(--s-4);font-size:var(--fs-13);font-weight:600;color:var(--fg-dim)}.tv-seg button+button{border-left:1px solid var(--line)}.tv-seg button.on{background:var(--accent-soft);color:var(--accent-hi)}.tv-code{display:flex;gap:var(--sp-3)}.tv-code input{flex:1;font:600 18px/1 ui-monospace,Consolas,monospace;letter-spacing:.2em;text-transform:uppercase}.vs-ontv{border-color:var(--accent)}.vs-ontv .btn-sm{white-space:nowrap}
