:root{--bg-primary: #36393f;--bg-secondary: #2f3136;--bg-tertiary: #202225;--bg-accent: #40444b;--bg-floating: #18191c;--bg-input: #40444b;--text-normal: #dcddde;--text-muted: #72767d;--text-link: #00aff4;--text-heading: #ffffff;--text-positive: #3ba55d;--accent: #5865f2;--accent-hover: #4752c4;--danger: #ed4245;--danger-hover: #c03537;--success: #3ba55d;--warning: #faa61a;--channel-icon: #8e9297;--interactive-normal: #b9bbbe;--interactive-hover: #dcddde;--interactive-active: #ffffff;--scrollbar-thin-thumb: #202225;--scrollbar-thin-track: transparent;--server-width: 72px;--channel-width: 240px;--member-width: 240px;--header-height: 48px;--input-height: 68px;--user-panel-height: 52px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 50%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:gg sans,Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-normal);overflow:hidden;height:100vh;height:100dvh}#root{height:100vh;height:100dvh;display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-thin-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thin-thumb);border-radius:4px}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea{font-family:inherit;outline:none;border:none}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.gap-sm{gap:4px}.gap-md{gap:8px}.gap-lg{gap:16px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-primary);border-radius:var(--radius-md);padding:24px;width:100%;max-width:440px;box-shadow:0 4px 32px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h2{font-size:20px;color:var(--text-heading)}.modal-close{background:transparent;color:var(--text-muted);font-size:28px;line-height:1;padding:0 4px}.modal-close:hover{color:var(--text-normal)}.modal-error{background:#ed42451a;color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.modal-field{margin-bottom:16px}.modal-field label{display:block;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px}.modal-field input{width:100%;padding:10px 12px;background:var(--bg-tertiary);color:var(--text-normal);border:1px solid rgba(0,0,0,.3);border-radius:var(--radius-sm);font-size:16px}.modal-field input:focus,.modal-field select:focus{border-color:var(--accent)}.modal-field select{width:100%;padding:10px 12px;background:var(--bg-tertiary);color:var(--text-normal);border:1px solid rgba(0,0,0,.3);border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-primary{padding:10px 24px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;border-radius:var(--radius-sm);transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{padding:10px 24px;background:transparent;color:var(--text-normal);font-size:14px;font-weight:500}.btn-cancel:hover{text-decoration:underline}.channel-type-selector{display:flex;gap:8px}.type-btn{flex:1;padding:10px;background:var(--bg-tertiary);color:var(--text-muted);font-size:14px;font-weight:500;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .2s}.type-btn.active{border-color:var(--accent);color:var(--text-heading);background:#5865f21a}.invite-section{margin-bottom:16px}.invite-section h3{font-size:14px;color:var(--text-muted);margin-bottom:8px}.invite-link-row{display:flex;gap:8px}.invite-link-input{flex:1;padding:10px 12px;background:var(--bg-tertiary);color:var(--text-normal);border:1px solid rgba(0,0,0,.3);border-radius:var(--radius-sm);font-size:14px}.invite-divider{text-align:center;color:var(--text-muted);font-size:12px;margin:16px 0;position:relative}.invite-divider:before,.invite-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--bg-accent)}.invite-divider:before{left:0}.invite-divider:after{right:0}.invite-success{color:var(--success);font-size:14px}.settings-modal{max-width:660px}.settings-layout{display:flex;gap:16px;min-height:300px}.settings-tabs{width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.settings-tab{text-align:left;padding:8px 12px;font-size:14px;font-weight:500;color:var(--text-muted);background:transparent;border-radius:var(--radius-sm)}.settings-tab:hover{background:#ffffff0a;color:var(--text-normal)}.settings-tab.active{background:#ffffff0f;color:var(--text-heading)}.settings-tab.danger{color:var(--danger)}.settings-tab.danger:hover{background:#ed42451a}.settings-tab-divider{height:1px;background:var(--bg-accent);margin:8px 12px}.settings-content{flex:1;min-width:0}.settings-profile-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:16px}.settings-avatar{position:relative;width:80px;height:80px;border-radius:var(--radius-full);overflow:hidden;cursor:pointer;flex-shrink:0}.settings-avatar img{width:80px;height:80px;object-fit:cover}.avatar-placeholder.large{width:80px;height:80px;font-size:32px}.settings-avatar-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;opacity:0;transition:opacity .2s}.settings-avatar:hover .settings-avatar-overlay{opacity:1}.settings-profile-info{display:flex;flex-direction:column;gap:2px}.settings-profile-name{font-size:20px;font-weight:600;color:var(--text-heading)}.settings-profile-tag{font-size:14px;color:var(--text-muted)}.modal-success{background:#57f2871a;color:var(--success);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.roles-layout{display:flex;gap:16px}.roles-list{width:160px;flex-shrink:0}.role-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--text-normal)}.role-item:hover{background:#ffffff0a}.role-item.active{background:#ffffff0f}.role-color{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.role-editor{flex:1;min-width:0}.permissions-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.permission-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-normal);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.permission-toggle:hover{background:#ffffff0a}.permission-toggle input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.members-manage-list,.bans-list{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.member-manage-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-sm);background:#ffffff05}.member-manage-item:hover{background:#ffffff0a}.member-manage-info{display:flex;align-items:center;gap:10px}.member-manage-name{color:var(--text-primary);font-weight:500}.member-manage-tag{color:var(--text-muted);font-size:12px}.member-manage-actions{display:flex;gap:6px}.member-manage-badge{color:var(--accent);font-size:12px;font-weight:600}.btn-small{padding:4px 12px;font-size:12px;border-radius:var(--radius-sm);cursor:pointer;border:none}.btn-danger{background:var(--danger, #ed4245);color:#fff}.btn-danger:hover{background:#c03537}.btn-danger-outline{background:transparent;color:var(--danger, #ed4245);border:1px solid var(--danger, #ed4245)}.btn-danger-outline:hover{background:#ed42451a}.mfa-section{margin-top:8px}.mfa-status{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:4px;font-size:14px;font-weight:500;margin-bottom:16px}.mfa-status.enabled{background:#57f2871a;color:#57f287}.mfa-status.disabled{background:#ed42451a;color:#ed4245}.mfa-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.desktop-download-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary, #2f3136);border-radius:var(--radius-md, 8px)}.desktop-download-icon{color:var(--accent, #5865f2);flex-shrink:0}.desktop-download-info{display:flex;flex-direction:column;gap:2px;flex:1}.desktop-download-name{color:#fff;font-weight:600;font-size:15px}.desktop-download-version{color:#b9bbbe;font-size:13px}.desktop-download-btn{text-decoration:none;text-align:center;flex-shrink:0}@media(max-width:768px){.modal{padding:16px;max-height:90vh;overflow-y:auto;margin:16px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.settings-modal{max-width:100%}.settings-layout{flex-direction:column;min-height:auto;gap:12px}.settings-tabs{width:100%;flex-direction:row;overflow-x:auto;gap:0;border-bottom:1px solid var(--bg-accent);padding-bottom:8px;-webkit-overflow-scrolling:touch}.settings-tab{white-space:nowrap;padding:8px 16px;flex-shrink:0;font-size:13px}.settings-tab-divider{display:none}.settings-profile-card{gap:12px;padding:12px}.roles-layout{flex-direction:column;gap:12px}.roles-list{width:100%;display:flex;flex-direction:row;overflow-x:auto;gap:4px;-webkit-overflow-scrolling:touch;padding-bottom:8px;border-bottom:1px solid var(--bg-accent)}.role-item{flex-shrink:0;white-space:nowrap}.permissions-grid{grid-template-columns:1fr}.permission-toggle{padding:6px 4px;min-height:36px}.member-manage-item{flex-wrap:wrap;gap:8px;padding:10px 12px}.member-manage-actions{gap:8px}.btn-small{min-height:36px;padding:6px 14px;font-size:13px}.btn-primary,.btn-cancel{min-height:44px;padding:12px 20px}.btn-danger{min-height:44px;padding:10px 20px}.modal-actions{flex-wrap:wrap}.modal-field input,.modal-field select{min-height:44px;font-size:16px}.events-panel-modal,.create-event-modal,.transcript-modal{max-width:100%;max-height:90vh}.events-panel-header{flex-wrap:wrap;gap:8px}.event-cover{height:80px}.event-datetime-row{flex-direction:column;gap:0}.admin-stats-grid{grid-template-columns:1fr}.admin-users-table{font-size:12px}.admin-users-table th,.admin-users-table td,.category-manage-item{padding:6px 8px}.transcript-session-meta{flex-wrap:wrap;gap:6px}}.admin-icon{background:var(--bg-tertiary)!important;color:var(--text-muted)!important}.admin-icon:hover{background:var(--accent)!important;color:#fff!important}.admin-config-section h2,.admin-users-section h2,.admin-stats-section h2{font-size:20px;color:var(--text-heading);margin-bottom:16px}.admin-config-grid{display:flex;flex-direction:column;gap:16px}.admin-config-item label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.admin-config-desc{font-size:12px;color:var(--text-muted);margin-bottom:6px}.admin-config-item input{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);color:var(--text-normal);font-size:14px}.admin-config-item input:focus{border-color:var(--accent);outline:none}.admin-config-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.btn-primary{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:8px 16px;background:var(--bg-accent);color:var(--text-normal);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px}.btn-secondary:hover{background:var(--bg-tertiary)}.admin-search{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);color:var(--text-normal);font-size:14px;margin-bottom:16px}.admin-search:focus{border-color:var(--accent);outline:none}.admin-users-table{width:100%;border-collapse:collapse}.admin-users-table th{text-align:left;padding:8px 12px;font-size:12px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid rgba(255,255,255,.06)}.admin-users-table td{padding:10px 12px;font-size:14px;color:var(--text-normal);border-bottom:1px solid rgba(255,255,255,.04)}.admin-badge{padding:2px 8px;border-radius:10px;font-size:12px;border:none;cursor:pointer;background:var(--bg-accent);color:var(--text-muted)}.admin-badge.admin{background:var(--accent);color:#fff}.btn-danger-sm{padding:4px 10px;background:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.btn-danger-sm:hover{background:var(--danger-hover)}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-stat-card{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px}.admin-stat-value{font-size:36px;font-weight:700;color:var(--accent)}.admin-stat-label{font-size:14px;color:var(--text-muted);text-transform:uppercase}.settings-error{background:#ed42451a;border:1px solid var(--danger);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.settings-success{background:#3ba55d1a;border:1px solid var(--success);color:var(--success);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.settings-tabs-header{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:8px 10px;margin-bottom:4px}.events-panel-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.events-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.events-panel-header h2{font-size:20px;color:var(--text-heading)}.events-panel-actions{display:flex;gap:8px;align-items:center}.events-filter-tabs{display:flex;gap:4px;margin-bottom:16px}.events-filter-tabs button{padding:6px 14px;background:var(--bg-accent);border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:13px}.events-filter-tabs button.active{background:var(--accent);color:#fff}.events-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.events-empty{text-align:center;padding:40px 0;color:var(--text-muted)}.events-empty-hint{font-size:13px;margin-top:8px}.event-card{background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.event-cover{height:120px;overflow:hidden}.event-cover img{width:100%;height:100%;object-fit:cover}.event-info{padding:12px 16px}.event-date{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;margin-bottom:4px}.event-topic{font-size:16px;color:var(--text-heading);margin-bottom:6px}.event-desc{font-size:13px;color:var(--text-muted);margin-bottom:8px;line-height:1.4}.event-meta{display:flex;gap:12px;font-size:12px;color:var(--text-muted);margin-bottom:10px;flex-wrap:wrap}.event-channel{color:var(--text-link)}.event-actions{display:flex;gap:8px}.event-interested-btn{padding:6px 12px;background:var(--bg-accent);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-normal);cursor:pointer;font-size:13px}.event-interested-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.create-event-modal{max-width:500px}.event-steps{display:flex;justify-content:center;gap:24px;margin-bottom:20px}.event-step{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.event-step.active{color:var(--accent)}.event-step.done{color:var(--success)}.event-step-num{width:22px;height:22px;border-radius:50%;background:var(--bg-accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.event-step.active .event-step-num{background:var(--accent);color:#fff}.event-step.done .event-step-num{background:var(--success);color:#fff}.event-form{margin-bottom:16px}.event-form-hint{font-size:13px;color:var(--text-muted);margin-bottom:12px}.event-channel-list{display:flex;flex-direction:column;gap:4px}.event-channel-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-normal);font-size:14px;border:2px solid transparent}.event-channel-option:hover{background:var(--bg-accent)}.event-channel-option.selected{border-color:var(--accent);background:#5865f21a}.event-datetime-row{display:flex;gap:12px}.event-datetime-row .modal-field{flex:1}.event-form textarea{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);color:var(--text-normal);font-size:14px;resize:vertical;font-family:inherit}.event-form textarea:focus{border-color:var(--accent);outline:none}.event-cover-preview{max-height:120px;border-radius:var(--radius-sm);margin-top:8px}.event-review{display:flex;flex-direction:column;gap:10px}.event-review-cover{max-height:140px;border-radius:var(--radius-sm);object-fit:cover;width:100%}.event-review-row{display:flex;gap:12px;font-size:14px}.event-review-label{color:var(--text-muted);min-width:80px;font-weight:600}.event-nav{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.transcript-modal{max-width:650px;max-height:80vh;display:flex;flex-direction:column}.transcript-sessions{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.transcript-empty{text-align:center;padding:40px 0;color:var(--text-muted)}.transcript-hint{font-size:13px;margin-top:8px}.transcript-session-card{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:12px 16px;cursor:pointer;transition:background .1s}.transcript-session-card:hover{background:var(--bg-accent)}.transcript-session-date{font-size:14px;color:var(--text-heading);font-weight:600;margin-bottom:4px}.transcript-session-meta{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.transcript-has-summary{color:var(--accent);font-weight:600}.transcript-view{flex:1;overflow-y:auto;display:flex;flex-direction:column}.transcript-back{background:none;color:var(--text-link);border:none;cursor:pointer;font-size:13px;text-align:left;padding:0;margin-bottom:12px}.transcript-back:hover{text-decoration:underline}.transcript-summary-section{margin-bottom:16px}.transcript-summary{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:16px;border-left:3px solid var(--accent)}.transcript-summary h3{font-size:14px;color:var(--accent);margin-bottom:8px}.transcript-summary h4{font-size:13px;color:var(--text-heading);margin:10px 0 4px}.transcript-summary p{font-size:14px;color:var(--text-normal);line-height:1.5}.transcript-summary ul{padding-left:20px;font-size:13px;color:var(--text-normal)}.transcript-summary li{margin-bottom:4px}.transcript-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.transcript-entry{padding:6px 0}.transcript-entry-header{display:flex;gap:8px;align-items:baseline;margin-bottom:2px}.transcript-speaker{font-weight:600;font-size:14px;color:var(--accent)}.transcript-time{font-size:11px;color:var(--text-muted)}.transcript-text{font-size:14px;color:var(--text-normal);line-height:1.4}.channel-transcript-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;margin-left:auto;opacity:0;transition:opacity .15s;display:flex;align-items:center}.channel-item.voice:hover .channel-transcript-btn{opacity:1}.channel-transcript-btn:hover{color:var(--text-normal)}.category-manage-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:6px}.category-manage-arrows{display:flex;flex-direction:column;gap:2px}.category-manage-arrows button{background:var(--bg-accent);border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:2px 6px;border-radius:3px;line-height:1}.category-manage-arrows button:hover{color:var(--text-normal);background:var(--accent)}.category-manage-arrows button:disabled{opacity:.3;cursor:not-allowed}.category-manage-info{flex:1;display:flex;align-items:center;gap:10px}.category-manage-name{font-size:14px;color:var(--text-heading);cursor:pointer;padding:2px 4px;border-radius:3px}.category-manage-name:hover{background:var(--bg-accent)}.category-manage-count{font-size:12px;color:var(--text-muted)}.voice-panel{border-top:1px solid rgba(0,0,0,.3);background:var(--bg-secondary);padding:8px}.voice-panel-header{padding:4px 8px;margin-bottom:4px}.voice-panel-status{display:flex;align-items:center;gap:6px;margin-bottom:2px}.voice-connected-icon{color:var(--success)}.voice-status-text{font-size:13px;font-weight:600;color:var(--success)}.voice-channel-name{font-size:12px;color:var(--text-muted)}.voice-users{max-height:120px;overflow-y:auto;margin-bottom:4px}.voice-user{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--radius-sm)}.voice-user.speaking{background:#57f28714}.voice-user-avatar{position:relative;flex-shrink:0}.voice-user-avatar .avatar-placeholder.small{width:24px;height:24px;font-size:11px;border-radius:var(--radius-full)}.voice-user.speaking .voice-user-avatar .avatar-placeholder.small{outline:2px solid var(--success);outline-offset:1px}.voice-user-name{font-size:13px;color:var(--text-normal);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-user-icons{display:flex;gap:4px;flex-shrink:0}.voice-icon.muted,.voice-icon.deafened{color:var(--danger)}.voice-controls{display:flex;justify-content:center;gap:4px;padding:4px 0}.voice-control-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted);transition:all .15s}.voice-control-btn:hover{background:#ffffff1a;color:var(--text-normal)}.voice-control-btn.active{background:#ed424526;color:var(--danger)}.voice-control-btn.active:hover{background:#ed424540}.voice-control-btn.active-green{background:#57f28726;color:var(--success)}.voice-control-btn.active-green:hover{background:#57f28740}.voice-control-btn.disconnect{background:#ed424533;color:var(--danger)}.voice-control-btn.disconnect:hover{background:var(--danger);color:#fff}.video-grid{display:grid;gap:4px;padding:4px 0;max-height:300px}.video-grid-1{grid-template-columns:1fr}.video-grid-2,.video-grid-3,.video-grid-4{grid-template-columns:1fr 1fr}.video-tile{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#000;aspect-ratio:16/9}.video-tile video{width:100%;height:100%;object-fit:cover}.video-tile-label{position:absolute;bottom:4px;left:6px;font-size:11px;color:#fff;background:#0009;padding:2px 6px;border-radius:3px}.channel-item.voice{cursor:pointer}.channel-item.voice .channel-voice-icon{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.channel-item.voice.active{background:#57f2871a}.channel-item.voice.active .channel-voice-icon{color:var(--success)}@media(max-width:768px){.voice-controls{gap:8px}.voice-control-btn{width:44px;height:44px}.video-grid{max-height:200px}.video-grid-2,.video-grid-3,.video-grid-4{grid-template-columns:1fr}.voice-users{max-height:80px}}.app-layout{display:flex;height:100vh;height:100dvh;width:100vw;overflow:hidden}.server-sidebar{width:var(--server-width);background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;padding:12px 0;flex-shrink:0;overflow-y:auto;overflow-x:visible;z-index:50}.server-list{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.server-icon{width:48px;height:48px;border-radius:24px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-radius .2s,background .2s;color:var(--text-normal);font-weight:600;font-size:18px;overflow:hidden;flex-shrink:0}.server-icon:hover,.server-icon.active{border-radius:16px;background:var(--accent);color:#fff}.server-icon img{width:100%;height:100%;object-fit:cover}.server-separator{width:32px;height:2px;background:var(--bg-accent);border-radius:1px;margin:4px 0}.server-icon-wrapper{position:relative}.server-mention-badge{position:absolute;bottom:-2px;right:-4px;background:var(--danger, #ed4245);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:3px solid var(--bg-tertiary);box-sizing:content-box;z-index:1}.server-unread-dot{position:absolute;bottom:0;right:-2px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--bg-tertiary);box-sizing:content-box;z-index:1}.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-sidebar-bottom{margin-top:auto;padding-top:8px;position:relative}.server-icon.user-icon:hover{background:var(--accent)}.user-popup-menu{position:fixed;bottom:60px;left:8px;width:220px;background:var(--bg-floating, #18191c);border-radius:var(--radius-md, 8px);padding:8px;box-shadow:0 8px 24px #0009;z-index:9999}.user-popup-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;color:var(--text-normal);font-size:14px;text-align:left;border-radius:var(--radius-sm)}.user-popup-menu button:hover{background:var(--accent);color:#fff}.user-popup-menu button.danger:hover{background:var(--danger)}.user-popup-separator{height:1px;background:#ffffff0f;margin:4px 0}.user-popup-profile{display:flex;align-items:center;gap:10px;padding:8px}.user-popup-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0}.user-popup-avatar img{width:100%;height:100%;object-fit:cover}.user-popup-avatar .avatar-placeholder{width:36px;height:36px;font-size:14px}.user-popup-name{display:flex;flex-direction:column;min-width:0}.user-popup-display{color:var(--text-normal);font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popup-tag{color:var(--text-muted);font-size:12px}.user-popup-section-label{color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:6px 10px 2px}.user-popup-menu button .status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.user-popup-menu button.active{background:#5865f233;color:#fff}.channel-sidebar{width:var(--channel-width);background:var(--bg-secondary);display:flex;flex-direction:column;flex-shrink:0}.server-header{height:var(--header-height);padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.2);cursor:pointer;transition:background .1s}.server-header:hover{background:#ffffff0a}.server-header h2{font-size:16px;font-weight:600;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-header-arrow{color:var(--text-muted);font-size:10px}.server-menu{background:var(--bg-floating);border-radius:var(--radius-sm);padding:6px 8px;margin:0 8px}.server-menu button{display:block;width:100%;padding:8px 10px;background:transparent;color:var(--text-normal);font-size:14px;text-align:left;border-radius:var(--radius-sm)}.server-menu button:hover{background:var(--accent);color:#fff}.events-button{display:flex;align-items:center;gap:8px;padding:8px 16px;margin:4px 8px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;cursor:pointer;transition:background .1s,color .1s}.events-button:hover{background:#ffffff0f;color:var(--text-normal)}.events-button svg{opacity:.7}.channel-list{flex:1;overflow-y:auto;padding:8px 0}.channel-category{display:flex;align-items:center;padding:16px 16px 4px 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.channel-category:hover .category-label{color:var(--text-primary)}.category-arrow{font-size:10px;color:var(--text-muted);margin-right:2px;transition:transform .15s}.category-arrow.collapsed{transform:rotate(-90deg)}.category-add{margin-left:auto}.category-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.category-add{background:transparent;color:var(--text-muted);font-size:16px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.category-add:hover{color:var(--interactive-hover)}.channel-item{display:flex;align-items:center;padding:6px 8px;margin:1px 8px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);gap:6px}.channel-item:hover{background:#ffffff0a;color:var(--interactive-hover)}.channel-item.active{background:#ffffff0f;color:var(--interactive-active)}.channel-item.unread{color:#fff;font-weight:600}.channel-item.unread .channel-hash{color:#fff}.unread-badge{width:8px;height:8px;border-radius:50%;background:var(--accent, #5865f2);margin-left:auto;flex-shrink:0}.mention-badge{background:var(--danger, #ed4245);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;margin-left:auto;flex-shrink:0}.channel-hash{font-size:18px;font-weight:500;color:var(--channel-icon);width:20px;text-align:center}.channel-voice-icon{font-size:14px;width:20px;text-align:center}.channel-name{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-channel-users{padding:2px 0 2px 28px}.voice-channel-user{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--radius-sm)}.voice-channel-user:hover{background:#ffffff0a}.voice-channel-user .avatar-placeholder.small{width:20px;height:20px;font-size:10px;border-radius:var(--radius-full);flex-shrink:0}.voice-channel-user-name{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel{height:var(--user-panel-height);background:#0003;display:flex;align-items:center;padding:0 8px;gap:8px}.user-panel-avatar{position:relative;width:32px;height:32px;flex-shrink:0}.user-panel-avatar img,.user-panel-avatar .avatar-placeholder{width:32px;height:32px;border-radius:var(--radius-full)}.user-panel-info{display:flex;flex-direction:column;min-width:0}.user-panel-name{font-size:14px;font-weight:600;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel-tag{font-size:12px;color:var(--text-muted)}.dm-avatar{width:32px;height:32px;flex-shrink:0}.dm-avatar img{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover}.dm-info{display:flex;flex-direction:column;min-width:0}.dm-preview{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-icon{background:var(--bg-primary)!important}.user-panel-settings{margin-left:auto;background:transparent;color:var(--text-muted);padding:4px;border-radius:var(--radius-sm);flex-shrink:0}.user-panel-settings:hover{color:var(--text-normal);background:#ffffff0a}.main-content{flex:1;display:flex;min-width:0;min-height:0;overflow:hidden}.no-server{flex:1;display:flex;align-items:center;justify-content:center}.no-server-content{text-align:center;color:var(--text-muted)}.no-server-content h2{color:var(--text-heading);margin-bottom:8px}.chat-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.channel-header{height:var(--header-height);padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.2);flex-shrink:0;background:var(--bg-primary);z-index:1}.channel-header-left{display:flex;align-items:center;gap:8px;min-width:0}.channel-header-hash{color:var(--channel-icon);font-size:20px;font-weight:600}.channel-header-name{font-size:16px;font-weight:600;color:var(--text-heading)}.channel-header-divider{color:var(--bg-accent)}.channel-header-topic{font-size:14px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-header-right{display:flex;gap:8px}.header-btn{background:transparent;color:var(--interactive-normal);padding:4px;border-radius:var(--radius-sm)}.header-btn:hover{color:var(--interactive-hover)}.header-btn.active{color:var(--interactive-active)}.chat-body{flex:1;display:flex;min-height:0}.chat-messages-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.search-panel{width:340px;background:var(--bg-secondary);border-left:1px solid rgba(0,0,0,.2);display:flex;flex-direction:column;flex-shrink:0}.search-panel-header{display:flex;align-items:center;padding:12px;gap:8px;border-bottom:1px solid rgba(0,0,0,.2)}.search-panel-header .search-input-wrapper{flex:1;display:flex;align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:6px 10px;gap:8px}.search-panel-header .search-icon{color:var(--text-muted);flex-shrink:0}.search-panel-header input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:14px;outline:none}.search-close{background:transparent;color:var(--text-muted);font-size:20px;padding:4px 8px;border-radius:var(--radius-sm)}.search-close:hover{color:var(--text-primary)}.search-results{flex:1;overflow-y:auto;padding:8px}.search-status{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}.search-result-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:4px}.search-result-item:hover{background:#ffffff0a}.search-result-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.search-result-author{color:var(--text-heading);font-weight:600;font-size:13px}.search-result-channel{color:var(--text-muted);font-size:12px}.search-result-time{color:var(--text-muted);font-size:11px;margin-left:auto}.search-result-content{color:var(--text-primary);font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.search-result-content mark{background:#faa61a4d;color:var(--text-heading);border-radius:2px;padding:0 2px}.no-channel{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.message-list{flex:1;overflow-y:auto;padding:16px 0}.message-list-empty{padding:16px;text-align:center;color:var(--text-muted)}.message-list-empty h3{color:var(--text-heading);font-size:24px;margin-bottom:8px}.message-group{display:flex;padding:8px 16px;margin-top:10px;position:relative}.message-group:first-child{margin-top:0}.message-group:hover{background:#0000000f;border-radius:4px}.message-avatar{width:40px;height:40px;margin-right:16px;flex-shrink:0}.message-avatar img{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover}.avatar-placeholder{width:40px;height:40px;border-radius:var(--radius-full);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.avatar-placeholder.small{width:32px;height:32px;font-size:14px}.message-content-wrapper{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.message-author{font-weight:600;font-size:16px;color:var(--text-heading)}.message-author.own{color:var(--accent)}.message-timestamp{font-size:12px;color:var(--text-muted)}.message-content p,.msg-text{font-size:1rem;line-height:1.375;color:var(--text-normal);word-break:break-word;white-space:pre-wrap}.message-edited{font-size:10px;color:var(--text-muted);margin-left:4px}.message-pinned-badge{display:inline-block;font-size:11px;color:var(--warning, #faa61a);margin-top:2px}.message-attachments{margin-top:4px}.attachment-image{max-width:400px;max-height:300px;border-radius:var(--radius-sm)}.attachment-file{display:inline-block;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-link);font-size:14px}.message-content{position:relative}.message-content+.message-content{margin-top:10px}.message-actions{position:absolute;top:-8px;right:0;display:none;background:var(--bg-secondary);border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);overflow:hidden}.message-content:hover .message-actions{display:flex}.message-actions button{background:transparent;color:var(--text-muted);padding:4px 8px;font-size:14px;border-radius:0}.message-actions button:hover{background:var(--bg-accent);color:var(--text-normal)}.message-actions .action-delete:hover{background:#ed424526;color:var(--danger)}.message-embed{margin-top:4px;padding:8px 12px;border-left:4px solid var(--accent);background:var(--bg-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;max-width:520px}.embed-site{font-size:12px;color:var(--text-muted);margin-bottom:2px}.embed-title{display:block;font-size:15px;font-weight:600;color:var(--text-link);text-decoration:none;margin-bottom:4px}.embed-title:hover{text-decoration:underline}.embed-description{font-size:14px;color:var(--text-normal);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.embed-image{margin-top:8px;max-width:400px;max-height:200px;border-radius:var(--radius-sm);object-fit:cover}.message-reply-ref{display:flex;align-items:center;gap:4px;font-size:13px;margin-bottom:2px;padding:2px 0;cursor:pointer;color:var(--text-muted)}.message-reply-ref:hover{color:var(--text-normal)}.message-reply-ref:before{content:"";display:inline-block;width:24px;height:10px;border-left:2px solid var(--text-muted);border-top:2px solid var(--text-muted);border-radius:4px 0 0;margin-right:4px}.reply-author{font-weight:600;color:var(--text-heading);font-size:12px}.reply-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.reply-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:13px;color:var(--text-muted)}.reply-bar strong{color:var(--text-heading)}.reply-bar-close{background:transparent;color:var(--text-muted);font-size:18px;padding:0 4px;line-height:1}.reply-bar-close:hover{color:var(--text-normal)}.message-content.highlight{background:#5865f21a;border-radius:var(--radius-sm);transition:background .5s}.message-edit-box textarea{width:100%;padding:10px 12px;background:var(--bg-tertiary);color:var(--text-normal);border:1px solid rgba(0,0,0,.3);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;resize:none;line-height:1.375}.message-edit-box textarea:focus{border-color:var(--accent)}.message-edit-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.message-edit-hint button{background:transparent;color:var(--text-link);font-size:11px;padding:0;text-decoration:none}.message-edit-hint button:hover{text-decoration:underline}.typing-indicator{height:24px;padding:0 16px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);flex-shrink:0}.typing-indicator.empty{height:24px}.typing-dots{display:flex;gap:3px}.typing-dots span{width:6px;height:6px;border-radius:var(--radius-full);background:var(--text-muted);animation:typing-bounce 1.4s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.message-input-container{padding:0 16px 24px;flex-shrink:0;position:relative}.slash-suggestions{position:absolute;bottom:100%;left:16px;right:16px;background:var(--bg-primary);border:1px solid rgba(0,0,0,.3);border-radius:var(--radius-md);padding:4px;margin-bottom:4px;max-height:240px;overflow-y:auto;z-index:10}.slash-suggestion{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer}.slash-suggestion:hover,.slash-suggestion.selected{background:#ffffff0f}.slash-name{font-size:14px;font-weight:600;color:var(--text-heading);flex-shrink:0}.slash-desc{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-input-wrapper{display:flex;align-items:flex-end;background:var(--bg-input);border-radius:var(--radius-md);padding:2px 4px}.message-input{flex:1;background:transparent;color:var(--text-normal);font-size:15px;padding:10px 0;resize:none;max-height:200px;line-height:1.375}.message-input::placeholder{color:var(--text-muted)}.send-button{padding:8px;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0}.send-button:hover:not(:disabled){color:var(--text-normal)}.send-button:disabled{opacity:.3;cursor:default}.upload-button{padding:8px;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0}.upload-button:hover{color:var(--text-normal)}.file-preview-bar{display:flex;gap:8px;padding:8px 16px;overflow-x:auto;flex-wrap:wrap}.file-preview-item{display:flex;align-items:center;gap:6px;background:var(--bg-secondary);border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);padding:4px 8px;max-width:200px}.file-preview-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px}.file-preview-icon{font-size:24px;width:40px;text-align:center}.file-preview-name{font-size:12px;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.file-preview-remove{background:transparent;color:var(--text-muted);font-size:16px;padding:0 4px;line-height:1}.file-preview-remove:hover{color:var(--danger)}.upload-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--text-muted);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.member-list{width:var(--member-width);background:var(--bg-secondary);padding:8px;overflow-y:auto;flex-shrink:0}.member-category{padding:16px 8px 4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.member-item{display:flex;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);gap:8px;cursor:pointer;position:relative}.member-context-menu{position:absolute;right:8px;top:100%;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:4px;box-shadow:0 4px 12px #0000004d;z-index:100}.member-context-menu button{display:block;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);font-size:13px;text-align:left;white-space:nowrap}.member-context-menu button:hover{background:var(--bg-tertiary)}.member-context-menu button.danger{color:#ed4245}.member-context-menu button.danger:hover{background:#ed42451a}.member-item:hover{background:#ffffff0a}.member-avatar{position:relative;width:32px;height:32px;flex-shrink:0}.member-avatar img{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover}.member-info{display:flex;flex-direction:column;min-width:0}.member-name{font-size:14px;font-weight:500;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-custom-status{font-size:12px;color:var(--text-muted)}.status-dot{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:var(--radius-full);border:3px solid var(--bg-secondary);background:var(--text-muted)}.status-dot.online{background:var(--success)}.status-dot.idle{background:var(--warning)}.status-dot.dnd{background:var(--danger)}.status-dot.offline{background:var(--text-muted)}.status-dot.small{width:10px;height:10px;border-width:2px}@media(max-width:1100px){.member-list{display:none}}.mobile-menu-btn{display:none;background:transparent;color:var(--interactive-normal, var(--text-muted));padding:4px;border-radius:var(--radius-sm);flex-shrink:0;align-items:center;justify-content:center;margin-right:4px}.mobile-menu-btn:hover{color:var(--interactive-hover, var(--text-normal))}.mobile-menu-btn-visible{display:flex;background:transparent;color:var(--interactive-normal, var(--text-muted));padding:4px;border:none;border-radius:var(--radius-sm);flex-shrink:0;align-items:center;justify-content:center;margin-right:4px;cursor:pointer}.mobile-menu-btn-visible:hover{color:var(--interactive-hover, var(--text-normal))}@media(min-width:769px){.mobile-menu-btn-visible{display:none}}.mobile-sidebar-backdrop,.mobile-fab-menu{display:none}.msg-code-block{background:var(--bg-tertiary);border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);padding:8px 12px;margin:4px 0;overflow-x:auto;font-size:13px;line-height:1.4}.msg-code-block code{font-family:Consolas,Monaco,Courier New,monospace;color:var(--text-normal)}.msg-inline-code{background:#0000004d;padding:2px 4px;border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}.msg-mention{background:#5865f24d;color:var(--accent);padding:0 2px;border-radius:3px;font-weight:500;cursor:pointer}.msg-mention:hover{background:#5865f280;text-decoration:underline}.new-messages-divider{display:flex;align-items:center;padding:4px 16px;margin:4px 0}.new-messages-divider:before,.new-messages-divider:after{content:"";flex:1;height:1px;background:var(--danger, #ed4245)}.new-messages-divider span{color:var(--danger, #ed4245);font-size:11px;font-weight:700;text-transform:uppercase;padding:0 8px;white-space:nowrap}.mention-suggestion-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0}.mention-suggestion-avatar img{width:100%;height:100%;object-fit:cover}.mention-suggestion-avatar .avatar-placeholder.small{width:24px;height:24px;font-size:12px}.mention-suggestions .slash-suggestion{gap:8px}.msg-gif{max-width:300px;max-height:250px;border-radius:var(--radius-sm);display:block;margin:2px 0}.emoji-picker-wrapper{position:relative;flex-shrink:0}.emoji-button{padding:8px;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0}.emoji-button:hover{color:var(--text-normal)}.emoji-picker-popup{position:absolute;bottom:40px;right:0;z-index:100}.gif-picker-wrapper{position:relative;flex-shrink:0}.gif-button{padding:6px 8px;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0}.gif-button:hover{color:var(--text-normal)}.gif-picker-popup{position:absolute;bottom:40px;right:0;width:400px;height:420px;background:var(--bg-floating, #18191c);border-radius:var(--radius-md);box-shadow:0 8px 24px #0009;z-index:100;display:flex;flex-direction:column;overflow:hidden}.gif-picker-header{padding:8px;border-bottom:1px solid rgba(255,255,255,.06)}.gif-search-input{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-normal);font-size:14px;outline:none}.gif-search-input::placeholder{color:var(--text-muted)}.gif-search-input:focus{box-shadow:0 0 0 1px var(--accent)}.gif-grid{flex:1;overflow-y:auto;padding:4px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;align-content:start}.gif-grid-item{width:100%;border-radius:var(--radius-sm);cursor:pointer;transition:transform .1s;display:block}.gif-grid-item:hover{transform:scale(1.03);outline:2px solid var(--accent)}.gif-loading{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:40px 16px;font-size:14px}.gif-picker-footer{padding:4px 8px;text-align:right;font-size:10px;color:var(--text-muted);border-top:1px solid rgba(255,255,255,.06)}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--text-normal);transition:background .1s}.reaction-chip:hover{background:var(--bg-accent);border-color:#ffffff1a}.reaction-chip.me{background:#5865f226;border-color:var(--accent)}.reaction-chip.me:hover{background:#5865f240}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{font-size:12px;font-weight:600;color:var(--text-muted);min-width:8px;text-align:center}.reaction-chip.me .reaction-count{color:var(--accent)}.reaction-chip.add-reaction{color:var(--text-muted);font-size:16px;padding:2px 8px}.reaction-chip.add-reaction:hover{color:var(--text-normal)}.reaction-picker{display:flex;gap:2px;padding:4px;background:var(--bg-floating, #18191c);border-radius:var(--radius-md);box-shadow:0 4px 16px #0006;margin-top:4px;width:fit-content}.reaction-picker-emoji{background:transparent;padding:4px 6px;font-size:20px;border-radius:var(--radius-sm);cursor:pointer;line-height:1}.reaction-picker-emoji:hover{background:#ffffff1a}.reaction-picker-search{border-left:1px solid rgba(255,255,255,.1);margin-left:2px;padding-left:8px}.reaction-emoji-picker{position:absolute;bottom:100%;left:0;z-index:200;margin-bottom:4px}.member-list-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-heading);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.member-list-close{background:transparent;color:var(--text-muted);padding:4px;border-radius:var(--radius-sm)}.member-list-close:hover{color:var(--text-normal)}@media(max-width:768px){.mobile-menu-btn,.mobile-menu-btn-visible{display:flex}.server-sidebar{position:fixed;top:0;left:0;bottom:0;width:72px;z-index:200;transform:translate(-100%);transition:transform .25s ease}.channel-sidebar,.dm-sidebar{position:fixed;top:0;left:72px;bottom:0;width:240px;z-index:199;transform:translate(calc(-100% - 72px));transition:transform .25s ease}.mobile-sidebar-open .server-sidebar,.mobile-sidebar-open .channel-sidebar,.mobile-sidebar-open .dm-sidebar{transform:translate(0)}.mobile-sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:198}.mobile-sidebar-open .mobile-sidebar-backdrop{display:block}.main-content{width:100%;height:100%;min-width:0;min-height:0}.member-list{position:fixed;top:0;right:0;bottom:0;width:260px;z-index:200;box-shadow:-4px 0 16px #0000004d;display:flex;flex-direction:column}.member-list-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;font-weight:600;color:var(--text-heading);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.mobile-fab-menu{display:none}.mobile-menu-btn-visible{display:flex!important}.channel-header-topic,.channel-header-divider{display:none}.search-panel{position:fixed;left:0;right:0;top:var(--header-height);bottom:0;width:100%;z-index:150;box-shadow:none}.emoji-picker-popup{position:fixed;bottom:60px;right:8px;left:8px;max-width:calc(100vw - 16px);max-height:50vh;overflow:hidden}.emoji-picker-popup em-emoji-picker{width:100%!important;max-width:100%!important;min-width:0!important;max-height:50vh!important;height:50vh!important;--category-icon-size: 18px}.reaction-emoji-picker{max-width:calc(100vw - 16px);max-height:50vh}.gif-picker-popup{width:calc(100vw - 32px);max-width:400px;right:-50px}.message-input-container{padding:0 8px 12px}.attachment-image,.msg-gif,.message-embed{max-width:100%}.message-content:hover .message-actions{display:none}.message-content.tap-active .message-actions{display:flex}.message-actions button{padding:8px 10px;font-size:18px;min-height:40px;min-width:40px}.reaction-chip{padding:4px 8px;min-height:32px}.reaction-picker{position:fixed;left:8px;right:8px;bottom:80px;width:auto;max-width:calc(100vw - 16px);justify-content:space-around;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;z-index:200}.reaction-picker-emoji{padding:8px 6px;font-size:24px;flex-shrink:0;min-width:36px}.reaction-picker-search{margin-left:4px;padding-left:8px}.reaction-emoji-picker{position:fixed;bottom:60px;left:8px;right:8px;max-width:calc(100vw - 16px);max-height:50vh}.reaction-emoji-picker em-emoji-picker{width:100%!important;max-width:100%!important;min-width:0!important;max-height:50vh!important;height:50vh!important}.modal-overlay{align-items:flex-end}}.new-dm-dropdown{background:var(--bg-secondary);border-bottom:1px solid var(--bg-accent);max-height:300px;overflow-y:auto}.new-dm-header{padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.new-dm-member{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:14px;color:var(--text-normal)}.new-dm-member:hover{background:#ffffff0f}.auth-page{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--bg-tertiary)}.auth-card{background:var(--bg-primary);border-radius:var(--radius-md);padding:32px;width:100%;max-width:480px;box-shadow:0 2px 10px #0003}.auth-header{text-align:center;margin-bottom:20px}.auth-title{color:var(--accent);font-size:26px;font-weight:800;margin-bottom:8px}.auth-subtitle{color:var(--text-muted);font-size:16px}.auth-error{background:#ed42451a;color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.auth-info{color:var(--text-muted);font-size:14px;margin-bottom:16px;text-align:center}.auth-info strong{color:var(--text-normal)}.auth-field{margin-bottom:16px}.auth-field label{display:block;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px}.auth-field input{width:100%;padding:10px 12px;background:var(--bg-tertiary);color:var(--text-normal);border:1px solid rgba(0,0,0,.3);border-radius:var(--radius-sm);font-size:16px;transition:border-color .2s}.auth-field input:focus{border-color:var(--accent)}.auth-link{display:block;color:var(--text-link);font-size:14px;margin-bottom:16px}.auth-button{width:100%;padding:12px;background:var(--accent);color:#fff;font-size:16px;font-weight:600;border-radius:var(--radius-sm);transition:background .2s;margin-bottom:8px}.auth-button:hover:not(:disabled){background:var(--accent-hover)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-button-secondary{width:100%;padding:12px;background:transparent;color:var(--text-normal);font-size:14px;font-weight:500;border-radius:var(--radius-sm)}.auth-button-secondary:hover{text-decoration:underline}.auth-footer{text-align:center;margin-top:16px;color:var(--text-muted);font-size:14px}.trust-device-label{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:14px;margin-bottom:16px;cursor:pointer}.trust-device-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.auth-download-banner{display:flex;align-items:center;gap:12px;background:var(--bg-primary);border-radius:var(--radius-md);padding:14px 20px;max-width:480px;width:100%;color:var(--text-muted);font-size:13px;box-shadow:0 2px 10px #0003}.auth-download-link{color:var(--accent);font-weight:600;font-size:13px;white-space:nowrap;margin-left:auto}.auth-download-link:hover{text-decoration:underline}.qr-login-section{text-align:center}.qr-code-container{display:flex;justify-content:center;padding:20px;margin-bottom:16px;background:#fff;border-radius:var(--radius-md);width:fit-content;margin-left:auto;margin-right:auto}.setup-page{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.setup-container{background:var(--bg-primary);border-radius:var(--radius-md);padding:32px;width:100%;max-width:520px;box-shadow:0 8px 32px #0006}.setup-progress{display:flex;justify-content:space-between;margin-bottom:32px}.setup-step{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.setup-step.active{color:var(--text-normal)}.setup-step.done{color:var(--success)}.setup-step-dot{width:28px;height:28px;border-radius:50%;background:var(--bg-accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-muted)}.setup-step.active .setup-step-dot{background:var(--accent);color:#fff}.setup-step.done .setup-step-dot{background:var(--success);color:#fff}.setup-content h1{font-size:24px;color:var(--text-heading);margin-bottom:8px}.setup-content p{color:var(--text-muted);font-size:14px;margin-bottom:16px;line-height:1.4}.setup-field{margin-bottom:16px}.setup-field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.setup-field input{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);color:var(--text-normal);font-size:14px}.setup-field input:focus{border-color:var(--accent);outline:none}.setup-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.setup-btn{padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;width:100%}.setup-btn:hover{background:var(--accent-hover)}.setup-btn:disabled{opacity:.5;cursor:not-allowed}.setup-btn.secondary{background:var(--bg-accent);color:var(--text-normal)}.setup-btn.secondary:hover{background:var(--bg-tertiary)}.setup-btn-row{display:flex;gap:12px}.setup-btn-row .setup-btn{width:auto;flex:1}.setup-error{background:#ed42451a;border:1px solid var(--danger);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}
