:root{--bg-tertiary: #0a0b0d;--bg-secondary: #101113;--bg-primary: #17181b;--bg-input: #212326;--bg-hover: #1d1e21;--bg-active: #272829;--bg-overlay: rgba(0, 0, 0, .72);--bg-elevated: #1c1d20;--bg-modifier-hover: rgba(79, 84, 92, .16);--bg-modifier-active: rgba(79, 84, 92, .24);--bg-modifier-selected: rgba(79, 84, 92, .32);--accent: #00c8ff;--accent-rgb: 0, 200, 255;--accent-hover: #7b2fff;--accent-active: #6620e0;--accent-primary: var(--accent);--accent-secondary: var(--accent-hover);--accent-gradient: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--border-glow: rgba(0, 200, 255, .08);--text-normal: #dbdee1;--text-muted: #949ba4;--text-faint: #80848e;--text-micro: #6d6f78;--text-link: #5b9cf6;--text-positive: #23a55a;--text-warning: #f0b232;--text-danger: #f23f43;--header-primary: #f2f3f5;--header-secondary: #b5bac1;--interactive-normal: #b5bac1;--interactive-hover: #dbdee1;--interactive-active: #fff;--interactive-muted: #4e5058;--channel-icon: #80848e;--green: #23a55a;--yellow: #f0b232;--red: #f23f43;--border: rgba(255,255,255,.07);--border-strong: rgba(255,255,255,.14);--border-glow: rgba(0, 200, 255, .1);--role-owner: #e74c3c;--role-admin: #FF8DA1;--role-mod: #3498db;--role-member: #949ba4;--elevation-low: 0 1px 0 rgba(0,0,0,.3), 0 1.5px 0 rgba(0,0,0,.15);--elevation-medium: 0 4px 16px rgba(0,0,0,.4);--elevation-high: 0 12px 40px rgba(0,0,0,.6);--elevation-float: 0 20px 60px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06);--scrollbar-thin-thumb: rgba(255,255,255,.1);--scrollbar-auto-thumb: rgba(255,255,255,.1);--scrollbar-auto-track: transparent;--transition-fast: 80ms ease;--transition-normal: .15s ease;--transition-slow: .22s cubic-bezier(.4, 0, .2, 1);--font-display: "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--font-body: "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-mono: "Cascadia Code", "Consolas", monospace;--font-size: 14px;--font-size-xxs: 10px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-xxl: 24px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 18px;--radius-pill: 24px;--radius-circle: 50%;--sidebar-width: 240px;--header-height: 48px;--message-group-spacing: 17px;--message-inline-spacing: 0;--avatar-size: 40px;--avatar-offset-left: 16px;--message-content-left: 72px;--message-content-right: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:var(--font-size, 14px);color:var(--text-normal);background:var(--bg-tertiary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"calt" 1}#app{height:100%}button{font-family:inherit;border:none;cursor:pointer;outline:none;background:none;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{font-family:inherit;border:none;outline:none}a{color:var(--text-link);text-decoration:none}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-auto-thumb) transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-auto-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.connect-page{display:flex;flex:1;min-height:0;position:relative;overflow:hidden}.connect-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 600px 400px at 15% 80%,rgba(0,200,255,.06) 0%,transparent 70%),radial-gradient(ellipse 500px 350px at 85% 20%,rgba(123,47,255,.05) 0%,transparent 70%),radial-gradient(ellipse 300px 300px at 50% 50%,rgba(35,165,90,.03) 0%,transparent 70%);pointer-events:none;z-index:0;animation:bgShift 20s ease-in-out infinite alternate}.settings-gear{position:absolute;top:16px;right:16px;z-index:10;width:36px;height:36px;border-radius:var(--radius-md);background:transparent;color:var(--text-faint);display:flex;align-items:center;justify-content:center;transition:all .2s}.settings-gear:hover{background:var(--bg-hover);color:var(--text-normal);transform:rotate(30deg)}.settings-gear svg{width:20px;height:20px}.server-panel{width:300px;background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);display:flex;flex-direction:column;flex-shrink:0;z-index:1;position:relative;overflow:hidden;animation:slideInLeft .5s ease-out;border-right:1px solid var(--border)}.server-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 280px 300px at 50% -10%,rgba(255,255,255,.05) 0%,transparent 70%)}.server-panel-header{padding:8px 16px 6px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.server-panel-header h2{font-size:10px;font-weight:700;color:#fff3;letter-spacing:.08em;text-transform:uppercase}.server-branding{padding:32px 24px 20px;text-align:center;position:relative;z-index:1;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:4px}.vox-logo{display:block;margin:0 auto 12px;width:52px;height:52px;filter:drop-shadow(0 4px 16px rgba(0,200,255,.3)) drop-shadow(0 2px 4px rgba(0,0,0,.5));animation:logoPulse 4s ease-in-out infinite}@keyframes logoPulse{0%,to{filter:drop-shadow(0 4px 16px rgba(0,200,255,.25)) drop-shadow(0 2px 4px rgba(0,0,0,.5))}50%{filter:drop-shadow(0 4px 24px rgba(0,200,255,.45)) drop-shadow(0 2px 4px rgba(0,0,0,.5))}}.brand-name{font-size:20px;font-weight:800;color:#fff;margin-bottom:6px;letter-spacing:-.03em}.brand-tagline{font-size:11px;color:#ffffff4d;line-height:1.5}.header-actions{display:flex;gap:4px}.header-btn{width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;color:#ffffff4d;display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:14px}.header-btn:hover{background:var(--bg-hover);color:#ffffffb3}.header-btn svg{width:14px;height:14px}.server-list{flex:1;overflow-y:auto;padding:4px 8px 8px}.server-item{display:flex;align-items:center;gap:10px;border-radius:8px;border:1px solid transparent;padding:10px 12px;cursor:pointer;transition:background .15s,border-color .15s;position:relative;opacity:0;animation:slideInLeft .4s ease-out forwards}.server-item:nth-child(1){animation-delay:.3s}.server-item:nth-child(2){animation-delay:.4s}.server-item:nth-child(3){animation-delay:.5s}.server-item:nth-child(4){animation-delay:.6s}.server-item:nth-child(5){animation-delay:.7s}.server-item:hover{background:#ffffff0a;border-color:#ffffff0f}.server-item.active{background:#00c8ff1a;border-color:#00c8ff33}.server-item .srv-icon{display:none}.server-item .srv-info{flex:1;min-width:0}.server-item .srv-name{font-size:13px;font-weight:600;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-item.active .srv-name{color:#fff}.server-item .srv-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.server-item .srv-host{font-size:10px;color:#ffffff4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-item .srv-last{font-size:10px;color:var(--text-micro);white-space:nowrap}.srv-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.srv-meta-sep{color:#fff3;font-size:10px}.srv-meta-status{margin-top:2px}.srv-status-dot.online{background:var(--green)}.srv-status-dot.slow{background:var(--yellow)}.srv-status-dot.offline{background:var(--red)}.srv-status-dot.unknown{background:var(--text-micro)}.srv-status-dot.checking{background:var(--text-micro);animation:pulse 1s ease-in-out infinite}.srv-status-text{font-size:9px;font-weight:600;margin-left:auto;flex-shrink:0;text-transform:uppercase}.srv-status-text.online{color:var(--green)}.srv-status-text.offline{color:var(--red)}.srv-status-text.unknown{color:var(--text-micro)}.srv-latency{font-size:10px;color:var(--text-micro);font-family:var(--font-mono);white-space:nowrap}.srv-latency.good{color:var(--green)}.srv-latency.warn{color:var(--yellow)}.srv-latency.bad{color:var(--red)}.srv-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.server-item:hover .srv-actions{opacity:1}.srv-actions:has(.auto-login.active){opacity:1}.srv-btn{width:26px;height:26px;border-radius:var(--radius-sm);background:transparent;color:var(--text-faint);display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .15s}.srv-btn:hover{background:var(--bg-active);color:var(--text-normal)}.srv-btn.danger:hover{background:var(--red);color:#fff}.srv-btn.auto-login{color:var(--text-micro)}.srv-btn.auto-login.active{color:var(--accent);opacity:1}.srv-btn.auto-login:hover{color:var(--accent)}.srv-online-users{font-size:10px;color:var(--text-micro);white-space:nowrap}.srv-online-users.has-users{color:var(--green)}.srv-auto{font-size:10px;color:var(--accent);margin-left:4px}.server-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px}.server-empty-icon{width:64px;height:64px;border-radius:16px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.server-empty-icon svg{width:28px;height:28px;color:var(--text-micro)}.server-empty h3{font-size:16px;color:var(--text-faint);font-weight:600}.server-empty p{font-size:13px;color:var(--text-micro);text-align:center;line-height:1.5}.server-panel-footer{padding:8px;border-top:1px solid rgba(255,255,255,.05);flex-shrink:0;display:flex;gap:6px}.btn-add-server{flex:1;padding:8px;border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text-muted);font-size:12px;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.06)}.btn-add-server:hover{background:#ffffff12;color:var(--text-normal);border-color:#ffffff1a}.btn-footer-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;color:var(--text-faint);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.btn-footer-icon:hover{background:var(--bg-hover);color:var(--text-normal)}.btn-footer-icon svg{width:16px;height:16px}.protocol-tip{padding:6px 20px 10px;font-size:11px;color:var(--text-micro);text-align:center;line-height:1.4}.protocol-tip code{font-family:var(--font-mono);font-size:10px;background:var(--bg-hover);padding:1px 4px;border-radius:2px;color:var(--text-faint)}.form-panel{flex:1;display:flex;align-items:center;justify-content:center;z-index:1;position:relative;padding:40px;animation:slideInRight .5s ease-out .1s both}.form-container{width:100%;max-width:400px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);padding:32px 32px 28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0a;animation:formSlideIn .5s cubic-bezier(.16,1,.3,1)}.form-logo{display:none}.form-header{margin-bottom:28px}.form-title{font-size:26px;font-weight:700;color:#fff;letter-spacing:-.02em;margin-bottom:6px}.form-subtitle{font-size:14px;color:var(--text-muted);line-height:1.5}.error-banner{background:#2d1214;border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;display:none;align-items:flex-start;gap:8px;animation:shakeX .4s ease-in-out}.error-banner.visible{display:flex}.error-banner-icon{color:#f38688;font-size:16px;flex-shrink:0;margin-top:1px}.error-banner-text{color:#f38688;font-size:13px;line-height:1.4}.success-banner{background:#23a55a1f;border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;display:none;align-items:center;gap:8px}.success-banner.visible{display:flex}.success-banner-icon{color:var(--green);font-size:16px;flex-shrink:0}.success-banner-text{color:var(--green);font-size:13px}.form-group{margin-bottom:16px}.form-group--hidden{display:none}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.form-row .form-group.port-field{flex:0 0 100px}.form-label{display:block;font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}.form-label .required{color:var(--red);margin-left:2px}.form-input{width:100%;padding:12px 14px;background:var(--bg-input);color:var(--text-normal);border:1px solid var(--border);border-radius:12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:var(--text-micro)}.form-input:hover{border-color:var(--border-strong)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00c8ff26}.form-input.error{border-color:var(--red)}.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:40px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;color:var(--text-faint);padding:4px;border-radius:var(--radius-sm);font-size:16px;transition:color .15s}.password-toggle:hover{color:var(--text-normal)}.form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:16px;-webkit-user-select:none;user-select:none}.form-checkbox input{display:none}.checkbox-box{width:18px;height:18px;border-radius:var(--radius-sm);border:2px solid var(--border-strong);background:transparent;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.checkbox-box svg{opacity:0;transition:opacity .15s}.form-checkbox:hover .checkbox-box{border-color:var(--accent)}.form-checkbox input:checked+.checkbox-box{background:var(--accent);border-color:var(--accent)}.form-checkbox input:checked+.checkbox-box svg{opacity:1}.checkbox-label{font-size:13px;color:var(--text-muted)}.remember-password-group{display:flex;align-items:center;gap:8px;margin-bottom:16px;margin-top:-8px}.remember-password-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;margin:0;border-radius:6px}.remember-password-label{font-size:13px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.btn-primary{width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;font-size:15px;font-weight:600;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 2px 12px #00c8ff40}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 20px #00c8ff59}.btn-primary:hover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.1) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.btn-primary:active{background:linear-gradient(135deg,#4752c4,#3b44b0)}.btn-primary:disabled{background:var(--border-strong);color:var(--text-faint);cursor:not-allowed}.btn-primary.loading{pointer-events:none}.btn-primary.loading .btn-text{opacity:0}.btn-primary .btn-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center}.btn-primary.loading .btn-spinner{display:flex}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent, #00c8ff);border-radius:50%;animation:spin .6s linear infinite}.form-switch{margin-top:12px;font-size:13px;color:var(--text-faint)}.form-switch a{color:var(--text-link);cursor:pointer;text-decoration:none}.form-switch a:hover{text-decoration:underline}.totp-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:10;animation:formSlideIn .3s cubic-bezier(.16,1,.3,1)}.totp-overlay--hidden{display:none}.auto-connect-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-tertiary);background-image:radial-gradient(ellipse 500px 400px at 50% 40%,rgba(0,200,255,.06) 0%,transparent 70%);display:flex;align-items:center;justify-content:center;z-index:10;animation:formSlideIn .3s cubic-bezier(.16,1,.3,1)}.auto-connect-overlay--hidden{display:none}.auto-connect-card{text-align:center;padding:40px}.auto-connect-spinner{margin:0 auto 20px;width:48px;height:48px}.auto-connect-spinner .spinner{width:48px;height:48px;border-width:3px}.auto-connect-title{font-size:20px;font-weight:700;color:#fff;margin-bottom:8px}.auto-connect-server{display:block;font-size:14px;color:var(--accent);margin-bottom:24px}.auto-connect-cancel{font-size:13px;color:var(--text-faint);cursor:pointer;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 20px;transition:all .15s}.auto-connect-cancel:hover{color:var(--text-normal);border-color:var(--text-muted)}.totp-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 8px 32px #00c8ff40}.totp-icon svg{width:32px;height:32px;color:#fff}.totp-title{text-align:center;font-size:22px;font-weight:700;color:#fff;margin-bottom:6px}.totp-subtitle{text-align:center;font-size:14px;color:var(--text-muted);margin-bottom:24px;line-height:1.5}.totp-inputs{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.totp-digit{width:48px;height:56px;border-radius:var(--radius-md);background:var(--bg-input);border:2px solid var(--border);color:#fff;font-size:24px;font-weight:700;text-align:center;transition:border-color .2s;font-family:var(--font-mono)}.totp-digit:focus{border-color:var(--accent)}.totp-digit.filled{border-color:var(--accent)}.totp-back{display:block;text-align:center;margin-top:16px;font-size:13px;color:var(--text-faint);cursor:pointer}.totp-back:hover{color:var(--text-link)}.totp-backup-link{display:block;text-align:center;margin-top:8px;font-size:12px;color:var(--text-micro);cursor:pointer}.totp-backup-link:hover{color:var(--text-link);text-decoration:underline}.forgot-password-link{display:block;text-align:right;margin:-8px 0 12px;font-size:13px;color:var(--text-faint);cursor:pointer;text-decoration:none}.forgot-password-link:hover{color:var(--text-link);text-decoration:underline}.resend-code-link{display:block;text-align:center;margin-top:12px;font-size:13px;color:var(--text-link);cursor:pointer;text-decoration:none}.resend-code-link:hover{text-decoration:underline}.resend-code-link.disabled{color:var(--text-faint);cursor:default;pointer-events:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);display:none;align-items:center;justify-content:center;z-index:100}.modal-overlay.visible{display:flex}.modal{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border);width:440px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #000000b3,0 0 0 1px #ffffff0d;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:18px;font-weight:700;color:#fff}.modal-close{background:transparent;color:var(--text-faint);font-size:20px;padding:4px;border-radius:var(--radius-sm);transition:color .15s}.modal-close:hover{color:var(--text-normal)}.modal-body{padding:20px 24px}.modal-footer{padding:16px 24px;background:var(--bg-secondary);border-radius:0 0 var(--radius-md) var(--radius-md);display:flex;justify-content:flex-end;gap:8px}.btn-cancel{padding:8px 16px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:13px;transition:all .15s}.btn-cancel:hover{color:var(--text-normal);text-decoration:underline}.btn-modal-save{padding:8px 20px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:13px;font-weight:600;transition:background .15s}.btn-modal-save:hover{background:var(--accent-hover)}.modal-danger-text{font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:8px}.modal-danger-text strong{color:#fff}.btn-danger{padding:8px 20px;border-radius:var(--radius-sm);background:var(--red);color:#fff;font-size:13px;font-weight:600;transition:background .15s}.btn-danger:hover{background:#d83135}.cert-warning{width:64px;height:64px;border-radius:50%;background:#f0b2321f;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.cert-warning svg{width:32px;height:32px;color:var(--yellow)}.cert-title{text-align:center;font-size:18px;font-weight:700;color:#fff;margin-bottom:8px}.cert-desc{text-align:center;font-size:13px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}.cert-details{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:16px;font-size:12px}.cert-row{display:flex;padding:4px 0}.cert-label{color:var(--text-faint);width:90px;flex-shrink:0}.cert-value{color:var(--text-normal);font-family:var(--font-mono);font-size:11px;word-break:break-all}.cert-fingerprint{color:var(--yellow)}.cert-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.btn-ghost{padding:8px 16px;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-muted);font-size:13px;transition:all .15s}.btn-ghost:hover{background:var(--bg-active);color:var(--text-normal)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0deb;-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);display:none;z-index:300;animation:settingsFadeIn .2s}.settings-overlay.visible{display:flex}.settings-layout{display:flex;width:100%;height:100%}.settings-nav{width:220px;background:var(--bg-secondary);padding:60px 8px 20px;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.settings-nav-title{font-size:11px;font-weight:700;color:var(--text-faint);letter-spacing:.05em;text-transform:uppercase;padding:8px 12px 4px;margin-top:8px}.settings-nav-title:first-child{margin-top:0}.settings-nav-item{padding:8px 12px;border-radius:var(--radius-sm);font-size:14px;color:var(--text-muted);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:8px;background:transparent;text-align:left;width:100%}.settings-nav-item:hover{background:var(--bg-hover);color:var(--text-normal)}.settings-nav-item.active{background:var(--bg-active);color:#fff}.settings-nav-item svg{width:16px;height:16px;flex-shrink:0}.settings-nav-sep{height:1px;background:var(--border);margin:4px 12px}.settings-content{flex:1;padding:60px 40px 40px;overflow-y:auto;max-width:740px}.settings-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:2px solid var(--border-strong);background:transparent;color:var(--text-faint);display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .15s;z-index:310}.settings-close:hover{border-color:var(--text-normal);color:var(--text-normal)}.settings-section-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:20px}.setting-info{flex:1}.setting-label{font-size:14px;color:var(--text-normal);margin-bottom:2px}.setting-desc{font-size:12px;color:var(--text-faint)}.setting-control{flex-shrink:0;margin-left:16px}.toggle{width:40px;height:22px;border-radius:11px;background:var(--border-strong);cursor:pointer;position:relative;transition:background .2s}.toggle.on{background:var(--green)}.toggle:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s}.toggle.on:after{transform:translate(18px)}.setting-select{padding:6px 28px 6px 10px;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-normal);border:1px solid var(--border);font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2380848e' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:180px}.setting-select:hover{border-color:var(--border-strong)}.setting-select:focus{border-color:var(--accent)}.setting-slider{width:160px;height:6px;border-radius:3px;background:var(--border);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000004d}.vu-meter{height:6px;border-radius:3px;background:var(--border);overflow:hidden;margin-top:8px}.vu-meter-fill{height:100%;border-radius:3px;background:var(--green);transition:width .1s}.keybind-btn{padding:6px 14px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);color:var(--text-normal);font-size:13px;font-family:var(--font-mono);cursor:pointer;transition:border-color .2s;min-width:100px;text-align:center}.keybind-btn:hover{border-color:var(--border-strong)}.keybind-btn.listening{border-color:var(--accent);color:var(--accent);animation:pulse 1s ease-in-out infinite}.mic-test-btn{padding:8px 16px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:13px;font-weight:600;transition:background .15s}.mic-test-btn:hover{background:var(--accent-hover)}.mic-test-btn.active{background:var(--red)}.mic-test-btn.active:hover{background:#d83135}.about-logo{text-align:center;margin-bottom:24px}.about-version{text-align:center;font-size:13px;color:var(--text-faint);margin-top:8px}.about-links{display:flex;gap:16px;justify-content:center;margin-top:16px}.about-link{font-size:13px;color:var(--text-link);cursor:pointer;background:transparent;padding:0}.about-link:hover{text-decoration:underline}.status-bar{position:absolute;bottom:0;left:0;right:0;height:4px;z-index:50;overflow:hidden;display:none}.status-bar.visible{display:block}.status-bar-fill{height:100%;background:var(--accent);width:0;box-shadow:0 0 12px #00c8ff59}.status-bar.indeterminate .status-bar-fill{width:30%;animation:indeterminate 1.2s ease-in-out infinite}.connected-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-tertiary);background-image:radial-gradient(ellipse 600px 400px at 50% 60%,rgba(0,200,255,.05) 0%,transparent 70%);display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;z-index:200}.connected-overlay.visible{display:flex}.connected-icon-wrap{position:relative;margin-bottom:4px}.connected-srv-icon{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;animation:checkPop .4s cubic-bezier(.16,1,.3,1)}.connected-check-badge{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;border:3px solid var(--bg-primary);animation:checkPop .5s cubic-bezier(.16,1,.3,1) .1s both}.connected-check-badge svg{width:14px;height:14px;color:#fff}.connected-text{font-size:20px;font-weight:700;color:#fff}.connected-user{font-size:14px;color:var(--text-muted)}.connected-motd{font-size:13px;color:var(--text-faint);text-align:center;max-width:340px;line-height:1.5;margin-top:4px;font-style:italic}.connected-loader{margin-top:12px;display:flex;align-items:center;gap:8px;color:var(--text-micro);font-size:12px}.connected-loader .spinner{width:14px;height:14px;border-width:1.5px}@media(max-width:700px){.server-panel{width:240px}.form-container{max-width:340px}}@keyframes bgShift{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes formSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes settingsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(440%)}}@keyframes checkPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes glowPulse{0%,to{filter:blur(4px);opacity:.35}50%{filter:blur(6px);opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){.server-panel,.form-panel,.form-container,.server-item{animation:none!important;opacity:1!important}.connect-page:before,.server-panel:before{animation:none!important}.btn-primary:hover:after{animation:none!important}}.titlebar{display:flex;align-items:stretch;height:32px;flex-shrink:0;background:var(--bg-primary);border-bottom:1px solid rgba(255,255,255,.06)}.titlebar-drag{flex:1;cursor:default}.titlebar-btn{width:58px;height:100%;background:transparent;border:none;outline:none;padding:0;margin:0;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;flex-shrink:0}.titlebar-btn:hover{background:#ffffff14;color:var(--text-normal)}.titlebar-close:hover{background:#c42b1c;color:#fff}.ram-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:ram-fade-in .12s ease}@keyframes ram-fade-in{0%{opacity:0}to{opacity:1}}.ram-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:380px;max-width:92vw;box-shadow:0 24px 64px #0000008c;display:flex;flex-direction:column;gap:0;overflow:hidden;animation:ram-slide-in .14s cubic-bezier(.22,.68,0,1.2)}@keyframes ram-slide-in{0%{transform:scale(.94) translateY(8px);opacity:0}to{transform:none;opacity:1}}.ram-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0}.ram-title{font-size:20px;font-weight:800;color:var(--text-normal);margin:0}.ram-close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px;border-radius:var(--radius-sm)}.ram-close:hover{background:var(--bg-hover);color:var(--text-normal)}.ram-hint{margin:8px 20px 0;font-size:13px;color:var(--text-muted);line-height:1.5}.ram-icon-preview{width:80px;height:80px;border-radius:50%;background:var(--accent-gradient, var(--accent));display:flex;align-items:center;justify-content:center;margin:16px auto 4px;flex-shrink:0;animation:ram-glow-pulse 2.4s ease-in-out infinite}.ram-icon-preview--join{background:var(--bg-tertiary);color:var(--text-muted);animation:ram-glow-pulse-join 2.4s ease-in-out infinite}@keyframes ram-glow-pulse{0%,to{box-shadow:0 0 rgba(var(--accent-rgb, 56,139,253),0),0 0 18px 4px rgba(var(--accent-rgb, 56,139,253),.25)}50%{box-shadow:0 0 0 10px rgba(var(--accent-rgb, 56,139,253),0),0 0 32px 10px rgba(var(--accent-rgb, 56,139,253),.45)}}@keyframes ram-glow-pulse-join{0%,to{box-shadow:0 0 16px 2px rgba(var(--accent-rgb, 56,139,253),.15)}50%{box-shadow:0 0 32px 8px rgba(var(--accent-rgb, 56,139,253),.38)}}.ram-icon-letter{font-size:36px;font-weight:800;color:#fff}.ram-field-label{display:block;margin:12px 20px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ram-input{display:block;width:calc(100% - 40px);margin:0 20px;box-sizing:border-box;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-normal);font-size:14px;outline:none}.ram-input:focus{border-color:var(--accent)}.ram-input--mono{font-family:monospace;letter-spacing:.05em}.ram-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px 20px}.ram-status{flex:1;font-size:12px;color:var(--red, #e74c3c)}.ram-btn{padding:8px 18px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.ram-btn:disabled{opacity:.5;cursor:default}.ram-btn--primary{background:var(--accent);color:#fff}.ram-btn--primary:hover:not(:disabled){opacity:.88}.ram-btn--ghost{background:transparent;color:var(--text-muted)}.ram-btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-normal)}.call-overlay{position:fixed;top:24px;right:24px;z-index:2200;display:none}.call-overlay.visible{display:block}.call-overlay-card{width:220px;padding:20px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;align-items:center;gap:4px;animation:ram-slide-in .16s cubic-bezier(.22,.68,0,1.2)}.call-overlay-avatar{width:64px;height:64px;border-radius:50%;margin-bottom:8px;background:var(--accent-gradient, var(--accent));display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;overflow:hidden;animation:ram-glow-pulse 1.6s ease-in-out infinite}.call-overlay-avatar img{width:100%;height:100%;object-fit:cover;display:block}.call-overlay-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.call-overlay-name{font-size:15px;font-weight:700;color:var(--text-normal);margin-bottom:8px}.call-overlay-actions{display:flex;align-items:center;gap:12px}.call-overlay-btn{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .15s,transform .1s}.call-overlay-btn:hover{opacity:.88}.call-overlay-btn:active{transform:scale(.94)}.call-overlay-btn--accept{background:var(--green)}.call-overlay-btn--decline{background:var(--red)}.call-overlay--active{top:16px;left:50%;right:auto;transform:translate(-50%)}.call-overlay-bar{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;box-shadow:0 12px 32px #00000073;animation:ram-slide-in .16s cubic-bezier(.22,.68,0,1.2)}.call-overlay-bar-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--accent-gradient, var(--accent));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;overflow:hidden}.call-overlay-bar-avatar img{width:100%;height:100%;object-fit:cover;display:block}.call-overlay-bar-info{display:flex;flex-direction:column;margin-right:4px}.call-overlay-bar-name{font-size:13px;font-weight:700;color:var(--text-normal);line-height:1.2}.call-overlay-bar-timer{font-size:11px;color:var(--green);font-variant-numeric:tabular-nums;line-height:1.2}.call-overlay-bar-btn{width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;background:var(--bg-tertiary);color:var(--text-normal);display:flex;align-items:center;justify-content:center;transition:opacity .15s,transform .1s,background .15s}.call-overlay-bar-btn:hover{opacity:.88}.call-overlay-bar-btn:active{transform:scale(.94)}.call-overlay-bar-btn--active{background:var(--red);color:#fff}.call-overlay-bar-btn--speaker-on{background:var(--accent);color:#fff}.call-overlay-bar-btn--hangup{background:var(--red);color:#fff}.call-overlay-bar-btn--watch{background:var(--accent);color:#fff}.rsm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.rsm-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:420px;max-width:92vw;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;gap:0;overflow:hidden}.rsm-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.rsm-title{font-size:16px;font-weight:700;color:var(--text-normal);margin:0}.rsm-close-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px;border-radius:var(--radius-sm)}.rsm-close-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.rsm-section{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.rsm-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.rsm-avatar-row{display:flex;align-items:center;gap:16px}.rsm-avatar-preview{width:64px;height:64px;border-radius:var(--radius-md);flex-shrink:0;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--border)}.rsm-avatar-preview.has-avatar{border-color:transparent;background:transparent}.rsm-avatar-img{width:100%;height:100%;object-fit:cover}.rsm-avatar-letter{font-size:26px;font-weight:700;color:var(--text-muted)}.rsm-avatar-btns{display:flex;flex-direction:column;gap:6px}.rsm-avatar-status{font-size:11px;color:var(--text-muted)}.rsm-input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-normal);font-size:14px;outline:none}.rsm-input:focus{border-color:var(--accent)}.rsm-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px}.rsm-save-status{font-size:12px;color:var(--text-muted);flex:1}.rsm-btn{padding:7px 16px;border-radius:var(--radius-sm);border:none;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.rsm-btn:disabled{opacity:.5;cursor:default}.rsm-btn--primary{background:var(--accent);color:#fff}.rsm-btn--primary:hover:not(:disabled){opacity:.88}.rsm-btn--secondary{background:var(--bg-hover);color:var(--text-normal);border:1px solid var(--border)}.rsm-btn--secondary:hover:not(:disabled){background:var(--bg-tertiary)}.rsm-btn--danger{background:transparent;color:var(--red, #e74c3c);border:1px solid var(--red, #e74c3c)}.rsm-btn--danger:hover:not(:disabled){background:#e74c3c1f}.rsm-btn--full{width:100%}.rsm-section--danger{border-bottom:none;border-top:1px solid var(--border);margin-top:4px}.rsm-label--danger{color:var(--red, #e74c3c)}.vox-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000e0;display:flex;align-items:center;justify-content:center;animation:vox-lb-in .14s ease-out both}.vox-lightbox-overlay.vox-lightbox-closing{animation:vox-lb-out .12s ease-in both}.vox-lightbox-img-wrap{display:flex;animation:vox-lb-scale-in .14s ease-out both}.vox-lightbox-img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:6px;box-shadow:0 24px 80px #000000b3;-webkit-user-select:none;user-select:none;transform-origin:center center;will-change:transform}.vox-lightbox-zoom-label{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#0000008c;color:#fff;font-size:13px;font-weight:500;letter-spacing:.02em;padding:4px 12px;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .15s}.vox-lightbox-close{position:fixed;top:18px;right:22px;width:38px;height:38px;border-radius:50%;background:#0000008c;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vox-lightbox-close:hover{background:#ffffff26;color:#fff}.vox-lightbox-video-wrap{display:flex;flex-direction:column;align-items:stretch;max-width:92vw;border-radius:6px;box-shadow:0 24px 80px #000000b3;animation:vox-lb-scale-in .14s ease-out both;overflow:hidden}.vox-lightbox-video{display:block;max-width:92vw;max-height:calc(92vh - 48px);background:#000;object-fit:contain}.vlb-controls{display:flex;align-items:center;gap:8px;padding:8px 12px;box-sizing:border-box;background:#141414eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-shrink:0}.vlb-btn{background:none;border:none;color:#fff;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;flex-shrink:0;min-width:28px;min-height:28px;border-radius:4px;transition:opacity .1s,background .1s}.vlb-btn:hover{opacity:1;background:#ffffff1a}.vlb-progress{flex:1;height:3px;background:#ffffff40;border-radius:2px;cursor:pointer;position:relative}.vlb-progress-fill{height:100%;background:#fff;border-radius:2px;pointer-events:none}.vlb-time{font-size:11px;color:#fffc;white-space:nowrap;flex-shrink:0}.vlb-vol-wrap{position:relative;flex-shrink:0}.vlb-vol-popup{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#1c1c1cf5;border-radius:8px;padding:10px 8px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;opacity:0;pointer-events:none;transition:opacity .15s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 20px #0009}.vlb-vol-popup.visible{opacity:1;pointer-events:all}.vlb-vol-slider{writing-mode:vertical-lr;direction:rtl;-webkit-appearance:slider-vertical;width:24px;height:80px;cursor:pointer;accent-color:#fff}.vlb-vol-pct{font-size:10px;color:#ffffff73}@keyframes vox-lb-in{0%{opacity:0}to{opacity:1}}@keyframes vox-lb-out{0%{opacity:1}to{opacity:0}}@keyframes vox-lb-scale-in{0%{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}.vlb-nav-btn{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10001;opacity:.7;transition:opacity .15s,background .15s}.vlb-nav-btn:hover{opacity:1;background:#000000bf}.vlb-nav-btn:disabled{opacity:.2;cursor:default;pointer-events:none}.vlb-prev{left:16px}.vlb-next{right:16px}.vlb-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:vlb-spin .7s linear infinite}@keyframes vlb-spin{to{transform:rotate(360deg)}}.vox-tooltip{position:fixed;background:#0c0d0f;color:var(--text-normal);padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:600;pointer-events:none;z-index:9999;box-shadow:0 6px 20px #000000b3,0 0 0 1px #ffffff12;white-space:nowrap;animation:tooltip-in .08s ease}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.app{display:flex;flex:1;min-height:0}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.unified-sidebar{width:260px;background:var(--bg-secondary);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;border-right:1px solid var(--border);position:relative}.unified-sidebar-header{height:52px;padding:0 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);flex-shrink:0}.unified-sidebar-header .server-icon-sm{width:30px;height:30px;border-radius:var(--radius-md);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #00c8ff4d;overflow:hidden}.unified-sidebar-header .server-icon-sm.has-avatar{background:transparent;box-shadow:none}.room-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.unified-sidebar-header .server-info-col{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.unified-sidebar-header .server-name{color:#fff;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.unified-sidebar-header .server-online{color:var(--text-micro);font-size:9px}.unified-sidebar-header .server-room-name{font-size:10px;color:var(--accent);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-invite-btn{margin-left:auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-invite-btn:hover{color:var(--text-normal);background:var(--bg-hover)}.sidebar-members-btn{display:none}.room-invite-popup{position:fixed;z-index:9999;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 20px #00000080;min-width:240px}.room-invite-popup-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.room-invite-code{font-family:monospace;font-size:13px;color:var(--text-normal);word-break:break-all;padding:6px 8px;background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border)}.room-invite-copy-btn{padding:6px 12px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;font-size:12px;transition:opacity var(--transition-fast)}.room-invite-copy-btn:disabled{opacity:.5;cursor:not-allowed}.room-invite-copy-btn:hover:not(:disabled){opacity:.85}.sidebar-divider{height:1px;background:var(--border-glow, var(--border));margin:8px 12px}.channel-sidebar{width:260px;background:var(--bg-secondary);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.channel-sidebar-header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;flex-shrink:0;transition:background .1s ease;box-shadow:0 1px #00000040}.channel-sidebar-header:hover{background:var(--bg-modifier-hover)}.channel-sidebar-header h2{font-size:15px;font-weight:700;color:#fff}.channel-list,.dm-list{flex:1;overflow-y:auto;padding:8px 0}.category{padding:18px 8px 4px 12px;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.dm-category-header{padding:12px 8px 4px;display:flex;align-items:center;gap:2px}.dm-collapse-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.07);cursor:pointer;color:var(--text-muted);font-size:10px;padding:4px 5px;border-radius:4px;line-height:1;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.dm-collapse-btn:hover{background:#ffffff1f;border-color:#ffffff26;color:var(--text-normal)}.dm-label-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.07);cursor:pointer;font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;transition:background .15s,color .15s,border-color .15s}.dm-label-btn:hover{background:#ffffff1f;border-color:#ffffff26;color:var(--text-normal)}.category-arrow{color:var(--text-muted);transition:transform .2s;display:inline-flex;align-items:center}.category-type-icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--text-micro);opacity:.65}.category-name{font-size:10.5px;font-weight:700;color:var(--text-micro);letter-spacing:.7px;text-transform:uppercase}.category-add-btn{margin-left:auto;font-size:16px;color:var(--text-faint);cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .15s,color .15s}.category:hover .category-add-btn{opacity:1}.category-add-btn:hover{color:var(--text-normal)}.category-channels{overflow:hidden;transition:max-height .2s}.category.collapsed+.category-channels{max-height:0!important;overflow:hidden}.create-category-btn{display:flex;align-items:center;gap:6px;width:calc(100% - 16px);margin:4px 8px 8px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--text-faint);font-size:13px;cursor:pointer;background:transparent;transition:background .12s,color .12s}.create-category-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.channel-item{display:flex;align-items:center;gap:6px;padding:7px 8px;margin:1px 8px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:background .1s,color .1s;position:relative}.channel-item:hover{background:var(--bg-modifier-hover);color:var(--text-normal)}.channel-item.active{background:#4f545c73;color:#fff}.channel-item.active:before{content:none}.channel-draggable{cursor:pointer}.channel-reordering{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.channel-reordering *{cursor:grabbing!important}.channel-draggable.dragging{opacity:.3}.channel-drop-indicator{box-shadow:0 2px 0 var(--accent) inset,0 -2px 0 var(--accent) inset;background:#5865f226;border-radius:var(--radius-sm)}.category-draggable{cursor:default}.category-reordering{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.category-reordering *{cursor:grabbing!important}.category-dragging{opacity:.35}.category-drop-indicator-before{border-top:2px solid var(--accent)}.category-drop-indicator-after{border-bottom:2px solid var(--accent)}.channel-item .ch-icon{opacity:.6;flex-shrink:0;width:20px;text-align:center;display:flex;align-items:center;justify-content:center}.channel-item.active .ch-icon{opacity:1}.channel-item .ch-name{font-size:14px;flex:1}.channel-item .unread-badge{background:var(--red);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;animation:badgePop .2s cubic-bezier(.34,1.56,.64,1)}@keyframes badgePop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.channel-item .unread-badge:empty{display:none}.channel-item.unread .ch-name{color:#fff;font-weight:600}.channel-item.unread:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:8px;border-radius:0 4px 4px 0;background:#fff}.mention-badge{background:var(--yellow, #f0b232);color:#1a1a1a;font-size:10px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;flex-shrink:0}.channel-item .ch-mute-icon{display:none;align-items:center;color:var(--text-muted);flex-shrink:0}.channel-item.muted .ch-mute-icon{display:flex}.channel-item.muted .unread-badge{background:var(--text-muted)}.channel-item .ch-mention-mute-icon{display:none;align-items:center;color:var(--text-muted);flex-shrink:0}.channel-item.mention-muted .ch-mention-mute-icon{display:flex}.channel-item .dm-unread-badge{background:var(--red);color:#fff;border-radius:10px;padding:1px 6px;font-size:.7rem}.channel-item.muted .dm-unread-badge{background:var(--text-muted)}.dm-item .ch-mute-icon{display:none;align-items:center;color:var(--text-micro)}.dm-item.muted .ch-mute-icon{display:flex}.dm-item .ch-mention-mute-icon{display:none;align-items:center;color:var(--text-micro)}.dm-item.mention-muted .ch-mention-mute-icon{display:flex}.voice-users-list{padding:2px 0 4px 32px}.voice-user-item{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--text-muted);overflow:hidden;transition:background .1s}.voice-user-item .vu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.voice-user-item:hover{background:var(--bg-hover);color:var(--text-normal)}.voice-user-item .vu-avatar{width:20px;height:20px;border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}.voice-user-item.speaking .vu-avatar{box-shadow:0 0 0 2px var(--green),0 0 8px #23a55a4d;animation:speak-pulse 1.5s ease-in-out infinite}@keyframes speak-pulse{0%,to{box-shadow:0 0 0 2px var(--green),0 0 8px #23a55a4d}50%{box-shadow:0 0 0 2px var(--green),0 0 14px #23a55a80}}.voice-user-item .vu-status,.voice-user-item .vu-muted{margin-left:2px;display:flex;align-items:center;flex-shrink:0}.voice-user-item .vu-status{color:var(--text-muted)}.voice-user-item .vu-muted{color:var(--red)}.voice-user-item .vu-name+.vu-status,.voice-user-item .vu-name+.vu-muted{margin-left:auto}.vu-live-badge{background:#ed4245;color:#fff;font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:2px;flex-shrink:0}.vu-preview{margin:2px 0;height:0;overflow:hidden;transition:height var(--transition-slow) ease}.vu-preview video{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid rgba(0,200,255,.15);box-shadow:0 0 4px #00c8ff14;display:block}.vu-preview video.preview-camera{object-fit:cover}.vu-preview video.preview-screen{object-fit:cover}.vu-preview-placeholder{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid rgba(0,200,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-faint);font-size:var(--font-size-xxs);cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.voice-widget{background:linear-gradient(180deg,#23a55a17,#23a55a0d);border-top:1px solid rgba(35,165,90,.25);border-bottom:1px solid rgba(35,165,90,.1);padding:8px;flex-shrink:0;display:none;box-shadow:inset 0 1px #23a55a14}.voice-widget.visible{display:block}.vw-header{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:12px}.vw-connected{color:var(--green);font-weight:700;flex-shrink:0}.vw-timer{color:var(--green);font-size:11px;opacity:.8;font-variant-numeric:tabular-nums;flex-shrink:0}.vw-controls{display:flex;gap:4px;padding:4px 4px 0}.vw-controls button{flex:1;height:32px;border-radius:var(--radius-md);background:#ffffff0f;color:var(--text-muted);font-size:14px;transition:all .1s;display:flex;align-items:center;justify-content:center}.vw-controls button:hover{background:#ffffff1a;color:var(--text-normal)}.vw-controls button.active-ctrl{background:#f23f4333;color:var(--red)}.vw-controls button.disconnect{background:transparent;color:var(--red)}.vw-controls button.disconnect:hover{background:#f23f4326}.vw-grant-mic{display:block;width:calc(100% - 8px);margin:4px 4px 0;padding:6px 12px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font-size:12px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:filter var(--transition-normal)}.vw-grant-mic:hover{filter:brightness(1.1)}.vw-grant-mic:disabled{opacity:.6;cursor:wait}.vw-signal{margin-left:auto;display:flex;align-items:center;gap:4px;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);transition:background .1s}.vw-signal:hover{background:var(--bg-active)}.vw-ping{font-size:11px;font-weight:600}.vw-stats{padding:10px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);display:none}.vw-stats.visible{display:block}.vw-stats-title{font-size:11px;font-weight:700;color:var(--text-normal);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.vw-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.vw-stats-col-label{font-size:11px;font-weight:700;margin-bottom:4px}.vw-stats-col-label.out{color:var(--green)}.vw-stats-col-label.in{color:var(--yellow, #f0b232)}.vw-stats-row{font-size:11px;color:var(--text-muted);line-height:1.7}.vw-stats-row span{color:var(--text-normal)}.vw-stats-totals{border-top:1px solid var(--border);padding-top:8px}.vw-stats-totals-label{font-size:11px;font-weight:700;color:var(--accent, #5865f2);margin-bottom:4px}.vw-stats-totals-row{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.vw-stats-totals-row span{color:var(--text-normal)}.user-bar{height:56px;background:#0a0b0deb;-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);display:flex;align-items:center;padding:0 8px;gap:8px;flex-shrink:0;border-top:1px solid rgba(255,255,255,.06)}.user-bar .ub-avatar{width:36px;height:36px;border-radius:var(--radius-circle);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;cursor:pointer}.user-bar .status-dot{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:var(--radius-circle);border:3px solid rgba(17,18,20,.6)}.user-bar .ub-info{flex:1;min-width:0;display:flex;flex-direction:column}.user-bar .ub-name{font-size:14px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.user-bar .ub-status{font-size:11px;color:var(--text-muted);line-height:1.2}.user-bar .ub-controls{display:flex;gap:2px}.user-bar .ub-controls button{width:34px;height:34px;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .15s,color .15s}.user-bar .ub-controls button:hover{background:var(--bg-modifier-hover);color:var(--text-normal)}.user-bar .ub-controls button.active-ctrl{color:var(--red)}.user-bar .ub-user-area{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer;border-radius:var(--radius-sm);padding:2px 4px;margin:0 -4px;transition:background .1s}.user-bar .ub-user-area:hover{background:var(--bg-hover)}.spp-card{position:fixed;width:270px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #0009;overflow:hidden;z-index:200}.spp-banner{aspect-ratio:2.5;background:var(--bg-secondary);flex-shrink:0}.spp-avatar-wrap{position:relative;display:inline-block;margin:-40px 0 0 12px}.spp-avatar{width:104px;height:104px;border-radius:var(--radius-circle);background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:42px;color:#fff;border:3px solid var(--bg-primary);overflow:hidden;flex-shrink:0}.spp-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-circle)}.spp-status-dot{position:absolute;bottom:5px;right:5px;width:20px;height:20px;border-radius:var(--radius-circle);border:3px solid var(--bg-primary)}.spp-body{padding:8px 12px 12px}.spp-name-row{display:flex;align-items:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}.spp-username{font-weight:700;font-size:15px;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spp-id-badge{font-size:11px;color:var(--text-muted);flex-shrink:0}.spp-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.spp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;text-align:center;border:none;color:#fff;background:var(--accent)}.spp-btn:hover{background:var(--accent-hover, color-mix(in srgb, var(--accent) 80%, white))}.spp-btn.spp-btn-secondary{color:var(--text-normal);background:var(--bg-active)}.spp-btn.spp-btn-secondary:hover{background:var(--bg-hover)}.spp-btn-dot{width:10px;height:10px;border-radius:var(--radius-circle);flex-shrink:0}.spp-status-menu{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.spp-status-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-normal);cursor:pointer;transition:background .1s}.spp-status-item:hover{background:var(--bg-hover)}.status-picker{position:absolute;bottom:60px;left:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px;box-shadow:0 8px 24px #00000080;z-index:100;display:none;min-width:160px}.status-picker.open{display:block}.status-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--text-normal);background:transparent;width:100%;text-align:left;transition:background .1s ease}.status-option:hover{background:var(--bg-hover)}.status-option .so-dot{width:10px;height:10px;border-radius:var(--radius-circle);flex-shrink:0}.chat-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary);position:relative}.no-channel-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center;animation:placeholderIn .4s cubic-bezier(.16,1,.3,1) both}@keyframes placeholderIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.no-channel-placeholder__icon{line-height:1;margin-bottom:4px;color:var(--accent);opacity:.25;filter:drop-shadow(0 0 28px rgba(0,200,255,.4));animation:iconGlow 3s ease-in-out infinite}@keyframes iconGlow{0%,to{filter:drop-shadow(0 0 20px rgba(0,200,255,.25));opacity:.25}50%{filter:drop-shadow(0 0 35px rgba(0,200,255,.45));opacity:.35}}.no-channel-placeholder__title{font-size:24px;font-weight:800;color:#fff;margin:0;letter-spacing:-.3px}.no-channel-placeholder__hint{font-size:14px;color:var(--text-muted);margin:0;max-width:300px;line-height:1.55}.chat-header{height:52px;padding:0 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0;background:#17181bf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px #0000004d}.ch-back-btn{display:none;width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);flex-shrink:0;align-items:center;justify-content:center;transition:all .1s}.ch-back-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.chat-header .ch-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0;overflow:hidden;opacity:1;max-width:1000px;transition:opacity .2s ease,max-width .28s cubic-bezier(.4,0,.2,1)}.ch-avatar{display:none;position:relative;width:26px;height:26px;border-radius:var(--radius-circle);flex-shrink:0;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--accent)}.ch-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.ch-avatar .status-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:var(--radius-circle);border:2px solid var(--bg-primary)}.chat-header.dm-mode .ch-avatar{display:flex}.chat-header.dm-mode .ch-hash{display:none}.chat-header .ch-hash{color:var(--text-micro);font-size:22px;font-weight:600;flex-shrink:0}.chat-header .ch-name{font-size:15px;font-weight:700;color:#fff;flex-shrink:0}.chat-header .ch-divider{width:1px;height:24px;background:var(--border);flex-shrink:0}.chat-header .ch-topic{font-size:13px;color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header .ch-tools{display:flex;gap:4px;flex-shrink:0}.chat-header .ch-tools button{width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:16px;transition:all .1s;display:flex;align-items:center;justify-content:center}.chat-header .ch-tools button:hover{background:var(--bg-hover);color:var(--text-normal)}.chat-header .ch-tools button.active{color:#fff}.chat-header .search-input{width:160px;height:28px;border-radius:14px;background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;padding:0 10px;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1),opacity .2s ease,padding .25s}.chat-header .search-input::placeholder{color:var(--text-micro)}.chat-header .search-input:focus{width:240px;color:var(--text-normal)}.messages-slot{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.typing-slot,.input-slot{flex-shrink:0}.voice-mini-bar{position:absolute;top:0;left:0;right:0;height:52px;z-index:10;display:flex;align-items:center;gap:8px;padding:0 16px;background:#17181bf7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 1px #0000004d;-webkit-user-select:none;user-select:none;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .15s ease}.voice-mini-bar.active{transform:translateY(0);opacity:1;pointer-events:all}.vmb-btn{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;transition:color .12s,background .12s}.vmb-btn:hover{color:var(--text-normal);background:var(--bg-tertiary)}.vmb-play{background:var(--accent);color:#fff;flex-shrink:0;width:36px;height:36px}.vmb-play:hover{background:var(--accent-hover, #00a8d8);color:#fff}.vmb-slider{flex:1;min-width:60px;height:3px;cursor:pointer;accent-color:var(--accent)}.vmb-time{font-size:12px;color:var(--text-normal);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.vmb-speed{font-size:11px;font-weight:700;background:var(--bg-tertiary);border-radius:6px;padding:2px 6px;flex-shrink:0;color:var(--text-normal)}.vmb-close{flex-shrink:0}.vmb-vol-wrap{position:relative;flex-shrink:0}.vmb-vol-popup{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:#17181bf7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 10px 8px;z-index:20;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .15s}.vmb-vol-popup.visible{opacity:1;pointer-events:all}.vmb-vol-slider{writing-mode:vertical-lr;direction:rtl;width:20px;height:80px;cursor:pointer;accent-color:var(--accent)}.vmb-vol-pct{font-size:10px;color:var(--text-muted)}.messages-container{flex:1;overflow-y:auto;padding:16px 0;overscroll-behavior:contain;contain:strict;position:relative;background:var(--bg-primary)}.messages-container>*{overflow-anchor:none}.scroll-anchor{overflow-anchor:auto;height:1px}.scroll-to-bottom-btn{position:absolute;bottom:12px;right:16px;width:38px;height:38px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border-strong);color:var(--accent);font-size:18px;cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .18s ease,transform .18s cubic-bezier(.34,1.4,.64,1);pointer-events:none;z-index:5;box-shadow:var(--elevation-medium);display:flex;align-items:center;justify-content:center}.scroll-to-bottom-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-to-bottom-btn:hover{background:var(--bg-active);color:#fff}.scroll-to-bottom-btn.has-newer{background:var(--accent);color:#fff;border-color:transparent}.scroll-to-bottom-btn.has-newer:hover{filter:brightness(1.12)}.channel-welcome{display:flex;flex-direction:column;align-items:flex-start;padding:24px 32px;margin-bottom:16px}.channel-welcome-icon{width:84px;height:84px;border-radius:var(--radius-circle);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:68px;font-weight:700;line-height:1;margin-bottom:20px;flex-shrink:0;box-shadow:0 4px 20px #00c8ff1f}.channel-welcome-title{font-size:26px;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:-.3px}.channel-welcome-text{font-size:14px;color:var(--text-muted);margin:0;line-height:1.5}.msg-day-divider{display:flex;align-items:center;gap:8px;padding:8px 16px 16px;margin-bottom:8px}.msg-day-divider .line{flex:1;height:1px;background:var(--border)}.msg-day-divider .date{font-size:12px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border-radius:10px;padding:2px 10px;border:1px solid var(--border)}.messages-container.is-dm .msg-day-divider{align-self:center}.messages-container.is-dm .msg-day-divider .line{display:none}.messages-container.is-dm .msg-day-divider .date{background:#00000059;border:none;color:#ffffffb3;font-size:11px;font-weight:600;border-radius:12px;padding:4px 12px}@keyframes highlight-flash{0%{outline:2px solid transparent;background-color:transparent}15%{outline:2px solid rgba(0,200,255,.5);background-color:#00c8ff1a}70%{outline:2px solid rgba(0,200,255,.4);background-color:#00c8ff14}to{outline:2px solid transparent;background-color:transparent}}.highlight-flash{animation:highlight-flash 2.2s ease-out;outline-offset:2px;border-radius:var(--radius-sm)}.message{padding:2px var(--message-content-right) 2px var(--message-content-left);position:relative;min-height:2.75rem;margin-top:var(--message-group-spacing);contain:layout style;transition:background .1s ease;border-left:2px solid transparent}.message:first-child,.msg-day-divider+.message{margin-top:0}.message:hover{background:var(--bg-modifier-hover)}.message.grouped{min-height:1.375rem;margin-top:var(--message-inline-spacing)}.message .msg-avatar{position:absolute;left:var(--avatar-offset-left);top:4px;width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;cursor:pointer;overflow:hidden}.message .msg-avatar:hover{opacity:.8}.message.grouped .msg-avatar{display:none}.message .msg-hover-time{position:absolute;left:var(--avatar-offset-left);top:50%;transform:translateY(-50%);width:var(--avatar-size);text-align:center;font-size:.6875rem;color:var(--text-micro);font-variant-numeric:tabular-nums;display:none}.message.grouped:hover .msg-hover-time{display:block}.message .msg-header{display:flex;align-items:baseline;gap:8px}.message.grouped .msg-header{display:none}.message .msg-author{font-weight:600;font-size:var(--font-size-lg);cursor:pointer;text-decoration-color:currentColor}.message .msg-author:hover{text-decoration:underline;text-decoration-color:currentColor}.message .msg-time{font-size:var(--font-size-xs);color:var(--text-micro);font-variant-numeric:tabular-nums}.message .msg-edited{font-size:10px;color:var(--text-micro)}.message .msg-receipt{display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none;pointer-events:none;color:var(--text-muted);opacity:.7}.message .msg-receipt .receipt-svg{width:16px;height:10px;overflow:visible;display:block}.message .msg-receipt .receipt-svg .check-2{display:none}.message .msg-receipt.read .receipt-svg .check-2{display:block}.message .msg-receipt.read .receipt-svg{color:var(--accent, #5865f2);opacity:1}.message .msg-text{line-height:1.45;word-break:break-word;white-space:pre-wrap}.message .msg-text code{font-family:var(--font-mono);background:var(--bg-tertiary);padding:2px 5px;border-radius:3px;font-size:13px}.mention{background:#5865f24d;color:var(--text-link);border-radius:3px;padding:0 2px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.mention:hover{background:var(--accent);color:#fff}.mention--self{background:#f0b23240;color:var(--yellow, #f0b232)}.mention--self:hover{background:var(--yellow, #f0b232);color:#000}.message.mentioned{background:#f0b2320f;border-left:3px solid var(--yellow);box-shadow:inset 3px 0 12px #f0b23214}.message.mentioned:hover{background:#f0b2321a}.messages-container.is-dm{padding:8px 24px 0;background-image:radial-gradient(circle,rgba(0,200,255,.025) 1px,transparent 1px);background-size:28px 28px}.messages-container.is-dm .virtual-content{display:flex;flex-direction:column;gap:2px}.messages-container.is-dm .msg-day-divider{align-self:stretch;margin:8px 0}.messages-container.is-dm .message{align-self:flex-start;max-width:75%;padding:7px 12px;border-radius:18px 18px 18px 4px;background:#222428;border-left:none;margin-top:0;min-height:unset}.messages-container.is-dm .message:hover{background:#222428;filter:brightness(1.08)}.messages-container.is-dm .message:has(.msg-video){max-width:90%}.messages-container.is-dm .message.grouped{border-radius:4px 18px 18px 4px;margin-top:2px}.messages-container.is-dm .message .msg-avatar,.messages-container.is-dm .message .msg-header{display:none}.messages-container.is-dm .message .msg-hover-time{display:none!important}.messages-container.is-dm .message .msg-text{display:flow-root}.messages-container.is-dm .message.message-own{align-self:flex-end;border-radius:18px 18px 4px;background:var(--accent, #5865f2)}.messages-container.is-dm .message.message-own:hover{background:var(--accent, #5865f2);filter:brightness(1.08)}.messages-container.is-dm .message.message-own.grouped{border-radius:18px 4px 4px 18px}.messages-container.is-dm .message.message-own .msg-text{color:#fff}.messages-container.is-dm .message.message-own .msg-text code{background:#00000040;color:#fff}.messages-container.is-dm .message.message-own .mention{background:#fff3;color:#fff}.messages-container.is-dm .message.message-own .msg-edited{color:#ffffff80!important}.dm-msg-footer{float:right;margin-left:8px;margin-top:2px;display:flex;align-items:center;gap:6px}.dm-msg-footer .msg-time{font-size:11px;color:var(--text-micro);font-variant-numeric:tabular-nums}.dm-msg-footer .msg-receipt{display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none;pointer-events:none;color:#fff9}.dm-msg-footer .msg-receipt .receipt-svg{width:16px;height:10px;overflow:visible;display:block}.dm-msg-footer .msg-receipt .receipt-svg .check-2{display:none}.dm-msg-footer .msg-receipt.read .receipt-svg .check-2{display:block}.dm-msg-footer .msg-receipt.read .receipt-svg{color:#fff}.messages-container.is-dm .message.message-own .dm-msg-footer .msg-time{color:#ffffffa6}.messages-container.is-dm .message.msg-visual-only,.messages-container.is-dm .message.message-own.msg-visual-only{background:transparent;padding:0;border:none}.messages-container.is-dm .message.msg-visual-only:hover,.messages-container.is-dm .message.message-own.msg-visual-only:hover{background:transparent}.messages-container.is-dm .message.msg-visual-only .msg-image,.messages-container.is-dm .message.msg-visual-only .msg-embed-youtube,.messages-container.is-dm .message.msg-visual-only .msg-file,.messages-container.is-dm .message.msg-visual-only .voice-message{margin-top:0}.messages-container.is-dm .message:not(.msg-visual-only) .msg-image,.messages-container.is-dm .message:not(.msg-visual-only) .msg-video{display:block;margin:0 auto 6px}.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-image):has(.msg-text),.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-video):has(.msg-text){padding:0;background:transparent!important}.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-image):has(.msg-text) .msg-image,.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-video):has(.msg-text) .msg-video{margin:0;width:100%;max-width:100%;border-radius:18px 18px 0 0;overflow:hidden}.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-image):has(.msg-text) .msg-image img{width:100%;max-height:260px;object-fit:cover}.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-video):has(.msg-text) .mvc-player video{max-height:520px;object-fit:cover}.messages-container.is-dm .message:not(.msg-visual-only):not(.message-own):has(.msg-image):has(.msg-text) .msg-text,.messages-container.is-dm .message:not(.msg-visual-only):not(.message-own):has(.msg-video):has(.msg-text) .msg-text{padding:7px 12px;background:#222428;border-radius:0 0 18px 4px}.messages-container.is-dm .message.message-own:not(.msg-visual-only):has(.msg-image):has(.msg-text) .msg-text,.messages-container.is-dm .message.message-own:not(.msg-visual-only):has(.msg-video):has(.msg-text) .msg-text{padding:7px 12px;background:var(--accent, #5865f2);border-radius:0 0 4px 18px}.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-image):has(.msg-text):before,.messages-container.is-dm .message:not(.msg-visual-only):has(.msg-video):has(.msg-text):before,.messages-container.is-dm .message.message-own:not(.msg-visual-only):has(.msg-image):has(.msg-text):after,.messages-container.is-dm .message.message-own:not(.msg-visual-only):has(.msg-video):has(.msg-text):after{display:none}.messages-container.is-dm .message:has(.voice-message),.messages-container.is-dm .message.message-own:has(.voice-message){background:transparent!important;padding:0!important;min-height:0!important;display:flex;flex-direction:column;align-items:center;gap:4px}.messages-container.is-dm .message:has(.voice-message):hover,.messages-container.is-dm .message.message-own:has(.voice-message):hover{background:transparent!important}.messages-container.is-dm .message:not(.grouped):not(.message-own):before{content:"";position:absolute;bottom:0;left:-7px;width:10px;height:14px;background:#222428;clip-path:path("M 10 0 C 10 7 4 12 0 14 L 10 14 Z");pointer-events:none}.messages-container.is-dm .message.message-own:not(.grouped):after{content:"";position:absolute;bottom:0;right:-7px;width:10px;height:14px;background:var(--accent);clip-path:path("M 0 0 C 0 7 6 12 10 14 L 0 14 Z");pointer-events:none}.messages-container.is-dm .message.msg-visual-only:before,.messages-container.is-dm .message.message-own.msg-visual-only:after{display:none}.messages-container.is-dm .message:has(.voice-message):before,.messages-container.is-dm .message.message-own:has(.voice-message):after{display:none}.messages-container.is-dm .message:has(.voice-message) .msg-text{align-self:stretch;margin-top:0;padding:2px 14px 4px}.msg-ctx-menu{position:fixed;z-index:1000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:6px;box-shadow:0 8px 32px #0000008c;min-width:180px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow-y:auto}.msg-ctx-menu .ctx-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:var(--radius-md);font-size:14px;color:var(--text-normal);background:transparent;text-align:left;cursor:pointer;transition:background .1s}.msg-ctx-menu .ctx-item:hover{background:var(--bg-modifier-hover)}.msg-ctx-menu .ctx-item.ctx-danger{color:var(--red, #ed4245)}.msg-ctx-menu .ctx-item.ctx-danger:hover{background:#ed42451f}.msg-ctx-menu .ctx-item.ctx-confirming{background:#f0b23226;color:var(--text-warning, #f0b232)!important;animation:confirmPulse .3s ease}.msg-ctx-menu .ctx-item.ctx-confirming:hover{background:var(--text-warning, #f0b232)!important;color:#fff!important}.ctx-reaction-bar{display:flex;align-items:center;justify-content:center;gap:2px;padding:6px 10px 5px}.ctx-reaction-bar .rp-quick-btn{width:34px;height:34px;font-size:20px}.ctx-reaction-bar .rp-expand-btn{width:26px;height:26px;font-size:12px;margin-left:4px}.ctx-reaction-divider{height:1px;background:var(--border);margin:0 0 2px}.ctx-items-wrap{display:block}.ctx-picker-wrap{display:none}.ctx-picker-wrap .emoji-picker{position:static;width:100%;border:none;border-radius:0;box-shadow:none;margin:0;border-top:1px solid var(--border);animation:ctxPickerSlide .18s cubic-bezier(.2,0,0,1)}@keyframes ctxPickerSlide{0%{opacity:0;transform:translateY(-8px) scaleY(.96);transform-origin:top}to{opacity:1;transform:translateY(0) scaleY(1)}}.ctx-icon{display:flex;align-items:center;width:16px;flex-shrink:0}.msg-reply-ref{--rr-color: var(--text-muted);display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-muted);margin-bottom:5px;padding:5px 10px 5px 8px;background:var(--bg-tertiary);border-left:3px solid var(--rr-color);border-radius:0 6px 6px 0;cursor:pointer;max-width:fit-content;transition:background .1s}.msg-reply-ref:hover{background:var(--bg-modifier-hover)}.rr-top{display:flex;align-items:center;gap:5px}.msg-reply-ref .rr-author{font-weight:600}.msg-reply-ref .rr-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px;padding-left:21px}.msg-reply-ref:hover .rr-text{color:var(--text-normal)}.rr-avatar{width:16px;height:16px;border-radius:var(--radius-circle);font-size:8px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.rr-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.messages-container.is-dm .message .msg-reply-ref{background:#00000026;border-left-color:#ffffff4d;border-radius:0 6px 6px 0;max-width:100%;margin-bottom:6px}.messages-container.is-dm .message .msg-reply-ref:hover{background:#00000038}.messages-container.is-dm .message .msg-reply-ref .rr-text{max-width:260px}.messages-container.is-dm .message.message-own .msg-reply-ref{background:#0003;border-left-color:#ffffff73}.messages-container.is-dm .message.message-own .msg-reply-ref .rr-author{color:#fff}.messages-container.is-dm .message.message-own .msg-reply-ref .rr-text{color:#ffffffa6;padding-left:0}.messages-container.is-dm .message.message-own .msg-reply-ref:hover .rr-text{color:#fff}.messages-container.is-dm .message:not(.message-own) .msg-reply-ref .rr-text{padding-left:0}.msg-link{color:var(--text-link, #00aff4);text-decoration:none}.msg-link:hover{text-decoration:underline}.messages-container.is-dm .message.message-own .msg-link{color:#fff;text-decoration:underline;text-decoration-color:#ffffff8c}.messages-container.is-dm .message.message-own .msg-link:hover{text-decoration-color:#fff}body.pref-hide-embeds .msg-embed-youtube,body.pref-hide-inline-media .msg-image,body.pref-hide-link-previews .msg-embed-link{display:none}.msg-embed{margin-top:8px;border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-secondary);overflow:hidden;max-width:420px}.msg-embed-youtube{width:420px;max-width:100%}.msg-embed-yt-header{padding:10px 12px 6px}.msg-embed-yt-title{font-size:14px;font-weight:600;color:var(--text-link, #00aff4);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-embed-yt-title:hover{text-decoration:underline}.msg-embed-yt-player{position:relative;cursor:pointer}.msg-embed-thumb{display:block;width:100%;height:auto}.msg-embed-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:var(--radius-circle);background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:background .15s}.msg-embed-yt-player:hover .msg-embed-play{background:var(--red)}.msg-embed-iframe{width:100%;aspect-ratio:16 / 9;height:auto;border:none}.msg-embed-link{display:flex;flex-direction:column;padding:12px 16px;max-width:520px}.msg-embed-link-content{min-width:0}.msg-embed-host{font-size:12px;font-weight:600;color:var(--text-faint);margin-bottom:4px}.msg-embed-link-title{font-size:16px;font-weight:600;color:var(--text-link, #00aff4);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.msg-embed-link-title:hover{text-decoration:underline}.msg-embed-link-desc{font-size:14px;color:var(--text-muted);margin-top:6px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.msg-embed-link-image{margin-top:10px}.msg-embed-link-img{max-width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-sm)}.msg-embed-url{font-size:13px;color:var(--text-link, #00aff4);text-decoration:none;word-break:break-all}.msg-embed-url:hover{text-decoration:underline}.msg-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.reaction-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);font-size:14px;cursor:pointer;transition:all .1s}.reaction-chip:hover{background:var(--bg-modifier-hover);border-color:var(--border-strong)}.reaction-chip.me{border-color:var(--accent);background:#00c8ff14}.reaction-chip.me:hover{background:#00c8ff24}.reaction-chip .rc-count{font-size:12px;color:var(--text-normal);font-weight:600}.reaction-chip .ep-emoji-img{width:16px;height:16px}.reaction-chip.add-reaction{background:transparent;border:1px dashed var(--border);color:var(--text-micro);font-size:14px;padding:2px 6px}.reaction-chip.add-reaction:hover{border-color:var(--text-muted);color:var(--text-muted)}.msg-codeblock-wrap{position:relative}.msg-codeblock{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin-top:4px;font-family:var(--font-mono);font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre}.msg-codeblock-copy{position:absolute;top:4px;right:4px;padding:2px 8px;font-size:12px;background:var(--bg-tertiary);border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,background .1s ease}.msg-codeblock-wrap:hover .msg-codeblock-copy{opacity:1;pointer-events:auto}.msg-codeblock-copy:hover{background:var(--bg-hover);color:var(--text-primary)}.msg-image{margin-top:4px;max-width:550px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;contain:layout style}.msg-video{margin-top:4px;min-width:320px;max-width:700px;max-height:560px;border-radius:var(--radius-md);overflow:hidden;contain:layout style}.msg-video .mvc-player{position:relative;display:block;line-height:0;cursor:pointer}.msg-video .mvc-player video{display:block;width:100%;max-height:560px;background:transparent;border-radius:inherit}.mvc-top-overlay{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:linear-gradient(rgba(0,0,0,.5),transparent);pointer-events:none}.mvc-top-overlay .mvc-btn{pointer-events:auto}.mvc-timer{font-size:12px;font-weight:600;color:#fff}.mvc-top-mute,.mvc-top-expand{background:none;border:none;color:#fff;padding:2px;cursor:pointer;display:flex;opacity:.9}.mvc-top-mute:hover,.mvc-top-expand:hover{opacity:1}.mvc-fs-controls{display:none}.mvc-player.mvc-pseudo-fs{position:fixed!important;top:0;left:0;width:100vw;height:100vh;z-index:9999;background:#000!important;display:flex!important;flex-direction:column!important;cursor:default;border-radius:0!important;animation:fadeIn .15s ease}.mvc-player.mvc-pseudo-fs video{flex:1;width:100%!important;height:0!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;cursor:default}.mvc-player.mvc-pseudo-fs .mvc-top-overlay{display:none}.mvc-player.mvc-pseudo-fs .mvc-fs-controls{display:flex;align-items:center;gap:8px;flex-shrink:0;width:100%;padding:10px 16px;box-sizing:border-box;background:#000000d9}.mvc-btn{background:none;border:none;color:#fff;padding:4px;cursor:pointer;display:flex;align-items:center;opacity:.9;flex-shrink:0;min-width:28px;min-height:28px;justify-content:center}.mvc-btn:hover{opacity:1}.mvc-progress{flex:1;height:3px;background:#ffffff4d;border-radius:2px;cursor:pointer;position:relative}.mvc-progress-fill{height:100%;background:#fff;border-radius:2px;width:0;pointer-events:none}.mvc-time{font-size:11px;color:#fff;white-space:nowrap;opacity:.9;flex-shrink:0}.msg-image img{display:block;max-width:100%;max-height:300px;object-fit:contain;border-radius:var(--radius-md)}.msg-image .placeholder-img{width:100%;height:200px;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;color:var(--text-micro);font-size:12px}.msg-image .placeholder-img.loading{opacity:.6}.gif-play-btn{position:absolute;bottom:8px;left:8px;width:32px;height:32px;border-radius:50%;background:#000000b3;color:#fff;border:none;cursor:pointer;font-size:14px;line-height:32px;text-align:center;opacity:0;transition:opacity .15s ease;z-index:2;padding:0;display:flex;align-items:center;justify-content:center}.msg-image:hover .gif-play-btn,.gif-paused .gif-play-btn{opacity:1}.gif-play-btn:hover{background:#000000e6}.gif-play-btn.playing{font-size:11px;letter-spacing:1px}.gif-paused:after{content:"GIF";position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.5px;pointer-events:none}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#000000e0;display:flex;align-items:center;justify-content:center;cursor:zoom-in;animation:fadeIn .15s ease}.image-lightbox.dragging{cursor:grabbing}.image-lightbox-wrap{display:flex;align-items:center;justify-content:center;overflow:visible}.image-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 8px 48px #00000080;transition:transform .1s ease;cursor:zoom-in;-webkit-user-select:none;user-select:none}.image-lightbox-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:var(--radius-circle);background:#0009;color:#fff;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.image-lightbox-close:hover{background:#fff3}.image-lightbox-bottom{position:absolute;bottom:0;left:0;right:0;padding:12px 20px;background:linear-gradient(transparent,#000000b3);pointer-events:none}.image-lightbox-filename{color:#ffffffd9;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 80px);display:block}.mvc-fs-topbar{display:none}.mvc-player.mvc-pseudo-fs .mvc-fs-topbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;width:100%;padding:12px 16px;box-sizing:border-box;background:#0009}.mvc-fs-filename{color:#ffffffe6;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 80px)}.mvc-fs-close{color:#fff}.msg-file{margin-top:4px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;max-width:400px}.msg-file-inner{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-hover)}.msg-file-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.msg-file-name{font-size:13px;color:var(--text-link);cursor:pointer}.msg-file-name:hover{text-decoration:underline}.msg-file-size{font-size:11px;color:var(--text-muted)}.update-banner{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:9px 16px;background:var(--accent-gradient);color:#fff;font-size:13px;font-weight:500;z-index:9000;box-shadow:0 4px 16px #00c8ff4d;animation:bannerSlideDown .2s ease}@keyframes bannerSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.update-banner-text{flex:1}.update-banner-btn{padding:4px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s}.update-banner-btn:hover{opacity:.85}.update-banner-install{background:#fff;color:var(--accent)}.update-banner-later{background:#fff3;color:#fff}.system-msg{display:flex;align-items:center;gap:8px;padding:4px 48px;margin:6px 0;position:relative;justify-content:center}.system-msg .sm-icon{color:var(--green);display:inline-flex;align-items:center}.system-msg .sm-text{font-size:12px;color:var(--text-muted);background:var(--bg-secondary);padding:4px 12px;border-radius:12px;border:1px solid var(--border)}.system-msg .sm-text strong{color:var(--text-normal)}.system-msg .sm-time{font-size:11px;color:var(--text-micro)}.msg-actions-bar{position:absolute;top:-18px;right:16px;display:flex;gap:1px;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:2px;opacity:0;pointer-events:none;transition:opacity .1s ease;box-shadow:0 6px 20px #0000008c,0 0 0 .5px #ffffff0a;z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.message:hover .msg-actions-bar{opacity:1;pointer-events:auto;animation:actionBarPop .1s ease}.msg-actions-bar button{width:30px;height:30px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:14px;transition:all .1s;display:flex;align-items:center;justify-content:center}.msg-actions-bar button:hover{background:var(--bg-modifier-hover);color:var(--text-normal)}.reply-bar{display:none;padding:8px 16px 0;flex-shrink:0}.reply-bar.visible{display:flex;align-items:center;gap:8px}.reply-bar-inner{flex:1;background:var(--bg-input);border-radius:22px 22px 0 0;padding:8px 12px;font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.reply-bar-inner strong{color:var(--text-normal)}.reply-bar .reply-close{width:24px;height:24px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:16px;display:flex;align-items:center;justify-content:center;margin-left:auto}.reply-bar .reply-close:hover{color:var(--text-normal)}.typing-bar{height:24px;padding:0 16px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);flex-shrink:0}.typing-bar:empty{height:0}.typing-dots{display:inline-flex;gap:3px}.typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--text-muted);animation:typingAnim 1.4s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.message-input-wrap{padding:8px 16px 16px;flex-shrink:0;position:relative}.message-input-wrap.reply-active{padding-top:0}.attachment-preview-bar{display:none;gap:8px;padding:8px 8px 4px;background:var(--bg-input);border-radius:22px 22px 0 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.attachment-preview-bar.visible{display:flex}.attachment-preview-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary)}.attachment-preview-img{display:block;max-width:120px;max-height:120px;object-fit:cover;border-radius:var(--radius-sm)}.attachment-preview-file{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:20px}.attachment-preview-name{font-size:12px;color:var(--text-muted);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:var(--radius-circle);background:#000000b3;color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:background .15s}.attachment-preview-remove:hover{background:#fff3}.attachment-preview-item.uploading{opacity:.6}.attachment-preview-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:spinCentered 1s linear infinite}@keyframes spinCentered{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon[data-icon=loader]{animation:iconSpin 1s linear infinite}.attachment-upload-error{padding:6px 10px;font-size:12px;color:var(--red);background:#ed42451a;border-radius:var(--radius-sm)}.attachment-preview-bar.visible+.message-input-box{border-radius:0 0 22px 22px}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;opacity:0;transition:opacity .15s ease}.drop-overlay.visible{opacity:1;pointer-events:all}.drop-overlay-icon{width:88px;height:88px;border-radius:var(--radius-circle);background:#00c8ff1f;border:2px dashed var(--accent);display:flex;align-items:center;justify-content:center;color:var(--accent);animation:dropIconPulse 1.2s ease-in-out infinite alternate}@keyframes dropIconPulse{0%{box-shadow:0 0 #00c8ff4d}to{box-shadow:0 0 0 16px #00c8ff00}}.drop-overlay-text{font-size:20px;font-weight:600;color:#fff;letter-spacing:.01em;text-shadow:0 2px 8px rgba(0,0,0,.5)}.message-input-box{background:var(--bg-input);border-radius:22px;display:flex;align-items:flex-end;padding:4px;border:1px solid transparent;transition:border-color .15s ease,box-shadow .15s ease;position:relative}.message-input-box:focus-within{border-color:#00c8ff40;box-shadow:0 0 0 2px #00c8ff12,0 4px 16px #0000004d}.message-input-box.reply-mode{border-radius:0 0 22px 22px}.announcement-readonly-bar{display:flex;align-items:center;gap:8px;padding:14px 16px;color:var(--text-muted);font-size:14px;border-top:1px solid var(--border-subtle)}.input-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:18px;transition:background .1s ease,color .1s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.input-btn:hover{background:transparent;color:var(--text-normal)}.attach-wrap{position:relative;flex-shrink:0}.attach-menu{display:none;position:absolute;bottom:calc(100% + 8px);left:0;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:6px;min-width:160px;box-shadow:var(--elevation-float);z-index:100;animation:contextMenuPop .12s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}.attach-menu.open{display:block}.attach-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-normal);background:transparent;width:100%;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.attach-menu-item:hover{background:var(--accent);color:#fff}.attach-menu-item:hover .ctx-icon{opacity:1}.msg-textarea{flex:1;background:transparent;color:var(--text-normal);font-size:14px;resize:none;padding:8px 4px;outline:none!important;min-height:36px;max-height:200px;line-height:1.4}.msg-textarea::placeholder{color:var(--text-micro)}.mic-btn{transition:color .15s,background .15s}.mic-btn.recording{color:var(--accent);gap:6px;width:auto;padding:0 10px;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,transparent);animation:micPulse 1.4s ease-in-out infinite}.mic-btn.recording.rec-cancel{color:#ed4245;background:#ed42451f;animation:micCancelPulse .8s ease-in-out infinite}.rec-timer{font-size:12px;font-weight:600;min-width:30px}@keyframes micPulse{0%,to{background:color-mix(in srgb,var(--accent) 12%,transparent)}50%{background:color-mix(in srgb,var(--accent) 25%,transparent)}}@keyframes micCancelPulse{0%,to{background:#ed42451f}50%{background:#ed424547}}.mic-hold-hint{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:12px;color:var(--text-normal);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}.mic-hold-hint.visible{opacity:1;transform:translateY(0)}.lock-hint{display:none;flex-direction:column;align-items:center;position:absolute;bottom:calc(100% + 8px);right:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:24px;padding:10px 0;width:40px;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:10}.message-input-box.rec-hold .lock-hint,.message-input-box.rec-locked .lock-hint{display:flex}.lock-hint.locked{pointer-events:auto}.message-input-box.rec-hold,.message-input-box.rec-locked{align-items:center}.lock-hint-icon{width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--accent) calc(var(--lock-p, 0) * 20%),var(--bg-tertiary));display:flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--accent) calc(var(--lock-p, 0) * 100%),var(--text-muted));flex-shrink:0}.lock-hint.locked .lock-hint-icon{color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,transparent)}.lock-hint.locked .lock-hint-track{display:none}.lock-pause-btn{display:none;width:28px;height:28px;border-radius:50%;background:var(--bg-tertiary);border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;align-items:center;justify-content:center;transition:color .15s,background .15s;margin-top:6px}.lock-hint.locked .lock-pause-btn{display:flex}.lock-pause-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.lock-hint-track{width:100%;height:72px;position:relative;flex-shrink:0;margin:6px 0 0;display:flex;justify-content:center}.lock-hint-track:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--border);border-radius:1px}.lock-hint-knob{position:absolute;bottom:0;width:20px;height:20px;border-radius:50%;background:var(--bg-secondary);border:1.5px solid color-mix(in srgb,var(--accent) calc(var(--lock-p, 0) * 100%),var(--border));display:flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--accent) calc(var(--lock-p, 0) * 100%),var(--text-muted));z-index:1}.lock-hint.locked .lock-hint-knob{border-color:var(--accent);color:var(--accent)}.rec-bar{display:none;flex:1;align-items:center;gap:6px;min-width:0}.message-input-box.rec-hold .rec-bar,.message-input-box.rec-locked .rec-bar{display:flex}.message-input-box.rec-hold .attach-wrap,.message-input-box.rec-hold .msg-textarea,.message-input-box.rec-hold .media-btn,.message-input-box.rec-hold .send-btn,.message-input-box.rec-locked .attach-wrap,.message-input-box.rec-locked .msg-textarea,.message-input-box.rec-locked .media-btn,.message-input-box.rec-locked .mic-btn,.message-input-box.rec-locked .send-btn{display:none!important}@keyframes recBarIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-input-box.rec-hold .rec-bar,.message-input-box.rec-locked .rec-bar{animation:recBarIn .18s ease both}.rec-time-display{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:#ed4245;min-width:44px;flex-shrink:0}.rec-bar-center{flex:1;position:relative;display:flex;align-items:center;overflow:hidden;min-width:0}.rec-hint-text{flex:1;font-size:14px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1;transform:translate(0);transition:opacity .22s ease,transform .22s ease;pointer-events:none}.message-input-box.rec-locked .rec-hint-text{opacity:0;transform:translate(-14px)}.rec-cancel-btn{position:absolute;left:0;right:0;display:flex;justify-content:center;align-items:center;font-size:14px;color:var(--text-muted);background:none;border:none;padding:0;cursor:pointer;opacity:0;transform:translate(14px);transition:opacity .22s ease,transform .22s ease,color .15s;pointer-events:none}.message-input-box.rec-locked .rec-cancel-btn{opacity:1;transform:translate(0);pointer-events:auto}.rec-cancel-btn:hover{color:#ed4245}@keyframes recSendPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.rec-send-btn{display:none}.message-input-box.rec-locked .rec-send-btn{display:flex;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;flex-shrink:0;align-items:center;justify-content:center;animation:recSendPop .22s cubic-bezier(.34,1.56,.64,1) both;transition:background .15s}.rec-send-btn:hover{filter:brightness(1.1)}.rec-trim-player{display:none;flex:1;align-items:center;gap:8px;min-width:0}.rec-bar.trim-mode .rec-trim-player{display:flex}.rec-bar.trim-mode .rec-time-display,.rec-bar.trim-mode .rec-bar-center{display:none}.rec-trim-play{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:filter .15s}.rec-trim-play:hover{filter:brightness(1.12)}.rec-trim-track{flex:1;height:24px;position:relative;background:var(--bg-tertiary);border-radius:4px;cursor:pointer;overflow:visible;min-width:0}.rec-trim-sel{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 35%,transparent);border-radius:4px;pointer-events:none}.rec-trim-pos{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--accent);border-radius:1px;transform:translate(-50%);pointer-events:none}.rec-trim-handle{position:absolute;top:50%;width:4px;height:22px;background:var(--accent);border-radius:2px;transform:translate(-50%,-50%);cursor:ew-resize;z-index:2;touch-action:none}.rec-trim-time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0;white-space:nowrap}.voice-message{display:flex;flex-direction:column;gap:6px;background:#222428;border-radius:14px;padding:10px 14px 8px;max-width:320px;min-width:220px;-webkit-user-select:none;user-select:none}.vm-main-row{display:flex;align-items:center;gap:10px}.vm-play-btn{width:40px;height:40px;border-radius:50%;background:var(--accent, #5865f2);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:background .15s,transform .1s;padding-left:2px}.vm-play-btn:hover{background:var(--accent-hover, #4752c4);transform:scale(1.06)}.vm-play-btn--has-art{background-color:transparent;overflow:hidden;border:none}.vm-play-btn--has-art:hover{background-color:transparent}.vm-play-btn--has-art svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.9))}.vm-filename{font-size:12px;font-weight:600;color:var(--text-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:-2px}.vm-play-btn.loading{pointer-events:none}.vm-play-btn.loading svg{display:none}.vm-play-btn.loading:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:vm-spin .7s linear infinite}@keyframes vm-spin{to{transform:rotate(360deg)}}.vm-right{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.vm-waveform{display:flex;align-items:flex-end;gap:2px;height:32px;cursor:pointer}.vm-wbar{flex:1;min-width:2px;max-width:4px;background:#ffffff38;border-radius:1px}.vm-wbar--played{background:var(--accent, #5865f2)}.vm-meta{display:flex;align-items:center;gap:6px}.vm-time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:32px}.vm-speed-btn{font-size:11px;font-weight:700;color:var(--text-muted);background:var(--bg-tertiary);border-radius:6px;padding:1px 5px;cursor:pointer;transition:color .1s,background .1s}.vm-speed-btn:hover{color:var(--text-normal);background:var(--bg-secondary)}.vm-transcribe-btn{font-size:11px;font-weight:700;color:var(--text-muted);background:var(--bg-tertiary);border-radius:6px;padding:1px 6px;cursor:pointer;margin-left:auto;transition:color .1s,background .1s}.vm-transcribe-btn:hover,.vm-transcribe-btn.active{color:#fff;background:var(--accent, #5865f2)}.vm-transcript{font-size:13px;color:var(--text-normal);line-height:1.45;padding:4px 2px 2px;border-top:1px solid rgba(255,255,255,.07)}.vm-transcript--err{color:var(--text-muted);font-style:italic}.mention-popup{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--elevation-float);overflow:hidden;z-index:950;min-width:200px;max-height:280px;overflow-y:auto;padding:4px;animation:spotlightIn .15s cubic-bezier(.34,1.3,.64,1)}.mention-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;cursor:pointer;transition:background .08s}.mention-item:hover,.mention-item.selected{background:#ffffff17}.mention-item-av{width:28px;height:28px;border-radius:50%;background:var(--accent, #5865f2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.mention-item-av--special{font-size:15px;font-weight:800;background:var(--bg-modifier-hover);color:var(--text-normal)}.mention-item-name{font-size:14px;font-weight:500;color:var(--text-normal)}.mention-item-name--special{font-size:13px;font-weight:600;color:var(--text-normal)}.mention-item-info{display:flex;flex-direction:column;gap:1px}.mention-item-desc{font-size:11px;color:var(--text-muted)}.right-member-panel{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border);overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1)}.right-member-panel.hidden{width:0;overflow:hidden;border:none}.right-panel-header{padding:16px 8px 4px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0;display:flex;align-items:center;gap:8px}.right-panel-back-btn{display:none;width:24px;height:24px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);align-items:center;justify-content:center;flex-shrink:0;transition:all .1s;text-transform:none;letter-spacing:normal}.right-panel-back-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.right-panel-content{flex:1;overflow-y:auto;min-height:0}.right-panel-content .member-list{width:100%;background:transparent}.member-list{width:240px;background:var(--bg-secondary);flex-shrink:0;overflow-y:auto;padding:8px 0;transition:width .2s}.member-list.hidden{width:0;padding:0;overflow:hidden}.sidebar-members-section{border-top:1px solid var(--border-glow, var(--border));overflow:hidden;display:flex;flex-direction:column;flex-shrink:0}.sidebar-members-header{padding:8px 8px 4px 16px;cursor:pointer;flex-shrink:0}.sidebar-members-content{flex:1;overflow-y:auto;min-height:0}.sidebar-resize-handle{height:4px;cursor:ns-resize;background:transparent;transition:background .15s;flex-shrink:0}.sidebar-resize-handle:hover{background:var(--accent-primary, var(--accent))}.sidebar-dm-section{border-bottom:1px solid var(--border-glow, var(--border));flex-shrink:0}.sidebar-dm-list{overflow:hidden;transition:max-height .2s}.sidebar-dm-section .dm-category-header.collapsed+.sidebar-dm-list{max-height:0!important;overflow:hidden}.dm-header-unread-badge{background:var(--red);color:#fff;border-radius:10px;padding:0 6px;font-size:.65rem;font-weight:700;min-width:16px;text-align:center;line-height:16px;flex-shrink:0}.sidebar-dm-view-all{display:block;width:calc(100% - 16px);margin:2px 8px 4px;padding:5px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-link);font-size:.75rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}.sidebar-dm-view-all:hover{background:var(--bg-hover, rgba(255,255,255,.06));color:var(--accent)}.sidebar-members-section .member-list{width:100%}.sidebar-members-section .member-role-group{padding:8px 12px 2px;font-size:10px}.sidebar-members-section .member-item{padding:2px 8px;margin:0 6px;gap:6px}.sidebar-members-section .member-item .mi-avatar{width:22px;height:22px;font-size:9px}.sidebar-members-section .member-item .mi-status{width:8px;height:8px;border-width:2px}.sidebar-members-section .member-item .mi-name{font-size:.86em}.member-role-group{padding:16px 16px 6px;font-size:.72em;font-weight:700;color:var(--text-micro);text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:8px}.member-role-group:after{content:"";flex:1;height:1px;background:var(--border)}.member-item{display:flex;align-items:center;gap:10px;padding:5px 8px;margin:1px 8px;border-radius:var(--radius-md);cursor:pointer;transition:background .1s}.member-item:hover{background:var(--bg-modifier-hover)}.member-item .mi-avatar{width:34px;height:34px;border-radius:var(--radius-circle);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}.member-item .mi-status{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:var(--radius-circle);border:3px solid var(--bg-secondary)}.member-item .mi-name-wrap{display:flex;flex-direction:column;min-width:0;flex:1}.member-item .mi-name{font-size:1em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-item .mi-signature{font-size:.72em;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;margin-top:1px}.member-item .mi-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.member-item .mi-tag-chip{display:inline-block;padding:1px 6px;border-radius:999px;font-size:.68em;font-weight:600;line-height:1.6;border:1px solid color-mix(in srgb,var(--tag-color) 40%,transparent);background:color-mix(in srgb,var(--tag-color) 18%,transparent);color:var(--tag-color)}.member-item.offline{opacity:.3}.member-item.offline .mi-avatar{filter:saturate(.3)}.modal.signature-editor-modal{width:520px;padding:24px}.signature-modal{display:flex;flex-direction:column;gap:12px}.signature-modal .modal-title{font-size:1.1em;font-weight:600;color:var(--text-primary)}.signature-modal__input{width:100%;box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:8px 10px;font-size:.93em;font-family:inherit;resize:vertical;min-height:72px;outline:none}.signature-modal__input:focus{border-color:var(--accent)}.signature-modal__counter{font-size:.78em;color:var(--text-muted);text-align:right;margin-top:-6px}.signature-modal__actions{display:flex;gap:8px;justify-content:flex-end}.modal.tag-editor-modal{width:520px;padding:24px}.tag-editor{display:flex;flex-direction:column;gap:14px}.tag-editor .modal-title{font-size:1.1em;font-weight:600;color:var(--text-primary)}.tag-editor__list{display:flex;flex-wrap:wrap;gap:6px;min-height:32px}.tag-editor__empty{font-size:.82em;color:var(--text-muted);font-style:italic;align-self:center}.tag-editor__add-title{font-size:.78em;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.tag-editor__add-row{display:flex;gap:8px;align-items:center}.tag-editor__label-input{flex:1;background:var(--bg-primary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:6px 10px;outline:none}.tag-editor__label-input:focus{border-color:var(--accent)}.tag-editor__color-input{width:36px;height:32px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);padding:2px;cursor:pointer;background:transparent}.tag-editor__add-btn{white-space:nowrap}.tag-editor__preview{display:flex;align-items:center;gap:8px;font-size:.82em;color:var(--text-muted)}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid color-mix(in srgb,var(--tag-color, #5865f2) 40%,transparent);background:color-mix(in srgb,var(--tag-color, #5865f2) 18%,transparent);color:var(--tag-color, #5865f2)}.tag-chip--role{border-color:#ffffff26;background:#00000040}.tag-chip__delete{background:none;border:none;cursor:pointer;padding:0 2px;color:inherit;opacity:.6;font-size:14px;line-height:1;display:flex;align-items:center}.tag-chip__delete:hover{opacity:1}.tag-chip__lock{font-size:10px;opacity:.5}.user-popup{position:fixed;z-index:200;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);width:300px;box-shadow:0 12px 40px #000000a6;display:none;overflow:hidden}.user-popup.open{display:block}.up-banner{aspect-ratio:2.5}.up-body{padding:36px 16px 16px;position:relative}.up-avatar{width:64px;height:64px;border-radius:var(--radius-circle);position:absolute;top:-32px;left:16px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;color:#fff;border:4px solid var(--bg-primary)}.up-name{font-size:18px;font-weight:700;color:#fff}.up-role{font-size:12px;margin-top:2px}.up-section{margin-top:12px;background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px}.up-section-title{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.up-section-text{font-size:13px;color:var(--text-normal)}.up-roles{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.up-role-tag{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg-hover);font-size:11px;color:var(--text-normal)}.up-role-dot{width:8px;height:8px;border-radius:50%}@keyframes profile-slide-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes profile-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(14px)}}.user-profile-panel{display:flex;flex-direction:column;animation:profile-slide-in .22s cubic-bezier(.16,1,.3,1)}.user-profile-panel.leaving{animation:profile-slide-out .15s ease-in forwards;pointer-events:none}@media(prefers-reduced-motion:reduce){.user-profile-panel,.user-profile-panel.leaving{animation:none}}.profile-banner{aspect-ratio:2.5;position:relative;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,var(--role-color, #5865f2),color-mix(in srgb,var(--role-color, #5865f2) 60%,#0a0a0a))}.profile-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffffff2e,#00000059);pointer-events:none}.profile-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);background-size:200% 200%;animation:profileShimmer 5s ease infinite;pointer-events:none}@keyframes profileShimmer{0%{background-position:200% 200%}to{background-position:-200% -200%}}.profile-close-btn{position:absolute;top:8px;left:8px;z-index:2;background:#0009;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:28px;height:28px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.profile-close-btn:hover{background:#000c}.profile-body{padding:0 12px 16px}.profile-avatar-wrap{position:relative;width:64px;height:64px;margin-top:-32px;margin-bottom:10px}.profile-avatar{width:64px;height:64px;border-radius:50%;box-shadow:0 0 0 4px var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;overflow:hidden;flex-shrink:0}.profile-status-ring{position:absolute;bottom:1px;right:1px;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 3px var(--bg-secondary)}.profile-name-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:4px}.profile-username{font-size:18px;font-weight:800;color:#fff}.profile-id-badge{font-size:12px;color:var(--text-faint);font-weight:500}.profile-signature{font-size:13px;color:var(--text-muted);line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-bottom:10px}.mpc-card{position:fixed;width:296px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elevation-float);overflow:hidden;z-index:200;animation:mpcIn .18s cubic-bezier(.34,1.2,.64,1)}@keyframes mpcIn{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.mpc-header{aspect-ratio:2.5;background:linear-gradient(135deg,var(--role-color, #5865F2) 0%,color-mix(in srgb,var(--role-color, #5865F2) 55%,#000) 100%);background-size:cover;background-position:center;position:relative;flex-shrink:0}.mpc-avatar-wrap{position:absolute;bottom:-44px;left:14px}.mpc-avatar{width:104px;height:104px;border-radius:50%;border:4px solid var(--bg-secondary);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:#fff;overflow:hidden}.mpc-avatar img{width:100%;height:100%;object-fit:cover}.mpc-status-dot{position:absolute;bottom:5px;right:5px;width:20px;height:20px;border-radius:50%;border:4px solid var(--bg-secondary)}.mpc-body{padding:58px 14px 14px}.mpc-username{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.mpc-signature{font-size:12px;color:var(--text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:default;margin-bottom:10px;white-space:pre-wrap;word-break:break-word}.mpc-sig-tooltip{position:fixed;background:var(--bg-floating, #18191c);color:var(--text-normal);font-size:13px;line-height:1.5;padding:8px 12px;border-radius:var(--radius-sm);box-shadow:0 4px 20px #0000008c;z-index:300;white-space:pre-wrap;word-break:break-word;pointer-events:none}.mpc-name-row{display:flex;align-items:baseline;gap:6px;margin-bottom:5px}.mpc-id-badge{font-size:11px;color:var(--text-muted);flex-shrink:0}.mpc-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}.mpc-divider{height:1px;background:#ffffff0f;margin:10px 0}.mpc-stats{display:flex;gap:16px;margin-bottom:2px}.mpc-stat{display:flex;flex-direction:column;gap:2px}.mpc-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint)}.mpc-stat-value{font-size:13px;color:var(--text-primary);font-weight:500}.mpc-voice{display:flex;align-items:center;gap:6px;min-height:18px;margin-top:4px}.mpc-voice-icon{color:var(--text-muted);display:flex}.mpc-voice-label{font-size:12px;color:var(--text-muted)}.mpc-voice-label.speaking{color:var(--green);font-weight:600}.mpc-note-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);margin-bottom:5px}.mpc-note{width:100%;box-sizing:border-box;resize:none;background:var(--bg-primary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;line-height:1.4;padding:6px 8px;outline:none;font-family:inherit}.mpc-note:focus{border-color:var(--accent)}.mpc-actions{display:flex;gap:8px}.mpc-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:var(--bg-primary);border-radius:var(--radius-md);color:var(--text-muted);font-size:12px;font-weight:500;transition:background .15s,color .15s}.mpc-action-btn:hover{background:color-mix(in srgb,var(--accent) 15%,var(--bg-primary));color:var(--accent)}.mpc-activity{margin-top:2px}.mpc-activity-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);margin-bottom:6px}.mpc-activity-row{display:flex;align-items:flex-start;gap:10px}.mpc-ring{width:76px;height:76px;flex-shrink:0}.mpc-ring-label{fill:var(--text-muted, #949ba4);font-size:10px;font-weight:700;font-family:inherit}.mpc-heatmap{flex:1;display:grid;grid-template-rows:repeat(7,8px);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px}.mpc-heatmap-cell{border-radius:2px;background:#ffffff0f}.mpc-heatmap-cell[data-level="1"]{background:color-mix(in srgb,var(--accent, #5865F2) 30%,transparent)}.mpc-heatmap-cell[data-level="2"]{background:color-mix(in srgb,var(--accent, #5865F2) 55%,transparent)}.mpc-heatmap-cell[data-level="3"]{background:color-mix(in srgb,var(--accent, #5865F2) 80%,transparent)}.mpc-heatmap-cell[data-level="4"]{background:var(--accent, #5865F2)}.mpc-mutual{font-size:11px;color:var(--text-muted);margin-top:6px}.mpc-last-seen{font-size:11px;color:var(--text-muted);margin-top:2px}.mpc-activity-placeholder{height:56px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent, #00c8ff) 8%,transparent);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:11px;margin-top:4px}.pc-settings-layout{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-top:4px}.pc-settings-toggles{flex:1;min-width:180px}.pc-settings-preview{flex-shrink:0}.mpc-card.pc-preview-card{position:relative!important;left:unset!important;top:unset!important;width:240px;animation:none;box-shadow:0 4px 20px #00000080}.profile-badges-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.profile-role-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill, 999px);border:1px solid rgba(255,255,255,.15);background:#00000040;color:var(--role-color, #949ba4);font-size:11px;font-weight:600}.profile-role-icon{display:flex;align-items:center}.profile-custom-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill, 999px);border:1px solid color-mix(in srgb,var(--tag-color) 40%,transparent);background:color-mix(in srgb,var(--tag-color) 18%,transparent);color:var(--tag-color);font-size:11px;font-weight:600}.profile-section{background:var(--bg-primary);border-radius:var(--radius-md);padding:10px 12px;margin-top:6px}.profile-section-title{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.profile-section-text{font-size:13px;color:var(--text-normal)}.profile-status-row{display:flex;align-items:center;gap:8px}.profile-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.profile-voice-offline{font-size:13px;color:var(--text-muted)}.profile-voice-card{background:var(--bg-hover);border-radius:var(--radius-sm, 4px);padding:8px 10px;display:flex;flex-direction:column;gap:6px;border:1px solid transparent;transition:border-color .2s}.profile-voice-card.speaking{border-color:var(--green);animation:profileVoicePulse 2.5s ease infinite}@keyframes profileVoicePulse{0%,to{box-shadow:0 0 #43b58100}50%{box-shadow:0 0 0 4px #43b5812e}}.profile-voice-channel{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--text-normal)}.profile-voice-icon{display:flex;align-items:center;color:var(--text-muted)}.profile-voice-badges{display:flex;gap:4px;flex-wrap:wrap}.profile-voice-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;background:var(--bg-secondary);color:var(--text-muted);font-size:11px}.profile-voice-badge.pv-active{color:var(--green)}.profile-voice-badge.pv-speaking{color:var(--green);animation:profileSpeakingPulse 1.2s ease infinite}@keyframes profileSpeakingPulse{0%,to{opacity:1}50%{opacity:.55}}.emoji-picker{position:absolute;z-index:200;bottom:100%;right:0;background:var(--bg-primary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:320px;box-shadow:var(--elevation-float);display:none;overflow:hidden;margin-bottom:8px}.emoji-picker.open{display:block}.ep-scroll-area{max-height:280px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.ep-scroll-area::-webkit-scrollbar{width:4px}.ep-scroll-area::-webkit-scrollbar-track{background:transparent}.ep-scroll-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ep-header{padding:12px;border-bottom:1px solid var(--border)}.ep-search{width:100%;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);padding:8px 10px;color:var(--text-normal);font-size:13px}.ep-search::placeholder{color:var(--text-micro)}.ep-category-label{padding:8px 12px 4px;font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px}.ep-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:4px 8px 8px}.ep-emoji{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;border-radius:var(--radius-sm);background:transparent;transition:background .1s}.ep-emoji:hover{background:var(--bg-hover)}.ep-emoji-img{width:24px;height:24px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.rp-quick-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;padding:0;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .1s}.rp-quick-btn:hover{background:var(--bg-hover);transform:scale(1.3)}.rp-expand-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;padding:0;transition:background .1s,color .1s,border-color .1s,transform .1s}.rp-expand-btn:hover,.rp-expand-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.1)}.gif-picker{position:absolute;z-index:200;bottom:100%;right:0;background:var(--bg-primary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:320px;height:400px;box-shadow:var(--elevation-float);display:none;overflow:hidden;margin-bottom:8px;flex-direction:column}.gif-picker.open{display:flex}.gp-header{padding:12px;border-bottom:1px solid var(--border);flex-shrink:0}.gp-search{width:100%;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);padding:8px 10px;color:var(--text-normal);font-size:13px}.gp-search::placeholder{color:var(--text-micro)}.gp-attribution{font-size:10px;color:var(--text-micro);padding:4px 0 0;text-align:center}.gp-grid-area{flex:1;overflow-y:auto;padding:8px}.gp-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gp-item{cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;transition:transform .1s}.gp-item:hover{transform:scale(1.03)}.gp-img{width:100%;display:block;object-fit:cover;border-radius:var(--radius-sm);min-height:80px;background:var(--bg-tertiary)}.gp-loading,.gp-empty{padding:48px 0;text-align:center;color:var(--text-faint);font-size:13px}.media-picker{position:absolute;z-index:200;bottom:100%;right:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);width:320px;height:420px;box-shadow:0 8px 32px #0009;display:none;overflow:hidden;margin-bottom:4px;flex-direction:column}.media-picker.open{display:flex}.mp-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--border)}.mp-tab{flex:1;padding:10px 0;font-size:13px;font-weight:600;background:transparent;color:var(--text-muted);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.mp-tab:hover{color:var(--text-normal)}.mp-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.mp-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.mp-content>.emoji-picker,.mp-content>.gif-picker{position:static;width:100%;border:none;border-radius:0;box-shadow:none;margin:0;z-index:auto}.mp-content>.gif-picker{height:100%}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);z-index:500;display:none;align-items:center;justify-content:center}.settings-overlay.open{display:flex}.settings-panel-wrap{position:relative;display:flex;align-items:flex-start}.settings-panel{display:flex;width:960px;max-width:calc(100vw - 100px);height:84vh;max-height:760px;background:var(--bg-primary);border-radius:18px;overflow:hidden;box-shadow:var(--elevation-float)}.settings-sidebar{width:244px;background:var(--bg-tertiary);padding:20px 8px 16px;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);border-radius:18px 0 0 18px}.settings-cat{padding:20px 12px 6px;font-size:.72em;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.8px}.settings-cat:first-of-type{padding-top:4px}.settings-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:1px 0;border-radius:var(--radius-md);cursor:pointer;font-size:.94em;font-weight:500;color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast);background:transparent;width:100%;text-align:left;position:relative}.settings-nav-item:hover{background:#ffffff0f;color:var(--text-normal)}.settings-nav-item.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:#fff}.settings-nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}.settings-sep{height:1px;background:var(--border);margin:8px 12px}.settings-nav-item.danger{color:var(--red)}.settings-nav-item.danger:hover{background:#f23f431a}.settings-content{flex:1;overflow-y:auto;padding:40px 40px 52px;max-width:720px}.settings-content-header{display:flex;align-items:center;gap:10px}.settings-content-header h1{flex:1}.settings-back-btn{display:none;width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);align-items:center;justify-content:center;flex-shrink:0;transition:all .1s}.settings-back-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.settings-content h1{font-size:1.5em;font-weight:800;color:#fff;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);letter-spacing:-.3px}.settings-content h3{font-size:.72em;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.8px;margin:24px 0 8px}.settings-pane{display:none}.settings-pane.active{display:block}.settings-group{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;margin-bottom:20px}.settings-group .setting-row{padding:14px 16px;border-bottom:1px solid var(--border)}.settings-group .setting-row:last-child{border-bottom:none}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none}.setting-label{font-size:.95em;font-weight:500;color:var(--text-normal)}.setting-desc{font-size:.875em;color:var(--text-muted);margin-top:3px;line-height:1.45}.update-status-msg{font-size:.875em;color:var(--text-muted);margin-top:6px;line-height:1.45}.update-status-ok{color:var(--green)}.update-status-new{color:var(--yellow)}.modal.changelog-modal{width:540px;max-width:calc(100vw - 80px);overflow-x:hidden}.changelog-modal-container{width:100%;box-sizing:border-box}.changelog-body{max-height:60vh;overflow-y:auto;overflow-x:hidden;padding:20px 24px 24px;box-sizing:border-box}.changelog-entry+.changelog-entry{padding-top:20px;border-top:1px solid var(--border);margin-top:20px}.changelog-version-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.changelog-version-badge{background:var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:100px;flex-shrink:0}.changelog-date{font-size:12px;color:var(--text-muted)}.changelog-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.changelog-item{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--text-normal);line-height:1.5;min-width:0;width:100%;box-sizing:border-box}.changelog-item>span:last-child{flex:1 1 0;min-width:0;overflow-wrap:break-word;word-break:break-word;white-space:normal}.changelog-item-badge{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-top:2px}.changelog-item-badge--new{background:#57f28726;color:#57f287}.changelog-item-badge--fix{background:#faa61a26;color:#faa61a}.changelog-item-badge--improved{background:#5865f226;color:#7289da}.changelog-item-badge--removed{background:#f0474726;color:#f04747}.changelog-empty{font-size:14px;color:var(--text-muted);text-align:center;padding:20px 0}.toggle{width:44px;height:24px;border-radius:12px;background:var(--bg-active);border:1px solid var(--border);cursor:pointer;position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.toggle.on{background:var(--green);border-color:var(--green)}.toggle:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .22s cubic-bezier(.34,1.4,.64,1);box-shadow:0 1px 4px #0000004d}.toggle.on:after{transform:translate(20px)}.settings-select{background:var(--bg-tertiary);color:var(--text-normal);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:1em;width:200px;cursor:pointer}.mic-meter-wrap{margin-bottom:12px}.mic-meter-bar{position:relative;height:8px;border-radius:4px;background:var(--bg-tertiary);overflow:visible;cursor:pointer}.mic-meter-level{height:100%;border-radius:4px;width:0%;background:#43b581;transition:width 50ms linear;pointer-events:none}.mic-meter-threshold{position:absolute;top:-5px;width:12px;height:18px;background:#fff;border-radius:6px;left:50%;transform:translate(-50%);opacity:.9;cursor:grab;pointer-events:auto;z-index:1;box-shadow:0 1px 3px #0006;transition:opacity .1s}.mic-meter-threshold:hover{opacity:1}.mic-meter-threshold:active{cursor:grabbing;opacity:1}.slider-row{display:flex;align-items:center;gap:12px}.settings-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--bg-tertiary);outline:none}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer}.slider-val{font-size:13px;color:var(--text-muted);min-width:40px;text-align:right}.account-card{background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden;margin-bottom:24px;max-width:300px}.ac-btn{padding:8px 16px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:13px;font-weight:600;transition:background .15s;margin-left:auto;flex-shrink:0}.ac-btn:hover{background:var(--accent-hover)}.ac-btn:disabled{opacity:.6;cursor:not-allowed}.ac-btn.account-delete-btn{background:var(--red);margin-left:0}.ac-btn.account-delete-btn:hover{background:#d83135}.ac-btn.account-delete-btn:disabled{opacity:.6;cursor:not-allowed}.ac-btn-danger{background:var(--red)!important}.ac-btn-danger:hover{background:#d83135!important}.account-delete-confirm{background:#f23f430f;border:1px solid rgba(242,63,67,.2);border-radius:var(--radius-sm);padding:16px;margin-top:12px}.account-banner{aspect-ratio:2.5;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--accent)}.account-avatar-wrap{position:relative;margin-top:-32px;margin-left:16px;width:64px}.account-avatar-large{width:64px;height:64px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;color:#fff;border:4px solid var(--bg-secondary)}.account-status-dot{position:absolute;bottom:4px;right:4px;width:14px;height:14px;border-radius:50%;border:3px solid var(--bg-secondary)}.account-header{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px 16px}.account-header-name{font-size:1.43em;font-weight:700;color:#fff}.account-avatar-modal-preview{width:104px!important;height:104px!important;font-size:40px!important}.account-banner-modal-preview{aspect-ratio:2.5;max-width:300px;border-radius:var(--radius-sm);margin-bottom:0!important}.upload-size-hint{font-size:12px;color:var(--text-faint);margin-top:4px}.account-fields{background:var(--bg-primary);border-radius:var(--radius-md);margin:0 16px 16px;padding:0}.account-field{display:flex;align-items:center;justify-content:space-between;padding:14px 12px;border-bottom:1px solid var(--border)}.account-field:last-child{border-bottom:none}.account-field-label{font-size:.86em;font-weight:700;color:var(--text-muted);text-transform:uppercase}.account-field-value{font-size:1.07em;color:var(--text-normal);margin-top:4px}.account-field-edit{padding:4px 16px;border-radius:var(--radius-sm);background:var(--bg-active);color:#fff;font-size:.93em;font-weight:500;cursor:pointer;transition:background .15s}.account-field-edit:hover{background:var(--bg-hover)}.settings-separator{height:1px;background:var(--border);margin:24px 0}.settings-section-title{font-size:1.15em;font-weight:700;color:var(--header-primary);margin-bottom:14px}.settings-status-options{display:flex;flex-direction:column;gap:2px}.settings-status-option{display:flex;align-items:center;padding:8px 12px;border-radius:4px;cursor:pointer;gap:12px;transition:background .1s}.settings-status-option:hover,.settings-status-option.active{background:var(--bg-active)}.settings-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.settings-status-label{font-size:1em;font-weight:500;color:var(--text-normal)}.settings-status-desc{font-size:.86em;color:var(--text-muted);margin-top:1px}.settings-sidebar-profile{display:flex;align-items:center;gap:12px;padding:0 8px 16px;margin-bottom:4px;border-bottom:1px solid var(--border)}.settings-sidebar-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;color:#fff;flex-shrink:0;overflow:hidden;box-shadow:0 2px 6px #00000059}.settings-sidebar-name{font-size:.95em;font-weight:600;color:#fff}.settings-sidebar-edit{font-size:.8em;color:var(--text-muted);cursor:pointer;margin-top:1px}.settings-sidebar-edit:hover{color:var(--text-normal);text-decoration:underline}.settings-nav-item .icon{width:16px;height:16px;opacity:.6;flex-shrink:0;transition:opacity .12s}.settings-nav-item:hover .icon{opacity:.85}.settings-nav-item.active .icon{opacity:1}.settings-close-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;margin-left:16px;padding-top:4px;flex-shrink:0}.settings-close-btn{width:36px;height:36px;border-radius:50%;background:#ffffff14;border:1.5px solid rgba(255,255,255,.12);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.settings-close-btn:hover{background:#ffffff24;border-color:#ffffff38;color:#fff}.settings-esc-label{font-size:.72em;color:var(--text-faint);font-weight:700;letter-spacing:.5px}.settings-sidebar-logout{margin-top:auto;padding-top:8px}.profile-edit-modal-container{width:480px;max-width:calc(100vw - 48px)}.profile-edit-modal{padding:0}.profile-edit-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:0}.profile-edit-section{display:flex;flex-direction:column;gap:8px}.profile-edit-section-title{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-faint);margin-bottom:4px}.profile-edit-current-value{font-size:1em;font-weight:500;color:var(--text-normal);margin-bottom:6px}.profile-edit-section .ac-btn{align-self:flex-start;margin-left:0}.email-status-badge{font-size:.68em;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:10px}.email-status-badge.verified{color:var(--green);background:color-mix(in srgb,var(--green) 15%,transparent)}.email-status-badge.unverified{color:var(--red);background:color-mix(in srgb,var(--red) 15%,transparent)}.crop-modal-container{width:max-content;max-width:calc(100vw - 48px)}.crop-modal{padding:0}.crop-canvas{display:block;margin:0 auto;border-radius:var(--radius-sm);user-select:none;-webkit-user-select:none}.crop-hint{text-align:center;font-size:11px;color:var(--text-faint);margin:8px 24px 0}.crop-zoom-wrap{display:flex;align-items:center;gap:8px;padding:12px 24px 4px}.crop-zoom-icon{color:var(--text-muted);display:flex;flex-shrink:0}.crop-zoom-slider{flex:1;accent-color:var(--accent);height:4px;cursor:pointer}.crop-btn-row{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px 20px}.crop-btn-row .ac-btn{margin-left:0}.accent-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.accent-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:none;outline:none;transition:transform .12s}.accent-swatch:hover{transform:scale(1.1)}.accent-swatch.active{box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.accent-hex-row{display:flex;align-items:center;gap:4px;margin-top:4px}.accent-hex-prefix{font-size:14px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.keybind-section-header{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:4px 0 8px}.keybind-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.settings-group .keybind-row{padding:12px 16px}.kbd{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font-family:var(--font-mono);font-size:12px;color:var(--text-normal)}.cmenu{position:fixed;z-index:1000;min-width:200px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow-y:auto;padding:6px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0006,0 16px 40px -4px #0009,inset 0 1px #ffffff0a;animation:contextMenuPop .12s cubic-bezier(.34,1.56,.64,1);transform-origin:top left;-webkit-user-select:none;user-select:none}.cmenu--sub{min-width:160px;animation:contextMenuPop .1s ease}.cmenu__header{display:flex;align-items:center;gap:10px;padding:8px 10px 10px;border-radius:calc(var(--radius-md) - 2px)}.cmenu__avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0;text-shadow:0 1px 2px rgba(0,0,0,.4)}.cmenu__header-info{display:flex;flex-direction:column;gap:3px;min-width:0}.cmenu__username{font-size:14px;font-weight:600;color:var(--header-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmenu__role-badge{font-size:11px;font-weight:500;opacity:.85;text-transform:capitalize}.cmenu__sep{height:1px;background:#ffffff0f;margin:4px 0}.cmenu__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-normal);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);position:relative}.cmenu__item:hover,.cmenu__item--open{background:var(--accent);color:#fff}.cmenu__item:hover .cmenu__icon,.cmenu__item--open .cmenu__icon{color:#fff}.cmenu__item--active{color:var(--text-normal)}.cmenu__item--danger{color:var(--text-danger)}.cmenu__item--danger:hover{background:var(--text-danger);color:#fff}.cmenu__item--confirming{background:#f0b23226;color:var(--text-warning)!important;animation:confirmPulse .3s ease}.cmenu__item--confirming:hover{background:var(--text-warning)!important;color:#fff!important}@keyframes confirmPulse{0%{transform:scale(1)}40%{transform:scale(1.02)}to{transform:scale(1)}}.cmenu__item--has-sub{justify-content:flex-start}.cmenu__item--has-sub .cmenu__icon:last-child{margin-left:auto;opacity:.6}.cmenu__item--has-sub:hover .cmenu__icon:last-child,.cmenu__item--open .cmenu__icon:last-child{opacity:1}.cmenu__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);transition:color var(--transition-fast)}.cmenu__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu{position:fixed;z-index:1000;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:6px;box-shadow:0 4px 6px -1px #0006,0 16px 40px -4px #0009;min-width:180px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow-y:auto;animation:contextMenuPop .12s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}.context-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-normal);background:transparent;width:100%;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.context-menu-item:hover{background:var(--accent);color:#fff}.context-menu-item.danger{color:var(--text-danger)}.context-menu-item.danger:hover{background:var(--text-danger);color:#fff}.context-menu-sep{height:1px;background:#ffffff0f;margin:4px 0}.ctx-icon{display:inline-flex;align-items:center;flex-shrink:0;opacity:.7;transition:opacity var(--transition-fast)}.context-menu-item:hover .ctx-icon,.context-menu-item.danger:hover .ctx-icon{opacity:1}.context-menu__item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-normal);background:transparent;width:100%;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.context-menu__item:hover{background:var(--accent);color:#fff}.context-menu__item--danger{color:var(--text-danger)}.context-menu__item--danger:hover{background:var(--text-danger);color:#fff}.context-menu__separator{height:1px;background:#ffffff0f;margin:4px 0}.self-cam-preview{display:none;position:fixed;right:calc(16px + env(safe-area-inset-right,0px));top:calc(16px + env(safe-area-inset-top,0px));z-index:9500;width:140px;height:105px;border-radius:var(--radius-md);overflow:hidden;background:#000;border:2px solid rgba(255,255,255,.15);box-shadow:0 4px 16px #00000080}.self-cam-preview video{display:block;width:100%;height:100%;object-fit:cover}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 20px;font-size:13px;color:var(--text-normal);box-shadow:0 10px 32px #0000008c;opacity:0;transition:opacity .3s;pointer-events:none}.toast.show{opacity:1;animation:toastSlideUp .3s ease}.toast-info{border-left:4px solid var(--accent)}.toast-error{border-left:4px solid var(--red)}.toast-success{border-left:4px solid var(--green)}.reconnecting-banner{background:linear-gradient(90deg,#f0b232e6,#f0b232bf);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#1a1200;text-align:center;padding:7px 16px;font-size:13px;font-weight:700;flex-shrink:0;display:none;letter-spacing:.01em;box-shadow:0 2px 12px #f0b2324d;animation:reconnectIn .2s ease}@keyframes reconnectIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.reconnecting-banner.visible{display:block}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);display:none;align-items:flex-start;justify-content:center;padding-top:80px;z-index:400;animation:fadeIn .15s ease}.search-overlay.open{display:flex}.search-overlay-box{width:580px;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--elevation-float);overflow:hidden;animation:spotlightIn .18s cubic-bezier(.34,1.3,.64,1)}@keyframes spotlightIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.search-overlay-input{width:100%;padding:18px 20px;background:transparent;color:var(--text-normal);font-size:16px;border:none;font-weight:500}.search-overlay-input::placeholder{color:var(--text-micro)}.search-overlay-results{max-height:420px;overflow-y:auto;border-top:1px solid var(--border)}.search-overlay-status{padding:14px 20px;color:var(--text-muted);font-size:13px}.search-result-item{padding:10px 16px;margin:2px 6px;border-radius:var(--radius-md);cursor:pointer;transition:background .1s}.search-result-item:hover,.search-result-item--active{background:var(--bg-modifier-hover)}.search-result-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:12px}.search-result-channel{color:var(--accent);font-weight:600}.search-result-author{color:var(--text-normal);font-weight:600}.search-result-time{color:var(--text-micro);margin-left:auto;font-size:11px}.search-result-content{color:var(--text-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-back-header{margin:8px 8px 4px;padding:8px 12px;display:flex;align-items:center;gap:10px;border-radius:var(--radius-md, 8px);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .18s,border-color .18s,transform .12s;-webkit-user-select:none;user-select:none}.dm-back-header:hover{background:#ffffff1a;border-color:#ffffff29;transform:translateY(-1px)}.dm-back-header:active{transform:translateY(0)}.dm-back-header:hover .dm-back-arrow{transform:translate(-3px)}.dm-back-arrow{color:var(--text-muted);font-size:16px;flex-shrink:0;transition:transform .18s,color .18s}.dm-back-header:hover .dm-back-arrow{color:var(--text-normal);transform:translate(-3px)}.dm-back-info{flex:1;min-width:0}.dm-back-title{color:var(--text-normal);font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-back-subtitle{color:var(--text-muted);font-size:10px;margin-top:2px}.dm-sidebar-header{padding:8px 10px;flex-shrink:0}.dm-search{width:100%;background:var(--bg-tertiary);border:none;border-radius:20px;padding:8px 14px;color:var(--text-normal);font-size:13px}.dm-search::placeholder{color:var(--text-micro)}.dm-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:1px 8px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);transition:background .1s,color .1s;font-size:14px}.dm-nav-item:hover{background:var(--bg-modifier-hover);color:var(--text-normal)}.dm-nav-item.active{background:var(--bg-modifier-selected);color:#fff}.dm-nav-item .dm-nav-icon{font-size:18px;width:20px;text-align:center}.dm-section-label{padding:8px 16px 4px;font-size:11px;font-weight:700;color:var(--text-faint);letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}.dm-section-label .dm-add{width:18px;height:18px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .1s}.dm-section-label .dm-add:hover{color:var(--text-normal)}.dm-item{display:flex;align-items:center;gap:12px;padding:8px 10px;margin:1px 6px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);transition:background .1s,color .1s;min-height:62px;position:relative}.dm-item:hover{background:var(--bg-modifier-selected)}.dm-item.active{background:var(--bg-modifier-hover)}.dm-item.active:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:4px;height:22px;border-radius:0 4px 4px 0;background:var(--accent)}.dm-item .dm-avatar{width:46px;height:46px;border-radius:var(--radius-circle);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff}.dm-item .dm-avatar .dm-status{position:absolute;bottom:0;right:0;width:13px;height:13px;border-radius:var(--radius-circle);border:3px solid var(--bg-secondary)}.dm-item.active .dm-avatar .dm-status{border-color:var(--bg-active)}.dm-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;justify-content:center}.dm-row-top{display:flex;align-items:baseline;gap:4px}.dm-item .dm-name{font-size:14px;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-normal)}.dm-item.active .dm-name{color:#fff}.dm-time{font-size:11px;color:var(--text-micro);flex-shrink:0}.dm-item.active .dm-time{color:#fff9}.dm-row-bottom{display:flex;align-items:center;gap:4px}.dm-preview{font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-micro)}.dm-item.active .dm-preview{color:#fff9}.dm-badges{display:flex;align-items:center;gap:4px;flex-shrink:0}.dm-item .dm-unread-badge{background:var(--accent);color:#fff;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:700;min-width:18px;text-align:center}.dm-item.muted .dm-unread-badge{background:var(--text-muted)}.dm-name-wrap{display:flex;align-items:center;gap:5px;flex:1;min-width:0;overflow:hidden}.dm-name-wrap .dm-name{flex:1}.dm-pin-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;opacity:.75}.dm-item.active .dm-pin-dot{background:#fff}.dm-item.has-unread .dm-name{color:#fff;font-weight:700}.dm-item.has-unread .dm-preview{color:var(--text-normal)}.dm-item.active.has-unread .dm-preview{color:#fffc}.dm-preview--typing{display:flex;align-items:center;gap:5px}.dm-typing-label{color:var(--accent);font-style:italic;font-size:12px}.dm-item.active .dm-typing-label{color:#fffc}.dm-typing-dots{display:inline-flex;gap:3px;align-items:center}.dm-typing-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:dmTypingBounce 1.2s ease infinite}.dm-item.active .dm-typing-dot{background:#ffffffb3}.dm-typing-dot:nth-child(2){animation-delay:.15s}.dm-typing-dot:nth-child(3){animation-delay:.3s}@keyframes dmTypingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.dm-group-header{padding:8px 16px 3px;font-size:10px;font-weight:700;color:var(--text-faint);letter-spacing:.7px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.dm-empty-state{display:flex;flex-direction:column;align-items:center;padding:48px 24px;gap:10px;text-align:center}.dm-empty-icon{color:var(--text-faint);opacity:.45}.dm-empty-text{font-size:13px;color:var(--text-faint);margin:0;line-height:1.5}.friends-view{flex:1;display:flex;flex-direction:column;background:var(--bg-primary)}.friends-header{height:52px;padding:0 16px;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0;background:#17181bf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px #0000004d}.friends-header .fh-title{font-size:15px;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px}.friends-header .fh-title .fh-icon{font-size:20px}.friends-header .fh-divider{width:1px;height:24px;background:var(--border)}.friends-tab{padding:5px 12px;border-radius:14px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .12s;background:transparent}.friends-tab:hover{background:var(--bg-modifier-hover);color:var(--text-normal)}.friends-tab.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:600}.friends-tab.add-friend{background:var(--green);color:#fff;font-weight:600}.friends-tab.add-friend:hover{background:#1e8e4c}.friends-list{flex:1;overflow-y:auto;padding:8px 16px}.friends-search-bar{padding:8px 0 16px}.friends-search{width:100%;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-normal);font-size:13px}.friends-search::placeholder{color:var(--text-micro)}.friends-count{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;padding:8px 0}.friend-item{display:flex;align-items:center;gap:12px;padding:10px 8px;border-top:1px solid var(--border);cursor:pointer;transition:background .1s;border-radius:var(--radius-md)}.friend-item:hover{background:var(--bg-modifier-hover)}.friend-item .fi-avatar{width:40px;height:40px;border-radius:var(--radius-circle);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff}.friend-item .fi-status-dot{position:absolute;bottom:0;right:0;width:14px;height:14px;border-radius:var(--radius-circle);border:3px solid var(--bg-primary)}.friend-item:hover .fi-status-dot{border-color:var(--bg-hover)}.friend-item .fi-info{flex:1}.friend-item .fi-name{font-size:14px;font-weight:600;color:#fff}.friend-item .fi-status-text{font-size:12px;color:var(--text-muted)}.friend-item .fi-actions{display:flex;gap:6px;opacity:0;transition:opacity .1s}.friend-item:hover .fi-actions{opacity:1}.fi-action-btn{width:36px;height:36px;border-radius:var(--radius-circle);background:var(--bg-secondary);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .1s;cursor:pointer;border:none}.fi-action-btn:hover{background:var(--bg-active);color:var(--text-normal)}.add-friend-form{padding:24px}.add-friend-form h2{font-size:16px;font-weight:700;color:#fff;margin-bottom:4px}.add-friend-form p{font-size:13px;color:var(--text-muted);margin-bottom:16px}.add-friend-input-row{display:flex;gap:8px}.add-friend-input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;color:var(--text-normal);font-size:14px}.add-friend-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.add-friend-input::placeholder{color:var(--text-micro)}.add-friend-submit{padding:12px 20px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:14px;font-weight:600;transition:background .15s;white-space:nowrap}.add-friend-submit:hover{background:var(--accent-hover)}.dm-chat-header{height:48px;padding:0 16px;display:flex;align-items:center;gap:10px;border-bottom:none;box-shadow:var(--elevation-low);flex-shrink:0}.dm-chat-header .dch-avatar{width:24px;height:24px;border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;color:#fff}.dm-chat-header .dch-name{font-size:15px;font-weight:700;color:#fff}.dm-chat-header .dch-status{font-size:12px;color:var(--text-muted)}.dm-profile{width:300px;background:#181a1eb8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.06);transition:width .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.dm-profile.hidden{width:0;border:none}.dmp-topbar{height:52px;display:flex;align-items:center;padding:0 8px;flex-shrink:0;background:#12141899}.dmp-back-btn,.dmp-x-btn{width:32px;height:32px;border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .1s,color .1s,opacity .18s ease;cursor:pointer;flex-shrink:0}.dmp-back-btn:hover,.dmp-x-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.dmp-back-btn{opacity:0;pointer-events:none}.dmp-topbar-title{flex:1;font-size:14px;font-weight:600;color:var(--text-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;opacity:0;transition:opacity .18s ease}.dmp-x-btn{margin-left:auto}.dmp-topbar.is-browser .dmp-back-btn{opacity:1;pointer-events:auto}.dmp-topbar.is-browser .dmp-topbar-title{opacity:1}.dmp-scroll{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.dmp-scroll::-webkit-scrollbar{width:4px}.dmp-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.dmp-hero{display:flex;flex-direction:column;align-items:center;padding:28px 20px 16px;text-align:center;gap:0;background:linear-gradient(180deg,#1214188c,#181a1e4d)}.dmp-avatar{width:96px;height:96px;border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:36px;color:#fff;position:relative;flex-shrink:0;box-shadow:0 8px 32px #0000008c,0 0 0 3px #ffffff14;overflow:visible}.dmp-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.dmp-avatar-dot{position:absolute!important;bottom:2px;right:2px;width:18px!important;height:18px!important;border-radius:50%!important;border:3px solid var(--bg-secondary)}.dmp-username{font-size:20px;font-weight:700;color:#fff;margin-top:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dmp-userstatus{font-size:13px;margin-top:4px;color:var(--text-muted)}.dmp-userstatus--online{color:var(--green)}.dmp-userstatus--idle{color:var(--yellow)}.dmp-userstatus--dnd{color:var(--red)}.dmp-userstatus--offline{color:var(--text-muted)}.dmp-actions{display:flex;gap:8px;padding:16px 16px 20px;justify-content:center}.dmp-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;background:transparent;border:none;padding:0 4px;cursor:pointer;color:var(--text-muted);transition:color .12s;max-width:90px}.dmp-action-btn:hover{color:var(--text-normal)}.dmp-action-btn:hover .dmp-action-icon{background:var(--bg-modifier-hover)}.dmp-action-btn--active{color:var(--accent)}.dmp-action-btn--active .dmp-action-icon{background:#00c8ff1a}.dmp-action-btn--active:hover{color:var(--accent)}.dmp-action-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);transition:background .12s}.dmp-action-label{font-size:11px;font-weight:500;white-space:nowrap;color:inherit}.dmp-divider{height:8px;background:#00000040;flex-shrink:0}.dmp-section{background:#181a1e80;flex-shrink:0}.dmp-info-row{display:flex;align-items:center;gap:14px;padding:10px 16px;cursor:default;transition:background .1s;position:relative}.dmp-info-row:after{content:"";position:absolute;bottom:0;left:66px;right:0;height:1px;background:var(--border);opacity:.4}.dmp-info-row:last-child:after{display:none}.dmp-info-row--copyable{cursor:pointer}.dmp-info-row--copyable:hover{background:var(--bg-hover)}.dmp-info-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dmp-info-text{min-width:0;flex:1}.dmp-info-value{font-size:14px;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmp-info-label{font-size:12px;color:var(--text-muted);margin-top:1px}.dmp-info-copy{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--text-muted);flex-shrink:0;opacity:0;transition:opacity .12s}.dmp-info-row--copyable:hover .dmp-info-copy{opacity:1}.dmp-section--stats{margin-top:0}.dmp-stats-row{display:flex;align-items:center;gap:14px;padding:10px 16px;cursor:pointer;transition:background .1s;position:relative}.dmp-stats-row:after{content:"";position:absolute;bottom:0;left:66px;right:0;height:1px;background:var(--border);opacity:.4}.dmp-stats-row:last-child:after{display:none}.dmp-stats-row:hover{background:var(--bg-hover)}.dmp-stats-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.dmp-stats-text{flex:1;font-size:14px;color:var(--text-normal)}.dmp-stats-arrow{color:var(--text-micro);display:flex;align-items:center}.dmp-media-label{flex:1;font-size:14px;color:var(--text-normal)}.dmp-media-count{font-size:13px;color:var(--text-muted);flex-shrink:0}.dmp-total-messages{text-align:center;font-size:12px;color:var(--text-micro);padding:16px 0 20px}.dmp-loading{display:flex;align-items:center;justify-content:center;padding:20px;color:var(--text-faint)}.dmp-loading svg{animation:dmpSpin 1s linear infinite}@keyframes dmpSpin{to{transform:rotate(360deg)}}.chat-header .ch-tools .ch-search-btn,.chat-header .ch-tools .ch-profile-btn{display:none}.chat-header.dm-mode .ch-tools .ch-profile-btn{display:flex}.chat-header .ch-tools .ch-call-btn{display:none}.chat-header.dm-mode .ch-tools .ch-call-btn{display:flex}.chat-header.no-channel .ch-left,.chat-header.dm-mode .ch-left{opacity:0;max-width:0;pointer-events:none}.chat-header.no-channel .ch-tools,.chat-header.dm-mode .ch-tools{margin-left:auto}.att-browser{display:flex;flex-direction:column;min-height:0}.att-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.att-grid-cell{aspect-ratio:1;overflow:hidden;cursor:pointer;background:var(--bg-elevated)}.att-grid-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}.att-grid-cell img:hover{opacity:.82}.att-grid-placeholder{width:100%;height:100%;background:var(--bg-elevated);animation:attShimmer 1.6s ease-in-out infinite}@keyframes attShimmer{0%,to{opacity:1}50%{opacity:.45}}.att-video-cell{position:relative;background:#000;cursor:pointer}.att-video-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}.att-video-cell:hover .att-video-thumb{opacity:.7}.att-video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;color:#fff;pointer-events:none;transition:background .15s}.att-video-cell:hover .att-video-overlay{background:#00000080}.att-video-size{position:absolute;bottom:4px;right:6px;font-size:10px;color:#ffffffbf;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.att-list{display:flex;flex-direction:column}.att-file-row{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:default;position:relative;transition:background .1s}.att-file-row:hover{background:var(--bg-hover)}.att-file-row:after{content:"";position:absolute;bottom:0;left:68px;right:0;height:1px;background:var(--border);opacity:.4}.att-file-row:last-of-type:after{display:none}.att-file-icon{width:40px;height:40px;border-radius:10px;background:#bb86fc1f;color:#bb86fc;display:flex;align-items:center;justify-content:center;flex-shrink:0}.att-file-info{min-width:0;flex:1}.att-file-name{font-size:13px;color:var(--text-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-file-size{font-size:11px;color:var(--text-muted);margin-top:2px}.att-audio-row{display:flex;align-items:center;gap:10px;padding:6px 12px;position:relative;transition:background .1s}.att-audio-row:hover{background:var(--bg-hover)}.att-audio-row:after{content:"";position:absolute;bottom:0;left:54px;right:0;height:1px;background:var(--border);opacity:.4}.att-audio-row:last-of-type:after{display:none}.att-audio-play{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--accent);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .1s;padding-left:2px}.att-audio-play:hover{background:var(--accent-hover, #4b72f7);transform:scale(1.05)}.att-audio-play--has-art:hover,.att-audio-play--has-art{background-color:transparent}.att-audio-play--has-art svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.att-audio-row--active .att-audio-play{padding-left:0}.att-audio-info{min-width:0;flex:1}.att-audio-sender{font-size:12px;font-weight:600;color:var(--text-normal)}.att-audio-meta{font-size:11px;color:var(--text-muted);margin-top:1px}.att-link-row{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;position:relative;transition:background .1s}.att-link-row:hover{background:var(--bg-hover)}.att-link-row:after{content:"";position:absolute;bottom:0;left:68px;right:0;height:1px;background:var(--border);opacity:.4}.att-link-row:last-of-type:after{display:none}.att-link-icon{width:40px;height:40px;border-radius:10px;background:#42a5f51f;color:#42a5f5;display:flex;align-items:center;justify-content:center;flex-shrink:0}.att-link-text{min-width:0;flex:1}.att-link-title{font-size:13px;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-link-url{font-size:11px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-footer{display:flex;align-items:center;justify-content:center;padding:12px 16px;flex-shrink:0}.att-sentinel{height:1px}.att-loading{display:flex;align-items:center;justify-content:center;padding:16px;color:var(--text-faint)}.att-loading svg{animation:dmpSpin 1s linear infinite}.att-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:32px 16px}.chat-header.dm-mode .ch-topic{font-size:12px}.virtual-content{animation:virtualFadeIn .1s ease}@keyframes virtualFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes typingAnim{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes contextMenuPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pickerPop{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes actionBarPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.user-popup.open{animation:slideIn .15s cubic-bezier(.34,1.56,.64,1)}.emoji-picker.open,.gif-picker.open{animation:pickerPop .15s cubic-bezier(.4,0,.2,1)}.settings-overlay.open{animation:fadeIn .2s ease}.settings-panel{animation:settingsScale .2s cubic-bezier(.2,0,0,1)}@keyframes settingsScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.compact-mode .message{padding:2px 16px 2px 40px;min-height:20px;margin-top:4px}.compact-mode .message.grouped{min-height:16px;margin-top:0}.compact-mode .message .msg-avatar{width:24px;height:24px;font-size:10px;top:2px;left:8px}.compact-mode .message.grouped .msg-avatar,.compact-mode .message .msg-hover-time{display:none}.compact-mode .message.grouped .msg-hover-time{display:block}.compact-mode .message .msg-header{display:flex}.compact-mode .message.grouped .msg-header{display:none}.compact-mode .message .msg-text{line-height:1.25;font-size:13px}.compact-mode .message .msg-time{display:none}.compact-mode .msg-reactions{margin-top:2px}.compact-mode .msg-day-divider{padding:4px 16px;margin-bottom:2px}.compact-mode .channel-item{padding:3px 8px}.compact-mode .channel-item .ch-name{font-size:13px}.compact-mode .channel-sidebar-header{height:40px}.compact-mode .category{padding:10px 8px 2px 16px}.compact-mode .chat-header,.compact-mode .voice-mini-bar{height:38px}.channel-list-empty,.member-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;gap:4px}.channel-list-empty-text,.member-list-empty-text{color:var(--text-muted);font-size:var(--font-size-md)}.channel-list-empty-hint{color:var(--text-faint);font-size:var(--font-size-xs)}.compact-mode .member-item{padding:2px 8px}.compact-mode .member-item .mi-avatar{width:24px;height:24px;font-size:10px}.compact-mode .member-item .mi-name{font-size:.93em}.compact-mode .member-role-group{padding:12px 16px 2px}.compact-mode .voice-user-item{padding:2px 8px;font-size:12px}.compact-mode .voice-user-item .vu-avatar{width:16px;height:16px;font-size:7px}.compact-mode .vu-preview{margin:1px 0}.compact-mode .vu-preview video,.compact-mode .vu-preview-placeholder{aspect-ratio:16 / 9}.compact-mode .user-bar{height:42px}.compact-mode .user-bar .ub-avatar{width:28px;height:28px;font-size:12px}.compact-mode .messages-container{padding:8px 0}@keyframes pinned-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pinned-panel{position:absolute;top:8px;right:8px;z-index:200;width:420px;max-height:78vh;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--elevation-float);display:flex;flex-direction:column;animation:pinned-enter .18s cubic-bezier(.34,1.2,.64,1)}.pinned-panel__header{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.pinned-panel__header h3{font-size:16px;font-weight:600;color:var(--text-normal);margin:0;display:flex;align-items:center;gap:8px}.pinned-panel__title-group{display:flex;align-items:center;gap:8px}.pinned-panel__count{background:var(--bg-active);border-radius:var(--radius-pill);font-size:11px;color:var(--text-muted);padding:2px 6px;font-weight:500}.pinned-panel__close{width:24px;height:24px;color:var(--text-muted);border:none;background:none;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color .15s}.pinned-panel__close:hover{color:var(--text-normal)}.pinned-panel__list{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--bg-active) transparent}.pinned-panel__list::-webkit-scrollbar{width:6px}.pinned-panel__list::-webkit-scrollbar-track{background:transparent}.pinned-panel__list::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:3px}.pinned-msg{background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px;margin-bottom:8px;border-left:3px solid var(--yellow);position:relative;transition:background .15s}.pinned-msg:last-child{margin-bottom:0}.pinned-msg:hover{background:var(--bg-hover)}.pinned-msg__row{display:flex;gap:12px;align-items:flex-start}.pinned-msg__avatar{width:32px;height:32px;border-radius:var(--radius-circle);flex-shrink:0;font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center}.pinned-msg__body{flex:1;min-width:0}.pinned-msg__head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.pinned-msg__author{font-weight:600;font-size:14px;color:var(--text-normal)}.pinned-msg__time{font-size:11px;color:var(--text-micro);margin-left:auto}.pinned-msg__content{font-size:13px;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pinned-msg__actions{position:absolute;top:8px;right:8px;display:none;flex-direction:row;gap:4px}.pinned-msg:hover .pinned-msg__actions{display:flex}.pinned-msg__actions button{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.pinned-msg__actions button:hover{color:var(--text-normal);background:var(--bg-hover)}.pinned-msg__actions button.pinned-msg__unpin:hover{color:var(--red)}.pinned-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.pinned-panel__empty-icon{font-size:48px;opacity:.4;margin-bottom:4px}.pinned-panel__empty-text{font-size:14px;color:var(--text-muted);margin-top:12px;line-height:1.5}.skeleton{background:var(--bg-secondary);border-radius:var(--radius-sm)}.skeleton--shimmer{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-hover) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-circle)}.skeleton-line{height:16px;margin-bottom:4px;border-radius:var(--radius-sm)}.skeleton-line--short{width:60%}.skeleton-line--medium{width:80%}.skeleton-line--long{width:95%}.skeleton-msg{display:flex;gap:12px;padding:8px 16px 8px 72px;position:relative}.skeleton-msg .skeleton-avatar{position:absolute;left:16px}.tooltip{position:fixed;background:#111214;color:#fff;font-size:var(--font-size-sm);font-weight:600;padding:8px 12px;border-radius:var(--radius-sm);pointer-events:none;z-index:9999;box-shadow:var(--elevation-high);animation:tooltipFadeIn .1s ease;white-space:nowrap;max-width:200px}.tooltip:after{content:"";position:absolute;border:5px solid transparent}.tooltip--top:after{top:100%;left:50%;transform:translate(-50%);border-top-color:#111214}.tooltip--right:after{right:100%;top:50%;transform:translateY(-50%);border-right-color:#111214}.tooltip--bottom:after{bottom:100%;left:50%;transform:translate(-50%);border-bottom-color:#111214}.tooltip--left:after{left:100%;top:50%;transform:translateY(-50%);border-left-color:#111214}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px)and (min-width:801px){.member-list{width:0;padding:0;overflow:hidden}}.mobile-screen-1,.mobile-screen-2,.mobile-screen-3{display:contents}@media(max-width:800px){.app{position:relative;overflow:hidden}.mobile-screen-1,.mobile-screen-2,.mobile-screen-3{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;transition:transform .28s cubic-bezier(.4,0,.2,1)}.mobile-screen-1{transform:translate(0)}.mobile-screen-2{transform:translate(100%)}.mobile-screen-3{transform:translate(200%)}.app[data-mobile-screen="2"] .mobile-screen-1{transform:translate(-100%)}.app[data-mobile-screen="2"] .mobile-screen-2{transform:translate(0)}.app[data-mobile-screen="2"] .mobile-screen-3{transform:translate(100%)}.app[data-mobile-screen="3"] .mobile-screen-1{transform:translate(-200%)}.app[data-mobile-screen="3"] .mobile-screen-2{transform:translate(-100%)}.app[data-mobile-screen="3"] .mobile-screen-3{transform:translate(0)}.mobile-screen-1 .unified-sidebar{width:auto;flex:1}.sidebar-members-btn{display:flex}.mobile-screen-2 .chat-area{width:100%}.ch-back-btn{display:flex}.mobile-screen-3 .right-member-panel:not(.hidden){width:100%}.mobile-screen-3 .dm-profile:not(.hidden){width:100%;background:var(--bg-secondary);backdrop-filter:none;-webkit-backdrop-filter:none}.right-panel-back-btn{display:flex}.dmp-x-btn{display:none}.dmp-back-btn{opacity:1;pointer-events:auto}.msg-image,.msg-video,.msg-file{max-width:100%}.msg-video{min-width:0}.chat-header.dm-mode .ch-left{opacity:1;max-width:none;pointer-events:auto;display:flex}.chat-header.dm-mode .ch-topic,.chat-header.dm-mode .ch-divider{display:none}.chat-header.dm-mode .ch-avatar,.chat-header.dm-mode .ch-name{cursor:pointer}.chat-header.dm-mode .ch-tools .ch-profile-btn,.chat-header .ch-tools .ch-qs-btn,.chat-header .search-input{display:none}.chat-header .ch-tools .ch-search-btn{display:flex}.mobile-screen-1 .channel-sidebar{width:100%}.settings-panel{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;position:relative;overflow:hidden}.settings-sidebar,.settings-content{position:absolute;top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);border-radius:0;transition:transform .28s cubic-bezier(.4,0,.2,1)}.settings-sidebar{transform:translate(0)}.settings-content{transform:translate(100%)}.settings-panel[data-mobile-pane=content] .settings-sidebar{transform:translate(-100%)}.settings-panel[data-mobile-pane=content] .settings-content{transform:translate(0)}.settings-back-btn{display:flex}.settings-close-wrap{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));margin-left:0;z-index:1}.settings-esc-label{display:none}}.video-grid-slot{flex:1;min-height:0;overflow:hidden}.video-grid{display:flex;flex-wrap:wrap;gap:6px;padding:10px;flex:1;min-height:0;height:100%;align-content:center;justify-content:center;background:var(--bg-tertiary)}.video-cell{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--bg-secondary);border:1.5px solid transparent;transition:border-color .2s ease}.video-cell.speaking{border-color:var(--green);box-shadow:0 0 0 2px #23a55a4d,inset 0 0 0 1px #23a55a33}.video-cell video{width:100%;height:100%;object-fit:cover}.video-cell__avatar-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary))}.video-cell__avatar-placeholder .vc-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px;color:#fff;box-shadow:0 4px 20px #00000080}.video-username{position:absolute;bottom:8px;left:8px;color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6);padding:3px 8px;border-radius:6px;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.01em}.vw-controls .active-ctrl{background:var(--brand-primary, #5865f2);color:#fff}.vw-controls .vw-speaker-on{background:var(--accent);color:#fff}.video-tile-overlay{position:absolute;bottom:0;right:0;padding:6px;display:flex;gap:4px;align-items:center;z-index:2;opacity:0;transition:opacity .15s}.video-cell:hover .video-tile-overlay,.video-tile-overlay.muted{opacity:1}.tile-mute-btn{background:#0009;border:none;border-radius:4px;color:var(--text-normal);padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.tile-mute-btn:hover{background:#000c}.tile-volume-slider{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff4d;border-radius:2px;cursor:pointer}.tile-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.tile-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:none;cursor:pointer}.video-grid.focus-mode{display:flex;flex-wrap:nowrap;flex-direction:column;height:100%}.video-focus-main{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.video-focus-main .video-cell{width:100%;height:100%}.video-focus-strip{display:flex;gap:4px;padding:4px;overflow-x:auto;flex-shrink:0;height:90px;background:var(--bg-tertiary)}.video-focus-strip .video-cell{width:120px;min-width:120px;height:100%;cursor:pointer;border:2px solid transparent;border-radius:4px}.video-focus-strip .video-cell:hover{border-color:var(--accent)}.video-overlay-bar{position:absolute;top:12px;right:12px;z-index:1000;display:flex;gap:8px}.video-overlay-btn,.video-overlay-close{background:#141414b8;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .15s;display:flex;align-items:center;justify-content:center}.video-overlay-close{padding:6px 16px}.video-overlay-btn:hover,.video-overlay-close:hover{background:#282828eb}.invite-manager__list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.invite-manager__empty{text-align:center;color:var(--text-muted);padding:32px 0;font-size:14px}.invite-item{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:12px;transition:background .15s}.invite-item:hover{background:var(--bg-hover)}.invite-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.invite-item__code{font-family:Consolas,Courier New,monospace;font-size:14px;color:#fff;font-weight:600}.invite-item__actions{display:flex;gap:4px}.invite-item__copy,.invite-item__revoke{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;transition:all .15s;background:transparent}.invite-item__copy{color:var(--text-positive)}.invite-item__copy:hover{background:#23a55a26}.invite-item__revoke{color:var(--text-danger)}.invite-item__revoke:hover{background:#f23f4326}.invite-item__meta{font-size:12px;color:var(--text-muted)}.reduced-motion,.reduced-motion *{animation-duration:0s!important;transition-duration:0s!important}.high-contrast{--text-normal: #ffffff;--text-muted: #cccccc;--bg-active: rgba(255, 255, 255, .15)}.large-font{--font-size: 18px}.server-strip{width:68px;min-width:68px;background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px;flex-shrink:0;overflow:hidden;border-right:1px solid var(--border);transition:width var(--transition-slow),min-width var(--transition-slow),padding var(--transition-slow),border-color var(--transition-slow)}.server-strip--collapsed{width:0;min-width:0;padding:0}.server-strip--collapsed .server-strip-icons{display:none}.server-strip--dm{width:0!important;min-width:0!important;padding:0!important;border-right-color:transparent!important;overflow:hidden!important}.server-strip-icons{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;overflow-y:auto;overflow-x:hidden;flex:1;padding-bottom:4px}.server-strip-item{position:relative;display:flex;align-items:center;justify-content:center;width:68px;height:50px;flex-shrink:0;cursor:pointer}.server-strip-item.active{cursor:default}.server-strip-indicator{position:absolute;left:0;width:4px;height:0;border-radius:0 3px 3px 0;background:var(--text-normal);transition:height .15s ease;top:50%;transform:translateY(-50%)}.server-strip-item:hover .server-strip-indicator{height:16px}.server-strip-item.active .server-strip-indicator{height:38px}.server-strip-icon{position:relative;width:44px;height:44px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--text-normal);overflow:hidden;transition:border-radius .18s ease;flex-shrink:0;-webkit-user-select:none;user-select:none}.server-strip-item:hover .server-strip-icon,.server-strip-item.active .server-strip-icon{border-radius:14px}.server-strip-item.active .server-strip-icon{background:var(--accent);color:#fff}.server-strip-icon.has-avatar{background:transparent}.server-strip-icon img{width:100%;height:100%;object-fit:cover;display:block}.server-strip-item--add .server-strip-icon{color:var(--accent);border-radius:14px;transition:none}.server-strip-item--add:hover .server-strip-icon{background:var(--accent);color:#fff}.server-strip-badge{position:absolute;bottom:-2px;right:-4px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;border:2px solid var(--bg-tertiary);background:var(--bg-hover);color:var(--text-muted);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none;white-space:nowrap}.server-strip-badge--active{background:var(--red);color:#fff;border-color:var(--bg-tertiary)}.server-strip-handle{position:absolute;left:0;top:12px;z-index:10;width:11px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-left:none;border-radius:0 5px 5px 0;cursor:pointer;padding:0;color:var(--text-micro);transition:color .15s,background .15s}.server-strip-handle:hover{color:var(--text-normal);background:var(--bg-modifier-hover)}.quick-switch-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);display:flex;align-items:center;justify-content:center}.quick-switch-backdrop--initial{background:var(--bg-primary);-webkit-backdrop-filter:none;backdrop-filter:none}.quick-switch-backdrop--initial .quick-switch-item.current{background:transparent;border-color:transparent;cursor:pointer}.quick-switch-backdrop--initial:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 600px 400px at 15% 80%,rgba(0,200,255,.06) 0%,transparent 70%),radial-gradient(ellipse 500px 350px at 85% 20%,rgba(123,47,255,.05) 0%,transparent 70%),radial-gradient(ellipse 300px 300px at 50% 50%,rgba(35,165,90,.03) 0%,transparent 70%);animation:bgShift 20s ease-in-out infinite alternate}.quick-switch-modal{width:380px;max-width:90vw;background:var(--bg-primary);border:1px solid var(--border-glow, var(--border));border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 48px #0009}.quick-switch-header{padding:20px 20px 12px}.quick-switch-header h2{font-size:16px;font-weight:700;color:#fff;margin:0 0 4px}.quick-switch-subtitle{font-size:12px;color:var(--text-micro);margin:0}.quick-switch-list{padding:0 12px 8px}.quick-switch-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.quick-switch-item:hover{background:var(--bg-hover);border-color:var(--border-glow, transparent)}.quick-switch-item.current{background:var(--bg-active);border-color:var(--border-glow, var(--border));cursor:default}.quick-switch-item.add-new{border-style:dashed;border-color:var(--border);color:var(--accent-primary, var(--accent))}.quick-switch-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--text-muted);flex-shrink:0;overflow:hidden}.quick-switch-icon.has-avatar{background:transparent}.quick-switch-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.quick-switch-item.current .quick-switch-icon{background:var(--accent-gradient, var(--accent));color:#fff}.quick-switch-item.current .quick-switch-icon.has-avatar{background:transparent}.quick-switch-item.add-new .quick-switch-icon{background:transparent;font-size:20px;color:inherit}.quick-switch-info{flex:1;min-width:0}.quick-switch-name{font-size:13px;font-weight:600;color:var(--text-normal)}.quick-switch-host{font-size:10px;color:var(--text-micro)}.quick-switch-connected-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0}.room-unread-badge{flex-shrink:0;background:var(--text-micro);color:var(--bg-primary);font-size:11px;font-weight:700;line-height:1;padding:3px 6px;border-radius:10px;min-width:18px;text-align:center}.room-unread-badge--active{background:var(--red);color:#fff}.quick-switch-mute-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-micro);flex-shrink:0}.quick-switch-mute-btn.active{color:var(--text-muted)}.quick-switch-mute-btn:hover{color:var(--text-normal)}.quick-switch-star{background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-micro);opacity:0;transition:opacity .15s,color .15s;position:relative;z-index:1}.quick-switch-item:hover .quick-switch-star{opacity:1}.quick-switch-star.active{opacity:1;color:#f5c542}.quick-switch-star.active svg{fill:#f5c542}.quick-switch-star:not(.active):hover{color:var(--text-normal)}.quick-switch-star.active:hover{opacity:.65}.quick-switch-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.quick-switch-footer-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.quick-switch-footer-btn svg{flex-shrink:0}.quick-switch-footer-btn:hover{background:var(--bg-hover);color:var(--text-normal);border-color:var(--accent)}.quick-switch-footer-btn--close{background:transparent;border-color:transparent;color:var(--text-micro)}.quick-switch-footer-btn--close:hover{background:var(--bg-hover);color:var(--text-normal);border-color:var(--border)}.quick-switch-join-row{display:flex;align-items:center;gap:8px;padding:0 12px 10px}.room-join-input{flex:1;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-normal);font-size:13px;outline:none}.quick-switch-join-confirm{padding:6px 12px;border-radius:var(--radius-sm);background:var(--accent);border:none;color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.quick-switch-join-confirm:hover{opacity:.88}.qs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#000000a6;-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);display:flex;justify-content:center;padding-top:12vh}.qs-modal{width:520px;max-width:90vw;max-height:72vh;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--elevation-float);display:flex;flex-direction:column;overflow:hidden;animation:spotlightIn .18s cubic-bezier(.34,1.3,.64,1)}.qs__header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.qs__search-icon{color:var(--text-muted);display:flex;align-items:center;flex-shrink:0}.qs__input{flex:1;background:transparent;border:none;outline:none;color:var(--text-normal);font-size:var(--font-size-md);caret-color:var(--accent)}.qs__input::placeholder{color:var(--text-faint)}.qs__hint{font-size:var(--font-size-xs);color:var(--text-micro);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;font-family:var(--font-mono);flex-shrink:0}.qs__results{overflow-y:auto;padding:8px 0;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thin-thumb) transparent}.qs__section-label{padding:8px 16px 4px;font-size:var(--font-size-xs);font-weight:700;color:var(--text-micro);text-transform:uppercase;letter-spacing:.06em}.qs__item{display:flex;align-items:center;gap:10px;padding:7px 12px;margin:0 6px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.qs__item:hover{background:var(--bg-modifier-hover)}.qs__item--active,.qs__item--active:hover{background:var(--bg-modifier-selected)}.qs__item-icon{color:var(--channel-icon);display:flex;align-items:center;flex-shrink:0}.qs__item--active .qs__item-icon{color:var(--text-normal)}.qs__item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.qs__item-name{font-size:var(--font-size-md);font-weight:500;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs__item--active .qs__item-name{color:var(--text-normal)}.qs__item-category{font-size:var(--font-size-xs);color:var(--text-micro);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs__empty{text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);padding:32px 16px}.lang-option{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.lang-option:hover{background:#ffffff0a}.lang-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.lang-flag{font-size:18px;line-height:1;flex-shrink:0;width:28px;text-align:center}.lang-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:2px solid var(--text-faint);display:flex;align-items:center;justify-content:center;transition:border-color .12s,background .12s}.lang-dot:after{content:"";width:7px;height:7px;border-radius:50%;background:#fff;opacity:0;transform:scale(0);transition:opacity .12s,transform .12s}.lang-dot.on{border-color:var(--accent);background:var(--accent)}.lang-dot.on:after{opacity:1;transform:scale(1)}.lang-restart-bar{display:flex;align-items:center;gap:10px;margin-top:4px;padding:10px 14px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:0 0 8px 8px;animation:banner-in .16s ease}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.account-avatar-large{width:96px;height:96px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-active);color:var(--text-primary);font-size:36px;font-weight:700;-webkit-user-select:none;user-select:none}.account-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.poll-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;min-width:260px;max-width:380px;display:flex;flex-direction:column;gap:10px}.poll-header{display:flex;flex-direction:column;gap:3px}.poll-question{font-size:var(--font-size-md);font-weight:600;color:var(--text-normal);line-height:1.35}.poll-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.poll-options{display:flex;flex-direction:column;gap:6px}.poll-option{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;cursor:pointer;text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast);color:var(--text-normal);font-size:var(--font-size-sm);min-height:36px}.poll-option:hover{background:var(--bg-modifier-hover)}.poll-option.selected{border-color:var(--accent)}.poll-option-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--accent) 18%,transparent);border-radius:inherit;transform-origin:left;transition:width .3s ease;pointer-events:none}.poll-option.selected .poll-option-fill{background:color-mix(in srgb,var(--accent) 28%,transparent)}.poll-option-label{position:relative;flex:1}.poll-option-right{position:relative;display:flex;flex-direction:row;align-items:center;gap:6px;flex-shrink:0;font-size:var(--font-size-xs);color:var(--text-muted)}.poll-option-pct{font-weight:600;color:var(--text-normal);min-width:30px;text-align:right}.poll-view-votes-btn{background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--accent);padding:0;transition:opacity var(--transition-fast)}.poll-view-votes-btn:hover{opacity:.75}.poll-results-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px}.poll-results-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000073;width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.poll-results-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--bg-modifier-accent);flex-shrink:0}.poll-results-title{font-size:var(--font-size-lg);font-weight:700;color:var(--text-normal);margin:0}.poll-results-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:18px;line-height:1;padding:4px 6px;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.poll-results-close:hover{color:var(--text-normal);background:var(--bg-modifier-hover)}.poll-results-question{padding:10px 20px;font-size:var(--font-size-sm);color:var(--text-muted);border-bottom:1px solid var(--bg-modifier-accent);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poll-results-body{overflow-y:auto;flex:1;padding:8px 0 12px}.poll-results-section{padding:4px 0 8px}.poll-results-section+.poll-results-section{border-top:1px solid var(--bg-modifier-accent);margin-top:4px;padding-top:8px}.poll-results-sec-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 20px 6px}.poll-results-opt-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poll-results-opt-count{font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0}.poll-results-voter-row{display:flex;align-items:center;gap:10px;padding:5px 20px;transition:background var(--transition-fast)}.poll-results-voter-row:hover{background:var(--bg-modifier-hover)}.poll-results-voter-av{width:32px;height:32px;border-radius:50%;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.poll-results-voter-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poll-results-empty{font-size:var(--font-size-xs);color:var(--text-muted);padding:4px 20px;font-style:italic}.poll-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.poll-total{font-size:var(--font-size-xs);color:var(--text-muted)}.poll-retract-btn{background:none;border:none;cursor:pointer;font-size:var(--font-size-xs);color:var(--text-muted);padding:2px 6px;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.poll-retract-btn:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.poll-btn{color:var(--text-muted)}.poll-btn:hover{color:var(--text-normal)}.poll-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;background:#000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.poll-modal{background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--elevation-float);padding:20px;width:460px;max-width:95vw;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #00000080}.poll-modal-header{display:flex;align-items:center;justify-content:space-between}.poll-modal-title{font-size:var(--font-size-lg);font-weight:700;color:var(--text-normal)}.poll-modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.poll-modal-close:hover{color:var(--text-normal);background:var(--bg-modifier-hover)}.poll-modal-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.poll-modal-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 12px;color:var(--text-normal);font-size:var(--font-size-sm);outline:none;box-sizing:border-box;transition:border-color var(--transition-fast)}.poll-modal-input:focus{border-color:var(--accent)}.poll-modal-options-list{display:flex;flex-direction:column;gap:6px}.poll-modal-option-row{display:flex;align-items:center;gap:6px}.poll-modal-option-input{flex:1}.poll-modal-remove-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--transition-fast)}.poll-modal-remove-btn:hover{color:var(--red)}.poll-modal-add-option{background:none;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:6px;padding:7px 12px;font-size:var(--font-size-sm);transition:border-color var(--transition-fast),color var(--transition-fast)}.poll-modal-add-option:hover{border-color:var(--accent);color:var(--text-normal)}.poll-modal-anon-row{display:flex;align-items:center;gap:8px}.poll-modal-anon-label{font-size:var(--font-size-sm);color:var(--text-normal);cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:400}.poll-modal-submit{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);padding:10px 20px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast);align-self:flex-end}.poll-modal-submit:hover{opacity:.85}body.media-viewer-mode,body.media-viewer-mode #app{margin:0;padding:0;overflow:hidden;background:#000}body.media-viewer-mode{opacity:0}body.media-viewer-mode.mvw-ready{opacity:1;transition:opacity .12s ease}.mvw-page{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none;animation:fadeIn .1s ease}.mvw-topbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:10px 14px;background:#ffffff0f}.mvw-filename{color:#ffffffe6;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mvw-close-btn{flex-shrink:0;background:transparent;border:none;color:#ffffffa6;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .12s,background .12s}.mvw-close-btn:hover{color:#fff;background:#ffffff1f}.mvw-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;min-height:0}.mvw-img-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in}.mvw-img-wrap.dragging{cursor:grabbing}.mvw-img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:auto}.mvw-video{max-width:100%;max-height:100%;object-fit:contain;display:block}.mvw-loading{color:#ffffff80;font-size:14px}.mvw-controls{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#000000d9}.mvw-ctrl-btn{flex-shrink:0;background:transparent;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;opacity:.9}.mvw-ctrl-btn:hover{opacity:1;background:#ffffff1a}.mvw-progress{flex:1;height:4px;background:#ffffff40;border-radius:2px;cursor:pointer;position:relative}.mvw-progress-fill{height:100%;background:#fff;border-radius:2px;width:0%;pointer-events:none}.mvw-time{flex-shrink:0;color:#ffffffbf;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.mvw-vol-wrap{position:relative;flex-shrink:0}.mvw-vol-popup{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#141416f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 10px 8px;z-index:20;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .15s}.mvw-vol-popup.visible{opacity:1;pointer-events:all}.mvw-vol-slider{writing-mode:vertical-lr;direction:rtl;width:20px;height:80px;cursor:pointer;accent-color:#fff}.mvw-vol-pct{font-size:10px;color:#ffffff80}body.toast-mode{background:#17181b;overflow:hidden;margin:0;padding:0;height:100vh;width:100vw;font-family:var(--font-primary, "Segoe UI Variable Text", "Segoe UI", sans-serif);box-sizing:border-box;border-top:1px solid rgba(255,255,255,.07);border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);border-left:3px solid var(--brand, #00c8ff)}.custom-toast-window{display:flex;align-items:stretch;height:100%;padding:0;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;transition:background .15s ease;animation:toastSlideIn .32s cubic-bezier(.16,1,.3,1) .12s both}.custom-toast-window:hover{background:#ffffff0a}.toast-avatar{width:50px;height:50px;border-radius:50%;margin:auto 10px auto 12px;flex-shrink:0;overflow:hidden}.toast-content{display:flex;flex-direction:column;overflow:hidden;justify-content:center;flex:1;min-width:0;padding:10px 0}.toast-title{font-weight:600;font-size:13px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;line-height:1.2}.toast-body{font-size:13px;color:#b5bac1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.toast-meta{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;padding:8px 10px 8px 6px;gap:6px}.toast-meta--with-time{justify-content:space-between}.toast-time{font-size:11px;color:#80848e;white-space:nowrap;line-height:1;align-self:flex-end}.toast-close{width:20px;height:20px;border-radius:50%;background:transparent;color:var(--text-muted, #80848e);font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s;flex-shrink:0}.custom-toast-window:hover .toast-close{opacity:1}.toast-close:hover{background:#ffffff26;color:#fff}body.toast-clear-all-mode{background:#17181b;overflow:hidden;margin:0;padding:0;height:100vh;width:100vw;box-sizing:border-box;border:1px solid rgba(255,255,255,.07);animation:toastSlideIn .32s cubic-bezier(.16,1,.3,1) .12s both}.clear-all-btn{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--text-muted, #80848e);font-size:12px;font-family:var(--font-primary, sans-serif);cursor:pointer;transition:background .15s,color .15s}.clear-all-btn:before{content:"✕";font-size:10px;opacity:.7}.clear-all-btn:hover{background:#ffffff0d;color:#fff}.toast-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--brand, #00c8ff);transition:width .12s linear}@keyframes toastSlideIn{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}
