@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-darkest: #050508;--bg-dark: #0a0a0f;--bg-primary: #12121a;--bg-secondary: #181824;--bg-tertiary: #1f1f2e;--bg-hover: #1c1c28;--bg-active: #232333;--bg-floating: #12121a;--accent-primary: #9d4edd;--accent-secondary: #00b4d8;--accent-primary-hover: #7b2cbf;--accent-primary-active: #5a189a;--accent-success: #23a559;--accent-warning: #f0b232;--accent-danger: #da373c;--accent-gradient: linear-gradient(135deg, #00b4d8, #9d4edd);--text-primary: #f2f3f5;--text-secondary: #b5bac1;--text-muted: #6d6f78;--text-link: #00b4d8;--text-positive: #23a559;--text-danger: #da373c;--border-subtle: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--divider: rgba(255, 255, 255, .06);--shadow-low: 0 1px 2px rgba(0, 0, 0, .2);--shadow-med: 0 4px 12px rgba(0, 0, 0, .3);--shadow-high: 0 8px 24px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(88, 101, 242, .3);--space-xxs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-xxl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-md: .875rem;--font-size-base: .9375rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-xxl: 1.5rem;--server-rail-width: 72px;--channel-sidebar-width: 65vw;--member-sidebar-width: 65vw;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--safe-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--safe-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}[data-theme=light]{--bg-darkest: #e3e5e8;--bg-dark: #ebedef;--bg-primary: #ffffff;--bg-secondary: #f2f3f5;--bg-tertiary: #e3e5e8;--bg-hover: #ebedef;--bg-active: #d4d7dc;--bg-floating: #ffffff;--text-primary: #060607;--text-secondary: #4e5058;--text-muted: #80848e;--text-link: #006ce7;--border-subtle: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .16);--divider: rgba(0, 0, 0, .08);--shadow-low: 0 1px 2px rgba(0, 0, 0, .08);--shadow-med: 0 4px 12px rgba(0, 0, 0, .12);--shadow-high: 0 8px 24px rgba(0, 0, 0, .16);--shadow-glow: 0 0 20px rgba(88, 101, 242, .15);--modal-overlay-bg: rgba(0, 0, 0, .4)}[data-theme=light] ::selection{background:#9d4edd33}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c4c9ce}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#aeb3b7}[data-theme=oled]{--bg-darkest: #000000;--bg-dark: #000000;--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #111111;--bg-hover: #0f0f0f;--bg-active: #1a1a1a;--bg-floating: #0a0a0a;--border-subtle: rgba(255, 255, 255, .04);--border-strong: rgba(255, 255, 255, .08);--divider: rgba(255, 255, 255, .04);--shadow-low: none;--shadow-med: 0 4px 12px rgba(0, 0, 0, .6);--shadow-high: 0 8px 24px rgba(0, 0, 0, .8)}[data-compact=true] .message-row{padding-top:2px;padding-bottom:2px}[data-compact=true] .message-row .message-avatar{width:24px;height:24px}[data-compact=true] .message-content{font-size:var(--font-size-sm)}[data-compact=true] .member-item{padding-top:2px;padding-bottom:2px}.reduced-motion,.reduced-motion *{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;overflow:hidden}#root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;height:100dvh;overflow:hidden;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right)}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-primary);background-color:var(--bg-darkest);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}::selection{background:#9d4edd4d;color:var(--text-primary)}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;background:none;color:inherit}input,textarea{font-family:var(--font-family);color:var(--text-primary);background:var(--bg-dark);border:none;outline:none;border-radius:var(--radius-md)}input::placeholder,textarea::placeholder{color:var(--text-muted)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);background:var(--accent-gradient);color:#fff;font-size:var(--font-size-md);font-weight:500;border-radius:var(--radius-md);transition:opacity var(--transition-fast),filter var(--transition-fast);cursor:pointer;border:none}.btn-primary:hover{filter:brightness(1.2)}.btn-primary:active{filter:brightness(.9)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-md);font-weight:500;border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:pointer;border:none}.btn-secondary:hover{background:var(--bg-active)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-darkest);position:relative;overflow:hidden}.login-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15;animation:orbFloat 20s ease-in-out infinite;pointer-events:none}.login-bg-orb--1{width:500px;height:500px;background:#5865f2;top:-150px;left:-100px;animation-delay:0s}.login-bg-orb--2{width:400px;height:400px;background:#7c3aed;bottom:-100px;right:-80px;animation-delay:-7s}.login-bg-orb--3{width:300px;height:300px;background:#3b82f6;top:50%;left:60%;animation-delay:-14s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(40px,-30px) scale(1.05)}50%{transform:translate(-20px,40px) scale(.95)}75%{transform:translate(30px,20px) scale(1.02)}}.login-card{position:relative;width:100%;max-width:440px;padding:var(--space-xxl);background:#2b2d31d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-high),0 0 60px #5865f214;animation:cardSlideUp .5s cubic-bezier(.16,1,.3,1)}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:var(--space-xl)}.login-logo{display:inline-flex;margin-bottom:var(--space-lg);animation:logoPulse 3s ease-in-out infinite}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 8px rgba(88,101,242,.4))}50%{filter:drop-shadow(0 0 16px rgba(88,101,242,.7))}}.login-title{font-size:var(--font-size-xxl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:var(--space-xs)}.login-subtitle{color:var(--text-secondary);font-size:var(--font-size-md)}.login-tabs{display:flex;gap:0;margin-bottom:var(--space-lg);border-radius:var(--radius-md);background:var(--bg-dark);padding:3px}.login-tab{flex:1;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.login-tab:hover{color:var(--text-primary)}.login-tab--active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 1px 3px #0003}.login-form{display:flex;flex-direction:column;gap:var(--space-lg)}.login-field{display:flex;flex-direction:column;gap:var(--space-sm)}.login-field label{font-size:var(--font-size-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.login-field input{padding:var(--space-md) var(--space-lg);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-size-lg);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-field input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #5865f233}.login-field input:disabled{opacity:.6}.login-field-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.login-field-hint a{color:var(--text-link)}.login-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#da373c1a;border:1px solid rgba(218,55,60,.3);border-radius:var(--radius-md);color:var(--text-danger);font-size:var(--font-size-sm);animation:errorShake .4s ease}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-submit{padding:var(--space-md) var(--space-lg);background:var(--accent-gradient);color:#fff;font-size:var(--font-size-lg);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);position:relative;overflow:hidden}.login-submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity var(--transition-fast)}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}.login-submit:hover:not(:disabled):before{opacity:1}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.login-footer{text-align:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-subtle)}.login-footer p{font-size:var(--font-size-xs);color:var(--text-muted)}.login-footer a{color:var(--text-link)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg, rgba(0, 0, 0, .7));display:flex;align-items:center;justify-content:center;padding:var(--space-md);z-index:9999;animation:overlayFadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-card,.modal-content{width:100%;max-width:440px;max-height:calc(100dvh - var(--space-xl));background:var(--bg-floating);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:15px;box-shadow:var(--shadow-high);overflow:auto;animation:modalSlideIn .25s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:var(--space-xl) var(--space-xl) var(--space-md);text-align:center;position:relative}.modal-header h2{font-size:var(--font-size-xxl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm)}.modal-subtitle{color:var(--text-muted);font-size:var(--font-size-md)}.modal-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:var(--space-md) var(--space-xl) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.modal-field{display:flex;flex-direction:column;gap:var(--space-sm)}.modal-field label{font-size:var(--font-size-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.modal-field input{padding:var(--space-md);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-size-lg);color:var(--text-primary);transition:border-color var(--transition-fast);width:100%}.modal-field input:focus{border-color:var(--accent-primary)}.modal-field-with-prefix{display:flex;align-items:center;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.modal-field-with-prefix:focus-within{border-color:var(--accent-primary)}.modal-field-prefix{padding-left:var(--space-md);font-size:var(--font-size-lg);font-weight:500;color:var(--text-muted)}.modal-field-with-prefix input{border:none;background:none;padding-left:var(--space-xs)}.modal-field-with-prefix input:focus{border-color:transparent}.modal-error{padding:var(--space-sm) var(--space-md);background:#da373c1a;border:1px solid rgba(218,55,60,.3);border-radius:var(--radius-md);color:var(--text-danger);font-size:var(--font-size-sm)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-md)}.ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9400;background:transparent}.ctx-menu{position:fixed;min-width:180px;max-width:280px;width:max-content;max-height:calc(100dvh - 16px);overflow-y:auto;background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-xs);box-shadow:var(--shadow-high);z-index:9500;animation:ctxFadeIn .12s ease}@keyframes ctxFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ctx-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-md);font-family:var(--font-family);cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.ctx-menu-item:hover{background:var(--accent-primary);color:#fff}.ctx-menu-item--danger{color:var(--text-danger)}.ctx-menu-item--danger:hover{background:var(--accent-danger);color:#fff}.ctx-menu-item--disabled{color:var(--text-muted);cursor:default;opacity:.5}.ctx-menu-item--disabled:hover{background:none;color:var(--text-muted)}.ctx-menu-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.ctx-menu-label{padding:var(--space-xs) var(--space-md) var(--space-xxs);font-size:var(--font-size-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ctx-menu-separator{height:1px;background:var(--border-subtle);margin:var(--space-xs) var(--space-sm)}.ctx-menu-reaction-row{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:var(--space-xxs);margin-bottom:var(--space-xs)}.ctx-menu-reaction-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:none;font-size:20px;cursor:pointer;transition:transform .1s ease,background .1s ease}.ctx-menu-reaction-btn:hover{background:var(--bg-modifier-hover);transform:scale(1.1)}.admin-dashboard{display:flex;flex-direction:column;height:100%;gap:16px}.admin-dashboard h2{margin:0;display:flex;align-items:center;gap:10px}.admin-dashboard h2 svg{color:var(--accent-primary)}.admin-db-subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:4px}.admin-table-chips{display:flex;flex-wrap:wrap;gap:6px}.admin-table-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);border:1px solid transparent}.admin-table-chip:hover{background:var(--bg-active);color:var(--text-primary)}.admin-table-chip--active{background:#9d4edd26;color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 8px #9d4edd33}.admin-table-chip-count{font-size:10px;background:var(--bg-dark);padding:1px 6px;border-radius:var(--radius-full);color:var(--text-muted);font-weight:600;min-width:20px;text-align:center}.admin-table-chip--active .admin-table-chip-count{background:#9d4edd40;color:var(--accent-primary)}.admin-search-bar{display:flex;align-items:center;gap:8px;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:6px 12px;transition:border-color var(--transition-fast)}.admin-search-bar:focus-within{border-color:var(--accent-primary)}.admin-search-bar svg{color:var(--text-muted);flex-shrink:0}.admin-search-bar input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-md);padding:4px 0;outline:none}.admin-search-bar input::placeholder{color:var(--text-muted)}.admin-grid-container{flex:1;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-dark)}.admin-grid-info{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--text-muted)}.admin-data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);table-layout:auto}.admin-data-table th{position:sticky;top:0;background:var(--bg-secondary);color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-strong);z-index:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.admin-data-table th:hover{color:var(--text-primary)}.admin-data-table th.sorted-asc:after{content:" ▲";font-size:8px}.admin-data-table th.sorted-desc:after{content:" ▼";font-size:8px}.admin-data-table td{padding:6px 12px;border-bottom:1px solid var(--border-subtle);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);vertical-align:middle}.admin-data-table tbody tr{transition:background var(--transition-fast)}.admin-data-table tbody tr:nth-child(2n){background:#ffffff04}.admin-data-table tbody tr:hover{background:var(--bg-hover)}.admin-data-table tbody tr.admin-row--selected{background:#9d4edd1a}.admin-cell-id{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:11px;color:var(--accent-secondary)}.admin-cell-identity{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:11px;color:var(--text-muted);cursor:help}.admin-cell-timestamp{font-size:11px;color:var(--text-muted)}.admin-cell-bool-true{color:var(--accent-success);font-weight:600}.admin-cell-bool-false{color:var(--text-muted)}.admin-cell-text{max-width:300px;overflow:hidden;text-overflow:ellipsis}.admin-detail-panel{margin-top:12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;animation:adminSlideUp .2s ease}@keyframes adminSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.admin-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-detail-header h3{margin:0;font-size:var(--font-size-md);color:var(--text-primary)}.admin-detail-close{padding:4px 8px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast)}.admin-detail-close:hover{background:var(--bg-active);color:var(--text-primary)}.admin-detail-fields{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:var(--font-size-sm)}.admin-detail-label{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.5px;padding-top:3px}.admin-detail-value{color:var(--text-primary);word-break:break-all;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;padding:2px 0}.admin-detail-value--text{font-family:var(--font-family);white-space:pre-wrap}.admin-detail-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-subtle)}.admin-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}.admin-action-btn--danger{background:#da373c26;color:var(--accent-danger)}.admin-action-btn--danger:hover{background:#da373c4d}.admin-action-btn--primary{background:#9d4edd26;color:var(--accent-primary)}.admin-action-btn--primary:hover{background:#9d4edd4d}.admin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted);gap:8px}.admin-empty svg{opacity:.3;margin-bottom:8px}.loading-draft-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:4px;box-sizing:border-box}.loading-draft-editor{background:var(--bg-primary, #1e1f22);color:var(--text-primary, #f2f3f5);border-radius:12px;width:min(98vw,1920px);height:min(94vh,1400px);max-height:94vh;display:flex;flex-direction:column;border:1px solid var(--border-subtle, #2b2d31);overflow:hidden;box-shadow:0 24px 80px #0000008c}.loading-draft-editor__header{padding:16px 20px;border-bottom:1px solid var(--border-subtle, #2b2d31);display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.loading-draft-editor__header h2{margin:0;font-size:1.15rem;width:100%}.loading-draft-editor__hint{margin:0;font-size:13px;color:var(--text-muted, #b5bac1);flex:1;min-width:200px}.loading-draft-toast{margin:0 20px 8px;padding:10px 14px;background:var(--accent-primary, #5865f2);color:#fff;border-radius:8px;font-size:14px}.loading-draft-editor__body{display:flex;min-height:0;flex:1}.loading-draft-editor__sidebar{width:220px;min-width:180px;border-right:1px solid var(--border-subtle, #2b2d31);padding:12px;display:flex;flex-direction:column;gap:10px;overflow:auto}.loading-draft-editor__new{display:flex;flex-direction:column;gap:8px}.loading-draft-editor__new input{padding:8px 10px;border-radius:8px;border:1px solid var(--border-subtle, #2b2d31);background:var(--bg-secondary, #2b2d31);color:inherit}.loading-draft-list{list-style:none;margin:0;padding:0}.loading-draft-list li button{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px}.loading-draft-list li button.is-active{background:var(--bg-secondary, #2b2d31);color:var(--accent-primary, #5865f2)}.loading-draft-editor__main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.loading-draft-editor__workspace{flex:1;min-height:0;display:flex;flex-direction:column}.loading-draft-placeholder{padding:24px;color:var(--text-muted, #b5bac1)}.loading-draft-banner{padding:10px 16px;font-size:14px}.loading-draft-banner--warn{background:#faa61a26;color:#faa61a}.loading-draft-banner--err{background:#ed424526;color:#ed4245}.loading-draft-toolbar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;justify-content:flex-start;padding:10px 16px;border-bottom:1px solid var(--border-subtle, #2b2d31);row-gap:12px}.loading-draft-rename{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted, #b5bac1);flex:1 1 160px;min-width:0;max-width:280px}.loading-draft-rename input{min-width:160px;padding:6px 8px;border-radius:6px;border:1px solid var(--border-subtle, #2b2d31);background:var(--bg-secondary, #2b2d31);color:inherit}.loading-draft-toolbar__tabs{display:flex;flex-wrap:nowrap;gap:6px;flex:0 0 auto;align-items:center}.loading-draft-toolbar__tabs button{padding:8px 14px;border-radius:8px;border:1px solid var(--border-subtle, #2b2d31);background:transparent;color:inherit;cursor:pointer;font-size:13px;flex-shrink:0;white-space:nowrap}.loading-draft-toolbar__tabs button.is-active{background:var(--bg-secondary, #2b2d31);border-color:var(--accent-primary, #5865f2)}.loading-draft-toolbar__actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:0 0 auto;justify-content:flex-end}.loading-draft-countdown{font-size:12px;color:var(--text-muted, #b5bac1)}.loading-draft-panes{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}.loading-draft-cm-wrap{flex:1;min-height:280px;display:flex;flex-direction:column;min-width:0}.loading-draft-cm{flex:1;min-height:0;width:100%;min-width:0;border-radius:8px;overflow:hidden;border:1px solid var(--border-subtle, #2b2d31)}.loading-draft-cm .cm-editor,.loading-draft-cm .cm-gutters{font-size:13px}.loading-draft-cm .cm-scroller{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.loading-draft-cm .cm-editor{min-height:100%}.loading-draft-preview{flex:1;min-height:min(70vh,900px);width:100%;border:none;background:#0a0a0f}@media(max-width:720px){.loading-draft-editor__body{flex-direction:column}.loading-draft-editor__sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-subtle, #2b2d31);max-height:40vh}.loading-draft-toolbar__actions{margin-left:0}}.server-settings{display:flex;width:90vw;max-width:900px;height:80vh;max-height:680px;background:var(--bg-floating);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:15px;box-shadow:var(--shadow-high);overflow:hidden;animation:modalSlideIn .25s cubic-bezier(.16,1,.3,1)}.server-settings-sidebar{width:220px;background:var(--bg-secondary);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xxs);flex-shrink:0}.server-settings-sidebar-header{font-size:var(--font-size-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-sm) var(--space-sm) var(--space-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-settings-tab{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-md);font-family:var(--font-family);cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.server-settings-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.server-settings-tab--active{background:var(--bg-active)!important;color:var(--text-primary)!important}.server-settings-tab--close{margin-top:auto;color:var(--text-muted)}.server-settings-tab-separator{height:1px;background:var(--border-subtle);margin:var(--space-sm) var(--space-md)}.server-settings-content{flex:1;padding:var(--space-xxl);overflow-y:auto}.server-settings-content-inner{max-width:560px}.server-settings-content h2{font-size:var(--font-size-xxl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xl)}.server-settings-readonly{padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--space-lg)}.server-settings-desc{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-lg)}.server-settings-add-member{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.server-settings-add-member input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-family);transition:border-color var(--transition-fast)}.server-settings-add-member input:focus{border-color:var(--accent-primary);outline:none}.server-settings-member-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:300px;overflow-y:auto;padding-right:var(--space-sm)}.server-settings-member-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:var(--font-size-md);color:var(--text-secondary)}.server-settings-member-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);transition:background var(--transition-fast),color var(--transition-fast)}.server-settings-member-remove:hover{background:var(--bg-hover);color:var(--text-danger)}.server-settings-danger-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);background:#da373c0f;border:1px solid rgba(218,55,60,.25);border-radius:var(--radius-md)}.server-settings-danger-card strong{color:var(--text-primary);display:block;margin-bottom:var(--space-xs)}.server-settings-danger-card p{color:var(--text-muted);font-size:var(--font-size-sm);margin:0}.server-settings-danger-card--stack{flex-direction:column;align-items:stretch;gap:var(--space-md)}.server-settings-danger-card--stack .server-settings-danger-card__copy{max-width:100%}.server-settings-transfer{display:flex;flex-direction:column;gap:var(--space-sm);width:100%;max-width:420px}.server-settings-transfer-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.server-settings-transfer-label svg{flex-shrink:0;opacity:.85}.server-settings-transfer-hint{margin:0;font-size:12px;line-height:1.45;color:var(--text-muted)}.server-settings-transfer-empty{margin:0;padding:var(--space-md);font-size:var(--font-size-sm);line-height:1.45;color:var(--text-muted);background:var(--bg-tertiary);border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.server-settings-transfer-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.server-settings-transfer-actions .btn-secondary{flex:1 1 auto;min-width:140px;justify-content:center}.server-settings .modal-field select,.server-settings .server-settings-transfer-select{width:100%;padding:10px 42px 10px 12px;background-color:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-family);line-height:1.25;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.server-settings .server-settings-transfer-select{min-height:44px;cursor:pointer}.server-settings .modal-field select:focus,.server-settings .server-settings-transfer-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.server-settings .modal-field select:disabled,.server-settings .server-settings-transfer-select:disabled{opacity:.7;cursor:not-allowed}.btn-danger{padding:var(--space-sm) var(--space-lg);background:var(--accent-danger);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),transform var(--transition-fast)}.btn-danger:hover{background:#c0392b;transform:scale(1.02)}.server-settings-confirm{display:flex;flex-direction:column;gap:var(--space-sm);min-width:200px}.server-settings-confirm p{font-size:var(--font-size-xs);color:var(--text-danger)}.server-settings-confirm input{padding:var(--space-sm);background:var(--bg-dark);border:1px solid var(--accent-danger);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}@media(max-width:768px){.server-settings{flex-direction:column;height:90vh}.server-settings-sidebar{width:100%;flex-direction:row;padding:var(--space-sm);border-bottom:1px solid var(--border-subtle);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.server-settings-sidebar::-webkit-scrollbar{display:none}.server-settings-sidebar-header{display:none}.server-settings-tab{flex-shrink:0;width:auto;padding:var(--space-xs) var(--space-md);white-space:nowrap}.server-settings-tab-separator{width:1px;height:24px;margin:auto var(--space-sm)}.server-settings-tab--close{margin-left:auto}.server-settings-content{padding:var(--space-lg)}.server-settings-danger-card{flex-direction:column;align-items:flex-start;gap:var(--space-md)}}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg-tertiary);border-radius:22px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.toggle-slider{background:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.media-crop-frame{width:100%;max-width:520px;margin:0 auto;background:#0000002e;border:1px solid var(--border-subtle);border-radius:12px;position:relative;overflow:hidden;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.media-crop-frameShade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#0000002e,#0000002e);pointer-events:none}.media-crop-imageWrap{position:absolute;top:0;left:0;transform:translate(0);will-change:transform}.media-crop-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000040;color:var(--text-muted);font-size:14px}.app-settings-profile-card{background:var(--bg-tertiary);border-radius:12px;overflow:hidden;margin-bottom:24px}.app-settings-profile-banner{height:100px;background:linear-gradient(135deg,var(--accent-primary, #5865f2),#7289da)}.app-settings-profile-body{padding:0 16px 16px;position:relative}.app-settings-profile-avatar{width:80px;height:80px;border-radius:50%;border:6px solid var(--bg-tertiary);margin-top:-40px;overflow:hidden;background:var(--bg-secondary)}.app-settings-profile-avatar img{width:100%;height:100%;object-fit:cover}.app-settings-profile-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;background:var(--accent-primary)}.app-settings-profile-name{font-size:20px;font-weight:700;color:var(--text-primary);margin-top:8px}.app-settings-profile-handle{font-size:14px;color:var(--text-muted);margin-top:2px}.app-settings-group{margin-bottom:32px}.app-settings-group-title{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px}.app-settings-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.app-settings-item:last-child{border-bottom:none}.app-settings-item-info{flex:1;min-width:0;margin-right:16px}.app-settings-item-label{font-size:15px;color:var(--text-primary);font-weight:500}.app-settings-item-desc{font-size:13px;color:var(--text-muted);margin-top:2px;line-height:1.4}.app-settings-info-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary, rgba(0, 0, 0, .15));border-radius:8px;margin-bottom:8px}.app-settings-info-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.app-settings-info-value{font-size:15px;color:var(--text-primary)}.app-settings-range{width:200px;accent-color:var(--accent-primary, #5865f2)}.app-settings-theme-options{display:flex;gap:12px;margin-top:8px}.app-settings-theme-option{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:12px 16px;border-radius:8px;border:2px solid transparent;background:var(--bg-tertiary);transition:border-color .15s,background .15s;min-width:80px;flex-shrink:0}.app-settings-theme-option:hover{background:var(--bg-hover)}.app-settings-theme-option--active{border-color:var(--accent-primary, #5865f2)}.app-settings-theme-preview{width:48px;height:48px;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.app-settings-theme-label{font-size:13px;color:var(--text-secondary);font-weight:500}.app-settings-sidebar-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:16px 12px 6px}.app-settings-version{font-size:11px;color:var(--text-muted);padding:8px 12px;margin-top:auto}.server-rail{display:flex;flex-direction:column;width:var(--server-rail-width);background:var(--bg-darkest);padding:var(--space-md) 0;align-items:center;gap:var(--space-xs);overflow-y:auto;overflow-x:hidden;flex-shrink:0;z-index:110}.server-rail-home{display:flex;flex-direction:column;align-items:center;width:100%}.server-rail-separator{width:32px;height:2px;background:var(--border-strong);border-radius:1px;margin:var(--space-sm) 0}.server-rail-list{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);width:100%;overflow-y:auto;min-height:0}.server-rail-item{position:relative;display:flex;align-items:center;width:100%;justify-content:center}.server-unread-badge{position:absolute;bottom:-2px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--status-dnd, #ed4245);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--bg-tertiary);pointer-events:none;z-index:1}.server-pill{position:absolute;left:0;width:4px;height:0;background:var(--text-primary);border-radius:0 4px 4px 0;transition:height var(--transition-normal)}.server-rail-item:hover .server-pill{height:20px}.server-pill--active{height:36px!important}.server-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;color:var(--text-secondary);background:var(--bg-primary);cursor:pointer;transition:border-radius var(--transition-normal),background var(--transition-normal),color var(--transition-normal),transform var(--transition-fast);overflow:hidden;border:none;position:relative}.server-icon:hover{border-radius:var(--radius-xl);background:var(--accent-primary);color:#fff;transform:scale(1.05)}.server-icon--active{border-radius:var(--radius-xl)!important;background:var(--accent-primary)!important;color:#fff!important}.server-icon--home{background:var(--bg-primary);color:var(--accent-primary)}.server-icon--home:hover{background:var(--accent-primary);color:#fff}.server-icon--add{background:var(--bg-primary);color:var(--accent-success)}.server-icon--add:hover{background:var(--accent-success);color:#fff;border-radius:var(--radius-xl)}.server-icon--user{width:40px;height:40px;font-size:var(--font-size-md);margin-top:auto}.server-icon--user img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.server-icon--editing-save{background:var(--accent-success)!important;color:#fff!important;border-radius:var(--radius-xl)!important}.server-icon--editing-save:hover{background:var(--accent-success-hover)!important}.server-icon--wiggle{animation:serverWiggle .3s linear infinite;transform-origin:center center;cursor:grab}.server-icon--wiggle:active{cursor:grabbing}.server-rail-item--dragging{opacity:.4;transform:scale(.95);transition:all .2s ease}@keyframes serverWiggle{0%{transform:rotate(0)}25%{transform:rotate(-3deg)}50%{transform:rotate(0)}75%{transform:rotate(3deg)}to{transform:rotate(0)}}.server-rail-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);width:100%;margin-top:auto;position:relative}.server-add-menu{position:fixed;background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-sm);box-shadow:var(--shadow-high);min-width:180px;z-index:9000;animation:menuSlideIn .15s ease}.server-add-menu button{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.server-add-menu button:hover{background:var(--accent-primary);color:#fff}@keyframes menuSlideIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.server-context-menu{position:fixed;background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-xs);box-shadow:var(--shadow-high);min-width:160px;z-index:9000;animation:menuSlideIn .12s ease}.server-context-header{padding:var(--space-xs) var(--space-md) var(--space-sm);font-size:var(--font-size-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-context-menu button{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.server-context-danger{color:var(--text-danger)}.server-context-danger:hover{background:var(--accent-danger)!important;color:#fff!important}@media(max-width:768px){.server-rail{position:fixed;left:0;top:var(--safe-top);bottom:var(--safe-bottom);z-index:110;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.app-layout--sidebar-open .server-rail{transform:translate(0)}}.channel-settings{width:600px;height:400px;background:var(--bg-floating);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:15px;display:flex;overflow:hidden;box-shadow:var(--shadow-high)}.channel-settings-sidebar{width:160px;background:var(--bg-secondary);padding:var(--space-md);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.channel-settings-sidebar-header{font-size:var(--font-size-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-xs);padding:0 var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-settings-tab{padding:var(--space-xs) var(--space-sm);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-md);text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.channel-settings-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.channel-settings-tab--active{background:var(--bg-active);color:var(--text-primary)}.channel-settings-tab-separator{height:1px;background:var(--border-subtle);margin:var(--space-sm) 0}.channel-settings-tab--close{margin-top:auto;display:flex;align-items:center;gap:var(--space-xs);color:var(--text-danger)}.channel-settings-tab--close:hover{background:var(--accent-danger);color:#fff}.channel-settings-content{flex:1;background:transparent;overflow-y:auto;padding:32px 40px}.channel-settings-content-inner{max-width:460px;display:flex;flex-direction:column;gap:24px}.channel-settings-content-inner h2{font-size:20px;margin:0 0 8px;color:var(--text-primary)}.channel-settings-desc{color:var(--text-muted);font-size:var(--font-size-sm);margin:0 0 16px;line-height:1.4}.channel-settings-readonly{color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);text-align:center}.channel-settings-danger-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md);background:var(--bg-secondary);display:flex;flex-direction:column;gap:var(--space-md)}.channel-settings-danger-card p{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--text-muted)}.channel-settings-confirm{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.channel-settings-base-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);border:1px solid transparent}.channel-settings-role-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:250px;overflow-y:auto}.channel-sidebar{width:var(--channel-sidebar-width);max-width:220px;background:var(--bg-primary);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.5));z-index:11;margin-left:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.app-layout--channels-hidden .channel-sidebar{margin-left:-220px}.channel-sidebar-header{padding:var(--space-md) var(--space-lg);height:48px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-low);cursor:pointer;transition:background var(--transition-fast);background:var(--bg-secondary);filter:drop-shadow(0px 0px 6px rgba(0,0,0,.5))}.channel-sidebar-header:hover{background:#ffffff05}.channel-sidebar-desc{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-sidebar-list{flex:1;overflow-y:auto;padding:var(--space-sm) var(--space-sm)}.channel-category{margin-bottom:var(--space-lg)}.channel-category-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-lg) var(--space-sm) var(--space-xs);font-size:var(--font-size-xs);font-weight:700;color:var(--text-muted);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.channel-category-header:hover{color:var(--text-secondary)}.channel-add-btn{margin-left:auto;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.channel-category-header:hover .channel-add-btn{opacity:1}.channel-add-btn:hover{color:var(--text-primary)}.channel-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-md);cursor:pointer;touch-action:none;transition:background var(--transition-fast),color var(--transition-fast)}.channel-item:hover{background:var(--bg-hover);color:var(--text-secondary)}.channel-item--active{background:var(--bg-active)!important;color:var(--text-primary)!important}.channel-unread-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--status-dnd, #ed4245);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.channel-edit-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:var(--radius-sm);color:var(--text-muted);opacity:0;pointer-events:none;transition:all var(--transition-fast)}.channel-edit-btn:hover{color:var(--text-primary);opacity:1}.channel-item:hover .channel-edit-btn{opacity:1;pointer-events:auto}.channel-item--active .channel-edit-btn{opacity:0;pointer-events:none}.channel-chat-actions{margin-left:auto;display:flex;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.channel-item:hover .channel-chat-actions,.channel-item--active:hover .channel-chat-actions{opacity:1;pointer-events:auto}.channel-chat-btn,.channel-chat-settings-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius-sm);opacity:.75;transition:color var(--transition-fast),opacity var(--transition-fast),background var(--transition-fast)}.channel-chat-btn:hover,.channel-chat-settings-btn:hover{color:var(--text-primary);opacity:1;background:#ffffff0f}.channel-hash{font-size:var(--font-size-lg);font-weight:500;opacity:.6;flex-shrink:0}.channel-name{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-item-wrapper{display:flex;flex-direction:column}.channel-voice-participant-list{display:flex;flex-direction:column;padding-left:28px;padding-bottom:4px;gap:4px}.channel-voice-participant{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;position:relative;z-index:10;transition:background var(--transition-fast)}.channel-voice-participant:hover{background:var(--bg-hover)}.channel-voice-participant-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;background:var(--bg-tertiary)}.channel-voice-participant-name{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-item-edit{flex:1;background:var(--bg-dark);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);padding:2px var(--space-xs);color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-family);outline:none;min-width:0}.channel-sidebar-bottom{background:var(--bg-tertiary);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;padding-bottom:var(--safe-area-inset-bottom, 0px)}.channel-sidebar-voice-connected{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--bg-active);border-bottom:1px solid var(--border-subtle)}.voice-connected-info{display:flex;flex-direction:column;min-width:0}.voice-connected-status{font-size:var(--font-size-xs);font-weight:700;color:var(--accent-success);text-transform:uppercase}.voice-connected-channel{font-size:var(--font-size-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-disconnect-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.voice-disconnect-btn:hover{background:#ffffff1a;color:var(--accent-danger)}.channel-sidebar-user{padding:var(--space-sm) var(--space-md)}.channel-sidebar-user-status{position:relative;width:10px;height:10px;background:var(--accent-success);border-radius:var(--radius-full);margin:var(--space-xs) auto}@media(max-width:768px){.channel-sidebar{position:fixed;left:0;margin-left:var(--server-rail-width);top:var(--safe-top);bottom:var(--safe-bottom);z-index:102;box-shadow:var(--shadow-high);transform:translate(calc(-100% - var(--server-rail-width)));transition:transform .3s cubic-bezier(.4,0,.2,1);border-right:1px solid var(--border-subtle)}.app-layout--channels-hidden .channel-sidebar{margin-left:var(--server-rail-width)}.app-layout--sidebar-open .channel-sidebar{transform:translate(0)}}.presence-dot{background-color:var(--text-muted);transition:background-color var(--transition-fast)}.presence-online{background-color:#23a559}.presence-away{background-color:#f0b232}.presence-dnd{background-color:#f23f43}.presence-invisible,.presence-offline{background-color:#80848e}.user-popover{position:fixed;width:320px;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-high);overflow:hidden;z-index:9200;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes popoverFadeIn{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.user-popover-banner{height:60px;background:linear-gradient(135deg,var(--accent-primary),#7c3aed);background-size:cover;background-position:center}.user-popover-avatar-wrapper{position:relative;width:72px;height:72px;margin-top:-36px;margin-left:var(--space-lg);border-radius:var(--radius-full);border:5px solid var(--bg-primary);background:var(--bg-primary)}.user-popover-avatar{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover}.user-popover-avatar-fallback{width:100%;height:100%;border-radius:var(--radius-full);background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-xxl);color:#fff}.user-popover-status-dot{position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:var(--radius-full);border:3px solid var(--bg-primary)}.user-popover-body{padding:var(--space-sm) var(--space-lg) var(--space-lg)}.user-popover-loading{color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--space-lg) 0;text-align:center}.user-popover-names{margin-bottom:var(--space-sm)}.user-popover-displayname{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);line-height:1.2}.user-popover-handle{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.user-popover-divider{height:1px;background:var(--border-subtle);margin:var(--space-md) 0}.user-popover-section-title{font-size:var(--font-size-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-xs)}.user-popover-bio{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4;max-height:80px;overflow-y:auto;word-wrap:break-word}.user-popover-stats{display:flex;gap:var(--space-lg);font-size:var(--font-size-sm);color:var(--text-muted)}.user-popover-stats strong{color:var(--text-primary)}.user-popover-roles{display:flex;flex-wrap:wrap;gap:6px}.user-popover-role-badge{display:flex;align-items:center;gap:6px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);font-weight:500}.user-popover-role-dot{width:10px;height:10px;border-radius:50%}.user-popover-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);width:100%}.user-popover-btn{flex:1;padding:var(--space-sm) var(--space-md);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:background var(--transition-fast);text-align:center}.user-popover-btn-primary{background:var(--accent-primary);color:#fff}.user-popover-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.user-popover-btn-secondary{background:var(--bg-modifier-hover);color:var(--text-normal)}.user-popover-btn-secondary:hover:not(:disabled){background:var(--bg-modifier-active)}.user-popover-btn:disabled{opacity:.5;cursor:not-allowed}.member-sidebar{width:280px;max-width:65vw;background:var(--bg-primary);border-left:1px solid var(--border-subtle);flex-shrink:0;overflow-y:auto;overflow-x:hidden;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.5));margin-right:-280px;transition:margin-right .3s cubic-bezier(.4,0,.2,1)}.app-layout--members-open .member-sidebar{margin-right:0}.member-sidebar-inner{padding:var(--space-lg) var(--space-md)}.member-sidebar-search{margin-bottom:var(--space-md);padding:0 var(--space-sm);position:relative;display:flex;align-items:center}.member-sidebar-search-icon{position:absolute;left:calc(var(--space-sm) + 8px);color:var(--text-muted);pointer-events:none;flex-shrink:0}.member-sidebar-search input{width:100%;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-normal);padding:6px 28px 6px 30px;font-size:var(--font-size-sm);outline:none;transition:background var(--transition-fast)}.member-sidebar-search input::placeholder{color:var(--text-muted)}.member-sidebar-search input:focus{background:var(--bg-modifier-selected)}.member-sidebar-search-clear{position:absolute;right:calc(var(--space-sm) + 6px);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.member-sidebar-search-clear:hover{color:var(--text-primary)}.search-result-card{padding:10px 12px;margin:4px 0;background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.search-result-card:hover{background:var(--bg-hover)}.search-result-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.search-result-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;flex-shrink:0}.search-result-avatar-fallback{background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.search-result-name{font-size:13px;font-weight:600;color:var(--text-primary)}.search-result-time{font-size:11px;color:var(--text-muted);margin-left:auto}.search-result-snippet{font-size:13px;color:var(--text-secondary);line-height:1.4;word-break:break-word}.search-highlight{background:#faa61a4d;color:var(--text-primary);border-radius:2px;padding:0 1px}.member-section{margin-bottom:var(--space-xl)}.member-section-title{font-size:var(--font-size-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 var(--space-sm);margin-bottom:var(--space-sm)}.member-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}.member-item.offline{opacity:.5}.member-item:hover{background:var(--bg-hover)}.member-avatar{position:relative;width:32px;height:32px;flex-shrink:0;background:#000;border-radius:30px}.member-avatar img{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover}.member-avatar-fallback{width:100%;height:100%;border-radius:var(--radius-full);background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);color:#fff}.member-status-dot{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:var(--radius-full);border:2px solid var(--bg-primary)}.member-info{min-width:0}.member-name{font-size:var(--font-size-md);font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:var(--space-xs)}.member-name--owner{color:var(--accent-warning)}.member-you-tag{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-sm);font-weight:400}@media(max-width:768px){.member-sidebar{position:fixed;right:0;top:var(--safe-top);bottom:var(--safe-bottom);z-index:102;box-shadow:-4px 0 16px #0006;margin-right:0;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.app-layout--members-open .member-sidebar{transform:translate(0)}}.mention-autocomplete{position:absolute;bottom:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 -4px 16px #0006;z-index:100;padding:4px;margin-bottom:4px}.mention-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.mention-item:hover,.mention-item--selected{background:var(--bg-active)}.mention-item-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);font-size:13px;font-weight:700;color:var(--text-muted)}.mention-item-avatar img{width:100%;height:100%;object-fit:cover}.mention-item-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.mention-item-avatar--everyone{background:var(--accent-primary);color:#fff;font-weight:800;font-size:16px}.mention-item-avatar--role{background:transparent;border:2px solid var(--text-muted);display:flex;align-items:center;justify-content:center}.mention-role-dot{width:12px;height:12px;border-radius:50%}.mention-item-info{display:flex;flex-direction:column;min-width:0}.mention-item-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-item-detail{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-highlight{background:#5865f233;color:#7289da;padding:0 3px;border-radius:3px;font-weight:600;cursor:default}.mention-highlight--self{background:#5865f259;color:#dee0fc}.mention-highlight--role{padding:0 3px;border-radius:3px;font-weight:600;cursor:default}.mention-highlight--everyone{background:#faa61a33;color:#faa61a;padding:0 3px;border-radius:3px;font-weight:600;cursor:default}.mention-item-avatar--channel{background:var(--bg-active);color:var(--text-muted);font-weight:800;font-size:16px;border-radius:6px}.mention-highlight--channel{background:#5865f226;color:#7289da;padding:0 3px;border-radius:3px;font-weight:600;cursor:pointer}.mention-highlight--channel:hover{background:#5865f259;text-decoration:underline}.mention-highlight--msgref{background:#e6af2e26;color:#e6af2e;padding:0 4px;border-radius:3px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;font-family:monospace;font-size:.9em}.mention-highlight--msgref:hover{background:#e6af2e59;text-decoration:underline}.message-attachment{margin-top:var(--space-xs);background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden;max-width:450px;width:fit-content;border:1px solid rgba(255,255,255,.05)}.attachment-image-container{max-height:400px;overflow:hidden;display:flex;justify-content:center;background:transparent}.attachment-image{max-width:100%;max-height:400px;width:auto;height:auto;object-fit:contain;display:block}.attachment-video-container{max-height:400px;background:transparent;display:flex;justify-content:center}.custom-video-player{position:relative;width:100%;max-height:400px;background:#000;cursor:pointer;overflow:hidden}.custom-video-player--fullscreen{max-height:none;z-index:99999}.custom-video-player--fullscreen .custom-video-controls{padding-bottom:calc(8px + var(--safe-bottom, 0px))}.custom-video-element{width:100%;max-height:400px;display:block;object-fit:contain}.custom-video-player--fullscreen .custom-video-element{max-height:100vh;height:100vh}.custom-video-big-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.custom-video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000d9);padding:20px 10px 8px;transition:opacity .3s ease;cursor:default}.custom-video-controls--hidden{opacity:0;pointer-events:none}.custom-video-progress{position:relative;height:4px;background:#fff3;border-radius:2px;cursor:pointer;margin-bottom:8px;transition:height .1s ease}.custom-video-progress:hover{height:6px}.custom-video-progress-filled{position:absolute;top:0;left:0;height:100%;background:var(--accent-primary, #5865f2);border-radius:2px;pointer-events:none}.custom-video-progress-thumb{position:absolute;top:50%;width:12px;height:12px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s ease;pointer-events:none}.custom-video-progress:hover .custom-video-progress-thumb{opacity:1}.custom-video-controls-row{display:flex;align-items:center;justify-content:space-between}.custom-video-controls-left,.custom-video-controls-right{display:flex;align-items:center;gap:4px}.custom-video-btn{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.9;transition:opacity .15s,background .15s}.custom-video-btn:hover{opacity:1;background:#ffffff1a}.custom-video-volume{width:60px;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ffffff4d;border-radius:2px;outline:none;cursor:pointer;margin:0 4px}.custom-video-volume::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:#fff;border-radius:50%;cursor:pointer}.custom-video-time{font-size:11px;color:#fffc;font-variant-numeric:tabular-nums;margin-left:6px;-webkit-user-select:none;user-select:none}.attachment-audio-container{padding:0;background:transparent}.custom-audio-player{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-secondary);border-radius:0}.custom-audio-play-btn{flex-shrink:0;width:36px;height:36px;background:var(--accent-primary, #5865f2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease}.custom-audio-play-btn:hover{filter:brightness(1.1);transform:scale(1.05)}.custom-audio-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.custom-audio-filename{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-audio-controls-row{display:flex;align-items:center;gap:8px}.custom-audio-time{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;-webkit-user-select:none;user-select:none}.custom-audio-progress{flex:1;position:relative;height:4px;background:#ffffff26;border-radius:2px;cursor:pointer}.custom-audio-progress:hover{height:6px}.custom-audio-progress-filled{position:absolute;top:0;left:0;height:100%;background:var(--accent-primary, #5865f2);border-radius:2px;pointer-events:none}.custom-audio-progress-thumb{position:absolute;top:50%;width:10px;height:10px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s ease;pointer-events:none}.custom-audio-progress:hover .custom-audio-progress-thumb{opacity:1}.custom-audio-volume-group{display:flex;align-items:center;gap:2px;flex-shrink:0}.custom-audio-mute-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .15s}.custom-audio-mute-btn:hover{color:var(--text-primary)}.custom-audio-volume{width:50px;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}.custom-audio-volume::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:var(--text-primary);border-radius:50%;cursor:pointer}.attachment-text-container{padding:var(--space-sm);background:var(--bg-secondary);display:flex;flex-direction:column;gap:var(--space-sm)}.attachment-text-loading{padding:var(--space-md);color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.attachment-text-snippet{margin:0;padding:var(--space-sm);background:#0003;border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:600px;overflow-y:auto}.attachment-expand-btn{align-self:flex-start;padding:4px 8px;font-size:var(--font-size-xs)}.attachment-generic-container{padding:var(--space-lg);display:flex;justify-content:center;align-items:center;background:var(--bg-secondary)}.attachment-generic-icon{font-size:32px}.attachment-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:#00000026;border-top:1px solid rgba(255,255,255,.05)}.attachment-info{display:flex;align-items:baseline;gap:var(--space-sm);overflow:hidden}.attachment-filename{font-weight:500;font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.message-attachment.has-preview{position:relative}.message-attachment.has-preview .attachment-overlay-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:linear-gradient(to bottom,#000c,#0000);opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:5}.message-attachment.has-preview:hover .attachment-overlay-header{opacity:1;pointer-events:auto}.attachment-size{font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0}.attachment-download-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:var(--radius-sm);transition:all .2s ease}.attachment-download-btn:hover{color:var(--text-primary);background:#ffffff1a}.attachment-image-clickable{cursor:pointer;transition:transform .2s ease,opacity .2s ease}.attachment-image-clickable:hover{opacity:.9}.attachment-lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;z-index:9999;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.attachment-lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 10px 40px #00000080;cursor:default}.db-attachment{margin-top:8px;border:1px solid var(--background-modifier-accent, rgba(255, 255, 255, .1));border-radius:10px;overflow:hidden;background:var(--background-secondary, rgba(255, 255, 255, .03));max-width:420px}.db-attachment-preview{width:100%}.db-attachment-image,.db-attachment-video{width:100%;max-height:320px;object-fit:contain;display:block;background:#000}.db-attachment-image-clickable{cursor:zoom-in}.db-attachment-audio{width:100%;display:block}.db-attachment-generic{padding:14px;font-size:13px;opacity:.85}.db-attachment-footer{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:12px}.db-attachment-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-attachment-size{opacity:.75}.db-attachment-download{margin-left:auto;color:var(--text-link, #4ea1ff);text-decoration:none}.db-attachment-download:hover{text-decoration:underline}.db-attachment-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}.db-attachment-lightbox-image{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 30px #00000073}.reaction-modal-content{max-width:440px;width:100%;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:80vh}.reaction-modal-header{padding:var(--space-xl) var(--space-xl) 0;border-bottom:1px solid var(--border-subtle)}.reaction-modal-tabs{display:flex;gap:var(--space-sm);margin-top:var(--space-md);overflow-x:auto;padding-bottom:4px}.reaction-modal-tabs::-webkit-scrollbar{height:4px}.reaction-tab{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-muted);font-size:var(--font-size-md);cursor:pointer;transition:all .1s ease;white-space:nowrap;border-bottom:2px solid transparent}.reaction-tab:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.reaction-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.reaction-tab-count{font-weight:600;font-size:var(--font-size-sm)}.reaction-modal-body{padding:var(--space-md) var(--space-xl) var(--space-xl);overflow-y:auto;display:flex;flex-direction:column;gap:4px}.reaction-user-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-sm);transition:background .1s ease}.reaction-user-row:hover{background:var(--bg-modifier-hover)}.reaction-user-avatar{width:36px;height:36px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.reaction-user-avatar img{width:100%;height:100%;object-fit:cover}.reaction-user-avatar-fallback{width:100%;height:100%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.reaction-user-info{display:flex;align-items:baseline;gap:var(--space-sm);overflow:hidden}.reaction-user-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reaction-user-handle{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forward-modal-card{max-width:480px;width:100%}.forward-message-preview{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);border-left:3px solid var(--accent-primary)}.forward-message-text{color:var(--text-primary);font-size:var(--font-size-md);white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto}.forward-search-container{margin-bottom:var(--space-md)}.forward-search-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);outline:none;transition:box-shadow var(--transition-fast)}.forward-search-input:focus{box-shadow:0 0 0 2px #5865f24d}.forward-options-list{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto;padding-right:4px}.forward-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.forward-option:hover{background:#ffffff0d}.forward-option.selected{background:#5865f226}.forward-option-icon{width:32px;height:32px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center}.forward-option-icon img{width:100%;height:100%;object-fit:cover}.forward-fallback-icon{color:var(--text-muted);font-size:16px;font-weight:600}.forward-option-info{display:flex;flex-direction:column;overflow:hidden}.forward-option-name{color:var(--text-primary);font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forward-option-desc{color:var(--text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forward-empty{text-align:center;padding:var(--space-xl) 0;color:var(--text-muted);font-style:italic}.emoji-picker{width:352px;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;overflow:hidden;animation:emoji-picker-in .12s ease-out}@keyframes emoji-picker-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.emoji-picker-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.emoji-picker-search-icon{color:var(--text-muted);flex-shrink:0}.emoji-picker-search-input{flex:1;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:6px 10px;outline:none;transition:border-color .15s}.emoji-picker-search-input::placeholder{color:var(--text-muted)}.emoji-picker-search-input:focus{border-color:var(--accent-primary)}.emoji-picker-body{display:flex;flex:1;min-height:0;height:310px}.emoji-picker-categories{width:40px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-right:1px solid rgba(255,255,255,.06);overflow-y:auto;overflow-x:hidden}.emoji-picker-cat-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);font-size:16px;cursor:pointer;transition:background .15s;opacity:.6}.emoji-picker-cat-btn:hover{background:#ffffff14;opacity:1}.emoji-picker-cat-btn--active{background:#ffffff1a;opacity:1;position:relative}.emoji-picker-cat-btn--active:after{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:3px;height:16px;background:var(--accent-primary);border-radius:2px}.emoji-picker-grid-area{flex:1;min-width:0;display:flex;flex-direction:column;padding:6px 8px}.emoji-picker-cat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 4px 6px;-webkit-user-select:none;user-select:none}.emoji-picker-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.emoji-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;overflow-y:auto;height:320px;padding-right:4px}.emoji-picker-grid::-webkit-scrollbar{width:4px}.emoji-picker-grid::-webkit-scrollbar-track{background:transparent}.emoji-picker-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.emoji-picker-grid::-webkit-scrollbar-thumb:hover{background:#ffffff40}.emoji-picker-emoji{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);font-size:22px;cursor:pointer;transition:background .1s,transform .1s;line-height:1}.emoji-picker-emoji:hover{background:#ffffff1a;transform:scale(1.15)}.emoji-picker-emoji:active{transform:scale(.95)}.message-area-wrapper{flex:1;position:relative;display:flex;flex-direction:column;min-height:0}.message-area{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding:0}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000004d;z-index:10;transition:background .15s,color .15s,transform .15s}.scroll-to-bottom-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}.message-area-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-md);color:var(--text-muted)}.message-area-loading-overlay{position:absolute;top:var(--space-md);left:50%;transform:translate(-50%);background:var(--bg-primary);padding:var(--space-sm);border-radius:var(--radius-full);box-shadow:0 4px 6px #0000004d;z-index:10}.message-area-loading-overlay .message-area-spinner{width:24px;height:24px;border-width:2px}.message-area-spinner{width:32px;height:32px;border:3px solid var(--bg-tertiary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.message-area-empty,.message-area-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--space-xxl)}.message-area-empty-icon,.message-area-welcome-icon{width:68px;height:68px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:var(--text-muted);margin-bottom:var(--space-lg)}.message-area-empty h3,.message-area-welcome h3{font-size:var(--font-size-xxl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm)}.message-area-empty p,.message-area-welcome p{color:var(--text-muted);font-size:var(--font-size-md);max-width:400px}.message-area-messages{padding:var(--space-lg) 0}.message-group{display:flex;gap:var(--space-lg);padding:var(--space-xxs) var(--space-lg) var(--space-xxs) var(--space-xl);margin-top:var(--space-lg);transition:background var(--transition-fast)}.message-group:hover{background:var(--bg-primary)}.message-avatar{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-full);overflow:hidden;cursor:pointer;margin-top:2px}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-avatar-fallback{width:100%;height:100%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-md);color:#fff}.message-content{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-xxs)}.message-author{font-weight:600;font-size:var(--font-size-base);color:var(--text-primary);cursor:pointer}.message-author:hover{text-decoration:underline}.message-time{font-size:var(--font-size-xs);color:var(--text-muted)}.message-text{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;padding:1px 0;border-radius:var(--radius-sm);cursor:default}.message-text+.message-text{margin-top:var(--space-xxs)}.message-hover-time{display:none;position:absolute;left:-56px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text-muted);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}.message-text:hover>.message-hover-time{display:block}.message-edited{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:var(--space-xs)}.message-edit-wrapper{display:flex;flex-direction:column;gap:var(--space-xxs)}.message-edit-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);line-height:1.4;resize:none;outline:none;overflow-y:auto;max-height:50vh}.message-edit-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.message-system-event{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg) var(--space-sm) var(--space-xl);margin-top:var(--space-md);color:var(--text-muted)}.message-system-icon{width:40px;display:flex;justify-content:flex-end;color:var(--text-muted)}.message-system-content{display:flex;align-items:baseline;font-size:var(--font-size-base)}.message-system-text{color:var(--text-muted);font-weight:500}.message-system-time{margin-left:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-muted);opacity:.7}.message-reactions-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.message-reaction-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:6px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .1s ease}.message-reaction-badge:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.message-reaction-badge.active{background:#5865f226;border-color:#5865f2}.message-reaction-badge .reaction-count{font-weight:600;font-size:11px}.message-text{position:relative}.message-actions{position:absolute;top:-22px;right:16px;display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 0 0 1px #04040526,0 4px 4px #00000029;opacity:0;pointer-events:none;transition:opacity .1s ease;z-index:10}.message-text:hover>.message-actions{opacity:1;pointer-events:auto}.message-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--text-muted);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .1s ease}.message-action-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.message-action-btn--danger:hover{color:#ed4245}.reaction-picker-menu{display:flex;gap:2px;padding:4px}.reaction-picker-btn{background:transparent;border:none;font-size:24px;width:38px;height:38px;cursor:pointer;border-radius:var(--radius-sm);transition:transform .1s ease;display:flex;align-items:center;justify-content:center}.reaction-picker-btn:hover{background:var(--bg-modifier-hover);transform:scale(1.1)}.message-reply-header{display:flex;align-items:center;position:relative;padding-left:20px;margin-bottom:4px;font-size:14px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.message-reply-header:hover .reply-content,.message-reply-header:hover .reply-author{color:var(--text-normal)}.reply-spine{position:absolute;left:2px;top:50%;width:14px;height:18px;border-left:2px solid var(--background-modifier-accent);border-top:2px solid var(--background-modifier-accent);border-top-left-radius:6px;transform:translateY(-5px)}.reply-avatar{width:16px;height:16px;border-radius:50%;margin-right:6px;object-fit:cover}.reply-avatar-fallback{width:16px;height:16px;border-radius:50%;margin-right:6px;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.reply-author{font-weight:600;margin-right:6px;color:var(--text-muted)}.reply-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.thread-card{margin-top:8px;padding:10px 14px;background:var(--bg-tertiary);border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,transform .1s ease}.thread-card:hover{background:var(--bg-modifier-hover);transform:translate(2px)}.thread-card-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary)}.thread-card-icon{font-size:14px}.thread-card-name{color:var(--accent-primary)}.thread-card-preview{margin-top:4px;font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:400px}.thread-card-link{margin-top:6px;font-size:11px;color:var(--text-link);font-weight:500}.message-pending{opacity:.5;color:var(--text-muted)!important;pointer-events:none;-webkit-user-select:none;user-select:none}.message-pending *{color:var(--text-muted)!important}.code-block-container{margin:12px 0 8px;border-radius:8px;overflow:hidden;background:#1e1e1e}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.06)}.code-block-lang{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:none;letter-spacing:.3px}.code-block-copy{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s,background .15s}.code-block-container:hover .code-block-copy{opacity:1}.code-block-copy:hover{color:var(--text-primary);background:#ffffff1a}.message-pending{color:var(--text-muted)!important;opacity:.5}.message-highlight{animation:messageFlash .5s ease-in-out 3!important}@keyframes messageFlash{0%,to{background-color:transparent}50%{background-color:#faa61a40}}.message-area-top-sentinel{min-height:1px}.message-area-loading-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-muted);font-size:13px}.message-area-loading-more.sticky-top{position:sticky;top:0;z-index:5;background:var(--bg-primary)}.message-area-beginning{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;color:var(--text-muted);text-align:center}.message-area-beginning-icon{width:48px;height:48px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.message-area-beginning p{margin:0;font-size:13px}.message-input-container{padding:0 var(--space-lg) var(--space-xl);flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-xs);position:relative;padding-top:12px}.message-input-wrapper{position:relative;display:flex;align-items:flex-end;gap:0;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-xxs);transition:box-shadow var(--transition-fast)}.message-input-wrapper:focus-within{box-shadow:0 0 0 2px #5865f24d}.message-input-wrapper.has-attachment,.message-input-wrapper.has-reply{border-top-left-radius:0;border-top-right-radius:0}.message-input-reply-preview{background:var(--bg-tertiary);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:var(--space-sm) var(--space-md);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);font-size:var(--font-size-sm);color:var(--text-muted)}.reply-preview-label{flex-shrink:0;margin-right:var(--space-sm)}.reply-preview-label strong{color:var(--text-primary);font-weight:600}.reply-preview-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--space-md);opacity:.8}.reply-preview-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;padding:0}.reply-preview-close:hover{background:#ffffff1a;color:var(--text-primary)}.message-input-attachment-preview{background:var(--bg-tertiary);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:var(--space-sm);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);position:relative;max-width:fit-content;min-width:200px}.attachment-preview-content{display:flex;align-items:center;gap:var(--space-sm);flex:1;overflow:hidden}.attachment-preview-img{height:48px;width:48px;object-fit:cover;border-radius:var(--radius-sm);background:#000}.attachment-preview-icon{height:48px;width:48px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.attachment-preview-name{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.attachment-preview-remove{background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:var(--space-md)}.attachment-preview-remove:hover{background:#ed424526;color:var(--status-dnd)}.attachment-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;border-radius:inherit;z-index:10}.attachment-upload-status{width:min(320px,90%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-size:12px}.attachment-spinner{width:24px;height:24px;border:3px solid var(--bg-tertiary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.attachment-spinner.small{width:16px;height:16px;border-width:2px}.attachment-upload-progress{width:100%;height:6px;border-radius:999px;background:#fff3;overflow:hidden}.attachment-upload-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#22d3ee,#8b5cf6);transition:width .12s linear}.message-input-attach{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.message-input-attach:hover:not(:disabled){color:var(--text-secondary)}.message-input-attach:disabled{opacity:.5;cursor:not-allowed}.message-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);line-height:1.4;padding:var(--space-sm) var(--space-sm);min-height:40px;white-space:pre-wrap;word-break:break-word;-webkit-user-modify:read-write-plaintext-only}.message-input:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.message-input:disabled,.message-input[aria-disabled=true]{opacity:.7}.message-input-send{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),transform var(--transition-fast)}.message-input-send:disabled{cursor:default;opacity:.5}.message-input-send--active{color:var(--accent-primary)}.message-input-send--active:hover:not(:disabled){color:var(--accent-primary-hover);transform:scale(1.1)}.message-input-container.is-dragging .message-input-wrapper{opacity:.3}.message-input-drag-overlay{position:absolute;inset:0 var(--space-lg) var(--space-xl);background:#5865f2f2;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;z-index:50;border:2px dashed rgba(255,255,255,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drag-overlay-content{display:flex;flex-direction:column;align-items:center;color:#fff;font-weight:600;font-size:var(--font-size-md);gap:var(--space-sm);pointer-events:none}.message-input-char-count{align-self:center;font-size:12px;font-weight:600;color:var(--text-muted);padding:0 8px;min-width:32px;text-align:center;flex-shrink:0;-webkit-user-select:none;user-select:none}.message-input-char-count--over{color:var(--status-danger, #ed4245)}.upload-warning-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000094;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.upload-warning-modal{width:min(520px,96vw);background:var(--bg-secondary);border:1px solid var(--background-modifier-accent, rgba(255, 255, 255, .1));border-radius:12px;padding:18px 18px 14px;box-shadow:0 18px 46px #00000073}.upload-warning-modal h3{margin:0 0 10px;font-size:18px}.upload-warning-modal p{margin:0 0 10px;line-height:1.5;color:var(--text-secondary)}.upload-warning-modal a{color:var(--text-link, #4ea1ff)}.upload-warning-note{font-size:12px;color:var(--text-muted)}.upload-warning-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.upload-warning-btn-secondary,.upload-warning-btn-primary{border:none;border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;text-decoration:none}.upload-warning-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.upload-warning-btn-primary{background:var(--accent-primary, #5865f2);color:#fff}.message-send-status{font-size:12px;color:var(--text-muted);padding:0 4px}.typing-indicator{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-xl);font-size:var(--font-size-sm);color:var(--text-muted);min-height:24px}.typing-dots{display:flex;align-items:center;gap:3px}.typing-dots span{width:6px;height:6px;border-radius:var(--radius-full);background:var(--text-muted);animation:typingBounce 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.typing-text{font-weight:500}.voice-pip--minimal{position:fixed;width:280px;min-height:auto;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;overflow:hidden;z-index:100;cursor:default;touch-action:none;-webkit-user-select:none;user-select:none}.voice-pip--minimal.voice-pip--dragging{cursor:grabbing;box-shadow:0 12px 32px #0009}.voice-pip-drag{cursor:grab}.voice-pip--minimal .voice-pip-header{height:auto;min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:8px var(--space-sm);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.voice-pip-title{display:flex;align-items:center;gap:8px;min-width:0}.voice-pip-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-pip-icon{font-size:14px;flex-shrink:0}.voice-pip-sub{padding:8px var(--space-sm) 10px;font-size:var(--font-size-xs);color:var(--text-muted);border-bottom:none}.voice-pip-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.voice-pip{position:fixed;width:280px;height:200px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;overflow:hidden;z-index:100;cursor:grab;touch-action:none;transition:box-shadow var(--transition-fast);user-select:none;-webkit-user-select:none;-moz-user-select:none}.voice-pip--dragging{cursor:grabbing;box-shadow:0 12px 32px #0009}.voice-pip-header{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none}.voice-pip-title{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-pip-icon{font-size:14px}.voice-pip-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.voice-pip-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.voice-pip-content{flex:1;position:relative;background:#000}.voice-pip-video{width:100%;height:100%;object-fit:cover;pointer-events:none}.voice-pip-avatar-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--bg-tertiary);animation:fadeIn .2s ease}.voice-pip-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border-subtle);pointer-events:none;-webkit-user-drag:none}.voice-pip-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.voice-pip-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.voice-pip-interaction-layer{position:absolute;top:36px;right:0;bottom:0;left:0;z-index:5;pointer-events:auto}.voice-pip-controls-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px 12px 12px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);display:flex;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-short);z-index:10}.voice-pip-controls-overlay.is-visible{opacity:1;pointer-events:auto}.voice-pip-controls-overlay .lk-control-bar{gap:8px;padding:0;background:transparent;border:none;box-shadow:none;flex-wrap:nowrap;width:100%;justify-content:center}.voice-pip-controls-overlay .lk-button{pointer-events:auto;width:40px!important;height:40px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;border:none!important;background:#1e1e1ecc!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform var(--transition-fast),background var(--transition-fast)}.voice-pip-controls-overlay .lk-button:hover{background:#323232e6!important;transform:scale(1.05)}.voice-pip-controls-overlay .lk-button[data-lk-theme=default][data-lk-state=active]{background:var(--text-danger)!important}@media(hover:none){.voice-pip-controls-overlay .voice-call-hover-actions{display:none!important}}.voice-pip-controls-overlay .lk-button:after{display:none!important}.voice-pip-controls-overlay .lk-button>span{font-size:0!important;text-indent:-9999px!important}.voice-pip-controls-overlay .lk-button svg{display:block!important;font-size:initial!important;text-indent:0!important}.voice-pip-controls-overlay .lk-button-group-menu{display:none!important}.voice-pip-controls-overlay svg{width:20px!important;height:20px!important;margin:0!important}[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}.voice-room{flex:1;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow:hidden;position:relative;--lk-bg: var(--bg-primary);--lk-control-bg: var(--bg-secondary);--lk-control-hover-bg: var(--bg-tertiary);--lk-fg: var(--text-primary)}.voice-room--simple{min-height:0}.voice-call-banner{flex-shrink:0;padding:var(--space-md) var(--space-lg);text-align:center;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.voice-room-call-controls{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);z-index:250;display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;background:#000000a6;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voice-room-call-btn{width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.voice-room-call-btn:hover:not(:disabled){background:#ffffff29;border-color:#ffffff38;transform:translateY(-1px)}.voice-room-call-btn:disabled{opacity:.55;cursor:not-allowed}.voice-room-call-btn.is-active{background:#ed424538;border-color:#ed42458c}.voice-room-call-btn--danger{background:#ed4245d9;border-color:#ed4245f2;width:88px}.voice-room-call-btn--danger:hover:not(:disabled){background:#ed4245}.voice-room--maximized{position:fixed!important;top:0;left:0;width:100vw;height:100dvh;z-index:9999;border-radius:0}.voice-room--maximized .custom-voice-grid{max-height:calc(100dvh - 90px)!important;align-content:center}.voice-room--maximized .user-voice-tile{max-width:100%}.voice-room--maximized .custom-voice-grid[data-participant-count="1"]{grid-template-columns:1fr}.voice-room--maximized .custom-voice-grid[data-participant-count="1"] .user-voice-tile{max-height:80dvh}.voice-room--maximized .custom-voice-grid[data-participant-count="1"] .voice-tile-avatar{width:180px;height:180px}.voice-room--maximized .custom-voice-grid[data-participant-count="2"]{grid-template-columns:repeat(2,1fr)}.voice-room--maximized .custom-voice-grid[data-participant-count="2"] .user-voice-tile{max-height:70dvh}.voice-room--maximized .custom-voice-grid[data-participant-count="2"] .voice-tile-avatar{width:150px;height:150px}.voice-room--maximized .custom-voice-grid[data-participant-count="3"],.voice-room--maximized .custom-voice-grid[data-participant-count="4"]{grid-template-columns:repeat(2,1fr)}.voice-room--maximized .custom-voice-grid[data-participant-count="3"] .user-voice-tile,.voice-room--maximized .custom-voice-grid[data-participant-count="4"] .user-voice-tile{max-height:45dvh}.voice-room--maximized .custom-voice-grid[data-participant-count="3"] .voice-tile-avatar,.voice-room--maximized .custom-voice-grid[data-participant-count="4"] .voice-tile-avatar{width:120px;height:120px}.voice-room--maximized .custom-voice-grid[data-participant-count="5"],.voice-room--maximized .custom-voice-grid[data-participant-count="6"],.voice-room--maximized .custom-voice-grid[data-participant-count="7"],.voice-room--maximized .custom-voice-grid[data-participant-count="8"],.voice-room--maximized .custom-voice-grid[data-participant-count="9"]{grid-template-columns:repeat(3,1fr)}.voice-room--maximized .custom-voice-grid[data-participant-count="5"] .user-voice-tile,.voice-room--maximized .custom-voice-grid[data-participant-count="6"] .user-voice-tile,.voice-room--maximized .custom-voice-grid[data-participant-count="7"] .user-voice-tile,.voice-room--maximized .custom-voice-grid[data-participant-count="8"] .user-voice-tile,.voice-room--maximized .custom-voice-grid[data-participant-count="9"] .user-voice-tile{max-height:30dvh}.voice-room .lk-video-conference{flex:1;display:flex;flex-direction:column;min-height:0}.voice-room-loading,.voice-room-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);background-color:var(--bg-primary)}.voice-room-error{color:var(--accent-danger)}.voice-room-error h3{margin-bottom:var(--space-xs);color:var(--text-primary)}.voice-room-env-help{margin-top:var(--space-lg);padding:var(--space-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-family:monospace}.voice-room-error-icon{font-size:48px;margin-bottom:var(--space-md)}.voice-room-spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-md)}.lk-chat,.lk-button[aria-label=Chat],.lk-button[title=Chat]{display:none!important}.custom-voice-grid--empty{display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--space-xl)}.custom-voice-grid-empty-text{margin:0;color:var(--text-muted);font-size:var(--font-size-md)}.custom-voice-grid{flex:1;max-height:calc(50dvh + 10px);min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-md);padding:var(--space-md) var(--space-md) 80px var(--space-md);overflow-y:auto;align-content:start;justify-content:center;justify-items:center;align-items:center}.user-voice-tile{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-tertiary);transition:transform .2s,box-shadow .2s;width:100%;max-height:calc(45dvh - 62px);max-width:80dvh}.user-voice-tile--maximized{position:fixed!important;top:0;left:0;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;z-index:10000;border-radius:0;aspect-ratio:auto}.user-voice-tile[data-is-speaking=true]:not(.user-voice-tile--maximized){box-shadow:0 0 0 3px var(--accent-success)}.voice-tile-inner{width:100%;height:100%;position:relative}.voice-tile-inner .lk-participant-tile{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.voice-tile-avatar-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);pointer-events:none}.voice-tile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;transition:transform .2s,box-shadow .2s}.voice-tile-avatar.speaking{transform:scale(1.1);box-shadow:0 0 15px var(--accent-success)}.voice-tile-video{width:100%;height:100%;object-fit:cover;background:var(--bg-tertiary)}.voice-tile-overlay-controls{position:absolute;bottom:var(--space-sm);left:var(--space-sm);right:var(--space-sm);display:flex;justify-content:space-between;align-items:center;background:#0009;padding:4px 8px;border-radius:var(--radius-sm);z-index:10;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.user-voice-tile:hover .voice-tile-overlay-controls{opacity:1;pointer-events:auto}.voice-tile-overlay-controls .voice-tile-namebadge{position:static;background:transparent;padding:0;font-size:var(--font-size-sm);color:var(--text-primary);display:flex;align-items:center;gap:4px}.voice-tile-action-btn{background:#ffffff1a;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;transition:background .2s}.voice-tile-action-btn:hover{background:#fff3}@media(max-width:768px){.custom-voice-grid{max-height:calc(35dvh - 48px)}.user-voice-tile{max-height:calc(30dvh - 12px)}.voice-room--maximized .custom-voice-grid[data-participant-count="2"]{grid-template-columns:1fr}.voice-room--maximized .custom-voice-grid[data-participant-count="2"] .user-voice-tile{max-height:45dvh}.voice-room--maximized .custom-voice-grid[data-participant-count="3"]{grid-template-columns:1fr}.voice-room--maximized .custom-voice-grid[data-participant-count="3"] .user-voice-tile{max-height:28dvh}.voice-room--maximized .custom-voice-grid[data-participant-count="4"]{grid-template-columns:1fr}.voice-room--maximized .custom-voice-grid[data-participant-count="4"] .user-voice-tile{max-height:20dvh}}.voice-room-controls-overlay{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);background:#000000b3;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:100;opacity:1;pointer-events:auto;transition:opacity .2s ease-in-out}.voice-room-controls-overlay .lk-control-bar{background:transparent;padding:0;box-shadow:none}@media(hover:hover){.voice-room:not(:hover) .voice-room-controls-overlay{opacity:0;pointer-events:none}.voice-room:hover .voice-room-controls-overlay{opacity:1;pointer-events:auto}}@media(hover:none){.voice-room-controls-overlay .voice-call-hover-actions{display:none!important}}.friends-form-stack{display:flex;flex-direction:column;gap:10px}.friends-input-row{display:flex;gap:8px;align-items:stretch;width:100%}.friends-input-row .modal-input,.friends-input{width:100%;min-height:44px;box-sizing:border-box;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);padding:10px 12px;font-size:var(--font-size-md);line-height:1.25;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.friends-input::placeholder,.friends-input-row .modal-input::placeholder{color:var(--text-muted)}.friends-input:focus,.friends-input-row .modal-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.member-sidebar-search .friends-input{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);padding:10px 12px;font-size:var(--font-size-md);line-height:1.25}.friends-input-row .btn-primary,.friends-input-row .btn-secondary{min-height:44px;white-space:nowrap}.friends-page{display:flex;flex-direction:column;height:100%;min-height:0}.friends-tabs{padding:12px 16px;border-bottom:1px solid var(--border-subtle);display:flex;gap:8px;flex-wrap:wrap}.friends-panel{padding:16px;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.friends-card{margin:0;border-radius:8px;padding:10px 12px}.friends-card-avatar{width:36px;height:36px;border-radius:999px;overflow:hidden;background:var(--bg-tertiary);margin-right:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.friends-card-avatar img{width:100%;height:100%;object-fit:cover;display:block}.friends-card-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:13px;font-weight:700;background:linear-gradient(135deg,var(--brand-experiment),color-mix(in srgb,var(--brand-experiment) 68%,#000))}.friends-card-subtitle{font-size:12px;color:var(--text-muted)}.friends-card-actions{display:flex;gap:8px;margin-left:auto}.friends-section-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.02em}.friends-section-label--spaced{margin-top:2px}.friends-empty{color:var(--text-muted);padding-top:2px}.friends-error{color:var(--danger);font-size:13px}.home-layout{display:flex;flex:1;min-width:0;position:relative;background-color:var(--bg-primary)}.pinned-modal-card{max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column}.pinned-messages-list{display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;padding-right:var(--space-xs)}.pinned-message-item{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-sm)}.pinned-message-header{display:flex;justify-content:space-between;align-items:flex-start}.pinned-message-author{display:flex;align-items:center;gap:var(--space-sm)}.pinned-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.pinned-avatar-fallback{width:24px;height:24px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.pinned-author-name{color:var(--text-primary);font-weight:600;font-size:14px}.pinned-message-actions{display:flex;gap:var(--space-sm)}.pinned-action-btn{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all .2s}.pinned-action-btn:hover{background:#ffffff1a}.pinned-action-btn.danger{background:#ed42451a;color:var(--status-dnd);border-color:#ed424533}.pinned-action-btn.danger:hover{background:#ed424533}.pinned-message-content{color:var(--text-secondary);font-size:14px;line-height:var(--line-height-base);word-break:break-word;background:#0000001a;padding:var(--space-sm);border-radius:var(--radius-sm);border-left:3px solid var(--accent-primary)}.pinned-empty{text-align:center;padding:var(--space-xl) 0;color:var(--text-muted);font-style:italic}@keyframes highlightFlash{0%{background-color:#5865f266}to{background-color:transparent}}.message-highlight{animation:highlightFlash 2s ease-out forwards}.video-pip{position:fixed;bottom:24px;right:24px;width:360px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;z-index:9998;overflow:hidden;cursor:grab;user-select:none;-webkit-user-select:none;animation:videoPipIn .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;min-width:280px;min-height:220px}.video-pip--dragging{cursor:grabbing;box-shadow:0 12px 32px #000000b3}@keyframes videoPipIn{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.video-pip-header{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm) 0 var(--space-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.video-pip-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.video-pip-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.video-pip-close:hover{color:var(--text-primary);background:var(--bg-hover)}.video-pip-body{background:#000;overflow:hidden;flex:1}.video-pip-body .custom-video-player{height:100%;max-height:none}.video-pip-body .custom-video-element{max-height:none;height:100%;object-fit:contain}.video-pip-resize{position:absolute;width:16px;height:16px;z-index:2}.video-pip-resize--tl{left:0;top:0;cursor:nwse-resize}.video-pip-resize--tr{right:0;top:0;cursor:nesw-resize}.video-pip-resize--bl{left:0;bottom:0;cursor:nesw-resize}.video-pip-resize--br{right:0;bottom:0;cursor:nwse-resize}.video-pip-resize:before{content:"";position:absolute;width:8px;height:8px;opacity:.8}.video-pip-resize--tl:before{left:4px;top:4px;border-left:2px solid var(--text-muted);border-top:2px solid var(--text-muted)}.video-pip-resize--tr:before{right:4px;top:4px;border-right:2px solid var(--text-muted);border-top:2px solid var(--text-muted)}.video-pip-resize--bl:before{left:4px;bottom:4px;border-left:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}.video-pip-resize--br:before{right:4px;bottom:4px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}.audio-pip{position:fixed;bottom:24px;right:24px;width:340px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;z-index:9997;overflow:hidden;cursor:grab;user-select:none;-webkit-user-select:none;animation:audioPipIn .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;min-width:280px;min-height:150px}.audio-pip--dragging{cursor:grabbing;box-shadow:0 12px 32px #000000b3}@keyframes audioPipIn{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.audio-pip-header{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm) 0 var(--space-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.audio-pip-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.audio-pip-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.audio-pip-close:hover{color:var(--text-primary);background:var(--bg-hover)}.audio-pip-body{padding:0;flex:1}.audio-pip-resize{position:absolute;width:16px;height:16px;z-index:2}.audio-pip-resize--tl{left:0;top:0;cursor:nwse-resize}.audio-pip-resize--tr{right:0;top:0;cursor:nesw-resize}.audio-pip-resize--bl{left:0;bottom:0;cursor:nesw-resize}.audio-pip-resize--br{right:0;bottom:0;cursor:nwse-resize}.audio-pip-resize:before{content:"";position:absolute;width:8px;height:8px;opacity:.8}.audio-pip-resize--tl:before{left:4px;top:4px;border-left:2px solid var(--text-muted);border-top:2px solid var(--text-muted)}.audio-pip-resize--tr:before{right:4px;top:4px;border-right:2px solid var(--text-muted);border-top:2px solid var(--text-muted)}.audio-pip-resize--bl:before{left:4px;bottom:4px;border-left:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}.audio-pip-resize--br:before{right:4px;bottom:4px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}.image-pip{position:fixed;bottom:24px;right:24px;width:320px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;z-index:9996;overflow:hidden;cursor:grab;user-select:none;-webkit-user-select:none;display:flex;flex-direction:column;min-width:240px;min-height:220px}.image-pip--dragging{cursor:grabbing}.image-pip-header{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm) 0 var(--space-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.image-pip-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-pip-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.image-pip-close:hover{color:var(--text-primary);background:var(--bg-hover)}.image-pip-body{background:#000;flex:1}.image-pip-img{width:100%;height:100%;object-fit:contain;display:block}.image-pip-resize{position:absolute;width:16px;height:16px;z-index:2}.image-pip-resize--tl{left:0;top:0;cursor:nwse-resize}.image-pip-resize--tr{right:0;top:0;cursor:nesw-resize}.image-pip-resize--bl{left:0;bottom:0;cursor:nesw-resize}.image-pip-resize--br{right:0;bottom:0;cursor:nwse-resize}.image-pip-resize:before{content:"";position:absolute;width:8px;height:8px;opacity:.8}.image-pip-resize--tl:before{left:4px;top:4px;border-left:2px solid var(--text-muted);border-top:2px solid var(--text-muted)}.image-pip-resize--tr:before{right:4px;top:4px;border-right:2px solid var(--text-muted);border-top:2px solid var(--text-muted)}.image-pip-resize--bl:before{left:4px;bottom:4px;border-left:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}.image-pip-resize--br:before{right:4px;bottom:4px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}.app-layout{display:flex;height:100%;width:100%;overflow:hidden;background:var(--bg-secondary)}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-secondary);position:relative}.app-main--server-themed{background:linear-gradient(180deg,#141524d1,#0c0d17f0)}.server-page-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.16;filter:blur(20px) saturate(120%);transform:scale(1.08);pointer-events:none;z-index:0}.server-page-banner{height:120px;flex-shrink:0;background-size:cover;background-position:center;border-bottom:1px solid var(--border-subtle);position:relative;z-index:1}.server-page-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#08090e40,#08090eb8)}.app-chat-area{flex:1;display:flex;min-height:0;overflow:hidden}.app-chat-area .message-area{flex:1;min-width:0}.voice-chat-stack{flex:1;min-height:0;display:flex;flex-direction:column}.voice-chat-stack__voice{flex:0 0 45%;min-height:220px;border-bottom:1px solid var(--border-subtle)}.voice-chat-stack__chat{flex:1;min-height:0;display:flex;flex-direction:column}.channel-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 var(--space-lg);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;box-shadow:var(--shadow-low);z-index:10;filter:drop-shadow(0 0 6px rgba(0,0,0,.5))}.channel-header,.app-chat-area{position:relative;z-index:1}.channel-header-left{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1}.channel-header-mobile-toggle{display:none;background:none;border:none;color:var(--text-muted);padding:var(--space-xs);cursor:pointer;border-radius:var(--radius-sm);align-items:center;justify-content:center;margin-right:var(--space-xs)}.channel-header-mobile-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.channel-header-icon{font-size:var(--font-size-xl);font-weight:600;color:var(--text-muted);flex-shrink:0}.channel-header-name{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);white-space:nowrap}.channel-header-divider{width:1px;height:24px;background:var(--border-strong);margin:0 var(--space-sm);flex-shrink:0}.channel-header-topic{font-size:var(--font-size-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-header-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.channel-header-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.channel-header-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.channel-header-btn--active{color:var(--text-primary)}.channel-header-btn-text{padding:0 16px;width:auto;white-space:nowrap;font-size:var(--font-size-sm);font-weight:600}.channel-header-btn-success{background:var(--accent-success);color:#fff}.channel-header-btn-success:hover{background:var(--bg-tertiary);color:var(--accent-success)}.channel-header-btn-success:active{background:#fff!important;color:var(--accent-success)!important}.channel-header-btn-danger{background:var(--bg-tertiary);color:var(--accent-danger)}.channel-header-btn-danger:hover{background:var(--accent-danger);color:#fff}.channel-header-btn-danger:active{background:#fff!important;color:var(--accent-danger)!important}.app-welcome,.app-empty-state{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);position:relative}.app-empty-state--loading-page{align-items:stretch;justify-content:flex-start;overflow:hidden}.app-loading-page-slot{flex:1;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;padding:12px;box-sizing:border-box;width:100%}.server-loading-basic-md{max-width:100%;word-break:break-word;overflow-wrap:anywhere}.server-loading-basic-md p{margin:.2em 0}.server-loading-basic-md p:first-child{margin-top:0}.server-loading-basic-md p:last-child{margin-bottom:0}.app-welcome-content,.app-empty-state{text-align:center;animation:fadeInUp .4s ease}.app-welcome-logo{margin-bottom:var(--space-xl)}.app-welcome-logo svg{width:80px;height:80px;filter:drop-shadow(0 0 20px rgba(88,101,242,.4));animation:logoPulse 3s ease-in-out infinite}.app-welcome h2,.app-empty-state h3{font-size:var(--font-size-xxl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm)}.app-welcome p,.app-empty-state p{color:var(--text-muted);font-size:var(--font-size-md)}.app-empty-icon{font-size:48px;font-weight:700;color:var(--text-muted);opacity:.3;margin-bottom:var(--space-lg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes logoPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(88,101,242,.4))}50%{transform:scale(1.03);filter:drop-shadow(0 0 30px rgba(88,101,242,.6))}}.app-mobile-menu-btn{display:none;position:absolute;top:var(--space-md);left:var(--space-md);background:var(--bg-primary);border:1px solid var(--border-subtle);color:var(--text-primary);padding:var(--space-sm);border-radius:var(--radius-sm);z-index:10;cursor:pointer;box-shadow:var(--shadow-low)}.app-sidebar-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:100;opacity:0;animation:fadeIn .2s forwards}.app-member-sidebar-backdrop{z-index:101;opacity:0;pointer-events:none;animation:none;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.app-member-sidebar-backdrop--visible{opacity:1;pointer-events:auto}@media(min-width:769px){.app-member-sidebar-backdrop{display:none}}@keyframes fadeIn{to{opacity:1}}@media(max-width:768px){.channel-header-mobile-toggle,.app-mobile-menu-btn{display:flex;align-items:center;justify-content:center}.app-chat-area{position:relative}.server-page-banner{height:86px}.voice-chat-stack__voice{flex-basis:40%;min-height:180px}.channel-header-divider,.channel-header-topic{display:none}}.site-banned-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box}.site-banned-card{width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:28px 24px 24px;background:#da373c0f;border:1px solid rgba(218,55,60,.25);border-radius:var(--radius-md, 12px)}.site-banned-logo{width:125px;height:125px;object-fit:contain;margin-bottom:20px;flex-shrink:0}.site-banned-card h2{margin:0 0 16px;font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;color:var(--text-primary);line-height:1.25}.site-banned-body{width:100%;text-align:left;color:var(--text-muted);line-height:1.6}.site-banned-body strong{color:var(--text-primary)}.site-banned-reason-pre{margin:8px 0 0;padding:12px;background:#ffffff0f;border-radius:10px;white-space:pre-wrap;word-break:break-word;font-size:13px;text-align:left}.site-banned-appeal-block{margin-top:14px}.site-banned-appeal-link{margin-top:6px;word-break:break-all}.site-banned-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:280px;margin-top:22px}.site-banned-actions .btn-secondary,.site-banned-actions .btn-primary{width:100%}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--bg-darkest);gap:var(--space-xl)}.app-loading-logo svg{filter:drop-shadow(0 0 20px rgba(88,101,242,.5));animation:loadingPulse 2s ease-in-out infinite}@keyframes loadingPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(88,101,242,.5))}50%{transform:scale(1.05);filter:drop-shadow(0 0 30px rgba(88,101,242,.8))}}.app-loading-spinner{width:24px;height:24px;border:2px solid var(--bg-tertiary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
