.titlebar{background-color:var(--bg-tertiary);border-bottom:1px solid var(--divider-dark);height:32px;color:var(--text-muted);-webkit-user-select:none;user-select:none;z-index:100;justify-content:space-between;align-items:center;padding:0 12px;font-size:12px;display:flex}.titlebar-left,.titlebar-right{align-items:center;gap:8px;display:flex}.titlebar-right{gap:6px}.titlebar-brand{color:var(--text-header);letter-spacing:-.01em;align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.titlebar-brand .brand-mark{border-radius:5px;width:18px;height:18px}.titlebar-center{color:var(--text-muted);letter-spacing:.3px;font-weight:600}.titlebar-badge{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-light);border-radius:var(--radius-full);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;display:flex}.titlebar-badge .badge-cpu{color:var(--spark)}.titlebar-badge .badge-zap{color:var(--brand)}.titlebar-badge.connection{cursor:default}.titlebar-badge.connection.online{background:var(--success-soft);border-color:var(--success-border);color:var(--success-text)}.titlebar-badge.connection.offline{background:var(--bg-hover);border-color:var(--border-faint);color:var(--text-muted)}.connection-light{background-color:var(--status-offline);border-radius:50%;width:6px;height:6px}.titlebar-badge.connection.online .connection-light{background-color:var(--success);box-shadow:0 0 6px var(--success)}.titlebar-btn{color:var(--interactive-normal);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.titlebar-btn:hover{color:var(--interactive-active);background:var(--bg-active)}.titlebar-btn.logout{color:var(--danger-text);margin-right:6px}.titlebar-btn.close:hover{background:var(--danger);color:var(--text-on-color)}.server-list{background-color:var(--bg-tertiary);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:72px;padding:12px 0;display:flex;overflow:hidden auto}.server-item-wrapper{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.server-pill{background-color:var(--brand);width:4px;height:8px;transition:height var(--transition-normal), opacity var(--transition-fast);opacity:0;border-radius:0 4px 4px 0;position:absolute;left:0}.server-item-wrapper:hover .server-pill{opacity:1;height:20px}.server-item-wrapper.active .server-pill{opacity:1;height:36px}.server-icon{border-radius:var(--radius-squircle);background-color:var(--bg-secondary);width:48px;height:48px;color:var(--text-on-color);cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal);justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex;position:relative}.server-item-wrapper:hover .server-icon{transform:translateY(-1px)}.server-item-wrapper.active .server-icon{box-shadow:0 0 0 2px var(--bg-tertiary), 0 0 0 4px var(--brand)}.server-icon-image{object-fit:cover;border-radius:inherit;width:100%;height:100%}.server-icon.home-icon{background:var(--brand-gradient);color:var(--on-brand)}.server-badge{background-color:var(--danger);color:var(--text-on-color);border-radius:var(--radius-full);border:3px solid var(--bg-tertiary);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;display:flex;position:absolute;bottom:-4px;right:-4px}.server-separator{background-color:var(--border-faint);border-radius:1px;width:32px;height:2px;margin:4px 0}.server-action-btn{border-radius:var(--radius-squircle);border:1.5px dashed var(--border-strong);cursor:pointer;width:48px;height:48px;transition:all var(--transition-normal);background-color:#0000;justify-content:center;align-items:center;display:flex}.server-action-btn.add{color:var(--brand)}.server-action-btn.add:hover{border-style:solid;border-color:var(--brand);background-color:var(--brand);color:var(--on-brand)}.voice-bar{background-color:var(--success-soft);border-top:1px solid var(--success-border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.voice-status-text{flex-direction:column;min-width:0;display:flex}.voice-status-title{color:var(--success);align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.voice-channel-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.voice-disconnect-btn{color:var(--interactive-normal);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:4px;display:flex}.voice-disconnect-btn:hover{color:var(--danger);background:var(--danger-soft)}.user-panel{background-color:var(--bg-secondary-alt);border-top:1px solid var(--divider-dark);--status-ring:var(--bg-secondary-alt);justify-content:space-between;align-items:center;gap:4px;height:56px;padding:0 8px;display:flex;position:relative}.user-panel .user-info{border-radius:var(--radius-sm);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:4px;display:flex;overflow:hidden}.user-panel .user-info:hover{background:var(--bg-hover)}.user-panel .user-info.active{background:var(--bg-active)}.user-names{flex-direction:column;display:flex;overflow:hidden}.user-display-name{color:var(--text-header);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.user-subtext{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.25;overflow:hidden}.user-actions{align-items:center;gap:2px;display:flex}.user-action-icon{color:var(--interactive-normal);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.user-action-icon:hover{color:var(--interactive-active);background-color:var(--bg-active)}.user-action-icon.danger{color:var(--danger)}.user-action-split{border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;display:flex}.user-action-split:hover,.user-action-split.active{background-color:var(--bg-hover)}.user-action-split .user-action-icon{padding:6px 2px 6px 6px}.user-action-split .user-action-icon:hover{background:0 0}.user-action-chevron{color:var(--interactive-normal);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:6px 4px 6px 0;display:flex}.user-action-chevron svg{transition:transform var(--transition-fast)}.user-action-chevron:hover,.user-action-split.active .user-action-chevron{color:var(--brand)}.user-action-split.active .user-action-chevron svg{transform:rotate(180deg)}.user-panel .popover-menu{bottom:calc(100% + 8px)}.popover-menu.device-menu{width:260px;left:auto;right:8px}.device-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.device-check{color:var(--brand);flex-shrink:0}.popover-item:hover .device-check{color:var(--on-brand)}.status-menu-header{align-items:center;gap:10px;padding:8px 8px 12px;display:flex}.status-menu-avatar{width:48px;height:48px}.status-menu-avatar .status-dot{border-width:3px;width:14px;height:14px}.status-menu-names{flex-direction:column;min-width:0;display:flex}.status-menu-name{color:var(--text-header);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.status-menu-tag{color:var(--text-muted);font-size:12px}.status-option{align-items:flex-start}.status-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.status-swatch.online{background-color:var(--status-online)}.status-swatch.idle{background-color:var(--status-idle)}.status-swatch.dnd{background-color:var(--status-dnd)}.status-swatch.offline{background-color:var(--status-offline)}.status-option-text{flex-direction:column;gap:2px;display:flex}.status-option-text small{opacity:.8;font-size:11px;line-height:1.35}.custom-status-current{background-color:var(--bg-hover);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:6px 4px 6px 8px;display:flex}.custom-status-text{min-width:0;color:var(--text-normal);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.custom-status-form{flex-direction:column;gap:8px;padding:4px;display:flex}.custom-status-actions{justify-content:flex-end;gap:6px;display:flex}.choice-card{background-color:var(--bg-secondary);border:1px solid var(--border-faint);border-radius:var(--radius-md);width:100%;color:var(--text-normal);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:14px;padding:14px 16px;display:flex}.choice-card:hover:not(:disabled){border-color:var(--brand-border);background-color:var(--bg-hover)}.choice-card:disabled{opacity:.55;cursor:not-allowed}.choice-icon{border-radius:var(--radius-squircle);background-color:var(--brand-soft);width:44px;height:44px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.choice-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.choice-text strong{color:var(--text-header);font-size:15px}.choice-text small{color:var(--text-muted);font-size:12px;line-height:1.4}.choice-chevron{color:var(--text-subtle);flex-shrink:0}.dialog-form{flex-direction:column;gap:16px;display:flex}.icon-picker{border:2px dashed var(--brand-border);background-color:var(--bg-tertiary);width:88px;height:88px;color:var(--brand);cursor:pointer;transition:border-color var(--transition-fast);border-radius:22px;flex-shrink:0;align-self:center;padding:0;position:relative;overflow:hidden}.icon-picker.filled{border-style:solid}.icon-picker:hover:not(:disabled){border-color:var(--brand)}.icon-picker:disabled{opacity:.6;cursor:not-allowed}.icon-picker img{object-fit:cover;width:100%;height:100%;display:block}.icon-picker-empty{text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;font-size:11px;font-weight:700;display:flex}.icon-picker-overlay{color:var(--brand);opacity:0;transition:opacity var(--transition-fast);background-color:#08070a99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.icon-picker:hover .icon-picker-overlay,.icon-picker:focus-visible .icon-picker-overlay{opacity:1}.icon-picker-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.server-avatar{background-color:var(--bg-secondary);width:100%;height:100%;color:var(--text-on-color);justify-content:center;align-items:center;font-size:26px;font-weight:800;display:flex}.invite-code-row{gap:8px;display:flex}.invite-code{font-family:var(--font-code);letter-spacing:.05em;color:var(--text-header);font-size:15px}.invite-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=480px){.invite-options{grid-template-columns:1fr}}.server-settings-identity{align-items:center;gap:16px;display:flex}.form-row{align-items:flex-end;gap:8px;display:flex}.form-row .form-field{flex:1;min-width:0}.danger-zone{background-color:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:14px;display:flex}.danger-zone-text{color:var(--text-normal);flex-direction:column;gap:4px;font-size:13px;line-height:1.45;display:flex}.danger-zone-text strong{color:var(--danger-text);font-size:14px}.danger-zone-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.popover-menu.server-menu{width:auto;inset:calc(100% + 4px) 8px auto}.popover-item-label{flex:1;min-width:0}.popover-item.accent{color:var(--brand)}.popover-item.accent:hover{color:var(--on-brand)}.popover-item.danger{color:var(--danger-text)}.popover-item.danger:hover{background-color:var(--danger);color:var(--text-on-color)}.channel-sidebar{background-color:var(--bg-secondary);border-top-left-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow:hidden}.server-header{border-bottom:1px solid var(--divider-dark);cursor:pointer;height:48px;transition:background-color var(--transition-fast);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.server-header:hover{background-color:var(--bg-hover)}.server-header-icon{color:var(--text-muted);flex-shrink:0}.server-name{color:var(--text-header);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden}.channels-scroll{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex;overflow-y:auto}.channel-category{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;justify-content:space-between;align-items:center;padding:12px 8px 4px;font-size:11px;font-weight:800;display:flex}.channel-category-add{cursor:pointer;transition:color var(--transition-fast)}.channel-category-add:hover{color:var(--text-normal)}.server-header-wrapper{flex-shrink:0;position:relative}.server-header-button{border:none;border-bottom:1px solid var(--divider-dark);width:100%;color:inherit;font:inherit;text-align:left;background:0 0;gap:8px}.server-header-button.active{background-color:var(--bg-hover)}.server-header-button:disabled{cursor:default}.channel-group{margin-bottom:10px}.channel-item{border-radius:var(--radius-sm);color:var(--interactive-normal);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:8px;padding:6px 8px;font-size:14px;font-weight:500;display:flex;position:relative}.channel-item:hover{background-color:var(--bg-hover);color:var(--interactive-hover)}.channel-item.active{background-color:var(--brand-soft);color:var(--interactive-active);font-weight:600}.channel-item.active:before{content:"";background-color:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-8px}.channel-item.unread{color:var(--text-header);font-weight:700}.channel-icon{color:var(--interactive-normal);flex-shrink:0}.channel-item.active .channel-icon{color:var(--brand)}.channel-icon.voice-live{color:var(--status-online)}.channel-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.voice-channel-members{flex-direction:column;gap:2px;margin:2px 0 4px;padding-left:28px;display:flex}.voice-member-item{border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);align-items:center;gap:8px;padding:4px 6px;display:flex}.voice-member-item:hover{background-color:var(--bg-hover)}.voice-member-avatar-wrapper{flex-shrink:0;width:24px;height:24px;position:relative}.voice-member-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.voice-member-name{color:var(--text-normal);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.voice-member-muted{color:var(--danger);flex-shrink:0}.voice-member-item.unstable .voice-member-avatar,.voice-member-item.unstable .voice-member-name{opacity:.45}.dm-sidebar{--status-ring:var(--bg-secondary)}.dm-sidebar .dm-search-header{padding:0 10px}.dm-search-bar-btn{background-color:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;height:30px;color:var(--text-muted);font-size:13px;font-family:var(--font-main);text-align:left;cursor:pointer;transition:all var(--transition-fast);padding:0 10px}.dm-search-bar-btn:hover{border-color:var(--brand-border);color:var(--text-normal)}.dm-nav-group{flex-direction:column;gap:2px;padding:8px 0 4px;display:flex}.dm-nav-item{border-radius:var(--radius-sm);color:var(--interactive-normal);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:16px;padding:10px 12px;font-size:15px;font-weight:500;display:flex;position:relative}.dm-nav-item:hover{background-color:var(--bg-hover);color:var(--interactive-hover)}.dm-nav-item.active{background-color:var(--brand-soft);color:var(--interactive-active)}.dm-nav-icon{justify-content:center;align-items:center;display:flex}.dm-nav-item.active .dm-nav-icon,.dm-nav-icon.highlight{color:var(--brand)}.dm-nav-label{flex:1}.dm-badge{background-color:var(--danger);color:var(--text-on-color);border-radius:var(--radius-full);padding:1px 6px;font-size:11px;font-weight:700;line-height:16px}.dm-category-header{padding:18px 8px 6px}.dm-add-icon-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:0;display:flex}.dm-add-icon-btn:hover{color:var(--text-normal)}.dm-conversations-list{flex-direction:column;gap:2px;display:flex}.dm-empty-hint{color:var(--text-muted);text-align:center;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);padding:16px 12px;font-size:13px}.dm-empty-hint:hover{background-color:var(--bg-hover);color:var(--text-normal)}.dm-conversation-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--interactive-normal);transition:background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:12px;height:44px;padding:6px 10px;display:flex;position:relative}.dm-conversation-item:hover{background-color:var(--bg-hover);color:var(--interactive-hover)}.dm-conversation-item.active{background-color:var(--bg-active);color:var(--interactive-active)}.dm-avatar{width:32px;height:32px}.dm-item-info{flex-direction:column;flex:1;justify-content:center;display:flex;overflow:hidden}.dm-user-name{color:var(--text-normal);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.2;overflow:hidden}.dm-user-tag{color:var(--text-muted);font-size:11px;line-height:1.2}.dm-close-btn{color:var(--interactive-normal);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px;display:none}.dm-conversation-item:hover .dm-close-btn{display:flex}.dm-close-btn:hover{color:var(--text-normal)}.friends-hub-container{background-color:var(--bg-primary);--status-ring:var(--bg-secondary);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.friends-header{border-bottom:1px solid var(--divider-dark);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.friends-header-left{align-items:center;gap:16px;height:100%;display:flex}.friends-header-title{color:var(--text-header);align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.friends-header-title .header-icon{color:var(--text-subtle)}.header-divider{background-color:var(--border-strong);width:1px;height:16px}.friends-tabs{align-items:center;gap:8px;display:flex}.tab-btn{border-radius:var(--radius-sm);font:inherit;color:var(--interactive-normal);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:4px 10px;font-size:14px;font-weight:600;display:flex}.tab-btn:hover{background-color:var(--bg-hover);color:var(--interactive-hover)}.tab-btn.active{background-color:var(--bg-active);color:var(--interactive-active)}.tab-btn.add-btn{color:var(--brand);font-weight:700}.tab-btn.add-btn:hover{background-color:var(--brand-soft);color:var(--brand)}.tab-btn.add-btn.active{background-color:var(--brand);color:var(--on-brand)}.pending-badge{background-color:var(--danger);color:var(--text-on-color);border-radius:var(--radius-full);padding:1px 6px;font-size:11px;font-weight:700;line-height:14px}.friends-main-body{flex:1;display:flex;overflow:hidden}.friends-content-column{flex:1;padding:24px 30px;overflow-y:auto}.active-now-column{border-left:1px solid var(--border-faint);width:360px;padding:24px 16px;overflow-y:auto}.active-now-title{color:var(--text-header);margin-bottom:16px;font-size:20px;font-weight:800}.active-now-card{background-color:var(--bg-secondary);border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-subtle);padding:20px 16px}.active-now-card h4{color:var(--text-header);margin-bottom:8px;font-size:16px;font-weight:700}.active-now-card p{color:var(--text-muted);font-size:13px;line-height:1.45}.add-friend-section{max-width:680px}.section-title{color:var(--text-header);letter-spacing:.3px;margin-bottom:8px;font-size:16px;font-weight:800}.section-subtitle{color:var(--text-muted);margin-bottom:16px;font-size:13.5px}.section-subtitle strong{color:var(--brand-light)}.add-friend-form{margin-bottom:16px}.add-friend-input-wrapper{background-color:var(--bg-tertiary);border:1px solid var(--border-faint);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;padding:8px 12px;display:flex}.add-friend-input-wrapper:focus-within{border-color:var(--brand-border);box-shadow:var(--focus-ring)}.add-friend-input{color:var(--text-normal);font-size:15px;font-family:var(--font-main);background:0 0;border:none;outline:none;flex:1;padding-right:12px}.add-friend-input::placeholder{color:var(--text-subtle);font-size:14px}.submit-request-btn{background-color:var(--brand);color:var(--on-brand);border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background-color var(--transition-fast);white-space:nowrap;border:none;padding:8px 16px;font-size:13.5px;font-weight:700}.submit-request-btn:hover:not(:disabled){background-color:var(--brand-hover)}.submit-request-btn:disabled{background-color:var(--brand-soft);color:var(--text-subtle);cursor:not-allowed}.status-feedback-box{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:24px;padding:10px 14px;font-size:13.5px;animation:.15s fadeIn;display:flex}.status-feedback-box.success{background-color:var(--success-soft);border:1px solid var(--success-border);color:var(--success-text)}.status-feedback-box.error{background-color:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text)}.add-friend-tips{margin-top:30px}.tips-card{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:16px;padding:16px;display:flex}.tips-icon{color:var(--brand);flex-shrink:0}.tips-card h4{color:var(--text-header);margin-bottom:6px;font-size:14px;font-weight:700}.tips-card p{color:var(--text-muted);font-size:13px;line-height:1.5}.tips-card code{background-color:var(--bg-tertiary);color:var(--brand-light);font-family:var(--font-code);border-radius:4px;padding:2px 6px}.pending-requests-section{max-width:800px}.list-section-header{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:800}.list-section-header.spaced{margin-top:24px}.requests-list{flex-direction:column;gap:8px;display:flex}.request-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background-color:var(--bg-secondary);transition:border-color var(--transition-fast);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.request-card:hover{border-color:var(--border-strong)}.request-user-info{align-items:center;gap:12px;display:flex}.request-user-info .avatar-wrapper,.friend-info .avatar-wrapper{width:38px;height:38px}.user-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.request-user-info .user-details{flex-direction:column;display:flex}.request-user-info .user-name{color:var(--text-header);font-size:15px;font-weight:700}.request-user-info .user-tag{color:var(--text-muted);margin-left:4px;font-size:12px;font-weight:400}.request-subtext{color:var(--text-muted);font-size:12px}.request-actions{align-items:center;gap:8px;display:flex}.action-btn{background-color:var(--bg-tertiary);width:36px;height:36px;color:var(--interactive-normal);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.action-btn.accept:hover{background-color:var(--success);color:var(--on-brand)}.action-btn.decline:hover{background-color:var(--danger);color:var(--text-on-color)}.friends-list-section{max-width:900px}.search-bar-wrapper{margin-bottom:20px;position:relative}.friends-search-input{background-color:var(--bg-tertiary);border:1px solid var(--border-faint);border-radius:var(--radius-sm);width:100%;height:36px;color:var(--text-normal);font-size:14px;font-family:var(--font-main);transition:border-color var(--transition-fast);outline:none;padding:0 36px 0 12px}.friends-search-input:focus{border-color:var(--brand-border)}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:10px;right:12px}.friends-list{border-top:1px solid var(--border-faint);flex-direction:column;display:flex}.friend-row{border-radius:var(--radius-md);cursor:pointer;border-top:1px solid var(--border-subtle);transition:background-color var(--transition-fast);--status-ring:var(--bg-primary);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.friend-row:hover{background-color:var(--bg-hover)}.friend-info{align-items:center;gap:12px;display:flex}.name-and-tag{align-items:baseline;gap:6px;display:flex}.friend-name{color:var(--text-header);font-size:15px;font-weight:700}.friend-tag,.friend-status-text{color:var(--text-muted);font-size:12px}.friend-row-actions{align-items:center;gap:8px;display:flex}.friend-action-btn{background-color:var(--bg-secondary);width:36px;height:36px;color:var(--interactive-normal);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.friend-action-btn:hover{background-color:var(--brand);color:var(--on-brand)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-icon{color:var(--interactive-muted)}.empty-state p{color:var(--text-muted);font-size:15px}.empty-action-btn{background-color:var(--brand);color:var(--on-brand);border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background-color var(--transition-fast);border:none;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;font-size:14px;font-weight:700;display:flex}.empty-action-btn:hover{background-color:var(--brand-hover)}.dialog{background-color:var(--bg-primary);border:1px solid var(--border-faint);border-radius:var(--radius-lg);width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);flex-direction:column;animation:.15s fadeIn;display:flex;position:relative;overflow:hidden}.dialog-close{position:absolute;top:12px;right:12px}.dialog-header{text-align:center;padding:24px 44px 4px}.dialog-title{color:var(--text-header);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:800}.dialog-subtitle{color:var(--text-muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:14px;line-height:1.45}.dialog-body{flex-direction:column;gap:14px;padding:16px 24px 20px;display:flex;overflow-y:auto}.dialog-text{color:var(--text-normal);margin:0;font-size:14px;line-height:1.5}.dialog-footer{background-color:var(--bg-secondary);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.dialog-footer-end{align-items:center;gap:12px;margin-left:auto;display:flex}.chat-area{background-color:var(--bg-primary);--status-ring:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--divider-dark);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.chat-header-left{align-items:center;gap:8px;display:flex;overflow:hidden}.chat-header-icon{color:var(--text-subtle);flex-shrink:0}.chat-channel-title{color:var(--text-header);font-size:16px;font-weight:800}.chat-dm-tag{color:var(--text-muted);font-size:13px}.chat-divider{background-color:var(--border-strong);width:1px;height:16px;margin:0 4px}.chat-topic{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.chat-header-right{align-items:center;gap:8px;display:flex}.header-icon-btn{color:var(--interactive-normal);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.header-icon-btn:hover{color:var(--interactive-active);background-color:var(--bg-active)}.header-icon-btn.active{color:var(--brand);background-color:var(--brand-soft)}.search-box{background-color:var(--bg-tertiary);border-radius:var(--radius-sm);width:140px;color:var(--text-muted);transition:width var(--transition-normal), border-color var(--transition-fast);border:1px solid #0000;align-items:center;gap:6px;padding:4px 8px;display:flex}.search-box:focus-within{border-color:var(--brand-border);width:220px}.search-input{color:var(--text-normal);background:0 0;border:none;outline:none;width:100%;font-size:12px}.search-input::placeholder{color:var(--text-muted)}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:20px 16px;display:flex;overflow-y:auto}.channel-welcome-banner{border-bottom:1px solid var(--border-subtle);margin-bottom:20px;padding-bottom:20px}.welcome-hash-circle{background-color:var(--brand-soft);border:1px solid var(--brand-border);width:68px;height:68px;color:var(--brand);border-radius:20px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.welcome-title{color:var(--text-header);letter-spacing:-.02em;margin-bottom:4px;font-size:28px;font-weight:800}.welcome-subtitle{color:var(--text-muted);font-size:14px}.dm-welcome-banner{padding-bottom:24px}.dm-welcome-avatar-wrapper{width:80px;height:80px;margin-bottom:12px;position:relative}.dm-welcome-avatar{object-fit:cover;border-radius:50%;width:80px;height:80px;display:block}.dm-welcome-status{border-width:3px;width:20px;height:20px;bottom:0;right:0}.dm-welcome-tag{color:var(--text-normal);margin-bottom:8px;font-size:14px;font-weight:600}.dm-welcome-handle{color:var(--text-muted)}.message-item{border-radius:var(--radius-sm);transition:background-color var(--transition-fast);gap:16px;padding:4px 8px;display:flex;position:relative}.message-item:hover{background-color:#0000001f}.message-avatar{object-fit:cover;cursor:pointer;border-radius:50%;flex-shrink:0;width:40px;height:40px}.message-content-wrapper{flex:1;overflow:hidden}.message-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.message-author{cursor:pointer;font-size:15px;font-weight:700}.message-author:hover{text-decoration:underline}.message-timestamp{color:var(--text-subtle);font-size:11px;font-weight:500}.message-text{color:var(--text-normal);word-break:break-word;font-size:14.5px;line-height:1.5}.message-text strong{color:var(--text-header)}.message-code-block{background-color:var(--bg-tertiary);border:1px solid var(--border-faint);border-radius:var(--radius-sm);max-width:600px;margin-top:8px;overflow:hidden}.code-block-header{background-color:var(--bg-floating);color:var(--text-muted);font-size:11px;font-family:var(--font-code);justify-content:space-between;align-items:center;padding:6px 12px;font-weight:600;display:flex}.code-content{font-family:var(--font-code);color:var(--text-code);white-space:pre;padding:10px 12px;font-size:12.5px;line-height:1.45;overflow-x:auto}.reactions-row{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.reaction-chip{background-color:var(--bg-secondary);border:1px solid var(--border-faint);border-radius:var(--radius-full);color:var(--interactive-normal);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:flex}.reaction-chip:hover{border-color:var(--border-strong)}.reaction-chip.active{background-color:var(--brand-soft);border-color:var(--brand-border);color:var(--brand-light)}.message-reply-context{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;margin-bottom:2px;font-size:13px;display:flex;overflow:hidden}.message-reply-context:hover .message-reply-text{color:var(--text-normal)}.message-reply-author{color:var(--text-normal);flex-shrink:0;font-weight:700}.message-reply-text{white-space:nowrap;text-overflow:ellipsis;transition:color var(--transition-fast);overflow:hidden}.message-reply-text.deleted{color:var(--text-subtle);font-style:italic}.message-edited-tag{color:var(--text-subtle);margin-left:4px;font-size:10px}.message-actions{background-color:var(--bg-floating);border:1px solid var(--border-faint);border-radius:var(--radius-sm);box-shadow:var(--shadow-md,0 4px 12px #0000004d);gap:2px;padding:2px;display:none;position:absolute;top:-12px;right:12px}.message-item:hover .message-actions,.message-actions:focus-within{display:flex}.message-action-btn{color:var(--interactive-normal);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;align-items:center;padding:5px;display:flex}.message-action-btn:hover{color:var(--interactive-active);background-color:var(--bg-active)}.message-action-btn.danger:hover{color:var(--danger-text,#fff);background-color:var(--danger,#d83c3e)}.emoji-picker{z-index:5;background-color:var(--bg-floating);border:1px solid var(--border-faint);border-radius:var(--radius-sm);box-shadow:var(--shadow-md,0 4px 12px #0000004d);gap:2px;padding:4px;display:flex;position:absolute;top:20px;right:12px}.emoji-picker button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.emoji-picker button:hover{background-color:var(--bg-active)}.message-edit-field{background-color:var(--input-bg);border:1px solid var(--brand-border);border-radius:var(--radius-sm);width:100%;color:var(--text-normal);font-size:14.5px;font-family:var(--font-main);outline:none;padding:8px 10px}.message-edit-hint{color:var(--text-subtle);margin-top:4px;font-size:11px}.message-edit-hint strong{color:var(--text-muted)}.reply-bar{background-color:var(--bg-secondary);border:1px solid var(--border-faint);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-muted);border-bottom:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.reply-bar-target{color:var(--text-normal);font-weight:700}.reply-bar-close{color:var(--interactive-normal);cursor:pointer;background:0 0;border:none;align-items:center;display:flex}.reply-bar-close:hover{color:var(--interactive-active)}.message-image-link{border-radius:var(--radius-sm);border:1px solid var(--border-faint);width:fit-content;max-width:420px;margin-top:8px;display:block;overflow:hidden}.message-image{object-fit:contain;background-color:var(--bg-tertiary);max-width:100%;max-height:340px;display:block}.message-image-fallback{background-color:var(--bg-tertiary);border:1px solid var(--border-faint);border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:6px;width:fit-content;margin-top:8px;padding:8px 12px;font-size:13px;display:flex}.attachment-tray{background-color:var(--bg-secondary);border:1px solid var(--border-faint);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none;flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.attachment-preview{border-radius:var(--radius-sm);border:1px solid var(--border-faint);background-color:var(--bg-tertiary);width:96px;height:96px;position:relative;overflow:hidden}.attachment-preview img{object-fit:cover;width:100%;height:100%;display:block}.attachment-preview.uploading img{opacity:.4}.attachment-preview-status{color:var(--text-normal);background-color:#00000059;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.attachment-preview-remove{background-color:var(--bg-floating);border:1px solid var(--border-faint);color:var(--interactive-normal);cursor:pointer;border-radius:50%;align-items:center;padding:3px;display:flex;position:absolute;top:4px;right:4px}.attachment-preview-remove:hover{color:var(--interactive-active);background-color:var(--bg-active)}.attachment-error{color:var(--danger-text-soft,#f5a2a2);padding:4px 4px 0;font-size:12px}.typing-indicator{height:20px;color:var(--text-muted);padding:2px 4px 0;font-size:12px}.typing-indicator strong{color:var(--text-normal)}.chat-input-container{flex-shrink:0;padding:0 16px 20px}.chat-input-bar{background-color:var(--input-bg);border-radius:var(--radius-md);height:48px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;align-items:center;padding:0 12px;display:flex}.chat-input-bar:focus-within{border-color:var(--brand-border);box-shadow:var(--focus-ring)}.chat-input-btn{color:var(--interactive-normal);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.chat-input-btn:hover{color:var(--interactive-active);background-color:var(--bg-active)}.chat-send-btn{color:var(--brand)}.chat-send-btn:hover{color:var(--on-brand);background-color:var(--brand)}.chat-input-field{color:var(--text-normal);font-size:15px;font-family:var(--font-main);background:0 0;border:none;outline:none;flex:1;padding:0 10px}.chat-input-field::placeholder{color:var(--text-subtle)}.voice-stage-container{background-color:var(--bg-tertiary);flex-direction:column;flex:1;display:flex;overflow:hidden}.voice-stage-header{border-bottom:1px solid var(--border-faint);background-color:var(--bg-secondary-alt);align-items:center;gap:8px;height:48px;padding:0 16px;display:flex}.voice-stage-title-icon{color:var(--success)}.voice-stage-title{color:var(--text-header);font-size:16px;font-weight:800}.voice-stage-divider{background-color:var(--border-strong);width:1px;height:16px;margin:0 4px}.voice-stage-connection{color:var(--success);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.voice-stage-grid{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:20px;padding:30px;display:flex;overflow-y:auto}.voice-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);width:240px;height:220px;box-shadow:var(--shadow-md);border:2px solid var(--border-subtle);flex-direction:column;justify-content:center;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.voice-card.is-speaking{border-color:var(--speaking);box-shadow:var(--shadow-md), 0 0 24px var(--brand-soft)}.voice-card-avatar-wrapper{width:90px;height:90px;margin-bottom:14px;position:relative}.voice-card-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.voice-card-name{color:var(--text-header);font-size:16px;font-weight:700}.voice-card-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.voice-speaking-label{color:var(--speaking);font-weight:700}.voice-muted-label{color:var(--danger)}.voice-card.is-unstable .voice-card-avatar{opacity:.45}.voice-connection-label.reconnecting{color:var(--status-idle);font-weight:600}.voice-connection-label.failed{color:var(--danger);font-weight:600}.voice-card-mic-status{background-color:var(--bg-floating);color:var(--danger);border-radius:50%;justify-content:center;align-items:center;padding:5px;display:flex;position:absolute;bottom:0;right:0}.voice-stage-controls{background-color:var(--bg-secondary-alt);border-top:1px solid var(--border-faint);justify-content:center;align-items:center;gap:16px;height:72px;display:flex}.voice-ctrl-btn{border-radius:var(--radius-squircle);background-color:var(--bg-secondary);width:48px;height:48px;color:var(--interactive-normal);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.voice-ctrl-btn:hover{background-color:var(--input-bg);color:var(--interactive-active);transform:translateY(-1px)}.voice-ctrl-btn.active-danger{background-color:var(--danger);color:var(--text-on-color)}.voice-ctrl-btn.active-danger:hover{background-color:var(--danger-hover)}.voice-ctrl-btn.active-brand{background-color:var(--brand);color:var(--on-brand)}.voice-ctrl-btn.active-brand:hover{background-color:var(--brand-hover);color:var(--on-brand)}.voice-screens{flex:1;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:minmax(0,1fr);gap:16px;min-height:0;padding:20px 20px 0;display:grid}.screen-tile{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);min-height:0;box-shadow:var(--shadow-md);background-color:#000;position:relative;overflow:hidden}.screen-tile video{object-fit:contain;width:100%;height:100%;display:block}.screen-tile-waiting{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.screen-tile-label{border-radius:var(--radius-sm);background-color:var(--bg-overlay);align-items:center;gap:8px;max-width:calc(100% - 20px);padding:4px 10px 4px 6px;font-size:13px;display:flex;position:absolute;bottom:10px;left:10px}.screen-tile-name{color:var(--text-header);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.screen-tile-detail{color:var(--text-muted);white-space:nowrap}.screen-tile-close{background-color:var(--bg-overlay);width:30px;height:30px;color:var(--text-header);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), background-color var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px}.screen-tile:hover .screen-tile-close,.screen-tile-close:focus-visible{opacity:1}.screen-tile-close:hover{background-color:var(--danger);color:var(--text-on-color)}.voice-card-live{position:absolute;top:10px;left:10px}.voice-watch-btn{border-radius:var(--radius-sm);background-color:var(--brand);color:var(--on-brand);font:inherit;cursor:pointer;transition:background-color var(--transition-fast);border:none;align-items:center;gap:6px;margin-top:8px;padding:5px 12px;font-size:12px;font-weight:700;display:flex}.voice-watch-btn:hover{background-color:var(--brand-hover)}.voice-watch-btn.watching{background-color:var(--bg-active);color:var(--text-normal)}.voice-watch-btn.watching:hover{background-color:var(--danger);color:var(--text-on-color)}.voice-stage-grid.compact{flex-wrap:nowrap;flex:none;justify-content:flex-start;gap:12px;padding:16px 20px;overflow:auto hidden}.voice-stage-grid.compact .voice-card{flex-shrink:0;width:170px;height:130px}.voice-stage-grid.compact .voice-card-avatar-wrapper{width:48px;height:48px;margin-bottom:8px}.voice-stage-grid.compact .voice-card-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:14px;overflow:hidden}.voice-stage-grid.compact .voice-watch-btn{margin-top:6px}.voice-stage-error{background-color:var(--danger-soft);border-top:1px solid var(--danger-border);color:var(--danger-text);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.voice-stage-error button{color:inherit;cursor:pointer;background:0 0;border:none;display:flex}.voice-stage-error .voice-notice-action{border:1px solid var(--danger-border);border-radius:var(--radius-sm);font:inherit;padding:3px 10px;font-size:12px;font-weight:700}.voice-stage-error .voice-notice-action:hover:not(:disabled){background-color:var(--danger-soft)}.voice-stage-error .voice-notice-action:disabled{cursor:default;opacity:.6}.voice-screen-control{position:relative}.popover-menu.screen-share-menu{margin-left:-140px;bottom:calc(100% + 10px);left:50%}.screen-quality-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.screen-quality-label{font-weight:600}.screen-quality-desc{opacity:.75;font-size:11px}.member-list{background-color:var(--bg-secondary);--status-ring:var(--bg-secondary);flex-shrink:0;width:240px;padding:16px 8px;overflow-y:auto}.member-group-title{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:8px 8px 4px;font-size:11px;font-weight:800}.member-group-title+.member-card{margin-top:2px}.member-group-title.spaced{margin-top:16px}.member-card{border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);align-items:center;gap:10px;padding:6px 8px;display:flex}.member-card:hover{background-color:var(--bg-hover)}.member-card.offline{opacity:.45;transition:opacity var(--transition-fast), background-color var(--transition-fast)}.member-card.offline:hover{opacity:1}.member-owner{color:var(--brand);flex-shrink:0;display:flex}.member-info{flex-direction:column;display:flex;overflow:hidden}.member-name-row{align-items:center;gap:4px;display:flex}.member-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.member-status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stats-modal{background-color:var(--bg-primary);border:1px solid var(--border-faint);border-radius:var(--radius-lg);width:500px;max-width:90vw;box-shadow:var(--shadow-lg);overflow:hidden}.stats-modal-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--divider-dark);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.stats-modal-title{color:var(--text-header);align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.stats-modal-title svg{color:var(--spark)}.stats-modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.stats-intro{color:var(--text-muted);font-size:13px;line-height:1.45}.stats-intro strong{color:var(--text-normal)}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px}.stat-label{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:4px;margin-bottom:4px;font-size:11px;font-weight:700;display:flex}.stat-value{color:var(--brand);font-size:20px;font-weight:800}.stat-note{color:var(--text-muted);font-size:11px;font-weight:600}.stat-note.success{color:var(--success)}.stat-note.info{color:var(--info)}.stats-engine{background-color:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-normal);font-size:12px;font-family:var(--font-code);padding:12px;line-height:1.6}.stats-modal-footer{background-color:var(--bg-secondary);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.settings-modal{background-color:var(--bg-primary);border:1px solid var(--border-faint);border-radius:var(--radius-lg);width:760px;max-width:calc(100vw - 32px);height:min(640px,100vh - 48px);box-shadow:var(--shadow-lg);flex-direction:column;animation:.15s fadeIn;display:flex;position:relative;overflow:hidden}.settings-header{background-color:var(--bg-secondary);justify-content:space-between;align-items:center;padding:14px 16px 10px 20px;display:flex}.settings-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.settings-title{color:var(--text-header);font-size:16px;font-weight:800}.settings-version{font-family:var(--font-code);color:var(--text-subtle);white-space:nowrap;font-size:12px}.settings-tabs{background-color:var(--bg-secondary);border-bottom:1px solid var(--divider-dark);gap:4px;padding:0 16px;display:flex}.settings-tab{color:var(--interactive-normal);font:inherit;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.settings-tab:hover{color:var(--interactive-hover)}.settings-tab.active{color:var(--interactive-active);border-bottom-color:var(--brand)}.settings-tab.active svg{color:var(--brand)}.settings-body{flex:1;padding:20px 24px 24px;overflow-y:auto}.settings-section{flex-direction:column;gap:20px;display:flex}.settings-group{border-top:1px solid var(--border-faint);flex-direction:column;gap:10px;padding-top:20px;display:flex}.settings-group-title{color:var(--text-header);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.settings-group-title svg{color:var(--brand)}.settings-form{flex-direction:column;gap:12px;max-width:420px;display:flex}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-label{text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);font-size:11px;font-weight:700}.settings-help{color:var(--text-muted);font-size:12px;line-height:1.45}.settings-footnote{padding-top:4px}.settings-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.settings-notice{background-color:var(--brand-soft);border:1px solid var(--brand-border);border-radius:var(--radius-md);color:var(--text-normal);align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.settings-notice svg{color:var(--brand);flex-shrink:0}.settings-notice span{flex:1}.settings-feedback{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.settings-feedback.error{background-color:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text)}.settings-feedback.success{background-color:var(--success-soft);border:1px solid var(--success-border);color:var(--success-text)}.settings-feedback svg{flex-shrink:0}.account-card{background-color:var(--bg-tertiary);border-radius:var(--radius-md);--status-ring:var(--bg-tertiary);overflow:hidden}.account-banner{background:var(--brand-gradient);height:72px}.account-identity{align-items:flex-end;gap:14px;margin-top:-28px;padding:0 16px;display:flex}.account-avatar{width:80px;height:80px}.account-avatar .avatar-img{border:6px solid var(--bg-tertiary)}.account-avatar .status-dot{border-width:4px;width:20px;height:20px;bottom:2px;right:2px}.account-names{flex-direction:column;min-width:0;padding-bottom:10px;display:flex}.account-display-name{color:var(--text-header);text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:800;overflow:hidden}.account-handle{color:var(--text-muted);font-size:13px}.account-fields{background-color:var(--bg-secondary);border-radius:var(--radius-md);flex-direction:column;gap:14px;margin:12px 16px 16px;padding:16px;display:flex}.account-value{color:var(--text-normal);word-break:break-all;align-items:center;gap:10px;margin-top:4px;font-size:14px;display:flex}.profile-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px;display:grid}@media (width<=720px){.profile-layout{grid-template-columns:1fr}}.profile-form{flex-direction:column;gap:18px;display:flex}.avatar-picker{align-items:center;gap:16px;display:flex}.avatar-picker-preview{border:2px solid var(--brand-border);cursor:pointer;background-color:var(--bg-tertiary);border-radius:50%;flex-shrink:0;width:88px;height:88px;padding:0;position:relative;overflow:hidden}.avatar-picker-preview img{object-fit:cover;width:100%;height:100%}.avatar-picker-overlay{color:var(--brand);opacity:0;transition:opacity var(--transition-fast);background-color:#08070a99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.avatar-picker-preview:hover .avatar-picker-overlay,.avatar-picker-preview:focus-visible .avatar-picker-overlay{opacity:1}.avatar-picker-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.profile-preview{flex-direction:column;gap:8px;display:flex}.profile-card{background-color:var(--bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);--status-ring:var(--bg-tertiary);position:relative;overflow:hidden}.profile-card-banner{background:var(--brand-gradient);height:60px}.profile-card-avatar{width:80px;height:80px;position:absolute;top:16px;left:14px}.profile-card-avatar .avatar-img{border:6px solid var(--bg-tertiary)}.profile-card-avatar .status-dot{border-width:4px;width:20px;height:20px;bottom:2px;right:2px}.profile-card-body{background-color:var(--bg-secondary);border-radius:var(--radius-md);flex-direction:column;margin:48px 12px 12px;padding:12px;display:flex}.profile-card-name{color:var(--text-header);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;overflow:hidden}.profile-card-tag{color:var(--text-muted);font-size:13px}.profile-card-divider{background-color:var(--border-faint);height:1px;margin:10px 0}.profile-card-status{color:var(--text-normal);word-break:break-word;font-size:13px}.unsaved-bar{background-color:var(--bg-floating);border:1px solid var(--border-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-normal);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 -8px -8px;padding:10px 12px 10px 16px;font-size:14px;font-weight:600;animation:.15s popoverIn;display:flex;position:sticky;bottom:-24px}.unsaved-bar.shake{background-color:var(--danger);border-color:var(--danger);color:var(--text-on-color);animation:.45s unsavedShake}.unsaved-bar.shake .link-btn{color:var(--text-on-color)}@keyframes unsavedShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.voice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=640px){.voice-grid{grid-template-columns:1fr}}.mic-test-row{flex-wrap:wrap;gap:8px;display:flex}.sensitivity-meter{background-color:var(--bg-tertiary);border-radius:var(--radius-full);height:10px;position:relative;overflow:hidden}.sensitivity-level{background-color:var(--text-subtle);border-radius:var(--radius-full);height:100%;transition:width 60ms linear, background-color var(--transition-fast)}.sensitivity-meter.speaking .sensitivity-level{background-color:var(--speaking)}.sensitivity-threshold{background-color:var(--text-header);border-radius:2px;width:3px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.sensitivity-slider{width:100%;accent-color:var(--brand);cursor:pointer}.auth-container{background-color:var(--bg-tertiary);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.auth-glow{filter:blur(120px);pointer-events:none;opacity:.22;border-radius:50%;position:absolute}.auth-glow-1{background-color:var(--brand);width:520px;height:520px;top:-140px;left:-120px}.auth-glow-2{background-color:var(--spark);width:420px;height:420px;bottom:-80px;right:-60px}.auth-card{background-color:var(--bg-primary);border:1px solid var(--border-faint);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10;width:90%;max-width:800px;padding:32px;transition:max-width .2s;animation:.2s cubic-bezier(.4,0,.2,1) fadeIn;display:flex}.auth-card.register-mode{justify-content:center;max-width:480px}.auth-form-side{flex-direction:column;flex:1;display:flex}.auth-brand{color:var(--text-header);justify-content:center;align-items:center;gap:8px;margin-bottom:18px;font-size:15px;font-weight:800;display:flex}.auth-brand .brand-mark{border-radius:8px;width:28px;height:28px}.auth-header{text-align:center;margin-bottom:20px}.auth-title{color:var(--text-header);letter-spacing:-.02em;margin-bottom:8px;font-size:24px;font-weight:800}.auth-subtitle{color:var(--text-muted);font-size:15px}.auth-error{background-color:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-sm);color:var(--danger-text);align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.auth-error svg{color:var(--danger);flex-shrink:0}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:5px;font-size:11px;font-weight:800;display:flex}.auth-req{color:var(--danger)}.auth-optional{color:var(--text-subtle);text-transform:none;letter-spacing:0;font-weight:600}.auth-input{background-color:var(--bg-tertiary);border:1px solid var(--border-faint);border-radius:var(--radius-sm);color:var(--text-normal);font-size:15px;font-family:var(--font-main);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:10px 12px}.auth-input:focus{border-color:var(--brand-border);box-shadow:var(--focus-ring)}.auth-link{color:var(--text-link);margin-top:4px;font-size:13px;text-decoration:none;display:inline-block}.auth-link:hover{text-decoration:underline}.auth-submit-btn{background-color:var(--brand);color:var(--on-brand);border-radius:var(--radius-sm);cursor:pointer;height:44px;transition:background-color var(--transition-fast), transform 50ms ease;border:none;justify-content:center;align-items:center;gap:6px;margin-top:6px;font-size:15px;font-weight:800;display:flex}.auth-submit-btn:hover{background-color:var(--brand-hover)}.auth-submit-btn:active{background-color:var(--brand-pressed);transform:scale(.99)}.auth-submit-btn:disabled{opacity:.7;cursor:progress}.auth-guest-btn{border:1px dashed var(--border-strong);color:var(--brand-light);border-radius:var(--radius-sm);cursor:pointer;height:40px;transition:all var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.auth-guest-btn:hover{background-color:var(--brand-soft);border-color:var(--brand);color:var(--text-header)}.auth-switch-text{color:var(--text-muted);margin-top:4px;font-size:13px}.auth-switch-btn{color:var(--text-link);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.auth-switch-btn:hover{text-decoration:underline}.auth-qr-side{border-left:1px solid var(--border-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;width:250px;margin-left:36px;padding-left:36px;display:flex}.auth-qr-box{border-radius:var(--radius-md);box-shadow:var(--shadow-md);background-color:#fffaf2;margin-bottom:16px;padding:12px}.auth-qr-code{color:var(--bg-tertiary);justify-content:center;align-items:center;display:flex;position:relative}.auth-qr-logo{background:var(--brand-gradient);width:38px;height:38px;color:var(--on-brand);border:3px solid #fffaf2;border-radius:11px;justify-content:center;align-items:center;display:flex;position:absolute}.auth-qr-title{color:var(--text-header);margin-bottom:8px;font-size:19px;font-weight:800}.auth-qr-desc{color:var(--text-muted);margin-bottom:12px;font-size:13px;line-height:1.45}.auth-qr-desc strong{color:var(--text-normal)}.auth-qr-badge{color:var(--success);background-color:var(--success-soft);border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:flex}.auth-footer-badge{color:var(--text-subtle);letter-spacing:.5px;font-size:12px;font-weight:600;position:absolute;bottom:24px}.version-banner{z-index:1500;background-color:var(--bg-floating);border:1px solid var(--brand-border);border-radius:var(--radius-md);width:fit-content;max-width:640px;box-shadow:var(--shadow-lg);color:var(--text-normal);align-items:center;gap:10px;margin:0 auto;padding:10px 10px 10px 14px;font-size:13px;line-height:1.45;animation:.15s popoverIn;display:flex;position:fixed;bottom:20px;left:16px;right:16px}.version-banner>svg{color:var(--brand);flex-shrink:0}.version-banner-text{flex:1;min-width:0}.version-banner-text strong{color:var(--text-header)}.app-container{background-color:var(--bg-tertiary);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.main-layout{flex:1;height:calc(100vh - 32px);display:flex;overflow:hidden}.main-placeholder{background-color:var(--bg-primary);color:var(--text-muted);text-align:center;flex:1;justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-tertiary:#111015;--bg-secondary-alt:#16151b;--bg-secondary:#1b1a21;--bg-primary:#222028;--bg-floating:#0c0b10;--input-bg:#2b2932;--bg-hover:#ffecd60d;--bg-active:#ffecd617;--bg-overlay:#08070ab8;--brand:#ffb020;--brand-hover:#ffc14d;--brand-pressed:#e89a12;--brand-light:#ffc85c;--brand-soft:#ffb02024;--brand-border:#ffb0206b;--brand-glow:#ffb0208c;--on-brand:#1f1605;--spark:#ff7a45;--brand-gradient:linear-gradient(135deg, #ffb020 0%, #ff7a45 100%);--text-header:#f7f2ea;--text-normal:#ddd6cc;--text-muted:#9c948a;--text-subtle:#6f6860;--text-link:#ffc14d;--text-code:#f3e3cf;--text-on-color:#fff;--interactive-normal:#9c948a;--interactive-hover:#e8e1d7;--interactive-active:#fffaf2;--interactive-muted:#4d4852;--status-online:#43c27f;--status-idle:#9d8cf0;--status-dnd:#f0524f;--status-offline:#7d766f;--success:#43c27f;--success-hover:#36a86c;--success-soft:#43c27f24;--success-border:#43c27f66;--success-text:#8fe0b4;--danger:#f0524f;--danger-hover:#d9403d;--danger-soft:#f0524f24;--danger-border:#f0524f66;--danger-text:#ffaaa5;--info:#7cc4ff;--speaking:var(--brand);--border-subtle:#ffecd60d;--border-faint:#ffecd617;--border-strong:#ffecd629;--divider-dark:#00000040;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-squircle:14px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 16px 40px #00000080;--focus-ring:0 0 0 2px #ffb02073;--font-main:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-code:"JetBrains Mono", Consolas, "Courier New", monospace;--transition-fast:.15s ease;--transition-normal:.2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--font-main);background-color:var(--bg-tertiary);color:var(--text-normal);-webkit-user-select:none;user-select:none;overflow:hidden}::selection{background-color:var(--brand-soft);color:var(--text-header)}:focus-visible{box-shadow:var(--focus-ring);outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background-color:#2e2b35}::-webkit-scrollbar-thumb:hover{background-color:#3d3945}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes popoverIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.brand-mark{background:var(--brand-gradient);width:20px;height:20px;color:var(--on-brand);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-wrapper{flex-shrink:0;width:32px;height:32px;position:relative}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.status-dot,.status-indicator{border:2px solid var(--status-ring,var(--bg-secondary-alt));border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.status-dot.online,.status-indicator.online{background-color:var(--status-online)}.status-dot.idle,.status-indicator.idle{background-color:var(--status-idle)}.status-dot.dnd,.status-indicator.dnd{background-color:var(--status-dnd)}.status-dot.offline,.status-indicator.offline{background-color:var(--status-offline)}.speaking-avatar{border-radius:50%;transition:box-shadow .15s}.speaking-avatar.is-speaking{box-shadow:0 0 0 2px var(--speaking), 0 0 10px var(--brand-glow);animation:1.4s infinite speakingPulse}@keyframes speakingPulse{0%,to{box-shadow:0 0 0 2px var(--speaking), 0 0 4px var(--brand-glow)}50%{box-shadow:0 0 0 3px var(--speaking), 0 0 14px var(--brand-glow)}}.bot-tag{background-color:var(--brand);color:var(--on-brand);text-transform:uppercase;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:800}.btn{background-color:var(--brand);border-radius:var(--radius-sm);color:var(--on-brand);font:inherit;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex}.btn:hover{background-color:var(--brand-hover)}.btn:active{background-color:var(--brand-pressed)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.fit{align-self:flex-start}.btn.secondary{background-color:var(--input-bg);color:var(--text-normal)}.btn.secondary:hover{color:var(--text-header);background-color:#38353f}.btn.danger{background-color:var(--danger-soft);color:var(--danger)}.btn.danger:hover{background-color:var(--danger);color:var(--text-on-color)}.btn.success{background-color:var(--success);color:var(--on-brand)}.btn.success:hover{background-color:var(--success-hover)}.input{background-color:var(--bg-tertiary);border:1px solid var(--border-faint);border-radius:var(--radius-sm);width:100%;color:var(--text-normal);font:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:10px 12px;font-size:14px}.input:focus{border-color:var(--brand-border);box-shadow:var(--focus-ring)}.input:disabled{opacity:.6;cursor:not-allowed}.link-btn{color:var(--text-link);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.link-btn:hover{text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{color:var(--interactive-normal);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.icon-btn:hover{color:var(--interactive-active);background-color:var(--bg-active)}.popover-menu{z-index:500;background-color:var(--bg-floating);border:1px solid var(--border-faint);border-radius:var(--radius-md);width:280px;max-height:70vh;box-shadow:var(--shadow-md);--status-ring:var(--bg-floating);padding:6px;animation:.12s popoverIn;position:absolute;left:8px;overflow-y:auto}.popover-title{text-transform:uppercase;color:var(--text-muted);padding:6px 8px 4px;font-size:11px;font-weight:700}.popover-section{flex-direction:column;gap:2px;display:flex}.popover-divider{background-color:var(--border-faint);height:1px;margin:6px 4px}.popover-item{border-radius:var(--radius-sm);width:100%;color:var(--text-normal);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px;font-size:13px;display:flex}.popover-item:hover{background-color:var(--brand);color:var(--on-brand)}.popover-item.selected{background-color:var(--bg-active)}.popover-item.selected:hover{background-color:var(--brand)}.popover-hint{color:var(--text-muted);padding:6px 8px;font-size:12px;line-height:1.4}.live-badge{background-color:var(--danger);color:var(--text-on-color);letter-spacing:.02em;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:800;line-height:1.5}.modal-overlay{background-color:var(--bg-overlay);z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.form-field{flex-direction:column;gap:6px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);font-size:11px;font-weight:700}.form-help{color:var(--text-muted);font-size:12px;line-height:1.45}select.input{cursor:pointer}.form-feedback{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.form-feedback svg{flex-shrink:0}.form-feedback.error{background-color:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text)}.form-feedback.success{background-color:var(--success-soft);border:1px solid var(--success-border);color:var(--success-text)}.form-notice{background-color:var(--brand-soft);border:1px solid var(--brand-border);border-radius:var(--radius-md);color:var(--text-normal);align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.form-notice svg{color:var(--brand);flex-shrink:0}
