*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1b1d21;--bg-secondary: #15171a;--bg-tertiary: #0f1114;--bg-accent: #2cb7a0;--bg-accent-hover: #239885;--bg-modifier-hover: rgba(255, 255, 255, .06);--bg-modifier-active: rgba(255, 255, 255, .12);--bg-modifier-selected: rgba(255, 255, 255, .08);--bg-modifier-accent: rgba(255, 255, 255, .04);--text-primary: #e7e3dc;--text-secondary: #b5b0a6;--text-muted: #8a8479;--text-link: #4fc3f7;--header-primary: #f4f1ea;--channel-text-area: #23272d;--scrollbar-thin-thumb: #0f1114;--scrollbar-thin-track: #15171a;--brand-color: #2cb7a0;--brand: #2cb7a0;--brand-hover: #239885;--brand-primary: #2cb7a0;--danger: #d1605a;--success: #6bbf59;--bg-floating: #111316;--bg-hover: rgba(255, 255, 255, .06);--border-color: #2a2d32;--accent-primary: #2cb7a0;--text-danger: #d1605a}body{font-family:IBM Plex Sans,Manrope,Noto Sans,Helvetica Neue,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);height:100vh;height:100dvh;overflow:hidden}#root{height:100vh;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media(max-width:768px){html,body{height:100%}#root{height:100%;padding:0;padding-top:env(safe-area-inset-top);padding-bottom:var(--keyboard-height, 0px)}}a{color:var(--text-link);text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}input{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thin-thumb);border-radius:4px}::-webkit-scrollbar-track{background:var(--scrollbar-thin-track)}.status-picker{position:relative}.status-picker-trigger{position:absolute;bottom:0;right:0;width:18px;height:18px;border-radius:50%;border:2px solid var(--bg-sidebar);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .2s}.status-picker-trigger:hover{transform:scale(1.1)}.status-picker-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 16px #0000004d;min-width:200px;z-index:1000;overflow:hidden}.status-picker-header{padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-primary)}.status-picker-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;border:none;background:transparent;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background-color .15s;text-align:left}.status-picker-option:hover{background:var(--bg-hover)}.status-picker-option.active{background:var(--bg-active);color:var(--color-primary)}.status-label{flex:1}.status-check{flex-shrink:0;color:var(--color-primary)}body.window-hidden *,body.window-hidden *:before,body.window-hidden *:after{animation-play-state:paused!important}.member-item:not(:hover) .member-name,.member-item:not(:hover) .member-name *,.member-item:not(:hover) .member-name:before,.member-item:not(:hover) .member-name:after{animation-play-state:paused!important}.member-item:hover .member-name,.member-item:hover .member-name *,.member-item:hover .member-name:before,.member-item:hover .member-name:after{animation-play-state:running!important}.message:not(:hover) .msg-author,.message:not(:hover) .msg-author *,.message:not(:hover) .msg-author:before,.message:not(:hover) .msg-author:after{animation-play-state:paused!important}.message:hover .msg-author,.message:hover .msg-author *,.message:hover .msg-author:before,.message:hover .msg-author:after{animation-play-state:running!important}.message-cosmetic-group:not(:hover),.message-cosmetic-group:not(:hover) *,.message-cosmetic-group:not(:hover):before,.message-cosmetic-group:not(:hover):after{animation-play-state:paused!important}.message-cosmetic-group:hover,.message-cosmetic-group:hover *,.message-cosmetic-group:hover:before,.message-cosmetic-group:hover:after{animation-play-state:running!important}.message-cosmetic-group.message-group-hovered,.message-cosmetic-group.message-group-hovered *,.message-cosmetic-group.message-group-hovered:before,.message-cosmetic-group.message-group-hovered:after{animation-play-state:running!important}.auth-page{display:flex;align-items:center;justify-content:center;height:100vh;background-color:var(--bg-tertiary)}.app-loading{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,#2d2f34,var(--bg-tertiary) 60%)}.app-loading-card{display:flex;align-items:center;gap:12px;padding:18px 22px;border-radius:10px;background:var(--bg-primary);border:1px solid #1f2124;box-shadow:0 6px 24px #00000040}.app-loading-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:var(--brand-color);animation:app-loading-spin .9s linear infinite}.app-loading-text{color:var(--text-primary);font-weight:600;letter-spacing:.02em}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.auth-form{background:var(--bg-primary);padding:32px;border-radius:8px;width:100%;max-width:480px;box-shadow:0 2px 10px #0003}.auth-form h1{color:var(--header-primary);font-size:24px;font-weight:600;margin-bottom:8px;text-align:center}.auth-subtitle{color:var(--text-secondary);font-size:16px;text-align:center;margin-bottom:20px}.auth-form label{display:block;color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:.02em}.auth-form input{display:block;width:100%;margin-top:8px;padding:10px;background:var(--bg-tertiary);border:1px solid #040405;border-radius:4px;color:var(--text-primary);font-size:16px;outline:none;transition:border-color .2s}.auth-form input:focus{border-color:var(--brand-color)}.auth-form button[type=submit]{width:100%;padding:12px;background:var(--bg-accent);color:#fff;font-size:16px;font-weight:500;border:none;border-radius:4px;cursor:pointer;margin-top:4px;transition:background .2s}.auth-form button[type=submit]:hover:not(:disabled){background:var(--bg-accent-hover)}.auth-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#ed42451a;border:1px solid var(--danger);color:var(--danger);padding:10px;border-radius:4px;margin-bottom:16px;font-size:14px}.field-error{display:block;color:var(--danger);font-size:12px;margin-top:4px;font-weight:500}label.has-error input,label.has-error textarea,label.has-error select{border-color:var(--danger)}label.has-error input:focus,label.has-error textarea:focus,label.has-error select:focus{border-color:var(--danger);box-shadow:0 0 0 2px #ed42451a}.auth-link{margin-top:8px;font-size:14px;color:var(--text-secondary)}.auth-link a{color:var(--text-link)}.auth-link .link-button{background:none;border:none;color:var(--text-link);cursor:pointer;font-size:inherit;padding:0;text-decoration:none;font-family:inherit}.auth-link .link-button:hover{text-decoration:underline}.server-setup-modal{max-width:500px;width:90%}.server-setup-content{padding:32px}.server-setup-title{color:var(--header-primary);font-size:24px;font-weight:600;margin-bottom:8px;text-align:center}.server-setup-subtitle{color:var(--text-secondary);font-size:16px;text-align:center;margin-bottom:24px}.server-setup-error{color:var(--danger);font-size:14px;margin-top:8px;background:#ed42451a;padding:8px 12px;border-radius:4px}.server-setup-help{color:var(--text-secondary);font-size:13px;line-height:1.5;margin-top:12px}.server-setup-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.server-setup-actions button{padding:10px 20px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;border:none}.server-setup-actions button:not(.btn-secondary){background:var(--bg-accent);color:#fff}.server-setup-actions button:not(.btn-secondary):hover:not(:disabled){background:var(--bg-accent-hover)}.server-setup-actions button:disabled{opacity:.5;cursor:not-allowed}.recent-instances{margin-bottom:24px}.recent-instances-title{color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.recent-instances-list{display:flex;flex-direction:column;gap:8px}.recent-instance-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;text-align:left;cursor:pointer;transition:all .15s ease}.recent-instance-card:hover:not(:disabled){background:var(--bg-secondary-alt);border-color:var(--bg-accent)}.recent-instance-card:disabled{opacity:.5;cursor:not-allowed}.recent-instance-name{color:var(--header-primary);font-weight:500;font-size:14px;margin-bottom:4px}.recent-instance-url{color:var(--text-secondary);font-size:12px}.recent-instances-divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:var(--text-secondary);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.recent-instances-divider:before,.recent-instances-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.recent-instances-divider span{padding:0 12px}.recent-instances-settings{display:flex;flex-direction:column;gap:12px}.recent-instance-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.recent-instance-info{flex:1;min-width:0}.recent-instance-item .recent-instance-name{color:var(--header-primary);font-weight:500;font-size:14px;margin-bottom:4px}.recent-instance-item .recent-instance-url{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-instance-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.recent-instance-actions button{padding:6px 12px;font-size:13px;border-radius:4px;border:none;cursor:pointer;font-weight:500}.btn-danger-secondary{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger-secondary:hover:not(:disabled){background:var(--danger);color:#fff}.main-layout{display:flex;height:100vh;overflow:hidden}.server-sidebar{width:72px;min-width:72px;background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px;overflow-y:auto}.server-list{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.server-actions{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:8px;border-top:2px solid var(--bg-secondary);margin-top:auto}.server-icon{width:48px;height:48px;border-radius:50%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:18px;font-weight:600;cursor:pointer;transition:border-radius .2s,background .2s;overflow:hidden;border:none}.server-icon:hover,.server-icon.active{border-radius:16px;background:var(--bg-accent);color:#fff}.server-icon img{width:100%;height:100%;object-fit:cover}.server-icon.add-server{background:var(--bg-primary);color:var(--success);font-size:24px}.server-icon.add-server:hover{background:var(--success);color:#fff}.server-icon.join-server{background:var(--bg-primary);color:var(--success);font-size:20px}.server-icon.join-server:hover{background:var(--success);color:#fff}.channel-sidebar{width:240px;min-width:240px;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.channel-sidebar-header{height:48px;padding:0 16px;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.24);font-weight:600;color:var(--header-primary);box-shadow:0 1px #0003;position:relative}.server-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-sidebar-actions{display:flex;gap:4px;padding:8px}.sidebar-action-btn{flex:1;padding:4px 8px;background:var(--bg-modifier-hover);color:var(--text-secondary);border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.sidebar-action-btn:hover{background:var(--bg-modifier-active);color:var(--text-primary)}.channel-list{flex:1;overflow-y:auto;padding:0 8px}.channel-category{margin-top:16px}.category-label{display:block;padding:0 8px;margin-bottom:4px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em}.channel-item{display:flex;align-items:center;padding:6px 8px;margin:1px 0;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:15px;background:none;border:none;width:100%;text-align:left;transition:background .1s,color .1s}.channel-item:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.channel-item.active{background:var(--bg-modifier-active);color:var(--header-primary)}.channel-item.voice{flex-wrap:wrap;position:relative}.channel-item-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:inherit;font:inherit;cursor:pointer;flex:1;text-align:left;padding:0}.voice-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:14px}.voice-action-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.voice-action-btn.leave{color:var(--danger)}.voice-action-lock{color:var(--text-muted);padding:2px 6px;border-radius:4px;font-size:13px;line-height:1;cursor:default}.voice-participants{width:100%;padding-left:24px;margin-top:4px}.voice-participant{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:13px;color:var(--text-secondary)}.participant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.voice-participant-right{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.voice-participant-actions{display:inline-flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease}.voice-participant:hover .voice-participant-actions{opacity:1}.voice-participant-action-btn{background:var(--bg-modifier-hover);border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:4px;font-size:12px;line-height:1}.voice-participant-action-btn.active,.voice-participant-action-btn:hover{color:var(--text-primary)}.voice-status-icons{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:12px}.voice-status-icon{line-height:1}.voice-status-icon.locked{color:var(--danger)}.participant-avatar{width:20px;height:20px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;transition:box-shadow .15s ease}.participant-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.participant-avatar.speaking{box-shadow:0 0 0 2px #3ba55d}.voice-badges{display:flex;align-items:center;gap:2px;flex-shrink:0}.voice-badge{color:#fff;font-size:8px;font-weight:700;padding:1px 3px;border-radius:3px;line-height:1;letter-spacing:.3px}.voice-badge.live{background:#d1605a}.voice-badge.cam{background:#5865f2}.voice-badge.tts{background:var(--bg-accent)}.channel-hash{margin-right:6px;color:var(--text-muted);font-weight:500;font-size:18px}.channel-voice-icon{margin-right:6px;font-size:16px}.voice-user-limit{margin-left:6px;font-size:11px;color:var(--text-muted);font-weight:500}.member-list{width:240px;min-width:240px;background:var(--bg-secondary);overflow-y:auto;padding:16px 8px}.member-list .category-label{display:block;padding:16px 8px 4px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em}.member-list>:first-child>.category-label,.member-list>.category-label:first-child{padding-top:0}.member-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:14px;cursor:default}.member-item:hover{background:var(--bg-modifier-hover)}.member-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;overflow:visible;position:relative;flex-shrink:0}.member-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.member-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-text{display:flex;flex:1;flex-direction:column;min-width:0}.member-status{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-badge{font-size:10px;padding:1px 4px;border-radius:3px;font-weight:600;flex-shrink:0}.profile-card-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.role-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;background:var(--bg-tertiary);font-size:12px;color:var(--text-secondary);font-weight:500}.role-pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.role-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.role-create-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;margin-bottom:12px;background:var(--brand-color);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.role-create-btn:hover{background:#239885}.role-create-btn:active{transform:scale(.98)}.role-create-icon{font-size:18px;font-weight:700;line-height:1}.role-list{display:flex;flex-direction:column;gap:2px;max-height:350px;overflow-y:auto}.role-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s;position:relative;overflow:hidden}.role-item:hover{background:var(--bg-modifier-hover)}.role-item-color-bar{width:4px;height:28px;border-radius:2px;flex-shrink:0}.role-item-content{flex:1;min-width:0}.role-item-header{display:flex;align-items:center;gap:8px}.role-item-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-item-meta{font-size:12px;color:var(--text-muted);white-space:nowrap}.role-item-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s}.role-item:hover .role-item-actions{opacity:1}.role-move-btn,.role-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:4px;transition:color .1s,background .1s}.role-move-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-modifier-active)}.role-move-btn:disabled{opacity:.25;cursor:default}.role-delete-btn:hover{color:var(--danger);background:#ed42451f}.role-list-empty{display:flex;flex-direction:column;align-items:center;padding:32px 16px;color:var(--text-muted);text-align:center;gap:4px}.role-list-empty-icon{font-size:32px;margin-bottom:4px}.role-list-empty p{font-size:15px;font-weight:600;color:var(--text-secondary);margin:0}.role-list-empty span{font-size:13px}.role-list-separator{display:flex;align-items:center;gap:10px;margin:12px 0 8px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.role-list-separator:before,.role-list-separator:after{content:"";flex:1;height:1px;background:var(--border-color)}.role-editor{display:flex;flex-direction:column}.role-editor-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.role-editor-header h3{color:var(--header-primary);font-size:16px;font-weight:700;margin:0}.role-editor-back{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.role-editor-back:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.role-editor-preview{display:flex;justify-content:center;padding:12px;margin-bottom:16px;background:var(--bg-secondary);border-radius:8px}.role-editor-preview .role-pill{font-size:14px;padding:4px 12px;border:1px solid;background:transparent}.role-editor-section{margin-bottom:16px}.role-editor-label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary);margin-bottom:8px}.role-editor-input{display:block;width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:6px;color:var(--text-primary);font-size:15px;outline:none;transition:border-color .15s;box-sizing:border-box}.role-editor-input:focus{border-color:var(--brand-color)}.role-color-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.role-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s,box-shadow .1s;padding:0}.role-color-swatch:hover{transform:scale(1.15)}.role-color-swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--brand-color)}.role-color-custom{width:28px;height:28px;border-radius:50%;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;margin-bottom:0}.role-color-custom input[type=color]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}.role-color-custom-icon{font-size:13px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none}.toggle-switch{width:40px;height:22px;border-radius:11px;background:var(--bg-tertiary);border:2px solid var(--text-muted);position:relative;cursor:pointer;transition:background .2s,border-color .2s;flex-shrink:0}.toggle-switch.on{background:var(--brand-color);border-color:var(--brand-color)}.toggle-knob{width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:1px;left:1px;transition:left .2s}.toggle-switch.on .toggle-knob{left:19px}.role-editor-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text-secondary);font-weight:400;text-transform:none;margin-bottom:0}.permission-section{margin-bottom:12px}.permission-section:last-child{margin-bottom:0}.permission-section-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 0 4px;border-bottom:1px solid var(--bg-modifier-accent);margin-bottom:4px}.permission-row{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;border-radius:4px;cursor:pointer;transition:background .1s}.permission-row:hover{background:var(--bg-modifier-hover)}.permission-info{display:flex;flex-direction:column;gap:1px;min-width:0}.permission-name{font-size:14px;color:var(--text-primary);font-weight:500}.permission-desc{font-size:12px;color:var(--text-muted)}.ban-list{max-height:400px;overflow-y:auto}.ban-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bg-modifier-accent)}.ban-item:last-child{border-bottom:none}.ban-info{flex:1;display:flex;flex-direction:column;gap:2px}.ban-user{font-weight:600;color:var(--header-primary);font-size:14px}.ban-username{color:var(--text-muted);font-size:12px}.ban-reason{color:var(--text-secondary);font-size:13px;font-style:italic}.ban-meta{color:var(--text-muted);font-size:11px}.role-assign-modal{max-width:380px}.role-assign-target{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:12px}.role-assign-target-name{font-size:15px;font-weight:600;color:var(--header-primary)}.role-assign-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;margin-bottom:12px}.role-assign-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s;text-transform:none;font-weight:400;margin-bottom:0}.role-assign-item:hover{background:var(--bg-modifier-hover)}.role-assign-color{width:14px;height:14px;border-radius:50%;flex-shrink:0}.role-assign-name{flex:1;font-size:14px;font-weight:500;color:var(--text-primary)}.role-assign-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:14px}.toggle-switch.small{width:32px;height:18px;border-radius:9px}.toggle-switch.small .toggle-knob{width:12px;height:12px;top:1px;left:1px}.toggle-switch.small.on .toggle-knob{left:15px}.member-item.offline{opacity:.4}.presence-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-secondary)}.presence-dot.online{background:#43b581}.presence-dot.away{background:#faa61a}.presence-dot.dnd{background:#f04747}.presence-dot.offline{background:#747f8d}.content-area{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;position:relative}.signalr-status-banner{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:6px 12px;font-size:12px;letter-spacing:.2px;color:var(--text-primary);background:#d9a4411f;border-bottom:1px solid rgba(217,164,65,.35);box-shadow:0 1px #0003}.signalr-status-banner.reconnecting{background:#d9a44129}.signalr-status-banner.disconnected{background:#e74c3c2e;border-bottom:1px solid rgba(231,76,60,.45)}.signalr-status-banner.connecting{background:#3498db2e;border-bottom:1px solid rgba(52,152,219,.45)}.signalr-reload-btn{margin-left:10px;padding:2px 10px;font-size:11px;font-weight:600;color:#fff;background:#e74c3c99;border:1px solid rgba(231,76,60,.8);border-radius:3px;cursor:pointer;transition:background .15s}.signalr-reload-btn:hover{background:#e74c3cd9}.channel-header{height:48px;padding:0 16px;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.24);font-weight:600;color:var(--header-primary);box-shadow:0 1px #0003;gap:4px}.channel-header .channel-hash{font-size:22px}.channel-header .channel-name{font-size:16px}.channel-header-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.no-channel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted)}.no-channel h2{color:var(--text-primary);margin-bottom:8px}.voice-channel-view{flex:1;display:flex;flex-direction:column}.voice-channel-content{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:18px}.message-list{flex:1;display:flex;flex-direction:column;min-height:0}.message-scroller{flex:1;overflow-y:auto;overflow-anchor:none;min-height:0}.message-scroller-content{display:flex;flex-direction:column;min-height:100%;justify-content:flex-end}.load-more-sentinel,.load-newer-sentinel{height:1px;flex-shrink:0}.scroll-to-bottom-banner{flex-shrink:0;z-index:2;display:flex;justify-content:center;padding:6px 12px;background:var(--bg-primary);border-bottom:1px solid rgba(0,0,0,.24);box-shadow:0 1px #0003;pointer-events:none}.scroll-to-bottom-banner button{pointer-events:auto;border:1px solid rgba(255,255,255,.14);background:#121621e0;color:var(--text-primary);padding:6px 12px;border-radius:999px;font-size:12px;letter-spacing:.2px;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.scroll-to-bottom-banner button:hover{background:#161c29f2;border-color:#ffffff38;transform:translateY(-1px)}.empty-channel-message{display:flex;justify-content:center;align-items:center}.empty-channel-message p{font-weight:400;color:var(--text-secondary)}.message-group{padding-top:8px;padding-bottom:8px}.message-row{position:relative;padding-left:0;padding-right:0}.message-row-content{position:relative;z-index:1}.message-cosmetic-group-overlay{position:absolute;z-index:0;display:none}.message-group-hovered>.message-cosmetic-group-overlay{display:block}.message-row-single{padding-top:8px;padding-bottom:8px}.message-row-start{padding-top:8px}.message-row-end{padding-bottom:8px}.message-cosmetic-group{border-radius:4px;margin:4px 8px}.message-cosmetic-row{margin:0 8px}.message-cosmetic-row.message-row-single{margin:4px 8px}.message-cosmetic-row.message-row-start{margin:4px 8px 0}.message-cosmetic-row.message-row-end{margin:0 8px 4px}.message-item{display:flex;padding:2px 16px;position:relative}.message-item.long-press-active{background:var(--bg-modifier-hover)}.message-item.system-message{padding:6px 16px;color:var(--text-muted)}.message-item.system-message:hover{background:transparent}.system-message-content{display:flex;align-items:center;gap:8px;width:100%;font-size:12px}.system-message-icon{font-size:10px;opacity:.6}.system-message-text strong{color:var(--header-primary);font-weight:600}.system-message-time{margin-left:auto;color:var(--text-muted);font-size:11px}.message-item:hover{background:#0000000f}.message-item.message-mentioned{background:#d9a44114;border-left:3px solid #d9a441;padding-left:13px}.message-item.message-mentioned:hover{background:#d9a44121}.message-item.message-has-reply{flex-wrap:wrap}.reply-reference{display:flex;align-items:center;gap:4px;width:100%;padding-left:36px;margin-bottom:4px;font-size:13px;color:var(--text-muted);cursor:pointer}.reply-reference:hover .reply-reference-content{color:var(--text-normal)}.reply-reference-line{width:32px;min-width:32px;height:14px;margin-right:4px;border-left:2px solid var(--text-muted);border-top:2px solid var(--text-muted);border-top-left-radius:6px;align-self:flex-end;margin-bottom:4px}.reply-reference-avatar{width:16px;height:16px;min-width:16px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-modifier-accent);font-size:10px;color:var(--text-normal)}.reply-reference-avatar img{width:100%;height:100%;object-fit:cover}.reply-reference-author{font-weight:600;font-size:12px;color:var(--text-normal);white-space:nowrap;margin-right:4px}.reply-reference-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.reply-reference-content.reply-deleted{font-style:italic;color:var(--text-muted)}@keyframes message-highlight-flash{0%{background:#2cb7a04d}to{background:transparent}}.message-highlight .message-item{animation:message-highlight-flash 1.5s ease-out}.message-avatar-gutter{width:40px;min-width:40px;margin-right:16px;display:flex;align-items:center;justify-content:center}.message-time-inline{font-size:10px;color:var(--text-muted);opacity:0;white-space:nowrap}.message-item:hover .message-time-inline{opacity:1}.message-actions{display:none;position:absolute;top:-8px;right:16px;background:var(--bg-primary);border:1px solid var(--bg-modifier-accent);border-radius:4px;overflow:hidden}.message-item:hover .message-actions{display:flex}.message-actions button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;font-size:16px}.message-actions button:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.message-edited-label{font-size:11px;color:var(--text-muted)}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-button{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;border:1px solid var(--bg-modifier-accent);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:18px;line-height:1.4}.reaction-button:hover{background:var(--bg-modifier-hover);border-color:var(--text-muted)}.reaction-button.reacted{border-color:var(--brand-primary);background:#2cb7a026}.reaction-button.reaction-add{color:var(--text-muted);font-size:16px;padding:2px 8px}.reaction-button.reaction-add:hover{color:var(--text-primary)}.reaction-count{font-size:12px;color:var(--text-muted)}.reaction-button.reacted .reaction-count{color:var(--brand-primary)}.emoji-picker-container{position:fixed;z-index:100}.message-deleted{opacity:.5}.message-deleted-text{font-style:italic;color:var(--text-muted)!important}.message-edit-input{width:100%;padding:8px;border:1px solid var(--bg-modifier-accent);border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);font-size:15px;font-family:inherit;outline:none;resize:none;overflow:hidden;line-height:1.375}.message-edit-input:focus{border-color:var(--text-link)}.message-edit-wrapper{display:flex;flex-direction:column;gap:6px}.message-edit-error{font-size:12px;color:var(--red)}.message-avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;margin-right:16px;margin-top:2px;overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-body{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;gap:8px}.message-author{font-weight:600;color:var(--header-primary);font-size:16px}.message-time{font-size:12px;color:var(--text-muted)}.message-content{color:var(--text-primary);font-size:15px;line-height:1.375;word-wrap:break-word;white-space:pre-wrap}.message-content.message-markdown{white-space:normal}.message-content.message-markdown p{margin:0 0 6px}.message-content.message-markdown p:last-child{margin-bottom:0}.message-content.message-markdown h1,.message-content.message-markdown h2,.message-content.message-markdown h3,.message-content.message-markdown h4,.message-content.message-markdown h5,.message-content.message-markdown h6{margin:10px 0 6px;font-weight:600;color:var(--header-primary)}.message-content.message-markdown h1{font-size:20px}.message-content.message-markdown h2{font-size:18px}.message-content.message-markdown h3{font-size:16px}.message-content.message-markdown h4,.message-content.message-markdown h5,.message-content.message-markdown h6{font-size:15px}.message-content.message-markdown ul,.message-content.message-markdown ol{margin:6px 0 6px 18px;padding:0}.message-content.message-markdown li{margin:2px 0}.message-content.message-markdown blockquote{margin:6px 0;padding:4px 10px;border-left:3px solid var(--bg-accent);color:var(--text-muted);background:#ffffff08}.message-content.message-markdown pre{margin:6px 0;padding:8px 10px;background:var(--bg-secondary);border-radius:6px;overflow-x:auto}.message-content.message-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;background:var(--bg-secondary);padding:2px 4px;border-radius:4px}.message-content.message-markdown pre code{background:transparent;padding:0}.message-content.message-markdown a{color:var(--text-link);text-decoration:underline}.message-attachments{margin-top:4px}.attachment{margin-top:6px}.attachment-image-shell{width:100%;max-width:min(400px,100%);border-radius:8px;overflow:hidden;background:#ffffff08}.attachment-image-shell.has-dimensions{height:auto}.attachment-image{display:block;width:100%;height:100%;max-height:300px;object-fit:contain;border-radius:inherit;cursor:pointer}.attachment-media{display:flex;flex-direction:column;gap:6px;max-width:min(520px,100%)}.attachment-video{width:100%;height:100%;object-fit:contain;border-radius:8px;background:#0b0b0e;box-shadow:0 12px 28px #00000059}.attachment-video-shell{position:relative;width:100%;overflow:hidden;background:#ffffff08}.attachment-video-shell:fullscreen,.attachment-video-shell:-webkit-full-screen{width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:#0b0b0e;display:flex;align-items:center;justify-content:center}.attachment-video-shell:-moz-full-screen{width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:#0b0b0e;display:flex;align-items:center;justify-content:center}.attachment-video-shell:-moz-full-screen .attachment-video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0;box-shadow:none;display:block}.attachment-video-shell:fullscreen .attachment-video,.attachment-video-shell:-webkit-full-screen .attachment-video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0;box-shadow:none;display:block}.attachment-play-overlay{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:999px;background:#0a0b10bf;color:var(--text-normal);border:1px solid rgba(255,255,255,.18);font-size:14px;letter-spacing:.5px;display:flex;align-items:center;justify-content:center}.attachment-play-overlay:hover{background:#14161ed9}.attachment-video-topbar,.attachment-video-bottombar{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0c0d12d9;border:1px solid rgba(255,255,255,.06);border-radius:10px;flex-wrap:wrap;max-width:100%;position:absolute;left:10px;right:10px;opacity:0;pointer-events:none;transition:opacity .16s ease}.attachment-video-topbar{top:10px;justify-content:flex-end}.attachment-video-bottombar{bottom:10px}.attachment-video-shell:hover .attachment-video-topbar,.attachment-video-shell:hover .attachment-video-bottombar,.attachment-video-shell:focus-within .attachment-video-topbar,.attachment-video-shell:focus-within .attachment-video-bottombar{opacity:1;pointer-events:auto}.attachment-video-shell:fullscreen .attachment-video-topbar,.attachment-video-shell:fullscreen .attachment-video-bottombar,.attachment-video-shell:-webkit-full-screen .attachment-video-topbar,.attachment-video-shell:-webkit-full-screen .attachment-video-bottombar{opacity:1;pointer-events:auto}.attachment-control-btn{padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:var(--bg-secondary);color:var(--text-normal);font-size:12px}.attachment-control-btn:hover{background:var(--bg-tertiary)}.attachment-control-btn:active{transform:translateY(1px)}.attachment-time{font-size:12px;color:var(--text-muted);min-width:88px;text-align:center;flex:0 0 auto}.attachment-seek{flex:1 1 160px;min-width:140px;accent-color:var(--text-link)}.attachment-volume{width:90px;flex:0 0 90px;accent-color:var(--text-link)}.attachment-audio{width:100%}.attachment-audio-shell{display:flex;flex-direction:column;gap:8px}.attachment-audio-controls{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0c0d12d9;border:1px solid rgba(255,255,255,.06);border-radius:10px;flex-wrap:wrap;max-width:100%}.attachment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-muted)}.attachment-meta-left{display:flex;align-items:center;gap:8px;min-width:0}.attachment-name{color:var(--text-primary);font-weight:500;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:var(--text-muted)}.attachment-download{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--bg-secondary);color:var(--text-normal);text-decoration:none;border:1px solid rgba(255,255,255,.08)}.attachment-download:hover{background:var(--bg-tertiary)}.attachment-download:active{transform:translateY(1px)}.attachment-file{display:inline-flex;align-items:center;gap:6px;color:var(--text-link);text-decoration:underline}.image-preview-overlay{position:fixed;inset:0;z-index:1100;background:#000000d9;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.image-preview-toolbar{position:fixed;top:16px;right:16px;display:flex;gap:8px;z-index:1101}.image-preview-toolbar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#0009;color:#dcddde;border:none;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.image-preview-toolbar-btn:hover{background:#ffffff26;color:#fff}.image-preview-img{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .1s ease-out;border-radius:4px;text-decoration:none}.image-download-btn:hover{background:var(--bg-accent-hover)}.message-input-container{padding:0 16px 24px;position:relative}.drop-overlay{position:absolute;inset:0;background:#5865f226;border:2px dashed var(--text-link);border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.drop-overlay-content{color:var(--text-link);font-size:14px;font-weight:600}.reply-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:8px 8px 0 0;font-size:14px;color:var(--text-muted)}.reply-bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-bar-text strong{color:var(--text-normal)}.reply-bar-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:0 4px;line-height:1}.reply-bar-close:hover{color:var(--text-normal)}.rate-limit-banner{padding:6px 12px;background:#d32f2f;color:#fff;font-size:13px;text-align:center;border-radius:4px;margin:0 0 4px}.input-connection-banner{padding:6px 12px;background:#d9a44129;color:var(--text-warning, #d9a441);font-size:12px;border-radius:4px;margin:0 0 4px}.pending-messages-bar{display:flex;flex-direction:column;gap:4px;margin:0 0 4px}.pending-message{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-radius:4px;font-size:12px}.pending-message.sending{background:#3498db1f;color:var(--text-muted)}.pending-message.failed{background:#e74c3c24;color:var(--text-normal)}.pending-message-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pending-message-content{color:var(--text-muted)}.pending-message-actions{display:flex;gap:6px;flex-shrink:0}.pending-retry-btn,.pending-discard-btn{background:none;border:none;font-size:12px;cursor:pointer;padding:2px 8px;border-radius:3px}.pending-retry-btn{color:var(--text-link);background:#5865f226}.pending-retry-btn:hover{background:#5865f24d}.pending-discard-btn{color:var(--text-muted)}.pending-discard-btn:hover{color:var(--text-normal);background:#ffffff0f}.file-previews{display:flex;gap:8px;padding:8px;background:var(--channel-text-area);border-radius:8px 8px 0 0;border-bottom:1px solid rgba(0,0,0,.24)}.file-preview{position:relative;width:80px;height:80px;border-radius:4px;overflow:hidden}.file-preview img{width:100%;height:100%;object-fit:cover}.file-preview-generic{width:100%;height:100%;padding:6px;background:var(--bg-secondary);color:var(--text-primary);display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:11px}.file-preview-name{font-weight:600;line-height:1.2;max-height:2.4em;overflow:hidden;text-overflow:ellipsis}.file-preview-size{color:var(--text-muted)}.remove-file{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:var(--danger);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0}.message-input-form{display:flex;align-items:center;background:var(--channel-text-area);border-radius:8px;padding:2px 4px}.file-previews+.message-input-form{border-radius:0 0 8px 8px}.attach-btn{width:40px;height:40px;background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.attach-btn:hover{color:var(--text-primary)}.message-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:16px;padding:10px 8px;min-height:20px;max-height:200px;overflow-y:auto;word-break:break-word;white-space:pre-wrap}.message-input.empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.input-mention{background:#2cb7a04d;color:#dee0fc;border-radius:3px;padding:0 2px;font-weight:500;-webkit-user-select:all;user-select:all}.input-custom-emoji{display:inline;width:22px;height:22px;vertical-align:middle;object-fit:contain}.send-btn{padding:8px 16px;background:var(--bg-accent);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.send-btn:hover:not(:disabled){background:var(--bg-accent-hover)}.send-btn:disabled{opacity:.5;cursor:default}.emoji-picker-wrapper{position:relative}.emoji-btn{width:40px;height:40px;background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.emoji-btn:hover{color:var(--text-primary)}.emoji-picker-input-container{position:fixed;z-index:100}.gif-picker-wrapper{position:relative}.gif-btn{height:40px;padding:0 8px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.gif-btn:hover{color:var(--text-primary)}.gif-picker-container{position:fixed;z-index:100}.gif-picker{width:350px;height:420px;background:var(--bg-secondary);border:1px solid var(--bg-accent);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.gif-picker-header{padding:8px;border-bottom:1px solid var(--bg-accent)}.gif-picker-search{width:100%;padding:8px 10px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-primary);font-size:14px;outline:none;box-sizing:border-box}.gif-picker-search::placeholder{color:var(--text-muted)}.gif-picker-grid{flex:1;overflow-y:auto;display:flex;flex-wrap:wrap;padding:4px;gap:4px}.gif-picker-column{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.gif-picker-item{cursor:pointer;border-radius:4px;overflow:hidden}.gif-picker-item:hover{opacity:.8}.gif-picker-item img{width:100%;display:block;border-radius:4px}.gif-picker-sentinel{width:100%;height:1px}.gif-picker-loading{width:100%;text-align:center;padding:12px;color:var(--text-muted);font-size:13px}.gif-picker-footer{padding:6px 8px;border-top:1px solid var(--bg-accent);display:flex;justify-content:flex-end}.gif-picker-attribution{height:16px;opacity:.7}.message-gif img{max-width:300px;max-height:300px;border-radius:8px;display:block}.message-input-meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:12px}.message-input-count{color:var(--text-muted)}.message-input-count.over{color:var(--red)}.message-input-error{color:var(--red);font-size:12px}.voice-controls{background:var(--bg-tertiary);padding:10px 10px 8px;border-top:1px solid rgba(0,0,0,.48);display:flex;flex-direction:column;gap:8px}.voice-controls-header{display:flex;align-items:center;justify-content:space-between}.voice-controls-info{display:flex;flex-direction:column;gap:1px;min-width:0}.voice-connected-label{color:var(--success);font-size:12px;font-weight:600;display:flex;align-items:center}.voice-channel-name{color:var(--text-secondary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-disconnect-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--danger);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .1s}.vc-disconnect-btn:hover{background:#d83c3e;transform:scale(1.08)}.vc-audio-unlock{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:5px 0;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}.vc-audio-unlock:hover{background:var(--accent-hover, #4752c4)}.voice-controls-buttons{display:flex;gap:4px}.vc-btn{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 0;background:var(--bg-secondary);border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:background .15s,color .15s}.vc-btn span{font-size:10px;font-weight:700;letter-spacing:.02em}.vc-btn:hover{background:var(--bg-modifier-active);color:var(--text-primary)}.vc-btn.vc-active{background:var(--accent);color:#fff}.vc-btn.vc-active:hover{background:var(--accent-hover, #4752c4)}.vc-btn.vc-sharing{background:var(--danger);color:#fff;animation:vc-sharing-pulse 2s ease-in-out infinite}.vc-btn.vc-sharing:hover{background:#d83c3e;animation:none}@keyframes vc-sharing-pulse{0%,to{box-shadow:0 0 #ed424566}50%{box-shadow:0 0 0 4px #ed424500}}.vc-sharing-indicator{font-size:11px;font-weight:600;color:#fff;background:var(--danger);border:none;border-radius:4px;padding:2px 8px;cursor:pointer;animation:vc-sharing-pulse 2s ease-in-out infinite;transition:background .15s}.vc-sharing-indicator:hover{background:#d83c3e;animation:none}.vc-ptt-hint{font-size:11px;color:var(--text-muted)}.voice-quality-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;flex-shrink:0}.voice-quality-dot.good{background:var(--success)}.voice-quality-dot.fair{background:#faa61a}.voice-quality-dot.poor{background:var(--danger)}.connection-mode-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle}.connection-mode-badge.sfu{background:#5865f233;color:#8b9fff}.connection-mode-badge.sfu.attempting{animation:badge-pulse 1.5s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.4}}.vc-btn.loading{opacity:.6;cursor:wait}.vc-btn:disabled{opacity:.5;cursor:not-allowed}.vc-quality-chevron{position:absolute;bottom:2px;right:2px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:4px solid currentColor;opacity:.6}.quality-popover{position:fixed;z-index:9999;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:8px;box-shadow:0 4px 16px #0000004d;min-width:160px}.quality-popover-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px 6px}.quality-popover-options{display:flex;flex-direction:column;gap:2px}.quality-popover-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:13px;text-align:left;transition:background .1s}.quality-popover-option:hover{background:var(--bg-secondary)}.quality-popover-option.active{background:var(--accent);color:#fff}.quality-popover-option-label{font-weight:500}.quality-popover-option-detail{font-size:11px;opacity:.7}.quality-popover-overlay{position:fixed;inset:0;z-index:9999;background:#00000080;display:flex;align-items:flex-end;justify-content:center}.quality-popover.mobile{position:static;width:100%;max-width:400px;border-radius:12px 12px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));transform:none}.quality-popover.mobile .quality-popover-title{font-size:13px;padding:4px 4px 12px}.quality-popover.mobile .quality-popover-option{padding:12px;font-size:15px;border-radius:8px}.quality-popover.mobile .quality-popover-option-detail{font-size:13px}.typing-indicator{padding:0 16px;height:24px;display:flex;align-items:center;font-size:12px;color:var(--text-secondary)}.loading{text-align:center;padding:16px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-primary);border-radius:8px;padding:24px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal h2{color:var(--header-primary);font-size:20px;margin-bottom:16px;text-align:center}.modal label{display:block;color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:16px;letter-spacing:.02em}.modal input{display:block;width:100%;margin-top:8px;padding:10px;background:var(--bg-tertiary);border:1px solid #040405;border-radius:4px;color:var(--text-primary);font-size:16px;outline:none}.modal input:focus{border-color:var(--brand-color)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-actions button{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500}.modal-actions button[type=submit],.modal-actions button:not(.btn-secondary){background:var(--bg-accent);color:#fff}.modal-actions button[type=submit]:hover,.modal-actions button:not(.btn-secondary):hover{background:var(--bg-accent-hover)}.modal form button[type=submit]{width:100%;padding:10px 16px;background:var(--bg-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;margin-top:8px;transition:background .2s}.modal form button[type=submit]:hover{background:var(--bg-accent-hover)}.modal form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-primary)}.btn-secondary:hover{text-decoration:underline}.permissions-modal{max-width:680px;display:flex;flex-direction:column}.permissions-channel-name{text-align:center;font-size:14px;color:var(--text-muted);margin-top:-10px;margin-bottom:16px}.permissions-layout{display:flex;gap:16px;min-height:0;max-height:420px}.permissions-role-sidebar{width:160px;min-width:160px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;background:var(--bg-secondary);border-radius:8px;padding:8px}.permissions-role-sidebar-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:4px 8px 6px}.permissions-role-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border:none;background:none;border-radius:4px;cursor:pointer;transition:background .1s;width:100%;text-align:left}.permissions-role-item:hover{background:var(--bg-modifier-hover)}.permissions-role-item.active{background:var(--bg-modifier-active)}.permissions-role-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.permissions-role-name{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permissions-role-badge{width:6px;height:6px;border-radius:50%;background:var(--brand-color);flex-shrink:0}.permissions-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.permissions-back{display:none}.permissions-content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.permissions-editing-role{font-size:15px;font-weight:700}.permissions-reset-btn{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .1s,background .1s}.permissions-reset-btn:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.permissions-loading{padding:32px 16px;color:var(--text-muted);text-align:center}.permissions-perm-list{display:flex;flex-direction:column;gap:8px}.permissions-perm-section{display:flex;flex-direction:column}.permissions-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:4px 0;border-bottom:1px solid var(--bg-modifier-accent);margin-bottom:2px}.permissions-perm-row{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;border-radius:4px;transition:background .1s}.permissions-perm-row:hover{background:var(--bg-modifier-hover)}.permissions-perm-info{display:flex;flex-direction:column;gap:1px;min-width:0}.permissions-perm-name{font-size:14px;color:var(--text-primary);font-weight:500}.permissions-perm-desc{font-size:12px;color:var(--text-muted)}.permissions-tri-toggle{display:flex;background:var(--bg-tertiary);border-radius:6px;overflow:hidden;flex-shrink:0}.tri-btn{width:32px;height:28px;border:none;background:none;color:var(--text-muted);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;font-weight:700;line-height:1}.tri-btn:hover{background:var(--bg-modifier-hover)}.tri-btn.tri-allow.active{background:#6bbf59;color:#fff}.tri-btn.tri-deny.active{background:var(--danger);color:#fff}.tri-btn.tri-inherit.active{background:var(--bg-modifier-active);color:var(--text-secondary)}.channel-type-select{display:flex;gap:8px;margin-top:8px}.type-option{flex:1;padding:10px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:4px;color:var(--text-secondary);font-size:14px;cursor:pointer;text-align:center;transition:border-color .2s,color .2s}.type-option.active{border-color:var(--brand-color);color:var(--header-primary)}.type-option:hover{border-color:var(--text-muted)}.invite-code-display{text-align:center}.invite-code-display p{color:var(--text-secondary);margin-bottom:8px}.invite-code-row{display:flex;gap:8px;align-items:center}.invite-code{flex:1;padding:10px;background:var(--bg-tertiary);border-radius:4px;color:var(--header-primary);font-size:16px;font-family:Consolas,monospace;text-align:center}.invite-code-row button{padding:10px 16px;background:var(--bg-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.invite-code-row button:hover{background:var(--bg-accent-hover)}.invite-options{display:flex;flex-direction:column;gap:12px}.invite-options-row{display:flex;gap:8px}.invite-options-row input{flex:1;padding:8px;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-primary);font-size:13px}.invite-options>button{width:100%;padding:10px 16px;background:var(--bg-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.invite-options>button:hover{background:var(--bg-accent-hover)}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;color:var(--text-primary);font-size:13px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 4px 16px #00000059;animation:toastSlideIn .25s ease-out;max-width:360px;min-width:240px;pointer-events:auto}.toast.clickable{cursor:pointer}.toast.clickable:hover{background:var(--bg-tertiary)}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:13px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-message{color:var(--text-secondary);font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.toast-close{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px;border-radius:4px}.toast-close:hover{color:var(--text-primary)}.toast.error{border-left:3px solid var(--danger)}.toast.success{border-left:3px solid var(--success)}.toast.info{border-left:3px solid var(--brand-color)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.screen-share-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:16px}.screen-share-header{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--text-secondary);font-size:14px;font-weight:600;margin-bottom:12px}.ss-volume{display:flex;align-items:center;gap:4px}.ss-volume-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none;cursor:pointer}.ss-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);cursor:pointer}.ss-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text-primary);border:none;cursor:pointer}.screen-share-video-wrapper{flex:1;width:100%;display:flex;align-items:center;justify-content:center;background:#000;border-radius:8px;overflow:hidden;min-height:0}.screen-share-video{max-width:100%;max-height:100%;object-fit:contain}.screen-share-picker{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;width:100%}.sharer-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;background:var(--bg-secondary);border-radius:8px;min-width:180px}.sharer-card-icon{font-size:32px}.sharer-card-name{color:var(--text-primary);font-weight:600;font-size:15px}.sharer-card-subtitle{color:var(--text-secondary);font-size:12px}.watch-stream-btn{margin-top:4px;padding:6px 16px;background:var(--brand);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer}.watch-stream-btn:hover{background:var(--brand-hover, #239885)}.stop-watching-btn{padding:4px 12px;background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer}.stop-watching-btn:hover{background:var(--bg-secondary)}.other-sharers-bar{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;justify-content:center}.file-preview-progress{position:absolute;left:0;right:0;bottom:0;height:6px;background:#0006}.file-preview-progress-bar{height:100%;background:var(--text-link);transition:width .12s ease}.other-sharer-chip{padding:4px 12px;background:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:12px;font-size:12px;cursor:pointer}.other-sharer-chip:hover{background:var(--bg-tertiary)}.other-sharer-chip.loading{opacity:.7}.other-sharer-chip:disabled{opacity:.5;cursor:not-allowed}.user-bar{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-tertiary);border-top:1px solid rgba(0,0,0,.24);margin-top:auto}.user-bar-avatar-container{position:relative;flex-shrink:0}.user-bar-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;overflow:hidden;flex-shrink:0}.user-bar-avatar img{width:100%;height:100%;object-fit:cover}.user-bar-info{flex:1;min-width:0;display:flex;flex-direction:column}.user-bar-name{font-size:13px;font-weight:600;color:var(--header-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-bar-username{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-bar-btn{width:32px;height:32px;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;position:relative}.user-bar-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.user-bar-btn:disabled{opacity:.6;cursor:not-allowed}.user-bar-btn:disabled:hover{background:none;color:var(--text-muted)}.user-bar-btn.active{color:#d1605a}.user-bar-settings{width:32px;height:32px;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-bar-settings:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.user-bar-settings.admin-shield{color:#e0b35b}.user-bar-settings.admin-shield:hover{color:#d9a441}.user-settings-modal{max-width:720px;padding:0;display:flex;overflow:hidden}.user-settings-modal h2{text-align:left;margin:0}.us-sidebar{width:190px;min-width:190px;background:var(--bg-secondary);padding:16px 10px;display:flex;flex-direction:column;gap:2px}.us-sidebar-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 10px 8px}.us-nav-item{display:block;width:100%;padding:8px 10px;border-radius:4px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s,color .15s}.us-nav-item:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.us-nav-item.active{background:var(--bg-modifier-selected);color:var(--header-primary)}.us-nav-separator{height:1px;background:var(--bg-modifier-accent);margin:6px 10px}.us-content{flex:1;min-width:0;display:flex;flex-direction:column;max-height:80vh}.us-content-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.us-close{background:transparent;border:none;color:var(--text-muted);font-size:28px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;transition:color .15s}.us-close:hover{color:var(--text-primary)}.us-back,.us-sidebar-close{display:none}.us-content-body{flex:1;overflow-y:auto;padding:16px 24px 24px}.us-card{background:var(--bg-secondary);border-radius:8px;padding:16px;margin-bottom:12px}.us-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:12px}.us-card label{margin-bottom:12px}.us-card label:last-child{margin-bottom:0}.us-card-actions{display:flex;justify-content:flex-end;gap:8px}.us-card-actions button{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500}.us-card-actions button:not(.btn-secondary){background:var(--bg-accent);color:#fff}.us-card-actions button:not(.btn-secondary):hover{background:var(--bg-accent-hover)}.settings-avatar-section{display:flex;justify-content:center;margin-bottom:16px}.settings-avatar{width:80px;height:80px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;overflow:hidden;cursor:pointer;position:relative}.settings-avatar img{width:100%;height:100%;object-fit:cover}.settings-avatar-letter{font-size:32px}.settings-avatar-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;opacity:0;transition:opacity .2s}.settings-avatar:hover .settings-avatar-overlay{opacity:1}.settings-textarea{display:block;width:100%;margin-top:8px;padding:10px;background:var(--bg-tertiary);border:1px solid #040405;border-radius:4px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;resize:vertical}.settings-textarea:focus{border-color:var(--brand-color)}.moderation-reason-input{display:block;width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid #040405;border-radius:4px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;resize:vertical}.moderation-reason-input:focus{border-color:var(--brand-color)}.settings-section{margin-top:8px}.settings-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.settings-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);margin-top:6px}.settings-toggle input{width:auto;margin-top:0;accent-color:var(--brand-color)}.settings-mic-test{display:flex;align-items:center;gap:12px;margin-top:6px}.mic-level{flex:1;height:8px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.mic-level-fill{height:100%;background:linear-gradient(90deg,#6bbf59,#d9a441 70%,#d1605a);width:0;transition:width .08s linear}.mic-playback{width:100%;margin-top:8px}.settings-range{width:100%;margin-top:6px;accent-color:var(--brand-color)}.settings-range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-top:4px}.settings-select{display:block;width:100%;margin-top:8px;padding:10px;background:var(--bg-tertiary);border:1px solid #040405;border-radius:4px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none}.settings-select:focus{border-color:var(--brand-color)}.settings-help{margin-top:6px;font-size:12px;color:var(--text-muted)}.sound-upload-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid var(--bg-tertiary)}.sound-upload-row:first-of-type{border-top:none}.sound-label{font-size:14px;color:var(--text-primary);min-width:90px;flex-shrink:0}.sound-controls{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.sound-preview{height:32px;max-width:200px}.sound-none{font-size:13px;color:var(--text-muted)}.voice-debug-panel{margin-top:16px}.voice-debug-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:background .15s}.voice-debug-header:hover{background:var(--bg-modifier-hover)}.voice-debug-title{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px}.voice-debug-toggle{transition:transform .2s;font-size:12px;color:var(--text-muted)}.voice-debug-toggle.expanded{transform:rotate(180deg)}.voice-debug-content{margin-top:8px;padding:16px;background:var(--bg-secondary);border-radius:8px}.voice-debug-not-active{color:var(--text-muted);font-size:13px;text-align:center;padding:16px}.voice-debug-actions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.voice-debug-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.voice-debug-metric{padding:12px;background:var(--bg-tertiary);border-radius:6px}.voice-debug-metric-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.voice-debug-metric-value{font-size:20px;font-weight:600}.voice-debug-metric-value.quality-good{color:#6bbf59}.voice-debug-metric-value.quality-warning{color:#d9a441}.voice-debug-metric-value.quality-error{color:#d1605a}.voice-debug-peer-list{display:flex;flex-direction:column;gap:12px}.voice-debug-peer-card{padding:12px;background:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--accent-primary)}.voice-debug-peer-header{font-weight:500;margin-bottom:8px}.voice-debug-peer-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;font-size:12px}.voice-debug-peer-metrics>div{display:flex;flex-direction:column}.voice-debug-peer-metrics .label{color:var(--text-muted);font-size:10px;text-transform:uppercase}.voice-debug-timestamp{font-size:11px;color:var(--text-muted);text-align:right;margin-top:12px}.btn-small{padding:4px 12px;font-size:13px;border-radius:4px;border:none;background:var(--brand-color);color:#fff;cursor:pointer;white-space:nowrap}.btn-small:hover{opacity:.9}.btn-small:disabled{opacity:.5;cursor:not-allowed}.btn-small.btn-danger{background:var(--danger)}.settings-camera-test{display:flex;align-items:center;gap:12px;margin-top:4px;margin-bottom:10px}.camera-preview-container{border-radius:8px;overflow:hidden;background:#000;aspect-ratio:16 / 9;max-width:100%}.camera-preview-video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1)}.camera-preview-placeholder{border-radius:8px;background:var(--bg-tertiary);aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.ptt-key-capture{display:block;width:100%;margin-top:8px;padding:10px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:4px;color:var(--text-primary);font-size:16px;font-family:Consolas,monospace;text-align:center;cursor:pointer;transition:border-color .2s}.ptt-key-capture:hover{border-color:var(--text-muted)}.ptt-key-capture.recording{border-color:var(--brand-color);color:var(--brand-color);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.keybind-row{display:flex;align-items:center;gap:12px;padding:8px 0}.keybind-label{flex:1;color:var(--text-primary);font-size:14px}.keybind-capture{flex:0 0 auto;width:200px;padding:8px 12px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:4px;color:var(--text-primary);font-size:13px;font-family:Consolas,monospace;text-align:center;cursor:pointer;transition:border-color .2s}.keybind-capture:hover{border-color:var(--text-muted)}.keybind-capture.recording{border-color:var(--brand-color);color:var(--brand-color);animation:pulse 1s ease-in-out infinite}.keybind-reset{flex:0 0 auto;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:color .15s}.keybind-reset:hover{color:var(--text-primary)}.profile-card-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1001}.user-profile-card{position:fixed;width:280px;background:var(--bg-primary);border-radius:8px;box-shadow:0 4px 20px #0006;z-index:1001;overflow:hidden}.profile-card-banner{height:60px;background:var(--bg-accent)}.profile-card-avatar{width:80px;height:80px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;overflow:hidden;margin:-40px 0 0 16px;border:4px solid var(--bg-primary)}.profile-card-avatar img{width:100%;height:100%;object-fit:cover}.profile-card-body{padding:12px 16px 16px}.profile-card-name{font-size:18px;font-weight:700;color:var(--header-primary)}.profile-card-status{font-size:13px;color:var(--text-secondary);margin-top:2px}.profile-card-username{font-size:13px;color:var(--text-muted);margin-bottom:8px}.profile-card-bio{font-size:13px;color:var(--text-secondary);padding-top:8px;border-top:1px solid var(--bg-modifier-hover);line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.clickable{cursor:pointer}.message-avatar.clickable:hover{opacity:.8}.message-author.clickable:hover{text-decoration:underline;cursor:pointer}.member-item{cursor:pointer}.context-menu{position:fixed;background:var(--bg-primary);border:1px solid var(--bg-modifier-accent);border-radius:4px;padding:4px;z-index:1002;min-width:160px;box-shadow:0 4px 12px #0006}.context-menu-item{display:block;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;border-radius:3px}.context-menu-item:hover{background:var(--bg-accent);color:#fff}.context-menu-item.danger{color:var(--danger)}.context-menu-item.danger:hover{background:var(--danger);color:#fff}.context-menu-separator{border-top:1px solid var(--bg-modifier-accent);margin:4px 0}.context-menu-volume{padding:8px 12px}.context-menu-volume-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-muted);margin-bottom:4px}.context-menu-volume input[type=range]{width:100%;accent-color:var(--brand-color, #5865f2);cursor:pointer}.channel-item-wrapper{position:relative;display:flex;align-items:center;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.channel-item-wrapper .channel-item{flex:1}.channel-item-wrapper[draggable=true] .channel-item,.channel-item-wrapper[draggable=true] .channel-item-btn{cursor:grab}.channel-item-wrapper.dragging .channel-item,.channel-item-wrapper.dragging .channel-item-btn{cursor:grabbing}.channel-edit-btn,.channel-delete-btn{display:none;position:absolute;right:4px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:3px;line-height:1}.channel-edit-btn{right:28px;font-size:12px;padding:3px 6px;letter-spacing:.02em;text-transform:uppercase}.channel-item-wrapper:hover .channel-delete-btn,.channel-item-wrapper:hover .channel-edit-btn{display:block}.channel-edit-btn:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.channel-delete-btn:hover{color:var(--danger);background:#ed42451a}.channel-item-wrapper.drag-over{outline:1px dashed var(--bg-accent);border-radius:4px}.channel-item-wrapper.dragging{opacity:.6}.channel-item.voice .channel-edit-btn,.channel-item.voice .channel-delete-btn{position:static;display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.channel-item.voice .channel-edit-btn{font-size:11px;padding:2px 6px}.channel-item.voice .channel-delete-btn{font-size:14px;padding:2px 6px}.channel-item.voice .channel-delete-btn:hover{color:var(--danger);background:#ed42451a}.modal-actions .btn-danger{background:var(--danger);color:#fff}.modal-actions .btn-danger:hover{filter:brightness(.95)}.server-settings-modal{max-width:800px}.server-icon-row{display:flex;align-items:center;gap:16px}.server-icon-preview{width:72px;height:72px;border-radius:36px;background:var(--bg-tertiary, #0f1114);border:1px solid var(--border-color, #42454a);color:var(--text-primary, #fff);font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.server-icon-preview img{width:100%;height:100%;object-fit:cover}.server-icon-actions{display:flex;flex-direction:column;gap:6px}.server-icon-upload-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:4px;background:var(--accent, #2cb7a0);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:fit-content}.server-icon-upload-btn input{display:none}.server-icon-hint{color:var(--text-muted, #b5b0a6);font-size:12px}.server-name-label{color:var(--text-secondary, #b5b0a6);font-size:12px;font-weight:600}.server-name-input{padding:8px 10px;background:var(--bg-tertiary, #0f1114);border:1px solid var(--border-color, #42454a);border-radius:4px;color:var(--text-primary, #fff);font-size:14px}.server-settings-section{display:flex;flex-direction:column;gap:10px;padding:8px 0 4px;border-top:1px solid var(--bg-modifier-accent)}.server-setting-row{display:flex;align-items:center;gap:10px;color:var(--text-secondary, #b5b0a6);font-size:13px}.server-setting-row input[type=checkbox]{width:16px;height:16px}.server-setting-label{min-width:64px;color:var(--text-secondary, #b5b0a6)}.server-setting-select{flex:1;min-width:180px;padding:6px 8px;background:var(--bg-tertiary, #0f1114);border:1px solid var(--border-color, #42454a);border-radius:4px;color:var(--text-primary, #fff);font-size:13px}.server-setting-select:disabled{opacity:.6;cursor:not-allowed}.server-setting-hint{color:var(--text-muted, #b5b0a6);font-size:12px}.server-error{color:#d1605a;font-size:13px}.audit-log-list{flex:1;overflow-y:auto;max-height:400px}.audit-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:14px}.audit-log-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--bg-modifier-accent);font-size:13px}.audit-log-item:last-child{border-bottom:none}.audit-icon{font-size:16px;flex-shrink:0;margin-top:1px}.audit-details{flex:1;line-height:1.4}.audit-actor{font-weight:600;color:var(--header-primary)}.audit-action{color:var(--text-secondary)}.audit-target{color:var(--header-primary);font-weight:600}.audit-extra{color:var(--text-muted)}.audit-time{display:block;color:var(--text-muted);font-size:11px;margin-top:2px}.members-tab{display:flex;flex-direction:column;gap:8px;overflow:hidden}.members-search{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--bg-modifier-accent);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none;box-sizing:border-box}.members-search:focus{border-color:var(--brand)}.members-manage-list{max-height:400px;overflow-y:auto}.member-manage-row{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:4px;transition:background .15s}.member-manage-row:hover{background:var(--bg-modifier-hover)}.member-manage-info{display:flex;align-items:center;gap:8px;min-width:0}.member-manage-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-weight:600;color:var(--text-primary)}.member-manage-avatar img{width:100%;height:100%;object-fit:cover}.member-manage-details{display:flex;flex-direction:column;min-width:0}.member-manage-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-manage-username{font-size:12px;color:var(--text-muted)}.member-manage-actions{display:flex;gap:6px;flex-shrink:0}.btn-danger-sm{padding:4px 10px;background:var(--danger);color:#fff;border:none;border-radius:3px;font-size:12px;cursor:pointer;transition:opacity .15s}.btn-danger-sm:hover{opacity:.85}.danger-zone{border:1px solid var(--danger);border-radius:8px;padding:16px;margin-top:8px}.danger-zone p{color:var(--text-secondary);font-size:14px;margin-bottom:12px}.danger-zone label{font-size:13px}.btn-danger:not(.btn-small){width:100%;padding:10px;background:var(--danger);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;margin-top:12px;transition:opacity .2s}.btn-danger:hover:not(:disabled){opacity:.9}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.channel-unread-dot{position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:8px;background:var(--text-primary, #fff);border-radius:0 4px 4px 0}.channel-item.unread{color:var(--text-primary, #fff);font-weight:600}.mention-badge{margin-left:auto;background:var(--danger, #d1605a);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.server-icon-wrapper{position:relative}.server-unread-dot{position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:8px;background:var(--text-primary, #fff);border-radius:0 4px 4px 0;z-index:1}.server-mention-badge{position:absolute;bottom:-2px;right:-2px;background:var(--danger, #d1605a);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;z-index:1}.mention{background:#2cb7a04d;color:#dee0fc;border-radius:3px;padding:0 2px;font-weight:500;cursor:pointer}.mention:hover{background:#2cb7a080;color:#fff}.mention-everyone,.mention-here{background:#d9a44133;color:#d9a441}.mention-everyone:hover,.mention-here:hover{background:#d9a44159;color:#fcc747}.mention-autocomplete{position:absolute;bottom:100%;left:0;right:0;background:var(--bg-secondary, #15171a);border-radius:8px;margin-bottom:4px;padding:4px 0;max-height:240px;overflow-y:auto;z-index:100;box-shadow:0 8px 16px #0000003d;border:1px solid rgba(255,255,255,.06)}.mention-autocomplete-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary, #b5b0a6)}.mention-autocomplete-item.selected{background:#2cb7a033;color:var(--text-primary, #fff)}.mention-autocomplete-item:hover{background:#2cb7a026}.mention-autocomplete-name{font-weight:500}.message-content.single-emoji{font-size:48px;line-height:1.2}.message-content.single-emoji .custom-emoji{width:48px;height:48px}.emoji-tooltip-wrap{position:relative;display:inline}.emoji-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-floating);border-radius:8px;padding:8px;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px 12px #0000004d;pointer-events:none;z-index:1000;white-space:nowrap}.emoji-tooltip img{width:64px;height:64px;object-fit:contain}.emoji-tooltip span{font-size:12px;color:var(--text-muted);font-weight:600}.emoji-tooltip-wrap:hover .emoji-tooltip{display:flex}.custom-emoji{display:inline;width:28px;height:28px;vertical-align:middle;object-fit:contain}.custom-emoji-reaction{width:22px;height:22px;vertical-align:middle;object-fit:contain}.emoji-autocomplete-img{width:22px;height:22px;object-fit:contain;margin-right:8px;vertical-align:middle}.roles-tab{display:flex;flex-direction:column;overflow-y:auto;flex:1;min-height:0}.emojis-tab{display:flex;flex-direction:column;gap:16px}.emoji-upload-form{background:var(--bg-secondary, #15171a);border-radius:8px;padding:16px}.emoji-upload-form h3{margin:0 0 12px;font-size:14px;color:var(--text-secondary, #b5b0a6)}.emoji-upload-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.emoji-upload-row input[type=text]{flex:1;padding:8px 10px;background:var(--bg-tertiary, #0f1114);border:1px solid var(--border-color, #42454a);border-radius:4px;color:var(--text-primary, #fff);font-size:14px}.emoji-upload-row input[type=file]{font-size:13px;color:var(--text-secondary, #b5b0a6)}.emoji-upload-row button{padding:8px 16px;background:var(--accent, #2cb7a0);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.emoji-upload-row button:disabled{opacity:.5;cursor:not-allowed}.emoji-upload-preview{width:32px;height:32px;object-fit:contain;border-radius:4px}.emoji-error{color:#d1605a;font-size:13px;margin:4px 0 0}.emoji-list{display:flex;flex-direction:column;gap:2px}.emoji-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;background:var(--bg-secondary, #15171a)}.emoji-item:hover{background:var(--bg-modifier-hover, #1b1d21)}.emoji-item-img{width:32px;height:32px;object-fit:contain}.emoji-item-name{flex:1;color:var(--text-secondary, #b5b0a6);font-size:14px}.emoji-item .role-delete-btn{margin-left:auto}.dm-icon svg{fill:var(--text-secondary)}.dm-icon.active svg{fill:var(--text-primary)}.server-sidebar-separator{width:32px;height:2px;background:var(--bg-tertiary);margin:4px auto;border-radius:1px}.dm-channel-item{display:flex;align-items:center;gap:8px;padding:6px 8px;width:100%}.dm-avatar{position:relative;width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;overflow:visible;font-size:14px;font-weight:600;color:var(--text-primary)}.dm-avatar img{width:32px;height:32px;border-radius:50%;object-fit:cover}.dm-avatar .presence-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border:2px solid var(--bg-secondary)}.dm-channel-info{flex:1;min-width:0;display:flex;flex-direction:column}.dm-channel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-channel-preview{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.channel-dm-icon{font-weight:700;font-size:20px;color:var(--text-muted);margin-right:4px}.new-dm-btn{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.new-dm-btn:hover{color:var(--text-primary)}.dm-search-container{padding:0 8px 8px}.dm-search-input{width:100%;padding:8px;background:var(--bg-primary);border:none;border-radius:4px;color:var(--text-primary);font-size:13px;outline:none;box-sizing:border-box}.dm-search-input::placeholder{color:var(--text-muted)}.dm-search-results{margin-top:4px;max-height:200px;overflow-y:auto}.dm-search-empty{padding:8px;color:var(--text-muted);font-size:13px}.dm-search-result-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:4px;text-align:left}.dm-search-result-item:hover{background:var(--bg-hover)}.dm-search-result-info{display:flex;flex-direction:column;min-width:0}.dm-search-result-name{font-size:14px;font-weight:500}.dm-search-result-username{font-size:12px;color:var(--text-muted)}.dm-tabs{display:flex;gap:0;flex:1;min-width:0}.dm-tab{flex:1;background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:600;padding:8px 0;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;position:relative}.dm-tab:hover{color:var(--text-primary)}.dm-tab.active{color:var(--text-primary);border-bottom-color:var(--accent, #5865f2)}.friend-request-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--red, #ed4245);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 4px;margin-left:6px;vertical-align:middle}.friends-list{display:flex;flex-direction:column;flex:1;overflow-y:auto;min-height:0}.add-friend-section{padding:8px 10px;position:relative}.add-friend-input{width:100%;padding:8px 10px;border:none;border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;outline:none;box-sizing:border-box}.add-friend-input:focus{box-shadow:0 0 0 1px var(--accent, #5865f2)}.friends-section{padding:0 0 8px}.friends-section-label{display:block;padding:12px 16px 4px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em}.friend-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:4px;margin:0 8px}.friend-item:hover{background:var(--bg-hover)}.friend-item-info{flex:1;min-width:0}.friend-item-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-item-actions{display:flex;gap:4px;flex-shrink:0;margin-left:auto}.friend-action-btn{background:var(--bg-tertiary);border:none;color:var(--text-muted);cursor:pointer;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.friend-action-btn:hover:not(:disabled){background:var(--bg-modifier-hover);color:var(--text-primary)}.friend-action-btn:disabled{opacity:.5;cursor:default}.friend-action-btn.accept{background:var(--green, #3ba55d);color:#fff}.friend-action-btn.accept:hover:not(:disabled){background:#2d8b4e;color:#fff}.friend-action-btn.decline{background:transparent;color:var(--text-muted)}.friend-action-btn.decline:hover:not(:disabled){background:var(--red, #ed4245);color:#fff}.profile-card-actions{display:flex;gap:8px;margin-top:12px}.profile-card-btn{flex:1;padding:7px 12px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.profile-card-btn:disabled{opacity:.5;cursor:default}.profile-card-btn.primary{background:var(--accent, #5865f2);color:#fff}.profile-card-btn.primary:hover:not(:disabled){background:#4752c4}.profile-card-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary)}.profile-card-btn.secondary:hover:not(:disabled){background:var(--bg-modifier-hover)}.profile-card-btn.danger{background:var(--bg-tertiary);color:var(--red, #ed4245)}.profile-card-btn.danger:hover:not(:disabled){background:var(--red, #ed4245);color:#fff}.search-header-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;font-size:16px;line-height:1}.search-header-btn:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.search-header-btn.active{color:var(--text-primary)}.pin-header-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;font-size:16px;line-height:1}.pin-header-btn:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.pin-header-btn.active{color:var(--text-primary)}.member-list-toggle-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;font-size:16px;line-height:1}.member-list-toggle-btn:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.member-list-toggle-btn.active{color:var(--text-primary)}.search-panel{width:360px;min-width:360px;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.search-panel-header{height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.24);font-weight:600;color:var(--header-primary);font-size:16px;flex-shrink:0}.search-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;padding:4px;line-height:1}.search-close-btn:hover{color:var(--text-primary)}.search-input-wrapper{padding:12px 12px 0;flex-shrink:0}.search-input{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:4px;color:var(--text-primary);font-size:14px;outline:none;box-sizing:border-box}.search-input:focus{border-color:var(--brand-color)}.search-input::placeholder{color:var(--text-muted)}.search-filter-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.search-filter-toggle:hover{color:var(--text-primary)}.search-filter-active-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-color)}.search-filters{padding:0 12px 8px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.search-filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em;margin-bottom:0}.search-filters select,.search-filters input[type=date]{padding:6px 8px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:4px;color:var(--text-primary);font-size:13px;outline:none}.search-filters select:focus,.search-filters input[type=date]:focus{border-color:var(--brand-color)}.search-filter-checkbox{flex-direction:row!important;align-items:center!important;gap:8px!important;cursor:pointer;text-transform:none!important;font-weight:400!important;font-size:13px!important}.search-filter-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}.search-clear-filters{background:none;border:none;color:var(--text-link);cursor:pointer;font-size:12px;padding:0;text-align:left}.search-clear-filters:hover{text-decoration:underline}.search-results-header{padding:4px 12px;font-size:12px;color:var(--text-muted);flex-shrink:0}.search-results{flex:1;overflow-y:auto;padding:0 8px 8px}.search-result-card{display:flex;flex-direction:column;gap:4px;padding:10px;margin-bottom:4px;background:var(--bg-primary);border:1px solid transparent;border-radius:4px;cursor:pointer;text-align:left;width:100%;transition:border-color .15s}.search-result-card:hover{border-color:var(--bg-modifier-accent)}.search-result-channel{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.search-result-meta{display:flex;align-items:center;gap:6px}.search-result-avatar{width:20px;height:20px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;overflow:hidden;flex-shrink:0}.search-result-avatar img{width:100%;height:100%;object-fit:cover}.search-result-author{font-size:13px;font-weight:600;color:var(--header-primary)}.search-result-time{font-size:11px;color:var(--text-muted);margin-left:auto}.search-result-content{font-size:14px;color:var(--text-secondary);line-height:1.375;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.search-highlight{background:#d9a4414d;color:#d9a441;border-radius:2px;padding:0 1px}.search-result-attachment-badge{font-size:11px;color:var(--text-muted);font-style:italic}.search-no-results{text-align:center;padding:24px 0;color:var(--text-muted);font-size:14px}.pinned-messages-modal{width:420px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.pinned-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--bg-tertiary)}.pinned-header-title{font-size:16px;font-weight:600;color:var(--header-primary)}.pinned-close-btn{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s,color .15s}.pinned-close-btn:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.pinned-list{display:flex;flex-direction:column;overflow-y:auto;padding:8px;gap:4px}.pinned-empty{text-align:center;padding:40px 24px}.pinned-empty-icon{font-size:32px;margin-bottom:12px;opacity:.4}.pinned-empty-text{color:var(--header-primary);font-size:15px;font-weight:600;margin-bottom:4px}.pinned-empty-hint{color:var(--text-muted);font-size:13px}.pinned-card{display:flex;align-items:flex-start;border-radius:6px;position:relative;transition:background .1s}.pinned-card:hover{background:var(--bg-modifier-hover)}.pinned-card-body{display:flex;gap:12px;padding:10px 12px;cursor:pointer;flex:1;min-width:0;align-items:flex-start}.pinned-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:600;font-size:14px;color:var(--text-primary);flex-shrink:0}.pinned-avatar img{width:100%;height:100%;object-fit:cover}.pinned-info{flex:1;min-width:0}.pinned-author{display:flex;gap:6px;align-items:baseline;margin-bottom:2px}.pinned-author-name{font-size:14px;font-weight:600;color:var(--header-primary)}.pinned-time{font-size:11px;color:var(--text-muted)}.pinned-excerpt{color:var(--text-secondary);font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pinned-unpin-btn{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:opacity .15s,background .15s,color .15s;margin:8px 8px 0 0;flex-shrink:0}.pinned-card:hover .pinned-unpin-btn{opacity:1}.pinned-unpin-btn:hover{color:var(--danger);background:var(--bg-modifier-hover)}.admin-panel-modal{max-width:920px}.admin-error{background:#ed42451a;border:1px solid var(--danger);color:var(--danger);padding:10px;border-radius:6px;margin-bottom:12px;font-size:14px}.admin-loading,.admin-empty{text-align:center;padding:24px 0;color:var(--text-muted)}.admin-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.admin-metric-value{font-size:22px;font-weight:600;color:var(--header-primary);margin-top:6px}.admin-section{display:flex;flex-direction:column;gap:12px}.admin-search{display:flex;gap:10px;align-items:center}.admin-search input{flex:1;padding:10px;border-radius:6px;border:1px solid #040405;background:var(--bg-tertiary);color:var(--text-primary)}.admin-count{color:var(--text-muted);font-size:12px}.admin-table{display:flex;flex-direction:column;gap:6px}.admin-table-header,.admin-table-row{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1.5fr 1fr;gap:10px;align-items:center}.admin-table-header{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:8px 10px}.admin-table-row{background:var(--bg-tertiary);border-radius:6px;padding:10px;font-size:13px}.admin-table-users{grid-template-columns:2fr 2fr 2fr 1.5fr 1fr}.admin-table-codes{grid-template-columns:2fr 1fr 1.5fr 1.5fr .8fr}.admin-strong{color:var(--header-primary);font-weight:600}.admin-mono{font-family:Consolas,monospace;font-size:12px;color:var(--text-secondary)}.admin-setting-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-setting-title{color:var(--header-primary);font-weight:600;margin-bottom:4px}.admin-setting-desc{color:var(--text-muted);font-size:12px}.admin-code-card{flex-direction:column;align-items:stretch}.admin-code-actions{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;margin-top:8px}.admin-code-actions input{padding:8px 10px;border-radius:6px;border:1px solid #040405;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.admin-new-code{background:var(--bg-secondary);border-radius:6px;padding:10px 12px;font-size:13px;color:var(--text-secondary)}.admin-sort-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.admin-sort-btn{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.admin-sort-btn:hover{background:var(--bg-modifier-hover)}.admin-sort-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-copy-btn{background:none;border:none;cursor:pointer;font-size:14px;margin-left:6px;opacity:.6;transition:opacity .2s}.admin-copy-btn:hover{opacity:1}.admin-action-btn{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:4px 8px;font-size:14px;cursor:pointer;margin-right:4px}.admin-action-btn:hover{background:var(--bg-modifier-hover)}.admin-actions-cell{display:flex;gap:4px;align-items:center}.admin-action-btn.admin-danger{color:#ed4245}.admin-action-btn.admin-danger:hover{color:#fff;background:#ed4245}.admin-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px;background:var(--bg-secondary);border-radius:8px}.admin-pagination button{padding:8px 16px;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px}.admin-pagination button:hover:not(:disabled){background:var(--bg-modifier-hover)}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-pagination span{font-size:13px;color:var(--text-secondary)}.admin-date{font-size:12px;color:var(--text-muted)}@media(max-width:720px){.admin-table-header,.admin-table-row,.admin-table-users,.admin-table-codes{grid-template-columns:1fr 1fr}.admin-code-actions{grid-template-columns:1fr}.admin-pagination{flex-direction:column;gap:8px}.admin-sort-row{flex-direction:column}}.vcv-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.vcv-user-limit-bar{padding:4px 12px;font-size:12px;color:var(--text-muted);text-align:right;flex-shrink:0}.vcv-reconnecting-banner{background:var(--danger);color:#fff;text-align:center;padding:6px 12px;font-size:13px;font-weight:600;animation:pulse-reconnect 2s ease-in-out infinite}.vcv-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--text-secondary);font-size:14px}.vcv-error-fallback button{padding:6px 16px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.vcv-error-fallback button:hover{opacity:.9}@keyframes pulse-reconnect{0%,to{opacity:1}50%{opacity:.7}}.vcv-scroll-area{flex:1;overflow-y:auto;padding:24px}.vcv-screen-share-fullscreen{flex:1;display:flex;align-items:center;justify-content:center}.vcv-watching-layout{flex:1;display:flex;min-height:0;position:relative}.vcv-watching-main{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.vcv-watching-panel{width:240px;min-width:240px;background:var(--bg-secondary);border-left:1px solid var(--bg-tertiary);display:flex;flex-direction:column;overflow:hidden}.vcv-watching-panel-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.vcv-watching-tile{display:flex;flex-direction:column;align-items:center;padding:6px;border-radius:6px;gap:4px}.vcv-watching-tile .vcv-video{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:4px}.vcv-watching-avatar-wrap{width:48px;height:48px;border-radius:50%;border:3px solid transparent;padding:2px;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease}.vcv-watching-avatar-wrap.speaking{border-color:var(--success)}.vcv-watching-avatar-wrap .vcv-avatar{width:42px;height:42px;font-size:16px}.vcv-watching-tile-name{color:var(--text-primary);font-size:12px;font-weight:500;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.vcv-toggle-panel{position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--bg-tertiary);border:1px solid var(--bg-primary);color:var(--text-muted);width:20px;height:48px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;border-radius:4px 0 0 4px;z-index:1;padding:0}.vcv-toggle-panel:hover{color:var(--text-primary);background:var(--bg-accent)}.vcv-watching-layout.panel-open .vcv-toggle-panel{right:240px}.vcv-screen-share-section{margin-bottom:24px}.vcv-not-connected{text-align:center;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 16px}.vcv-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;padding-bottom:24px}.vcv-card{display:flex;flex-direction:column;align-items:center;width:96px;gap:6px;position:relative}.vcv-avatar-ring{border-radius:50%;border:3px solid transparent;padding:2px;transition:border-color .15s ease}.vcv-avatar-ring.speaking{border-color:var(--success)}.vcv-avatar{width:64px;height:64px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;overflow:hidden}.vcv-avatar img{width:100%;height:100%;object-fit:cover;display:block}.vcv-mute-overlay{position:absolute;top:50px;right:8px;background:var(--bg-tertiary);border-radius:10px;padding:2px 4px;display:flex;gap:2px;align-items:center;justify-content:center;font-size:10px}.vcv-badges{display:flex;gap:3px;justify-content:center}.vcv-badge{color:#fff;font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;letter-spacing:.4px;line-height:1.2;white-space:nowrap}.vcv-badge.live{background:var(--danger)}.vcv-badge.cam{background:#5865f2}.vcv-badge.tts{background:var(--bg-accent)}.vcv-name{color:var(--text-primary);font-size:13px;font-weight:500;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:96px}.vcv-empty{color:var(--text-muted);font-size:16px;text-align:center;padding:48px 0}.vcv-connect-bar{padding:12px 16px;border-top:1px solid var(--bg-tertiary);background:var(--bg-secondary)}.vcv-mobile-bar-wrapper,.vcv-mobile-bar{display:none}@media(max-width:768px){.vcv-mobile-bar-wrapper{display:flex;flex-direction:column}.vcv-mobile-ptt-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;margin:0 12px;border:2px solid var(--border);border-radius:12px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:15px;font-weight:600;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transition:background .15s,border-color .15s,color .15s}.vcv-mobile-ptt-btn.active{background:var(--bg-accent);border-color:var(--bg-accent);color:#fff}.vcv-mobile-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-secondary)}.vcv-mobile-btn{width:48px;height:48px;border-radius:50%;border:none;background:var(--bg-tertiary);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.vcv-mobile-btn.active{background:var(--bg-accent)}.vcv-mobile-btn.vc-mode-active{background:var(--bg-accent);color:#fff}.vcv-mobile-btn-label{font-size:11px;font-weight:700;letter-spacing:.5px}.vcv-mobile-btn.sharing{background:var(--danger);color:#fff;animation:vc-sharing-pulse 2s ease-in-out infinite}.vcv-mobile-btn.disconnect{background:#ed4245;color:#fff}.vcv-mobile-btn-slash{position:absolute;top:50%;left:50%;width:28px;height:2px;background:#ed4245;transform:translate(-50%,-50%) rotate(-45deg);border-radius:1px;pointer-events:none}.vcv-mobile-btn.active .vcv-mobile-btn-slash{background:#fff}}.vcv-connect-btn{width:100%;padding:10px;background:var(--bg-accent);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s}.vcv-connect-btn:hover{background:var(--bg-accent-hover)}.vcv-card.has-video{width:180px}.vcv-video{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:4px;background:#000}.vcv-focused-container{display:flex;flex-direction:column;flex:1;min-height:0}.vcv-focused-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--bg-primary)}.vcv-focused-name{font-size:15px;font-weight:600;color:var(--text-primary)}.vcv-focused-actions{display:flex;align-items:center;gap:8px}.vcv-focused-chip{background:var(--bg-accent);color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.vcv-focused-chip:hover{background:var(--bg-accent-hover)}.vcv-focused-chip.active{background:var(--danger)}.vcv-focused-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px}.vcv-focused-close:hover{color:var(--text-primary)}.vcv-focused-video-area{flex:1;display:flex;align-items:center;justify-content:center;background:#000;min-height:0}.vcv-focused-video-area .vcv-video{width:100%;height:100%;object-fit:contain;border-radius:0}.vcv-focused-avatar{width:120px;height:120px;border-radius:50%;background:var(--bg-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:600;overflow:hidden}.vcv-focused-avatar img{width:100%;height:100%;object-fit:cover}.vcv-participant-strip{display:flex;gap:12px;padding:8px 16px;overflow-x:auto;background:var(--bg-secondary);border-top:1px solid var(--bg-tertiary)}.vcv-strip-card{display:flex;flex-direction:column;align-items:center;width:120px;min-width:120px;gap:4px;cursor:pointer;padding:4px;border-radius:4px}.vcv-strip-card:hover{background:var(--bg-tertiary)}.vcv-strip-card.focused{background:var(--bg-tertiary);outline:2px solid var(--bg-accent);outline-offset:-2px}.vcv-strip-card .vcv-video{aspect-ratio:16 / 9;border-radius:4px}.vcv-strip-card .vcv-avatar-ring{transform:scale(.7)}.update-banner{position:sticky;top:0;z-index:3;display:flex;justify-content:center;padding:6px 12px;font-size:12px;letter-spacing:.2px;color:var(--text-primary);background:#3498db24;border-bottom:1px solid rgba(52,152,219,.35);box-shadow:0 1px #0003}.update-banner.available,.update-banner.downloaded{background:#2ecc7124;border-bottom:1px solid rgba(46,204,113,.35)}.update-banner.downloading{background:#3498db24;border-bottom:1px solid rgba(52,152,219,.35)}.update-banner.error{background:#e74c3c2e;border-bottom:1px solid rgba(231,76,60,.45)}.update-banner.not-available{background:#95a5a61f;border-bottom:1px solid rgba(149,165,166,.3)}.update-banner-content{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}.update-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--text-primary);border-radius:50%;animation:update-spin .8s linear infinite}@keyframes update-spin{to{transform:rotate(360deg)}}.update-action-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.18);color:var(--text-primary);padding:2px 10px;border-radius:3px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}.update-action-btn:hover{background:#fff3}.update-dismiss-btn{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:0 2px;line-height:1;margin-left:4px}.update-dismiss-btn:hover{color:var(--text-primary)}.update-progress-bar{width:120px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.update-progress-fill{height:100%;background:#3498dbcc;border-radius:2px;transition:width .3s ease}.screen-share-picker-modal{background:var(--bg-primary);border-radius:8px;padding:20px;max-width:720px;width:90%;max-height:80vh;overflow-y:auto}.screen-share-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.screen-share-picker-header h2{margin:0;font-size:18px;color:var(--text-primary)}.screen-share-picker-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px}.screen-share-picker-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.screen-share-picker-section{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin:16px 0 8px}.screen-share-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.screen-share-picker-item{background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;padding:8px;cursor:pointer;text-align:center;transition:border-color .15s ease}.screen-share-picker-item:hover{border-color:var(--accent-primary)}.screen-share-picker-thumbnail{width:100%;aspect-ratio:16 / 9;object-fit:contain;border-radius:4px;background:#000}.screen-share-picker-label{display:flex;align-items:center;gap:6px;margin-top:6px;justify-content:center}.screen-share-picker-icon{width:16px;height:16px;flex-shrink:0}.screen-share-picker-name{display:block;margin-top:6px;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-share-picker-label .screen-share-picker-name{margin-top:0}.voice-chat-panel{width:360px;min-width:360px;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg-secondary)}.voice-chat-header{height:48px;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-primary)}.voice-chat-close{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px}.voice-chat-close:hover{background:var(--bg-hover);color:var(--text-primary)}.voice-chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column}.voice-chat-start{text-align:center;color:var(--text-muted);font-size:12px;padding:8px 0}.voice-chat-panel .message-input-container{border-top:1px solid var(--border)}.voice-chat-fab{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--bg-accent, #5865f2);border:none;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0006;z-index:1000;transition:background .15s ease,transform .15s ease}.voice-chat-fab:hover{transform:scale(1.08);background:var(--bg-accent-hover, #4752c4)}.voice-chat-fab.active{background:var(--bg-active, rgba(255, 255, 255, .15))}.voice-chat-unread-badge{position:absolute;top:-4px;right:-4px;background:var(--error, #ed4245);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.voice-chat-floating-panel{position:fixed;bottom:82px;right:24px;width:380px;height:500px;z-index:999;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column}.voice-chat-floating-panel .voice-chat-panel{width:100%;min-width:0;height:100%;border-left:none;border-radius:12px}.voice-chat-toast{position:fixed;bottom:82px;right:24px;transform:translateY(20px);opacity:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:10px;max-width:360px;min-width:200px;cursor:pointer;box-shadow:0 4px 12px #0006;transition:opacity .25s ease,transform .25s ease;z-index:998;pointer-events:auto}.voice-chat-toast.visible{opacity:1;transform:translateY(0)}.voice-chat-toast:hover{background:var(--bg-hover)}.voice-chat-toast-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.voice-chat-toast-avatar img{width:100%;height:100%;object-fit:cover}.voice-chat-toast-avatar-fallback{width:100%;height:100%;background:var(--bg-accent, #5865f2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.voice-chat-toast-body{display:flex;flex-direction:column;gap:2px;min-width:0}.voice-chat-toast-name{font-size:13px;font-weight:600;color:var(--text-primary)}.voice-chat-toast-text{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-channel-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;margin-top:12px;margin-bottom:8px}.edit-channel-toggle-text{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--text-secondary)}.edit-channel-toggle-text .server-setting-hint{margin-top:0}.server-name-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer;padding:0;min-width:0;overflow:hidden}.server-name-btn:hover{color:var(--text-secondary)}.server-dropdown-arrow{flex-shrink:0;opacity:.6}.server-dropdown-menu{position:absolute;top:100%;left:4px;right:4px}.mute-icon{font-size:12px;opacity:.5;flex-shrink:0}.channel-mute-icon{font-size:11px;opacity:.4;margin-left:auto;flex-shrink:0}.muted-channel{opacity:.5}.notification-settings-modal{max-width:480px}.notif-mute-row{display:flex;align-items:center;gap:10px}.notif-unmute-btn{background:var(--bg-accent);color:#fff}.notif-unmute-btn:hover{background:var(--bg-accent-hover)}.notif-muted-badge{font-size:12px;color:var(--danger);font-weight:600}.notif-level-options{display:flex;flex-direction:column;gap:8px;margin-top:8px}.notif-radio{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);cursor:pointer}.notif-radio input[type=radio]{accent-color:var(--bg-accent)}.wp-container{display:flex;flex:1;min-height:0;overflow:hidden}.wp-main{display:flex;flex-direction:column;flex:1;min-width:0}.wp-video-wrapper{flex:1;background:#000;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;position:relative}.wp-video-wrapper video{width:100%;height:100%;object-fit:contain}.wp-error-overlay{position:absolute;inset:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:3;color:var(--text-secondary)}.wp-error-overlay svg{opacity:.6}.wp-error-message{font-size:14px;max-width:300px;text-align:center;line-height:1.4}.wp-pause-overlay{position:absolute;inset:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:2;pointer-events:none;animation:wp-pause-fade-in .2s ease}@keyframes wp-pause-fade-in{0%{opacity:0}to{opacity:1}}.wp-pause-icon{color:#fffc;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.wp-pause-label{color:#ffffffb3;font-size:14px;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.6)}.wp-controls{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:0;flex-shrink:0}.wp-seek-bar{height:4px;background:var(--bg-tertiary);position:relative;transition:height .15s}.wp-seek-bar:hover{height:6px}.wp-seek-fill{height:100%;background:var(--bg-accent);border-radius:0 2px 2px 0;transition:width .1s linear}.wp-controls-row{display:flex;align-items:center;padding:6px 12px;gap:12px}.wp-controls-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.wp-controls-center{flex:1;min-width:0;text-align:center}.wp-controls-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.wp-ctrl-btn{background:none;color:var(--text-primary);font-size:16px;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center}.wp-ctrl-btn:hover{background:var(--bg-modifier-hover)}.wp-stop-btn:hover{background:var(--danger);color:#fff}.wp-time{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.wp-title{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-sync-badge{background:var(--bg-accent);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px}.wp-volume{display:flex;align-items:center;gap:4px}.wp-volume-btn{padding:4px 6px!important}.wp-volume-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none;cursor:pointer}.wp-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);cursor:pointer}.wp-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text-primary);border:none;cursor:pointer}.wp-player-persistent{z-index:5}.wp-player-persistent.wp-full{position:absolute;inset:49px 0 0}.wp-player-persistent.wp-full .wp-container,.wp-player-persistent.wp-full .wp-main{height:100%}.wp-player-persistent.wp-mini{position:fixed;bottom:80px;right:24px;width:360px;z-index:100;border-radius:8px;background:var(--bg-secondary);box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff14;overflow:hidden}.wp-mini-video-wrap{display:flex;flex-direction:column}.wp-mini-video{width:100%;height:200px;background:#000;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.wp-mini-video video{width:100%;height:100%;object-fit:contain}.wp-mini-info{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.wp-mini-title{font-size:13px;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-mini-controls{display:flex;align-items:center;gap:6px}.wp-mini-time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.wp-mini-spacer{flex:1}.wp-mini-volume{display:flex;align-items:center;gap:2px}.wp-mini-volume .wp-volume-slider{width:0;opacity:0;transition:width .15s,opacity .15s}.wp-mini-volume.show .wp-volume-slider{width:60px;opacity:1}.wp-pip-btn.active{color:var(--bg-accent)}.wp-pip-indicator{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;color:var(--text-muted);font-size:14px;font-weight:500;z-index:2;pointer-events:none}.wp-tune-in-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:8px 12px 0;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px}.wp-tune-in-bar svg{flex-shrink:0;color:var(--bg-accent)}.wp-tune-in-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-tune-in-btn{flex-shrink:0;background:var(--bg-accent);color:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s}.wp-tune-in-btn:hover{opacity:.85}.wp-tune-out-btn:hover{color:var(--text-warning, #faa61a)}.wp-fullscreen-btn.active{color:var(--bg-accent)}.wp-player-persistent:fullscreen{background:#000}.wp-player-persistent:fullscreen .wp-container{height:100%}.wp-player-persistent:fullscreen .wp-main{height:100%}.wp-player-persistent:fullscreen .wp-video-wrapper{flex:1;min-height:0}.wp-player-persistent:fullscreen .wp-video-wrapper video,.wp-player-persistent:fullscreen .wp-video-wrapper iframe{width:100%;height:100%;object-fit:contain}.screen-share-header-actions{display:flex;align-items:center;gap:8px}.screen-share-fullscreen-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.screen-share-fullscreen-btn:hover{color:var(--text-primary);background:#ffffff14}.screen-share-fullscreen-btn.active{color:var(--bg-accent)}.screen-share-container:fullscreen{background:#000;padding:0}.screen-share-container:fullscreen .screen-share-header{position:absolute;top:0;left:0;right:0;z-index:10;padding:12px 16px;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);opacity:0;transition:opacity .2s}.screen-share-container:fullscreen:hover .screen-share-header{opacity:1}.screen-share-container:fullscreen .screen-share-video-wrapper{border-radius:0;height:100%}.screen-share-container:fullscreen .screen-share-video{width:100%;height:100%}.wpq-panel{width:280px;background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.wpq-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color);font-size:14px;font-weight:600;color:var(--header-primary)}.wpq-close{background:none;color:var(--text-muted);font-size:16px;padding:2px 6px;border-radius:4px}.wpq-close:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.wpq-list{flex:1;overflow-y:auto;padding:8px}.wpq-empty{color:var(--text-muted);font-size:13px;text-align:center;padding:24px 0}.wpq-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:grab;transition:background .15s}.wpq-item:hover{background:var(--bg-modifier-hover)}.wpq-item-dragover{border-top:2px solid var(--bg-accent)}.wpq-item-thumb{width:48px;height:32px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary)}.wpq-item-thumb img{width:100%;height:100%;object-fit:cover}.wpq-item-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px}.wpq-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wpq-item-title{font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpq-item-duration{font-size:11px;color:var(--text-muted)}.wpq-item-remove{background:none;color:var(--text-muted);font-size:14px;padding:2px 6px;border-radius:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.wpq-item:hover .wpq-item-remove{opacity:1}.wpq-item-remove:hover{color:var(--danger);background:var(--bg-modifier-hover)}.wpq-header-actions{display:flex;align-items:center;gap:4px}.wpq-clear-btn{background:none;color:var(--text-muted);padding:4px 6px;border-radius:4px;display:flex;align-items:center}.wpq-clear-btn:hover{color:var(--danger);background:var(--bg-modifier-hover)}.wpq-item-grip{color:var(--text-muted);flex-shrink:0;cursor:grab;display:flex;align-items:center;opacity:0;transition:opacity .15s}.wpq-item:hover .wpq-item-grip{opacity:.6}.wpq-footer{padding:8px;border-top:1px solid var(--border-color)}.wpq-add-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:6px;background:var(--bg-modifier-hover);color:var(--text-primary);font-size:13px;font-weight:500;transition:background .15s}.wpq-add-btn:hover{background:var(--bg-accent);color:#fff}.mlb-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100}.mlb-container{background:var(--bg-primary);border-radius:10px;width:90vw;max-width:1000px;height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 30px #0006}.mlb-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-color)}.mlb-header h3{color:var(--header-primary);font-size:16px;margin:0}.mlb-close-btn{background:none;color:var(--text-muted);font-size:18px;padding:4px 8px;border-radius:4px}.mlb-close-btn:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.mlb-body{display:flex;flex:1;min-height:0}.mlb-sidebar{width:200px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.mlb-provider-select{padding:8px;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:2px}.mlb-provider-btn{background:none;color:var(--text-secondary);font-size:13px;padding:6px 10px;border-radius:4px;text-align:left}.mlb-provider-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.mlb-provider-btn.active{background:var(--bg-modifier-selected);color:var(--text-primary)}.mlb-library-list{padding:8px;display:flex;flex-direction:column;gap:2px}.mlb-library-btn{background:none;color:var(--text-secondary);font-size:13px;padding:8px 10px;border-radius:4px;text-align:left;display:flex;align-items:center;justify-content:space-between}.mlb-library-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.mlb-library-btn.active{background:var(--bg-modifier-selected);color:var(--text-primary)}.mlb-library-type{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.mlb-content{flex:1;display:flex;flex-direction:column;min-width:0}.mlb-search{padding:10px 14px;border-bottom:1px solid var(--border-color)}.mlb-search-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;color:var(--text-primary);font-size:14px;outline:none}.mlb-search-input:focus{border-color:var(--bg-accent)}.mlb-search-input::placeholder{color:var(--text-muted)}.mlb-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--border-color);gap:2px;font-size:13px}.mlb-breadcrumb{background:none;color:var(--text-link);font-size:13px;padding:2px 4px;border-radius:3px}.mlb-breadcrumb:hover{background:var(--bg-modifier-hover);text-decoration:underline}.mlb-breadcrumb-sep{display:flex;align-items:center;gap:2px}.mlb-breadcrumb-arrow{color:var(--text-muted);margin:0 2px}.mlb-breadcrumb-current{color:var(--text-primary);font-weight:500;padding:2px 4px}.mlb-grid{flex:1;overflow-y:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;align-content:start}.mlb-card{background:var(--bg-secondary);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.mlb-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.mlb-card-container:hover .mlb-card-browse-overlay{opacity:1}.mlb-card-thumb{aspect-ratio:16 / 9;background:var(--bg-tertiary);overflow:hidden;position:relative}.mlb-card-browse-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;opacity:0;transition:opacity .15s}.mlb-card-thumb img{width:100%;height:100%;object-fit:cover}.mlb-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px}.mlb-card-info{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.mlb-card-title{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mlb-card-year,.mlb-card-duration,.mlb-card-parent{font-size:11px;color:var(--text-muted)}.mlb-card-actions{display:flex;gap:4px;padding:0 10px 8px}.mlb-play-btn,.mlb-queue-btn{flex:1;padding:5px 0;border-radius:4px;font-size:12px;font-weight:600}.mlb-play-btn{background:var(--bg-accent);color:#fff}.mlb-play-btn:hover{background:var(--bg-accent-hover)}.mlb-queue-btn{background:var(--bg-modifier-hover);color:var(--text-primary)}.mlb-queue-btn:hover{background:var(--bg-modifier-active)}.mlb-loading,.mlb-empty-results,.mlb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:14px;gap:8px;padding:24px}.mlb-empty p{margin:0}.mlb-tabs{display:flex;gap:4px}.mlb-tab{background:none;color:var(--text-muted);font-size:14px;font-weight:600;padding:6px 14px;border-radius:6px;cursor:pointer}.mlb-tab:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.mlb-tab.active{color:var(--text-primary);background:var(--bg-modifier-selected)}.mlb-yt-section{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.mlb-yt-input-row{display:flex;gap:8px}.mlb-yt-input{flex:1;padding:10px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;outline:none}.mlb-yt-input:focus{border-color:var(--accent-color)}.mlb-yt-input::placeholder{color:var(--text-muted)}.mlb-yt-load-btn{padding:10px 18px;border-radius:6px;background:var(--accent-color);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.mlb-yt-load-btn:hover:not(:disabled){opacity:.9}.mlb-yt-load-btn:disabled{opacity:.5;cursor:not-allowed}.mlb-yt-error{color:#f04747;font-size:13px}.mlb-yt-preview{display:flex;gap:14px;background:var(--bg-secondary);border-radius:8px;padding:12px;align-items:center}.mlb-yt-thumb{width:180px;height:100px;object-fit:cover;border-radius:6px;flex-shrink:0}.mlb-yt-preview-info{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.mlb-yt-preview-title{color:var(--text-primary);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mlb-yt-preview-actions{display:flex;gap:8px}.wp-yt-player{width:100%;height:100%}.wp-yt-player iframe{width:100%;height:100%;border:none}.media-tab{display:flex;flex-direction:column;gap:16px}.mps-provider-list{display:flex;flex-direction:column;gap:8px}.mps-provider-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-tertiary);border-radius:6px}.mps-provider-info{display:flex;align-items:center;gap:10px}.mps-provider-name{font-size:14px;font-weight:500;color:var(--text-primary)}.mps-provider-type{font-size:11px;color:var(--text-muted);background:var(--bg-modifier-hover);padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.mps-form{display:flex;flex-direction:column;gap:12px}.mps-form-row{display:flex;flex-direction:column;gap:4px}.mps-form-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.mps-form-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:8px 10px;color:var(--text-primary);font-size:14px;outline:none}.mps-form-input:focus{border-color:var(--bg-accent)}.mps-form-input::placeholder{color:var(--text-muted)}.mps-link-btn{background:var(--bg-accent);color:#fff;padding:10px 16px;border-radius:4px;font-size:14px;font-weight:600;margin-top:4px;align-self:flex-start}.mps-link-btn:hover:not(:disabled){background:var(--bg-accent-hover)}.mps-link-btn:disabled{opacity:.5;cursor:not-allowed}.vcv-watch-badge{background:#e6a320;color:#000;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;line-height:1;letter-spacing:.5px;margin-left:6px}.audio-trimmer{background:var(--bg-secondary);border-radius:8px;padding:12px;margin-top:8px}.audio-trimmer-canvas{width:100%;height:80px;border-radius:4px;cursor:col-resize;display:block}.audio-trimmer-time{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-top:6px;padding:0 2px}.audio-trimmer-actions{display:flex;gap:8px;margin-top:10px}.audio-trimmer-actions button{padding:6px 14px;border:none;border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:13px}.audio-trimmer-actions button:first-child{background:var(--accent);color:#fff}.audio-trimmer-actions button:hover{opacity:.85}.audio-trimmer-error{color:var(--danger);font-size:13px}.soundboard-tab .us-card{margin-bottom:16px}.sb-upload-row{display:flex;gap:8px;align-items:center;margin-top:8px}.sb-upload-row input[type=text]{flex:1;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px}.sb-clip-list{display:flex;flex-direction:column;gap:4px}.sb-clip-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px}.sb-clip-name{flex:1;font-size:14px;color:var(--text-primary);font-weight:500}.sb-clip-duration{font-size:12px;color:var(--text-muted);min-width:36px;text-align:right}.sb-clip-preview{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;color:var(--text-primary)}.sb-clip-preview:hover{background:var(--bg-tertiary)}.voice-controls-wrapper{display:flex;flex-direction:column}.soundboard-panel{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:10px 12px}.soundboard-header{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;letter-spacing:.5px}.soundboard-grid{display:flex;flex-wrap:wrap;gap:6px}.soundboard-clip-btn{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.soundboard-clip-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.soundboard-clip-btn:active{transform:scale(.96)}.soundboard-clip-label{pointer-events:none}.soundboard-empty{color:var(--text-muted);font-size:13px;text-align:center;padding:12px 0}@keyframes nameplate-shimmer{0%{background-position:0% center}to{background-position:200% center}}@keyframes nameplate-shimmer-300{0%{background-position:0% center}to{background-position:150% center}}@keyframes nameplate-shimmer-400{0%{background-position:0% center}to{background-position:133.33% center}}@keyframes nameplate-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes msg-glow{0%,to{box-shadow:-2px 0 6px #7289da1a}50%{box-shadow:-4px 0 16px #7289da40}}@keyframes msg-holo-shimmer{0%{background-position:0% center}to{background-position:150% center}}@keyframes phantom-flicker{0%,to{opacity:.6;text-shadow:0 0 12px rgba(255,255,255,.25),0 0 30px rgba(200,200,255,.15)}50%{opacity:1;text-shadow:0 0 16px rgba(255,255,255,.5),0 0 40px rgba(200,200,255,.3)}}@keyframes spectral-pulse{0%,to{border-color:#ffffff14;border-left-color:#ffffff26}50%{border-color:#ffffff26;border-left-color:#ffffff4d;box-shadow:0 0 12px #ffffff0d}}@keyframes ember-glow{0%,to{box-shadow:-4px 0 14px #ff450026}50%{box-shadow:-6px 0 20px #ff45004d}}@keyframes nameplate-glitch{0%{transform:translate(0) skew(0)}25%{transform:translate(2px,-1px) skew(-1deg)}50%{transform:translate(-1px,1px) skew(.5deg)}75%{transform:translate(1px,-2px) skew(-.5deg)}to{transform:translate(0) skew(0)}}@keyframes nameplate-chroma-shift{0%{filter:hue-rotate(0deg) brightness(1.1)}to{filter:hue-rotate(360deg) brightness(1.1)}}.admin-cosmetics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px}.cosmetic-card{background:var(--bg-tertiary);border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:border-color .15s}.cosmetic-card:hover{border-color:#ffffff26}.cosmetic-card.selected{border-color:var(--accent)}.cosmetic-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cosmetic-card-name{font-weight:600;font-size:14px;color:var(--text-primary)}.cosmetic-card-rarity{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.cosmetic-card-type{font-size:11px;color:var(--text-muted);margin-bottom:8px}.cosmetic-card-preview{background:var(--bg-primary);border-radius:6px;padding:10px;margin-bottom:8px}.cosmetic-preview-name{font-weight:600;font-size:14px;display:inline-block}.cosmetic-preview-msg{padding:8px 12px;border-radius:4px}.cosmetic-preview-msg-author{font-weight:600;font-size:14px;margin-bottom:2px}.cosmetic-preview-msg-text{color:var(--text-secondary);font-size:13px}.cosmetic-card-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.cosmetic-card-actions{display:flex;gap:6px;margin-top:8px}.cosmetic-card-actions button{flex:1;padding:4px 8px;font-size:12px;border-radius:4px;border:none;cursor:pointer;background:var(--bg-secondary);color:var(--text-secondary)}.cosmetic-card-actions button:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.cosmetic-card-actions button.danger:hover{background:#ed424533;color:#ed4245}.cosmetic-form{display:flex;flex-direction:column;gap:12px}.cosmetic-form-row{display:flex;gap:12px}.cosmetic-form-row>*{flex:1}.cosmetic-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.cosmetic-form input,.cosmetic-form select,.cosmetic-form textarea{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:8px;color:var(--text-primary);font-size:14px;font-family:inherit}.cosmetic-form textarea{min-height:80px;font-family:Courier New,monospace;font-size:12px;resize:vertical}.cosmetic-form-actions{display:flex;gap:8px;justify-content:flex-end}.cosmetic-live-preview{background:var(--bg-primary);border-radius:8px;padding:16px;margin-top:8px;border:1px solid rgba(255,255,255,.06)}.cosmetic-live-preview-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cosmetic-assign-section{margin-top:16px}.cosmetic-assign-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.cosmetic-assign-row input{flex:1}.cosmetic-user-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:6px;margin-top:4px;max-height:240px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px #0000004d}.cosmetic-user-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;transition:background .1s}.cosmetic-user-dropdown-item:hover{background:var(--bg-tertiary)}.cosmetic-user-dropdown-avatar{width:32px;height:32px;flex-shrink:0}.cosmetic-user-dropdown-avatar img{width:32px;height:32px;border-radius:50%;object-fit:cover}.cosmetic-user-dropdown-avatar-fallback{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-secondary)}.cosmetic-user-dropdown-info{display:flex;flex-direction:column;min-width:0}.cosmetic-user-dropdown-display{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cosmetic-user-dropdown-username{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cosmetic-user-dropdown-empty{padding:12px;text-align:center;font-size:13px;color:var(--text-muted)}.cosmetics-equip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cosmetic-equip-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s}.cosmetic-equip-card.equipped{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cosmetic-equip-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.cosmetic-equip-action{margin-top:6px}.cosmetic-equip-btn,.cosmetic-unequip-btn{width:100%;padding:6px 0;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .15s}.cosmetic-equip-btn{background:var(--accent);color:#fff}.cosmetic-equip-btn:hover{background:var(--accent-hover, #4752c4)}.cosmetic-unequip-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.cosmetic-unequip-btn:hover{background:#ffffff14}.cosmetic-owners-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cosmetic-owner-chip{display:flex;align-items:center;gap:4px;background:var(--bg-tertiary);border-radius:12px;padding:3px 8px 3px 4px;font-size:12px;color:var(--text-secondary)}.cosmetic-owner-chip button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.cosmetic-owner-chip button:hover{color:#ed4245}.cosmetic-filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cosmetic-filter-bar select,.cosmetic-filter-bar input{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 8px;color:var(--text-primary);font-size:13px}.cosmetic-user-inventory{margin-top:16px}.cosmetic-user-item{display:flex;align-items:center;justify-content:space-between;padding:8px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:6px}.cosmetic-user-item-info{display:flex;align-items:center;gap:8px}.cosmetic-user-item-name{font-size:13px;font-weight:600;color:var(--text-primary)}.cosmetic-user-item-type{font-size:11px;color:var(--text-muted)}.cosmetic-equipped-badge{font-size:10px;background:#43b58133;color:#43b581;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.cosmetic-user-item-actions{display:flex;gap:4px}.cosmetic-user-item-actions button{padding:4px 8px;font-size:11px;border-radius:4px;border:none;cursor:pointer;background:var(--bg-secondary);color:var(--text-secondary)}.cosmetic-user-item-actions button:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.cosmetic-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:8px;max-height:400px;overflow-y:auto}.cosmetic-preset-item{background:var(--bg-tertiary);border-radius:6px;padding:10px;cursor:pointer;border:1px solid rgba(255,255,255,.06);transition:border-color .15s}.cosmetic-preset-item:hover{border-color:var(--accent)}.cosmetic-preset-preview{margin-bottom:6px}.cosmetic-preset-label{font-size:12px;color:var(--text-secondary);font-weight:600}.cosmetic-preset-rarity{font-size:10px;font-weight:600}.mobile-hamburger,.mobile-drawer-overlay{display:none}.left-drawer,.right-drawer{display:contents}.right-drawer.hidden,.context-menu-overlay{display:none}@media(max-width:768px){.left-drawer{display:flex;position:fixed;top:env(safe-area-inset-top);left:0;bottom:0;width:312px;z-index:200;transform:translate(calc(-100% + var(--drag-offset, 0px)));transition:transform var(--transition-duration, .22s) ease;background:var(--bg-secondary);touch-action:pan-y}.left-drawer.open{--drag-offset: 312px}.left-drawer.dragging{--transition-duration: 0s}.left-drawer .server-sidebar{height:100%}.left-drawer .channel-sidebar{height:100%;flex:1}.right-drawer{display:flex;position:fixed;top:env(safe-area-inset-top);right:0;bottom:0;width:280px;z-index:200;transform:translate(100%);transition:transform .22s ease;background:var(--bg-secondary)}.right-drawer.open{transform:translate(0)}.right-drawer .member-list,.right-drawer .search-panel{width:100%;min-width:0;height:100%}.mobile-drawer-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:199}.mobile-hamburger{display:flex;align-items:center;justify-content:center;background:none;color:var(--text-secondary);padding:4px;margin-right:4px;border-radius:4px;flex-shrink:0}.mobile-hamburger:hover{color:var(--text-primary);background:var(--bg-modifier-hover)}.no-channel .mobile-hamburger{position:absolute;top:12px;left:12px}.main-layout{height:100%}.content-area{width:100%;min-width:0}.channel-header{padding:0 8px}.channel-header .channel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.channel-header-actions button{min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.message-input{font-size:16px}.message-input-container{padding:0 8px 8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.message-item{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.message-item .message-actions{display:none!important}.context-menu-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:1001}.context-menu{position:fixed;top:auto!important;left:0!important;right:0;bottom:0;width:100%;max-height:60vh;overflow-y:auto;border-radius:12px 12px 0 0;padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom));min-width:unset}.context-menu-item{padding:14px 16px;font-size:16px}.context-menu-volume{padding:12px 16px}.voice-chat-floating-panel{width:100%;height:100%;inset:0;border-radius:0}.voice-chat-floating-panel .voice-chat-header{padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top))}.voice-chat-fab{bottom:calc(76px + env(safe-area-inset-bottom));right:16px}.profile-card-overlay{background:#000000b3;display:flex;align-items:flex-end}.user-profile-card{position:static;top:auto!important;left:auto!important;width:100%;border-radius:12px 12px 0 0;padding-bottom:env(safe-area-inset-bottom)}.modal-overlay{background:var(--bg-primary)}.modal{max-width:100%;width:100%;height:100%;border-radius:0;max-height:100%;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.user-settings-modal{flex-direction:column;max-width:100%;max-height:calc(100vh - env(safe-area-inset-top));height:calc(100vh - env(safe-area-inset-top));border-radius:0;padding-bottom:0}.user-settings-modal .us-sidebar{width:100%;min-width:0;flex:1;padding:0;gap:0;overflow-y:auto}.user-settings-modal .us-sidebar-header{font-size:18px;text-transform:none;letter-spacing:normal;color:var(--header-primary);padding:16px 16px 12px;display:flex;align-items:center;justify-content:space-between}.us-sidebar-close{display:none}.user-settings-modal .us-sidebar-close{display:block;font-size:24px}.user-settings-modal .us-nav-item{padding:14px 16px;font-size:16px;border-radius:0}.user-settings-modal .us-nav-item.active{background:var(--bg-modifier-hover)}.user-settings-modal .us-nav-separator{margin:4px 16px}.user-settings-modal .us-content{display:none;max-height:none;flex:1;min-height:0}.notification-settings-modal .us-content{display:flex}.user-settings-modal.us-mobile-content .us-sidebar{display:none}.user-settings-modal.us-mobile-content .us-content{display:flex}.user-settings-modal .us-content-header{padding:12px 16px 0}.user-settings-modal .us-content-body{padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.us-back{display:none}.user-settings-modal .us-back{display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;margin-right:8px}.permissions-modal{max-width:100%;max-height:calc(100vh - env(safe-area-inset-top));height:calc(100vh - env(safe-area-inset-top));border-radius:0;padding-bottom:0}.permissions-modal .permissions-layout{flex-direction:column;max-height:none;flex:1;min-height:0}.permissions-modal .permissions-role-sidebar{width:100%;min-width:0;flex:1;border-radius:0;overflow-y:auto}.permissions-modal .permissions-content{display:none;flex:1;min-height:0}.permissions-modal.perms-mobile-content .permissions-role-sidebar{display:none}.permissions-modal.perms-mobile-content .permissions-content{display:flex}.permissions-modal .permissions-back{display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;margin-right:8px;flex-shrink:0}.permissions-modal .permissions-role-item{padding:14px 16px;font-size:16px;border-radius:0}.user-bar,.voice-controls{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.channel-item{min-height:38px}::-webkit-scrollbar{width:0}.keyboard-open .message-input-container,.keyboard-open .user-bar,.keyboard-open .voice-controls{padding-bottom:8px}}.guest-upgrade-banner{background:var(--accent, #5865f2);color:#fff;text-align:center;padding:8px 16px;font-size:.875rem;cursor:pointer;flex-shrink:0;-webkit-user-select:none;user-select:none}.guest-upgrade-banner:hover{filter:brightness(1.1)}.invite-server-info{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem}.invite-server-icon{width:64px;height:64px;border-radius:50%;object-fit:cover}.invite-server-icon-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, #2f3136);color:#fff;font-size:1.5rem;font-weight:600}.invite-guest-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary, #b9bbbe);cursor:pointer;margin:.5rem 0}.invite-guest-toggle input[type=checkbox]{cursor:pointer}
