*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--text-link, #00a8fc);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-nav{position:absolute;top:-100%;left:16px;z-index:10000;padding:8px 16px;background:var(--blurple);color:#fff;border-radius:4px;font-size:14px;text-decoration:none;transition:top .15s ease}.skip-nav:focus{top:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-reduced-motion] *,[data-reduced-motion] *:before,[data-reduced-motion] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-high-contrast]{--text-muted: #b5bac1;--text-secondary: #dbdee1;--interactive-normal: #dbdee1;--interactive-muted: #a2a4a6;--border-subtle: #5c5e66;--divider: #5c5e66}[data-theme=default][data-high-contrast]{--text-muted: #5C5047;--text-secondary: #3D3029;--interactive-normal: #3D3029;--interactive-muted: #6F6358;--border-subtle: #B5A999;--divider: #B5A999}[data-theme=light][data-high-contrast]{--text-muted: #4E5058;--text-secondary: #2E3338;--interactive-normal: #2E3338;--interactive-muted: #6D7078;--border-subtle: #B5B9C0;--divider: #B5B9C0}[data-theme=sage][data-high-contrast]{--text-muted: #B4B4B4;--text-secondary: #ECECEC;--interactive-normal: #ECECEC;--interactive-muted: #9B9B9B;--border-subtle: #525252;--divider: #525252}[data-theme=cosmos][data-high-contrast]{--text-muted: #B0B4C3;--text-secondary: #E3E5EA;--interactive-normal: #E3E5EA;--interactive-muted: #8F93A2;--border-subtle: #4A5070;--divider: #4A5070}[data-theme=forest][data-high-contrast]{--text-muted: #A9BBA7;--text-secondary: #D4DDD2;--interactive-normal: #D4DDD2;--interactive-muted: #8EA38B;--border-subtle: #4F6A4C;--divider: #4F6A4C}[data-theme=bluebird][data-high-contrast]{--text-muted: #3D4F5F;--text-secondary: #14171A;--interactive-normal: #14171A;--interactive-muted: #657786;--border-subtle: #AAB8C2;--divider: #AAB8C2}[data-theme=default] .modal-dialog,[data-theme=default] .user-context-menu,[data-theme=default] .channel-context-menu,[data-theme=default] .profile-popup,[data-theme=light] .modal-dialog,[data-theme=light] .user-context-menu,[data-theme=light] .channel-context-menu,[data-theme=light] .profile-popup,[data-theme=bluebird] .modal-dialog,[data-theme=bluebird] .user-context-menu,[data-theme=bluebird] .channel-context-menu,[data-theme=bluebird] .profile-popup{box-shadow:0 2px 10px #00000026}@font-face{font-family:OpenDyslexic;src:url(https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/open-dyslexic-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/open-dyslexic-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(https://cdn.jsdelivr.net/npm/@fontsource/atkinson-hyperlegible@5.0.0/files/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(https://cdn.jsdelivr.net/npm/@fontsource/atkinson-hyperlegible@5.0.0/files/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}[data-a11y-font=opendyslexic]{font-family:OpenDyslexic,sans-serif!important}[data-a11y-font=atkinson]{font-family:Atkinson Hyperlegible,sans-serif!important}:root{--bg-tertiary: #1e1f22;--bg-secondary: #2b2d31;--bg-primary: #313338;--bg-secondary-alt: #232428;--bg-hover: #2e3035;--bg-active: #404248;--bg-floating: #111214;--bg-input: #383a40;--text-normal: #dbdee1;--text-muted: #949ba4;--text-header: #f2f3f5;--text-secondary: #b5bac1;--text-link: #00a8fc;--interactive-normal: #b5bac1;--interactive-hover: #dbdee1;--interactive-active: #ffffff;--interactive-muted: #828688;--blurple: #5865f2;--blurple-hover: #4752c4;--green: #23b15a;--yellow: #f0b232;--red: #f27377;--status-danger: #f27377;--bg-modifier-hover: #3a3c41;--border-subtle: #3f4147;--divider: #3e4046;--scrollbar-thumb: #1a1b1e;--server-bar-width: 72px;--channel-sidebar-width: 240px;--member-sidebar-width: 240px;--header-height: 48px;--avatar-size: 40px;--msg-left: 72px;--input-radius: 8px;--font: "Inter", "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif}[data-theme=default]{--bg-tertiary: #E2D9CC;--bg-secondary: #EAE3D7;--bg-primary: #F5F0E8;--bg-secondary-alt: #DDD4C6;--bg-hover: #DED7CB;--bg-active: #D1C8BA;--bg-floating: #D5CABB;--bg-input: #EBE5D8;--text-normal: #3D3029;--text-muted: #6F6358;--text-header: #1A1310;--text-secondary: #5C5047;--text-link: #B7470F;--interactive-normal: #5C5047;--interactive-hover: #3D3029;--interactive-active: #1A1310;--interactive-muted: #8A7E73;--blurple: #C2410C;--blurple-hover: #A3370A;--green: #15803D;--yellow: #CA8A04;--red: #DC2626;--status-danger: #DC2626;--bg-modifier-hover: #DDD4C6;--border-subtle: #D1C8BA;--divider: #D1C8BA;--scrollbar-thumb: #C4B9AB}[data-theme=light]{--bg-tertiary: #E3E5E8;--bg-secondary: #F2F3F5;--bg-primary: #FFFFFF;--bg-secondary-alt: #EBEDEF;--bg-hover: #EBEDEF;--bg-active: #D5D8DC;--bg-floating: #FFFFFF;--bg-input: #E3E5E8;--text-normal: #2E3338;--text-muted: #6D7078;--text-header: #060607;--text-secondary: #4E5058;--text-link: #0068B8;--interactive-normal: #4E5058;--interactive-hover: #2E3338;--interactive-active: #060607;--interactive-muted: #8A8D94;--blurple: #4752C4;--blurple-hover: #3C45A5;--green: #1A7D41;--yellow: #D4920A;--red: #D83C3E;--status-danger: #D83C3E;--bg-modifier-hover: #EBEDEF;--border-subtle: #D5D8DC;--divider: #E1E3E6;--scrollbar-thumb: #C8CBD0}[data-theme=sage]{--bg-tertiary: #171717;--bg-secondary: #212121;--bg-primary: #2D2D2D;--bg-secondary-alt: #1A1A1A;--bg-hover: #353535;--bg-active: #424242;--bg-floating: #0D0D0D;--bg-input: #3A3A3A;--text-normal: #ECECEC;--text-muted: #9B9B9B;--text-header: #F7F7F7;--text-secondary: #B4B4B4;--text-link: #1AB78E;--interactive-normal: #B4B4B4;--interactive-hover: #ECECEC;--interactive-active: #FFFFFF;--interactive-muted: #7A7A7A;--blurple: #10A37F;--blurple-hover: #0D8A6A;--green: #1AB78E;--yellow: #F5C542;--red: #EF6B6B;--status-danger: #EF6B6B;--bg-modifier-hover: #353535;--border-subtle: #3E3E3E;--divider: #3E3E3E;--scrollbar-thumb: #1A1A1A}[data-theme=cosmos]{--bg-tertiary: #131620;--bg-secondary: #1B1F2E;--bg-primary: #232736;--bg-secondary-alt: #171B28;--bg-hover: #2B3044;--bg-active: #363C54;--bg-floating: #0C0E16;--bg-input: #2E3348;--text-normal: #E3E5EA;--text-muted: #8F93A2;--text-header: #F3F4F7;--text-secondary: #B0B4C3;--text-link: #A78BFA;--interactive-normal: #B0B4C3;--interactive-hover: #E3E5EA;--interactive-active: #FFFFFF;--interactive-muted: #6B6F7E;--blurple: #8B6CEF;--blurple-hover: #7454D6;--green: #34C759;--yellow: #FBBF24;--red: #F87171;--status-danger: #F87171;--bg-modifier-hover: #2B3044;--border-subtle: #333852;--divider: #333852;--scrollbar-thumb: #171B28}[data-theme=forest]{--bg-tertiary: #1A2318;--bg-secondary: #222E1F;--bg-primary: #2A3627;--bg-secondary-alt: #1E271B;--bg-hover: #324030;--bg-active: #3D4D39;--bg-floating: #111810;--bg-input: #334431;--text-normal: #D4DDD2;--text-muted: #8EA38B;--text-header: #EBF0EA;--text-secondary: #A9BBA7;--text-link: #6EC065;--interactive-normal: #A9BBA7;--interactive-hover: #D4DDD2;--interactive-active: #F0F5EF;--interactive-muted: #6D7F6A;--blurple: #5FAD56;--blurple-hover: #4E9446;--green: #6EC065;--yellow: #D4AA3E;--red: #E06C6C;--status-danger: #E06C6C;--bg-modifier-hover: #324030;--border-subtle: #3A4B37;--divider: #3A4B37;--scrollbar-thumb: #1E271B}[data-theme=bluebird]{--bg-tertiary: #E8ECF0;--bg-secondary: #F5F8FA;--bg-primary: #FFFFFF;--bg-secondary-alt: #E1E8ED;--bg-hover: #E8ECF0;--bg-active: #CCD6DD;--bg-floating: #FFFFFF;--bg-input: #E1E8ED;--text-normal: #14171A;--text-muted: #657786;--text-header: #060606;--text-secondary: #3D4F5F;--text-link: #0C7ABF;--interactive-normal: #3D4F5F;--interactive-hover: #14171A;--interactive-active: #060606;--interactive-muted: #8899A6;--blurple: #0C7ABF;--blurple-hover: #0A6BA6;--green: #17BF63;--yellow: #FFAD1F;--red: #E0245E;--status-danger: #E0245E;--bg-modifier-hover: #E8ECF0;--border-subtle: #CCD6DD;--divider: #E1E8ED;--scrollbar-thumb: #CCD6DD}html,body,#root{height:100%;width:100%}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-normal);font-size:16px;line-height:1.375;-webkit-font-smoothing:antialiased}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.5rem;color:var(--text-muted);background:var(--bg-tertiary)}.loading-screen h1{font-size:2rem;color:var(--text-header)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:2rem;background:var(--bg-tertiary)}.auth-card{background:var(--bg-primary);border-radius:4px;padding:2rem;width:100%;max-width:480px;box-shadow:0 2px 10px #0006}.auth-card h1{text-align:center;font-size:1.5rem;font-weight:600;color:var(--text-header);margin-bottom:.25rem}.auth-subtitle{text-align:center;color:var(--text-muted);font-size:.9375rem;margin-bottom:1.25rem}.field{margin-bottom:1.25rem}.field label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary);margin-bottom:.5rem}.field input{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:3px;color:var(--text-normal);font-size:1rem;outline:none;transition:box-shadow .15s}.field input:focus{box-shadow:0 0 0 2px var(--blurple)}.error{background:#f23f431a;color:var(--red);padding:.625rem .75rem;border-radius:4px;font-size:.875rem;margin-bottom:1rem}.btn-primary{width:100%;padding:.6875rem;background:var(--blurple);color:#fff;border:none;border-radius:3px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .17s;margin-top:.25rem}.btn-primary:hover:not(:disabled){background:var(--blurple-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-note{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:1rem}.auth-link{text-align:center;margin-top:1rem;font-size:.875rem;color:var(--text-muted)}.auth-link a{color:var(--text-link);text-decoration:none;font-size:.875rem}.auth-link a:hover{text-decoration:underline}.chat-layout{display:flex;height:100%}.resize-handle{width:3px;flex-shrink:0;cursor:col-resize;background:transparent;transition:background .15s;position:relative;z-index:2}.resize-handle:hover,.resize-handle:active,.resize-handle:focus-visible{background:var(--blurple)}.resize-handle:focus-visible{outline:2px solid var(--text-link, #00a8fc);outline-offset:0}.resize-handle:after{content:"";position:absolute;inset:0 -3px}.titlebar-drag-region{height:env(titlebar-area-height,0px);position:fixed;top:0;left:env(titlebar-area-x,0px);right:0;z-index:9999;-webkit-app-region:drag;app-region:drag}.server-bar{width:var(--server-bar-width);min-width:var(--server-bar-width);background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;overflow:hidden;position:relative;padding-top:env(titlebar-area-height,0px)}.server-bar-inner{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px;width:100%;scrollbar-width:none}.server-bar-inner::-webkit-scrollbar{width:0}.scroll-unread-indicator{position:absolute;left:50%;transform:translate(-50%);z-index:10;width:32px;height:20px;border-radius:10px;background:var(--red);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0006;transition:opacity .15s}.scroll-unread-indicator:hover{opacity:.85}.scroll-unread-above{top:4px}.scroll-unread-below{bottom:4px}.channel-scroll-unread-indicator{position:absolute;left:50%;transform:translate(-50%);z-index:10;padding:2px 12px;border-radius:10px;background:var(--red);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;box-shadow:0 2px 8px #0006;transition:opacity .15s;white-space:nowrap}.channel-scroll-unread-indicator:hover{opacity:.85}.channel-scroll-unread-above{top:50px}.channel-scroll-unread-below{bottom:4px}.server-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.server-pill{position:absolute;left:0;width:4px;height:8px;border-radius:0 4px 4px 0;background:#fff;opacity:0;transition:height .15s ease,opacity .15s ease}.server-icon-wrapper:hover .server-pill{opacity:1;height:20px}.server-icon-wrapper.active .server-pill{opacity:1;height:40px}.server-drag-overlay{z-index:999}.server-drag-overlay .server-icon{box-shadow:0 4px 12px #0006;border-radius:16px}.server-icon{position:relative;width:48px;height:48px;border-radius:50%;background:var(--bg-primary);color:var(--text-normal);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;transition:border-radius .15s ease,background .15s ease,color .15s ease}.server-icon:hover,.server-icon.active{border-radius:33%;background:var(--blurple);color:#fff}.server-icon-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.home-icon{background:var(--bg-primary);color:var(--text-normal)}.home-icon:hover,.home-icon.active{background:var(--blurple);color:#fff}.add-server-icon{background:var(--bg-primary);color:var(--green)}.add-server-icon:hover,.add-server-icon.active{background:var(--green);color:#fff;border-radius:33%}.join-server-icon{background:var(--bg-primary);color:var(--green)}.join-server-icon:hover,.join-server-icon.active{background:var(--green);color:#fff;border-radius:33%}.server-bar-divider{width:32px;height:2px;border-radius:1px;background:var(--border-subtle);flex-shrink:0}.server-folder-wrapper{display:flex;flex-direction:column;align-items:center;width:100%}.server-folder-icon{background:var(--folder-bg, rgba(255, 255, 255, .06))!important;border-radius:16px!important;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:2px solid transparent;cursor:pointer;transition:border-radius .2s,border-color .2s}.folder-drop-hover .server-folder-icon{border-color:var(--accent);background:#5865f240!important;transform:scale(1.08);box-shadow:0 0 12px #5865f266}.folder-drop-hover .server-folder-expanded{outline:2px dashed var(--accent);outline-offset:-2px;background:#5865f21f!important}.server-folder-icon.expanded{border-radius:12px!important}.server-folder-expanded{display:flex;flex-direction:column;align-items:center;padding:4px 0;gap:2px;position:relative;width:calc(100% - 12px);background:var(--folder-bg, rgba(255, 255, 255, .06));border-radius:16px}.server-folder-expanded .server-icon-wrapper{position:relative;width:100%}.server-folder-end-line{width:32px;height:2px;border-radius:1px;border-top:2px solid var(--border-subtle);margin-top:2px}.folder-menu-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.folder-color-picker{display:flex;gap:6px;flex-wrap:wrap;padding:4px 0}.folder-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s}.folder-color-swatch:hover{border-color:#fff6}.folder-color-swatch.active{border-color:#fff}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:600}.modal-dialog{background:var(--bg-primary);border-radius:8px;padding:24px;width:440px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;gap:8px}.modal-title{font-size:20px;font-weight:700;color:var(--text-header);text-align:center}.modal-subtitle{font-size:14px;color:var(--text-muted);text-align:center;margin-bottom:8px}.modal-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary)}.modal-fieldset{border:none;padding:0;margin:0}.modal-input{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-normal);font-size:15px;outline:none}.modal-input:focus{box-shadow:0 0 0 2px var(--blurple)}.modal-error{font-size:13px;color:var(--red)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.create-server-icon-wrap{width:80px;height:80px;border-radius:50%;border:2px dashed var(--border-subtle, rgba(255,255,255,.15));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;cursor:pointer;overflow:hidden;transition:border-color .15s}.create-server-icon-wrap:hover,.create-server-icon-wrap:focus-visible{border-color:var(--brand)}.create-server-icon-preview{width:100%;height:100%;object-fit:cover;border-radius:50%}.create-server-icon-placeholder{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-muted);font-size:11px}.modal-submit{width:auto;padding:10px 24px}.channel-sidebar{width:var(--channel-sidebar-width);min-width:var(--channel-sidebar-width);background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.channel-sidebar-header{height:var(--header-height);padding:0 16px;display:flex;align-items:center;box-shadow:0 1px 0 var(--divider);flex-shrink:0}.channel-sidebar-header-btn{background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-muted);font-size:13px;padding:6px 8px;width:100%;text-align:left;cursor:pointer}.channel-sidebar-header-btn:hover{background:var(--bg-active)}.channel-sidebar-header-input{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-normal);font-size:13px;padding:6px 8px;width:100%;outline:none}.channel-sidebar-header-input:focus{box-shadow:0 0 0 1px var(--blurple)}.start-dm-item{color:var(--text-muted)!important;font-size:13px}.server-name-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:var(--text-header);font-size:15px;font-weight:600;cursor:pointer;padding:0}.server-name-header:hover{color:var(--interactive-active)}.server-name-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s ease}.server-name-chevron-open{transform:rotate(180deg)}.channel-sidebar-content{flex:1;overflow-y:auto;padding:0}.channel-category-header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 4px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.channel-list{list-style:none;padding:0 8px}.channel-item{position:relative;display:flex;align-items:center;width:100%;padding:6px 8px;margin:1px 0;gap:6px;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:15px;font-weight:500;text-align:left;cursor:pointer;transition:background .1s,color .1s}.channel-item:hover{background:var(--bg-hover);color:var(--interactive-hover)}.channel-item.active{background:var(--bg-active);color:var(--interactive-active)}.channel-hash{color:var(--text-muted);font-size:18px;font-weight:500;margin-right:2px;opacity:.6}.channel-empty{padding:8px 16px;font-size:13px;color:var(--text-muted)}.channel-category-group{margin-top:4px}.category-collapse-btn{display:flex;align-items:center;gap:2px;background:none;border:none;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;padding:4px 0;min-height:24px}.category-collapse-btn:hover{color:var(--interactive-hover)}.category-chevron{transition:transform .15s ease;flex-shrink:0}.category-chevron.collapsed{transform:rotate(-90deg)}.channel-context-menu{position:fixed;z-index:400;background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:4px;padding:4px;min-width:160px;box-shadow:0 4px 16px #0006}.channel-context-menu button{display:block;width:100%;text-align:left;padding:6px 8px;background:none;border:none;border-radius:3px;color:var(--text-normal);font-size:14px;cursor:pointer}.channel-context-menu button:hover{background:var(--blurple);color:#fff}.channel-context-menu button.danger{color:var(--red)}.channel-context-menu button.danger:hover{background:var(--red);color:#fff}.context-divider,.context-menu-divider{height:1px;background:var(--border-subtle);margin:4px 0}.context-submenu-trigger{position:relative}.context-submenu-arrow{margin-left:auto;font-size:16px;opacity:.6}.channel-context-menu button{display:flex;align-items:center;justify-content:space-between}.context-btn-with-sub{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.context-sub-label{font-size:11px;color:var(--text-muted);font-weight:400}.channel-context-menu button:hover .context-sub-label{color:#ffffffb3}.context-submenu{position:absolute;left:100%;top:0;background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:4px;padding:4px;min-width:180px;box-shadow:0 4px 16px #0006;z-index:401}.context-submenu button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:6px 8px;background:none;border:none;border-radius:3px;color:var(--text-normal);font-size:14px;cursor:pointer}.context-submenu button:hover{background:var(--blurple);color:#fff}.context-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--text-muted);flex-shrink:0}.context-radio-active{border-color:var(--blurple);background:var(--blurple);box-shadow:inset 0 0 0 3px var(--bg-floating)}.droppable-category.over{background:#5865f20f;border-radius:4px}.channel-drag-overlay{background:var(--bg-secondary);border-radius:4px;box-shadow:0 4px 12px #0000004d;opacity:.95;pointer-events:none}.category-drag-overlay{padding:6px 10px}.category-drag-label{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--text-muted)}.channel-item.drag-overlay{cursor:grabbing}.dm-item{gap:8px}.dm-avatar{width:32px;height:32px;border-radius:50%;background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;position:relative;overflow:visible}.dm-avatar-status{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2.5px solid var(--bg-secondary);box-sizing:border-box}.dm-avatar-status.online{background:var(--green)}.dm-avatar-status.offline{background:var(--interactive-muted)}.dm-avatar-typing{position:absolute;bottom:-4px;right:-6px;display:flex;align-items:center;gap:2px;background:var(--bg-secondary);border-radius:8px;padding:2px 3px}.dm-avatar-typing span{width:3px;height:3px;border-radius:50%;background:var(--typing-color, var(--text-muted));animation:typing-bounce 1.4s infinite ease-in-out}.dm-avatar-typing span:nth-child(2){animation-delay:.2s}.dm-avatar-typing span:nth-child(3){animation-delay:.4s}.dm-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel{min-height:52px;background:var(--bg-secondary-alt);display:flex;flex-direction:column;flex-shrink:0}.user-panel-row{display:flex;align-items:center;gap:8px;padding:0 8px;height:52px}.user-panel-avatar-wrap{position:relative;flex-shrink:0}.user-panel-avatar{width:32px;height:32px;border-radius:50%;background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.user-panel-status{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-secondary-alt)}.user-panel-status.online{background:var(--green)}.user-panel-info{flex:1;min-width:0;display:flex;flex-direction:column}.user-panel-name{font-size:14px;font-weight:500;color:var(--text-header);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.user-panel-tag{font-size:12px;color:var(--text-muted);line-height:1.2}.user-panel-actions{flex-shrink:0;display:flex;gap:4px}.user-panel-btn{width:32px;height:32px;border-radius:4px;background:none;border:none;color:var(--interactive-normal);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.user-panel-btn:hover{background:var(--bg-hover);color:var(--interactive-hover)}.user-panel-btn.logout-btn:hover{color:var(--red)}.member-sidebar{width:var(--member-sidebar-width);min-width:var(--member-sidebar-width);background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.member-sidebar-header{height:var(--header-height);min-height:var(--header-height);display:flex;align-items:center;padding:0 8px;box-shadow:0 1px 0 var(--divider);flex-shrink:0}.search-input-wrapper{display:flex;align-items:center;gap:4px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;padding:0 8px;width:100%;height:28px}button.search-trigger-btn{cursor:pointer;color:var(--text-muted);font-size:13px}button.search-trigger-btn:hover,button.search-trigger-btn.active{border-color:var(--blurple);color:var(--text-normal)}.search-trigger-text{font-size:13px}.search-icon{color:var(--text-muted);flex-shrink:0}.search-input{background:none;border:none;outline:none;color:var(--text-normal);font-size:13px;flex:1;min-width:0}.search-input::placeholder{color:var(--text-muted)}.search-clear-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.search-clear-btn:hover{color:var(--text-normal)}.member-sidebar-content{flex:1;overflow-y:auto;padding:8px 0}.member-group-header{padding:16px 8px 4px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.member-item{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 16px;height:42px;border-radius:0;cursor:pointer;transition:background .1s}.member-item:hover{background:var(--bg-hover)}.member-item.offline{opacity:.5}.member-avatar{width:32px;height:32px;border-radius:50%;background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;position:relative}.member-avatar-status{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2.5px solid var(--bg-secondary);box-sizing:border-box}.member-avatar-status.online{background:var(--green)}.member-avatar-status.offline{background:var(--interactive-muted)}.member-name{font-size:14px;font-weight:500;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-owner-crown{flex-shrink:0;margin-left:auto;opacity:.85}.btn-icon{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{color:var(--interactive-hover)}.dm-input-row{padding:4px 8px 8px;display:flex;gap:4px;flex-wrap:wrap}.dm-input-row input{flex:1;min-width:0;padding:6px 8px;background:var(--bg-tertiary);border:none;border-radius:3px;color:var(--text-normal);font-size:13px;outline:none}.dm-input-row input:focus{box-shadow:0 0 0 2px var(--blurple)}.btn-small{padding:6px 10px;background:var(--blurple);color:#fff;border:none;border-radius:3px;font-size:13px;font-weight:500;cursor:pointer}.btn-small:hover{background:var(--blurple-hover)}.error-small{width:100%;font-size:12px;color:var(--red);margin-top:4px;padding:0 4px}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.ws-reconnect-banner{display:flex;align-items:center;gap:8px;padding:6px 16px;background:var(--bg-tertiary);color:var(--text-muted);font-size:.8125rem;border-bottom:1px solid var(--border-color)}.ws-reconnect-spinner{width:14px;height:14px;border:2px solid var(--text-muted);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.chat-header{height:var(--header-height);min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 1px 0 var(--divider);background:var(--bg-primary)}.chat-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1;overflow:hidden}.chat-header h2{font-size:16px;font-weight:600;color:var(--text-header)}.chat-header-icon{font-size:20px;font-weight:600;color:var(--text-muted);line-height:1}.chat-header-right{display:flex;align-items:center;gap:8px}.chat-header-btn{width:32px;height:32px;border-radius:4px;background:none;border:none;color:var(--interactive-normal);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.chat-header-btn:hover{background:var(--bg-hover);color:var(--interactive-hover)}.chat-header-btn.active{color:var(--interactive-active)}.ws-badge{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ws-badge.ws-connected{background:var(--green)}.ws-badge.ws-connecting{background:var(--yellow)}.ws-badge.ws-disconnected{background:var(--red)}.btn-ghost{background:none;border:none;color:var(--interactive-normal);padding:4px 8px;border-radius:3px;font-size:13px;cursor:pointer;transition:color .1s,background .1s}.btn-ghost:hover{background:var(--bg-hover);color:var(--interactive-hover)}.chat-body{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.drop-overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#5865f21f;border:2px dashed var(--blurple);border-radius:8px;pointer-events:none}.drop-overlay-content{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--blurple);font-size:1.1rem;font-weight:600}.drop-overlay-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--blurple);color:#fff}.no-channel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px}.message-list{flex:1;overflow-y:auto;display:flex;flex-direction:column}.message-list-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:4px}.message-list-empty h3{font-size:1.25rem;color:var(--text-header)}.message-list-empty p{font-size:.875rem}.message{display:flex;padding:2px 16px 2px var(--msg-left);position:relative;transition:background .1s}.message:hover{background:var(--bg-hover)}.message-first{padding-top:16px;margin-top:0}.message-grouped{padding-top:2px}.message-avatar{position:absolute;left:16px;top:16px;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0;user-select:none;z-index:1}.message-content{min-width:0;flex:1}.message-meta{display:flex;align-items:baseline;gap:8px}.message-sender{font-size:1rem;font-weight:500;color:var(--text-header)}.message-time{font-size:.75rem;color:var(--text-muted);font-weight:400}.message-body{font-size:1rem;line-height:1.375;color:var(--text-normal);word-wrap:break-word;white-space:pre-wrap}.message-body-jumbo{font-size:2.75rem;line-height:1.15}.custom-emoji{display:inline;vertical-align:-.2em;width:22px;height:22px;object-fit:contain}.message-body-jumbo .custom-emoji{width:48px;height:48px}.attachment-grid{display:flex;flex-direction:column;gap:4px;margin-top:4px;max-width:550px}.attachment-image-wrap{border-radius:8px;overflow:hidden;background:var(--bg-secondary);max-width:400px;max-height:350px;position:relative}.attachment-video-wrap{border-radius:8px;background:var(--bg-secondary);max-width:550px;position:relative}.attachment-image{max-width:100%;max-height:350px;border-radius:8px;display:block;cursor:pointer}.attachment-thumb{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;opacity:.5}.attachment-video{max-width:100%;max-height:500px;border-radius:8px;display:block}.audio-player{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-secondary);border-radius:8px;max-width:400px;min-width:260px;margin-top:4px}.audio-player-loading{gap:10px;color:var(--text-muted);font-size:13px}.audio-player-error{color:var(--text-muted)}.audio-play-btn{width:36px;height:36px;border-radius:50%;background:var(--blurple);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}.audio-play-btn:hover{background:var(--blurple-hover, #4752c4)}.audio-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.audio-info{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.audio-filename{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-size{font-size:12px;color:var(--text-muted)}.audio-time{font-size:11px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.audio-progress-track{position:relative;height:6px;background:var(--bg-tertiary, rgba(255, 255, 255, .1));border-radius:3px;cursor:pointer;user-select:none}.audio-progress-fill{position:absolute;top:0;left:0;height:100%;background:var(--blurple);border-radius:3px;transition:width .1s linear;pointer-events:none}.audio-progress-thumb{position:absolute;top:50%;width:12px;height:12px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #0000004d;opacity:0;transition:opacity .15s;pointer-events:none}.audio-progress-track:hover .audio-progress-thumb,.audio-player:hover .audio-progress-thumb{opacity:1}.audio-volume-wrap{position:relative;display:flex;align-items:center;flex-shrink:0}.audio-volume-btn{width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;padding:0;transition:color .15s}.audio-volume-btn:hover{color:var(--text-primary)}.audio-volume-slider-wrap{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:6px;padding:12px 8px;opacity:0;pointer-events:none;transition:opacity .15s;box-shadow:0 4px 12px #0000004d}.audio-volume-wrap:hover .audio-volume-slider-wrap,.audio-volume-wrap.open .audio-volume-slider-wrap{opacity:1;pointer-events:auto}.audio-volume-slider{-webkit-appearance:none;appearance:none;width:80px;height:4px;background:var(--bg-tertiary, rgba(255, 255, 255, .1));border-radius:2px;outline:none;cursor:pointer;writing-mode:horizontal-tb}.audio-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;cursor:pointer}.audio-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;border:none;cursor:pointer}.audio-volume-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px}.audio-volume-slider::-moz-range-track{height:4px;border-radius:2px;background:var(--bg-tertiary, rgba(255, 255, 255, .1))}.audio-download-btn{display:flex;align-items:center;justify-content:center;padding:4px;color:var(--text-muted);border-radius:4px;text-decoration:none;flex-shrink:0}.audio-download-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.attachment-download-link{display:inline-block;font-size:12px;color:var(--text-link);text-decoration:none;padding:4px 0}.attachment-download-link:hover{text-decoration:underline}.attachment-loading,.attachment-error{padding:12px 16px;font-size:13px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:4px}.attachment-loading-icon{opacity:.6}.attachment-loading-sub{font-size:11px;opacity:.6}.attachment-error{color:var(--red)}.attachment-file{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);padding:10px 12px;border-radius:8px;border-left:4px solid var(--blurple)}.attachment-file-icon{font-size:1.5rem;flex-shrink:0}.attachment-file-info{flex:1;min-width:0;display:flex;flex-direction:column}.attachment-file-name{font-size:14px;font-weight:500;color:var(--text-link);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-file-size{font-size:12px;color:var(--text-muted)}.attachment-file-download{background:none;border:none;color:var(--text-link);font-size:13px;cursor:pointer;text-decoration:none;padding:4px 8px}.attachment-file-download:hover{text-decoration:underline}.attachment-error-inline{font-size:12px;color:var(--red)}.link-preview-list{display:flex;flex-direction:column;gap:4px;margin-top:4px;max-width:432px}.link-preview-card{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:4px;border-left:4px solid var(--text-link);overflow:hidden;text-decoration:none;color:inherit;transition:background .1s}.link-preview-card:hover{background:var(--bg-hover)}.link-preview-image{width:100%;max-height:200px;object-fit:cover}.link-preview-text{display:flex;flex-direction:column;gap:2px;padding:8px 12px}.link-preview-site{font-size:.75rem;font-weight:400;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.link-preview-title{font-size:.875rem;font-weight:600;color:var(--text-link);line-height:1.25}.link-preview-card:hover .link-preview-title{text-decoration:underline}.link-preview-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.typing-indicator{display:flex;align-items:center;gap:6px;padding:0 16px 4px calc(var(--msg-left));height:24px;flex-shrink:0}.typing-text{font-size:12px;color:var(--text-muted);font-weight:500}.typing-dots{display:flex;align-items:center;gap:3px}.typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--text-muted);animation:typing-bounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.message-input-wrapper{margin:0 16px 24px;position:relative}.new-messages-divider{display:flex;align-items:center;padding:2px 16px;margin:8px 0}.new-messages-divider:before{content:"";flex:1;height:1px;background:var(--red, #f23f43)}.new-messages-divider-label{color:var(--red, #f23f43);font-size:.7rem;font-weight:700;padding-left:8px;text-transform:uppercase}.char-counter{position:absolute;bottom:-20px;right:4px;font-size:12px;color:var(--text-muted);font-weight:600}.char-counter.over-limit{color:var(--red)}.pending-uploads{background:var(--bg-secondary);border-radius:var(--input-radius) var(--input-radius) 0 0;padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px}.pending-upload-item{display:flex;align-items:center;gap:6px;background:var(--bg-tertiary);border-radius:4px;padding:4px 8px;font-size:13px}.pending-upload-name{color:var(--text-normal);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-upload-size,.pending-upload-status{color:var(--text-muted);font-size:12px}.pending-upload-status.error{color:var(--red)}.pending-upload-remove{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px;line-height:1;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center}.pending-upload-remove:hover{color:var(--red)}.message-input{display:flex;align-items:flex-end;gap:0;background:var(--bg-input);border-radius:var(--input-radius)}.pending-uploads+.message-input{border-radius:0 0 var(--input-radius) var(--input-radius)}.attach-btn{width:44px;height:44px;flex-shrink:0;align-self:center;background:transparent;border:none;color:var(--interactive-normal);font-size:1.25rem;font-weight:500;cursor:pointer;transition:color .1s;display:flex;align-items:center;justify-content:center}.attach-btn:hover{color:var(--interactive-hover)}.send-btn{width:36px;height:36px;flex-shrink:0;margin:0 6px 6px 0;align-self:center;background:var(--blurple);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.send-btn:hover{background:var(--blurple-hover, #4752c4)}.input-context-menu .context-menu-toggle{display:flex;align-items:center;justify-content:space-between}.context-menu-check{width:18px;height:18px;border-radius:4px;border:2px solid var(--interactive-normal);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:12px}.context-menu-check.checked{background:var(--blurple);border-color:var(--blurple)}.context-menu-check.checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.context-menu-shortcut{margin-left:auto;padding-left:16px;color:var(--text-muted);font-size:.75rem}.tiptap-editor{flex:1;min-width:0}.tiptap-input{padding:11px 16px 11px 0;color:var(--text-normal);font-size:1rem;font-family:var(--font);line-height:1.375;max-height:200px;overflow-y:auto;outline:none}.tiptap-input.ProseMirror{outline:none}.tiptap-input p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--interactive-muted);float:left;height:0;pointer-events:none}.tiptap-input p{margin:0}.tiptap-input p+p{margin-top:4px}.tiptap-input strong{font-weight:700}.tiptap-input em{font-style:italic}.tiptap-input s{text-decoration:line-through}.tiptap-input code{background:var(--bg-tertiary);padding:2px 4px;border-radius:3px;font-size:.875em;font-family:Fira Code,Consolas,monospace}.tiptap-input pre{background:var(--bg-tertiary);padding:8px 12px;border-radius:4px;margin:4px 0;overflow-x:auto}.tiptap-input pre code{background:none;padding:0;font-size:.875em}.tiptap-input blockquote{border-left:3px solid var(--interactive-muted);padding-left:12px;margin:4px 0;color:var(--text-secondary)}.tiptap-input ul,.tiptap-input ol{padding-left:24px;margin:2px 0}.tiptap-input h1,.tiptap-input h2,.tiptap-input h3{font-weight:700;color:var(--text-header);margin:4px 0 2px}.tiptap-input h1{font-size:1.25rem}.tiptap-input h2{font-size:1.125rem}.tiptap-input h3{font-size:1rem}.tiptap-input a{color:var(--text-link);text-decoration:none}.tiptap-input a:hover{text-decoration:underline}.message-rich{word-wrap:break-word;white-space:normal}.message-rich p{margin:0}.message-rich p+p{margin-top:4px}.message-rich strong{font-weight:700}.message-rich em{font-style:italic}.message-rich s{text-decoration:line-through}.message-rich code{background:var(--bg-tertiary);padding:2px 4px;border-radius:3px;font-size:.875em;font-family:Fira Code,Consolas,monospace}.message-rich pre{background:var(--bg-tertiary);padding:8px 12px;border-radius:4px;margin:4px 0;overflow-x:auto}.message-rich pre code{background:none;padding:0}.message-rich blockquote{border-left:3px solid var(--interactive-muted);padding-left:12px;margin:4px 0;color:var(--text-secondary)}.message-rich ul,.message-rich ol{padding-left:24px;margin:2px 0}.message-rich h1,.message-rich h2,.message-rich h3{color:var(--text-header);margin:4px 0 2px}.message-rich h1{font-size:1.25rem}.message-rich h2{font-size:1.125rem}.message-rich h3{font-size:1rem}.message-rich a{color:var(--text-link);text-decoration:none}.message-rich a:hover{text-decoration:underline}.message-rich hr{border:none;border-top:1px solid var(--divider);margin:8px 0}.server-settings-member-list{display:flex;flex-direction:column;gap:2px}.emoji-slot-counters{display:flex;gap:16px;margin-bottom:12px;color:var(--text-muted);font-size:13px}.emoji-upload-row{display:flex;gap:8px;margin-bottom:16px;align-items:center}.emoji-manage-table{border:1px solid var(--divider);border-radius:8px;overflow:hidden}.emoji-manage-header{display:grid;grid-template-columns:48px 1fr 80px;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--divider)}.emoji-manage-row{display:grid;grid-template-columns:48px 1fr 80px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--divider)}.emoji-manage-row:last-child{border-bottom:none}.emoji-manage-img{width:32px;height:32px;object-fit:contain;border-radius:4px}.emoji-manage-name{font-size:14px;color:var(--text-normal)}.emoji-manage-badge{margin-left:6px;font-size:11px;color:var(--text-muted)}.emoji-manage-4col{grid-template-columns:48px 1fr 1fr 80px}.emoji-manage-uploader{font-size:13px;color:var(--text-muted)}.emoji-pending-row{display:flex;align-items:center;gap:8px;padding:8px 0}.audit-log-list{display:flex;flex-direction:column;gap:2px}.audit-log-entry{padding:10px 14px;border-radius:6px;background:var(--bg-secondary);border-left:3px solid var(--brand)}.audit-log-entry-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.audit-log-actor{font-weight:600;color:var(--text-normal);font-size:13px}.audit-log-action{color:var(--text-muted);font-size:13px}.audit-log-target{color:var(--text-secondary);font-size:12px;background:var(--bg-tertiary);padding:1px 6px;border-radius:3px;font-family:var(--font-mono, monospace)}.audit-log-reason{margin-top:4px;font-size:12px;color:var(--text-muted);font-style:italic}.audit-log-changes{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.audit-log-change{font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:3px}.audit-log-time{display:block;margin-top:4px;font-size:11px;color:var(--text-faint)}.server-member-row{display:flex;align-items:center;gap:10px;padding:8px 16px;transition:background .1s}.server-member-row:hover{background:var(--bg-hover)}.server-member-avatar{width:32px;height:32px;border-radius:50%;background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.server-member-info{flex:1;min-width:0;display:flex;flex-direction:column}.server-member-name{font-size:14px;font-weight:500;color:var(--text-normal)}.server-member-username{font-size:12px;color:var(--text-muted)}.server-kick-btn{color:var(--red)!important;font-size:12px!important}.invite-row{display:flex;align-items:center;gap:10px;padding:8px 16px}.invite-code{font-family:Fira Code,monospace;font-size:14px;font-weight:600;color:var(--text-header);background:var(--bg-tertiary);padding:2px 8px;border-radius:3px}.invite-meta{flex:1;font-size:12px;color:var(--text-muted)}.invite-created{margin-top:8px;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--green)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#26272b}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.bubble-toolbar{display:flex;align-items:center;gap:2px;background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:6px;padding:4px;box-shadow:0 4px 16px #0006}.bubble-toolbar button{background:none;border:none;color:var(--interactive-normal);font-size:15px;font-weight:700;cursor:pointer;padding:6px 10px;border-radius:4px;line-height:1;font-family:var(--font);transition:background .1s,color .1s}.bubble-toolbar button:hover{background:var(--bg-hover);color:var(--interactive-hover)}.bubble-toolbar button.active{background:var(--blurple);color:#fff}.message-rich .spoiler{background:var(--bg-tertiary);color:transparent;border-radius:3px;padding:0 4px;cursor:pointer;transition:color .2s,background .2s;user-select:none}.message-rich .spoiler.spoiler-revealed{color:var(--text-normal);background:var(--bg-secondary);user-select:auto}.tiptap-input .spoiler{background:var(--bg-secondary);border-radius:3px;padding:0 2px;border:1px dashed var(--interactive-muted)}.tiptap-input u,.message-rich u{text-decoration:underline}.tiptap-input .subtext,.message-rich .subtext{font-size:.75rem;color:var(--text-muted);margin:2px 0 0;line-height:1.2}.tiptap-input pre code .hljs-keyword,.message-rich pre code .hljs-keyword{color:#f47067}.tiptap-input pre code .hljs-string,.message-rich pre code .hljs-string{color:#96d0ff}.tiptap-input pre code .hljs-comment,.message-rich pre code .hljs-comment{color:#7b8895;font-style:italic}.tiptap-input pre code .hljs-number,.tiptap-input pre code .hljs-literal,.message-rich pre code .hljs-number,.message-rich pre code .hljs-literal{color:#6cb6ff}.tiptap-input pre code .hljs-title,.tiptap-input pre code .hljs-function,.message-rich pre code .hljs-title,.message-rich pre code .hljs-function{color:#dcbdfb}.tiptap-input pre code .hljs-built_in,.message-rich pre code .hljs-built_in{color:#f69d50}.tiptap-input pre code .hljs-attr,.tiptap-input pre code .hljs-property,.message-rich pre code .hljs-attr,.message-rich pre code .hljs-property,.tiptap-input pre code .hljs-type,.tiptap-input pre code .hljs-class,.message-rich pre code .hljs-type,.message-rich pre code .hljs-class{color:#6cb6ff}.tiptap-input pre code .hljs-variable,.message-rich pre code .hljs-variable{color:#f69d50}.tiptap-input pre code .hljs-params,.message-rich pre code .hljs-params{color:var(--text-normal)}.tiptap-input pre code .hljs-meta,.message-rich pre code .hljs-meta{color:#7b8895}.message{position:relative}.message-actions{position:absolute;right:16px;top:0;transform:translateY(-100%);display:none;align-items:center;gap:2px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;padding:2px;box-shadow:0 2px 8px #0000004d;z-index:10}.message:hover .message-actions{display:flex}.message-action-btn{background:none;border:none;color:var(--interactive-normal);font-size:12px;cursor:pointer;padding:6px 8px;border-radius:3px;line-height:1;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.message-action-btn:hover{background:var(--bg-hover);color:var(--interactive-hover)}.message-action-btn.message-action-danger:hover{background:#f23f4326;color:var(--red)}.editing-banner{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-secondary);border-radius:var(--input-radius) var(--input-radius) 0 0;border-left:3px solid var(--blurple);font-size:13px;color:var(--text-secondary)}.editing-banner+.pending-uploads{border-radius:0}.editing-banner+.message-input{border-radius:0 0 var(--input-radius) var(--input-radius)}.reaction-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-pill{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;font-size:14px;line-height:1.4;transition:background .1s,border-color .1s;color:var(--text-muted)}.reaction-pill:hover{background:var(--bg-hover);border-color:var(--interactive-muted)}.reaction-pill-active{background:#5865f226;border-color:var(--blurple)}.reaction-pill-active:hover{background:#5865f240;border-color:var(--blurple)}.reaction-emoji{font-size:16px;line-height:1}.custom-emoji-reaction{width:16px;height:16px;vertical-align:-.2em;object-fit:contain}.reaction-count{font-size:12px;font-weight:600;color:var(--text-muted)}.reaction-pill-active .reaction-count{color:var(--blurple)}.reaction-add-btn{font-size:16px;color:var(--text-muted);padding:2px 8px;opacity:0;transition:opacity .1s,background .1s}.message:hover .reaction-add-btn{opacity:1}.reaction-add-btn:hover{background:var(--bg-hover)}.reaction-picker-wrap{position:absolute;bottom:100%;right:0;z-index:200;margin-bottom:4px}.confirm-dialog{max-width:400px}.confirm-dialog-message{font-size:14px;color:var(--text-secondary);text-align:center;line-height:1.4;margin-bottom:4px}.btn-danger{background:var(--red)!important}.btn-danger:hover:not(:disabled){background:#d83438!important}.invite-code-row{display:flex;gap:8px;margin-top:8px}.invite-code-row .settings-input{flex:1}.invite-modal{width:440px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;padding:16px 0 0;gap:0}.invite-modal-title{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0;padding:0 16px}.invite-modal-subtitle{color:var(--text-secondary);font-size:.75rem;margin:2px 0 12px;padding:0 16px}.invite-modal-desc{color:var(--text-secondary);font-size:.8125rem;margin:4px 0 8px;padding:0 16px}.invite-search-wrap{display:flex;align-items:center;gap:8px;margin:0 16px 8px;padding:6px 10px;border-radius:4px;background:var(--bg-tertiary, var(--bg-secondary));border:1px solid var(--border-subtle, rgba(255,255,255,.06))}.invite-search-icon{color:var(--text-muted);flex-shrink:0}.invite-search-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.875rem;outline:none;padding:0}.invite-search-input::placeholder{color:var(--text-muted)}.invite-friend-list{flex:1;overflow-y:auto;padding:0 8px;max-height:320px;min-height:100px}.invite-friend-empty{color:var(--text-muted);font-size:.8125rem;text-align:center;padding:24px 16px}.invite-friend-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px}.invite-friend-row:hover{background:var(--bg-modifier-hover)}.invite-friend-info{display:flex;align-items:center;gap:10px;min-width:0}.invite-friend-names{display:flex;flex-direction:column;min-width:0}.invite-friend-display{color:var(--text-primary);font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-friend-username{color:var(--text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-friend-btn{padding:4px 16px;border-radius:3px;border:1px solid var(--green, #23a55a);background:transparent;color:var(--green, #23a55a);font-size:.8125rem;font-weight:500;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.invite-friend-btn:hover:not(:disabled){background:var(--green, #23a55a);color:#fff}.invite-friend-btn.sent{border-color:var(--text-muted);color:var(--text-muted);cursor:default}.invite-options-row{display:flex;gap:12px;padding:0 16px 8px}.invite-option{display:flex;flex-direction:column;gap:4px;flex:1}.invite-option-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em}.invite-option-select{background:var(--bg-tertiary);color:var(--text-normal);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:4px;padding:6px 28px 6px 8px;font-size:13px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23b5bac1'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.invite-option-select:focus{outline:2px solid var(--brand);outline-offset:-1px}.invite-option-select option{background:var(--bg-tertiary);color:var(--text-normal)}.invite-link-section{border-top:1px solid var(--border-subtle, rgba(255,255,255,.06));padding:12px 16px 16px;margin-top:8px}.invite-link-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;margin:0 0 8px}.invite-link-input{flex:1;background:var(--bg-tertiary, var(--bg-secondary));border:none;border-radius:4px;color:var(--text-primary);padding:8px 10px;font-size:.875rem;outline:none;min-width:0}.invite-copy-btn{padding:8px 16px;border-radius:4px;border:none;background:var(--blurple);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.invite-copy-btn:hover{background:var(--blurple-dark, #4752c4)}.invite-back-btn{margin:0 16px 12px;align-self:flex-start}.invite-card{background:var(--bg-secondary);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:8px;padding:12px;margin-top:4px;max-width:400px}.invite-card-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.invite-card-icon{width:48px;height:48px;border-radius:12px;background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;flex-shrink:0;overflow:hidden}.invite-card-icon img{width:100%;height:100%;object-fit:cover}.invite-card-info{display:flex;flex-direction:column;min-width:0}.invite-card-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em}.invite-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-card-actions{display:flex;gap:8px;align-items:center}.invite-card-btn{padding:6px 20px;border-radius:4px;border:none;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.invite-card-btn.accept{background:var(--green, #23a55a);color:#fff}.invite-card-btn.accept:hover:not(:disabled){background:#1a9049}.invite-card-btn.ignore{background:var(--bg-tertiary, rgba(255,255,255,.06));color:var(--text-secondary)}.invite-card-btn:disabled{opacity:.6;cursor:default}.invite-card-status{font-size:.8125rem;font-weight:500;padding:6px 12px;border-radius:4px}.invite-card-status.joined{background:#23a55a26;color:var(--green, #23a55a)}.invite-card-status.waiting{background:#5865f226;color:var(--blurple)}.invite-card-status.error{color:var(--red, #d83438);font-size:.75rem}.invite-server-list{display:flex;flex-direction:column;gap:2px;margin:8px 0 12px;padding:0 8px;max-height:260px;overflow-y:auto}.invite-server-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;text-align:left;width:100%;font-size:.875rem}.invite-server-item:hover{background:var(--bg-modifier-hover)}.invite-server-icon{width:36px;height:36px;border-radius:50%;background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0;overflow:hidden}.invite-server-icon img{width:100%;height:100%;object-fit:cover}.invite-server-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emoji-picker{position:absolute;bottom:calc(100% + 8px);right:0;z-index:200}.emoji-picker-below{bottom:auto;top:calc(100% + 8px)}em-emoji-picker{--rgb-background: 43, 45, 49;--rgb-input: 30, 31, 34;--rgb-color: 219, 222, 225;--rgb-accent: 88, 101, 242;--shadow: 0 8px 32px rgba(0, 0, 0, .5);--border-radius: 8px;max-height:400px}.emoji-trigger-btn{width:44px;height:44px;flex-shrink:0;background:transparent;border:none;color:var(--interactive-normal);font-size:1.25rem;cursor:pointer;transition:color .1s;display:flex;align-items:center;justify-content:center}.emoji-trigger-btn:hover{color:var(--interactive-hover)}.emoji-trigger-wrap,.gif-trigger-wrap{position:relative;display:flex;align-items:center;align-self:center}.gif-trigger-btn{width:36px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid var(--interactive-normal);color:var(--interactive-normal);cursor:pointer;border-radius:6px;transition:color .15s,border-color .15s;flex-shrink:0;font-size:.7rem;font-weight:700}.gif-trigger-btn:hover{color:var(--interactive-hover);border-color:var(--interactive-hover)}.gif-picker{position:absolute;bottom:calc(100% + 8px);right:0;z-index:200;animation:fadeIn .15s ease}.gif-picker-inner{width:400px;max-height:450px;background:var(--bg-secondary);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 24px #0006}.gif-search-bar{display:flex;align-items:center;gap:6px;padding:12px 12px 8px;flex-shrink:0}.gif-back-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--interactive-normal);cursor:pointer;border-radius:4px;flex-shrink:0}.gif-back-btn:hover{color:var(--interactive-hover);background:var(--bg-modifier-hover)}.gif-search-input-wrap{flex:1;position:relative;display:flex;align-items:center}.gif-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.gif-search-field{width:100%;padding:8px 32px 8px 34px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-normal);font-size:.875rem;outline:none}.gif-search-field::placeholder{color:var(--text-muted)}.gif-clear-btn{position:absolute;right:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--interactive-normal);cursor:pointer;border-radius:4px}.gif-clear-btn:hover{color:var(--interactive-hover)}.gif-section-header{padding:4px 12px 6px;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em;flex-shrink:0}.gif-grid-container{flex:1;overflow-y:auto;padding:0 8px 8px;scrollbar-width:thin;scrollbar-color:var(--bg-tertiary) transparent}.gif-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gif-grid-item{border-radius:4px;overflow:hidden;cursor:pointer;background:var(--bg-tertiary);transition:transform .1s ease}.gif-grid-item:hover{transform:scale(1.02)}.gif-grid-item img{width:100%;height:100%;object-fit:cover;display:block}.gif-loading,.gif-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:.875rem}.gif-error-detail{margin-top:6px;font-size:.75rem;color:var(--status-dnd, #f23f43);word-break:break-word}.gif-attribution{padding:6px 12px;text-align:center;font-size:.65rem;color:var(--text-muted);flex-shrink:0;border-top:1px solid var(--bg-tertiary)}.message-edited{font-size:.625rem;color:var(--text-muted);margin-left:4px}.profile-popup{width:340px;background:var(--bg-floating);border-radius:8px;overflow:visible;box-shadow:0 8px 24px #0006;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-popup-banner{height:120px;background:var(--blurple);border-radius:8px 8px 0 0;position:relative}.profile-popup-banner.has-image{background-size:cover;background-position:center}.profile-popup-header-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px}.profile-header-btn{width:36px;height:36px;border-radius:50%;background:#0006;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.profile-header-btn:hover:not(:disabled){background:#0009}.profile-header-btn:disabled{opacity:.4;cursor:default}.profile-header-btn-active{background:#fff3}.profile-header-btn-active:hover:not(:disabled){background:#ffffff4d}.profile-more-wrap{position:relative}.profile-more-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:160px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;box-shadow:0 4px 16px #00000080;padding:4px;z-index:300}.profile-more-item{display:block;width:100%;padding:8px 10px;background:none;border:none;color:var(--text-secondary);font-size:.8125rem;text-align:left;cursor:pointer;border-radius:3px;transition:background .1s,color .1s}.profile-more-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.profile-more-danger{color:var(--red)}.profile-more-danger:hover:not(:disabled){background:var(--red);color:#fff}.profile-popup-avatar-row{display:flex;align-items:flex-end;padding:0 16px;margin-top:-36px}.profile-popup-avatar{width:72px;height:72px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-primary);font-size:28px;font-weight:600;display:flex;align-items:center;justify-content:center;border:5px solid var(--bg-floating)}.profile-popup-body{padding:8px 16px 16px}.profile-popup-names{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.profile-popup-displayname{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.profile-popup-username{font-size:.8125rem;color:var(--text-muted)}.profile-popup-friend-actions{display:flex;gap:8px;margin-bottom:10px}.btn-sm{padding:6px 14px;font-size:.75rem}.profile-popup-mutuals{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:.75rem;color:var(--text-muted)}.profile-popup-mutual-avatars{display:flex}.profile-popup-mutual-avatars .mutual-avatar-tiny{width:18px;height:18px;border-radius:50%;margin-right:-4px;border:2px solid var(--bg-floating)}.profile-popup-mutual-text{color:var(--text-muted)}.profile-popup-status{font-size:.8125rem;color:var(--text-secondary);padding:6px 0;border-top:1px solid var(--bg-secondary);margin-bottom:8px}.profile-popup-status-emoji{margin-right:4px}.profile-popup-section{margin-bottom:12px}.profile-popup-section-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.profile-popup-about{font-size:.8125rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.profile-popup-roles{display:flex;flex-wrap:wrap;gap:4px}.profile-popup-role-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.profile-popup-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.profile-popup-date{font-size:.8125rem;color:var(--text-secondary)}.safety-number-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 8px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8125rem;letter-spacing:.05em;color:var(--text-primary);margin-bottom:8px}.safety-number-group{text-align:center;padding:2px 0;background:var(--bg-secondary);border-radius:3px}.safety-number-fingerprint{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin-bottom:8px}.safety-number-dot{width:100%;aspect-ratio:1;border-radius:2px}.safety-number-copy{font-size:.75rem;width:100%;text-align:center;padding:4px}.profile-popup-actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--bg-secondary)}.profile-popup-btn{flex:1;padding:8px 16px;border:none;border-radius:4px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s}.profile-popup-message-wrap{position:relative;margin-top:12px;padding-top:12px;border-top:1px solid var(--bg-secondary)}.profile-popup-message-input{width:100%;padding:10px 40px 10px 12px;background:var(--bg-input);border:none;border-radius:8px;color:var(--text-primary);font-size:.8125rem;outline:none;box-sizing:border-box}.profile-popup-message-input:focus{box-shadow:0 0 0 1px var(--blurple)}.profile-popup-message-input::placeholder{color:var(--text-muted)}.profile-popup-emoji-btn{position:absolute;right:6px;bottom:4px;width:32px;height:32px;background:none;border:none;color:var(--interactive-normal);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .1s}.profile-popup-emoji-btn:hover{color:var(--interactive-hover)}.profile-popup-emoji-picker{position:absolute;bottom:100%;right:0;z-index:300;margin-bottom:4px}.profile-popup-loading{padding:24px;text-align:center;color:var(--text-muted);font-size:.875rem}.profile-popup-edit{display:flex;flex-direction:column;gap:12px}.profile-edit-label{display:flex;flex-direction:column;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.profile-edit-input{background:var(--bg-input);border:none;border-radius:4px;padding:8px;color:var(--text-primary);font-size:.875rem;outline:none}.profile-edit-input:focus{box-shadow:0 0 0 2px var(--blurple)}.profile-edit-textarea{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:4px;padding:8px;color:var(--text-primary);font-size:.875rem;resize:none;font-family:inherit;outline:none}.profile-edit-textarea:focus{box-shadow:0 0 0 2px var(--blurple)}.profile-edit-actions{display:flex;justify-content:flex-end;gap:8px}.btn-primary{background:var(--blurple);color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:.8125rem;font-weight:600;cursor:pointer}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:4px;padding:8px 16px;font-size:.8125rem;font-weight:600;cursor:pointer}.btn-secondary:hover{background:var(--bg-hover)}.message-avatar-clickable,.member-item-clickable,.message-sender-clickable{cursor:pointer}.message-sender-clickable:hover{text-decoration:underline}.message-blocked{opacity:.4;font-style:italic}.role-settings{display:flex;min-height:300px;max-height:400px;overflow:hidden}.role-settings-sidebar{width:180px;min-width:180px;border-right:1px solid var(--divider);padding:8px;overflow-y:auto}.role-settings-main{flex:1;overflow-y:auto;padding:12px 16px}.role-list-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:none;border:none;border-radius:4px;color:var(--text-normal);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .1s}.role-list-item:hover{background:var(--bg-hover)}.role-list-item.active{background:var(--bg-active);color:var(--text-header)}.role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.role-edit-header{display:flex;gap:12px;margin-bottom:12px}.role-edit-header>label{flex:1}.role-color-section{margin-bottom:16px}.role-color-title{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.role-color-desc{font-size:13px;color:var(--text-muted);margin:0 0 10px}.role-color-swatches{display:flex;flex-wrap:wrap;gap:6px}.role-color-swatch{width:44px;height:44px;border-radius:6px;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,border-color .15s;padding:0}.role-color-swatch:hover{transform:scale(1.1)}.role-color-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px var(--blurple)}.role-color-default{background:#99aab5}.role-color-custom{background:#2f3136;border:2px solid var(--border)}.role-color-custom.selected{border-color:#fff}.role-color-hidden-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.perm-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);padding:3px 0;cursor:pointer}.perm-row:hover{color:var(--text-normal)}.perm-row input[type=checkbox]{accent-color:var(--blurple)}.perm-overwrite-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:13px;color:var(--text-secondary)}.perm-overwrite-label{flex:1}.perm-tri-btn{min-width:64px;padding:3px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer;text-align:center;background:var(--bg-secondary);color:var(--text-muted);transition:background .15s,color .15s,border-color .15s}.perm-tri-btn:hover{border-color:var(--text-muted)}.perm-tri-allow{background:#43b58126;color:#43b581;border-color:#43b581}.perm-tri-deny{background:#f0474726;color:#f07575;border-color:#f07575}.overwrite-indicator{color:var(--blurple);font-weight:700;margin-left:4px}.member-info{flex:1;min-width:0;display:flex;flex-direction:column}.friends-nav-btn{display:flex;align-items:center;gap:12px;width:calc(100% - 16px);margin:8px 8px 4px;padding:8px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;transition:background .15s,color .15s}.friends-nav-btn:hover{background:var(--bg-modifier-hover);color:var(--text-normal)}.friends-nav-btn.active{background:var(--bg-modifier-selected);color:var(--text-normal)}.friends-view{display:flex;flex-direction:column;flex:1;overflow:hidden}.friends-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.friends-title{font-weight:600;color:var(--text-normal);font-size:15px;margin-right:12px}.friends-tabs{display:flex;gap:4px}.friends-tab{padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;transition:background .15s,color .15s}.friends-tab:hover{background:var(--bg-modifier-hover);color:var(--text-normal)}.friends-tab.active{background:var(--bg-modifier-selected);color:var(--text-normal)}.friends-body{flex:1;overflow-y:auto;padding:16px}.add-friend-section{margin-bottom:16px}.add-friend-section h3{font-size:15px;color:var(--text-normal);margin-bottom:4px}.add-friend-hint{font-size:13px;color:var(--text-muted);margin-bottom:8px}.add-friend-row{display:flex;gap:8px}.add-friend-row input{flex:1;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-normal);font-size:14px}.add-friend-row input:focus{outline:none;border-color:var(--blurple)}.add-friend-error{color:var(--status-danger);font-size:13px;margin-top:4px}.add-friend-success{color:var(--green);font-size:13px;margin-top:4px}.friends-divider{height:1px;background:var(--border-subtle);margin:12px 0}.friends-section-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;padding:8px 0}.friends-empty{color:var(--text-muted);font-size:14px;text-align:center;padding:32px 0}.friend-list{display:flex;flex-direction:column}.friend-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;cursor:pointer;border-top:1px solid var(--border-subtle)}.friend-row:hover{background:var(--bg-modifier-hover)}.friend-row-left{display:flex;align-items:center;gap:12px;min-width:0}.friend-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;overflow:visible}.friend-avatar-status{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2.5px solid var(--bg-primary);box-sizing:border-box}.friend-avatar-status.online{background:var(--green)}.friend-avatar-status.offline{background:var(--interactive-muted)}.friend-info{display:flex;flex-direction:column;min-width:0}.friend-name{font-size:14px;font-weight:600;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-username{font-size:12px;color:var(--text-muted)}.friend-actions{display:flex;gap:8px;flex-shrink:0}.friend-action-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-tertiary);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s}.friend-action-btn:hover{color:var(--text-normal)}.friend-action-btn.accept,.friend-action-btn.accept:hover{color:var(--green)}.friend-action-btn.decline:hover{color:var(--status-danger)}.friend-action-btn.message:hover{color:var(--text-normal)}.request-badge{background:var(--status-danger);color:#fff;font-size:11px;font-weight:700;border-radius:8px;padding:0 5px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.dm-request-banner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 24px;background:var(--bg-secondary);border-top:1px solid var(--border-subtle)}.dm-request-banner-text{color:var(--text-muted);font-size:14px;text-align:center}.dm-request-banner-actions{display:flex;gap:8px}.btn-primary{padding:8px 20px;border:none;border-radius:4px;background:var(--blurple);color:#fff;font-size:14px;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--blurple-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{padding:8px 20px;border:none;border-radius:4px;background:var(--status-danger);color:#fff;font-size:14px;cursor:pointer;transition:opacity .15s}.btn-danger:hover:not(:disabled){opacity:.85}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.delete-account-confirm{background:#ed42450d;border:1px solid rgba(237,66,69,.3);border-radius:8px;padding:16px;margin-top:8px}.dm-item.pending{opacity:.7}.dm-avatar.pending{background:var(--text-muted)}.avatar{border-radius:50%;flex-shrink:0;user-select:none}.avatar-img{object-fit:cover}.avatar-initial{background:var(--blurple);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;line-height:1}.status-selector{position:fixed;background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:8px;padding:6px;min-width:200px;box-shadow:0 8px 24px #0006;z-index:10000}.status-selector-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;border-radius:4px;color:var(--text-normal);font-size:14px;cursor:pointer;transition:background .1s}.status-selector-item:hover{background:var(--bg-hover)}.status-selector-item.active{background:var(--bg-active)}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-label{flex:1;text-align:left}.member-avatar-wrap{position:relative;flex-shrink:0;width:32px;height:32px;overflow:visible}.member-avatar-wrap .avatar{width:32px;height:32px}.profile-popup-avatar-wrap{position:relative}.profile-popup-avatar-wrap .avatar{border:5px solid var(--bg-floating);border-radius:50%}.profile-popup-presence-dot{position:absolute;bottom:4px;right:4px;width:16px;height:16px;border-radius:50%;border:3px solid var(--bg-floating)}.user-settings-overlay{position:fixed;inset:0;background:var(--bg-tertiary);z-index:500;display:flex;align-items:stretch;justify-content:center}.user-settings-modal{display:flex;width:100%;max-width:960px;height:100%}.user-settings-sidebar{width:218px;min-width:218px;background:var(--bg-secondary);padding:60px 8px 20px 20px;display:flex;flex-direction:column;overflow-y:auto}.user-settings-sidebar-header{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);padding:6px 10px;margin-bottom:4px}.user-settings-nav-item{display:block;width:100%;padding:6px 10px;margin-bottom:2px;background:none;border:none;border-radius:4px;color:var(--text-muted);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .1s,color .1s}.user-settings-nav-item:hover{background:var(--bg-hover);color:var(--interactive-hover)}.user-settings-nav-item.active{background:var(--bg-active);color:var(--interactive-active)}.user-settings-nav-item.danger{color:var(--red)}.user-settings-nav-item.danger:hover{background:#f23f431a;color:var(--red)}.user-settings-sidebar-divider{height:1px;background:var(--divider);margin:8px 10px}.user-settings-content{flex:1;display:flex;flex-direction:column;padding:60px 40px 20px;overflow-y:auto;min-width:0;position:relative}.user-settings-content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.user-settings-content-header h2{font-size:20px;font-weight:600;color:var(--text-header)}.settings-esc-close{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:var(--text-muted);position:absolute;right:20px;top:20px;z-index:1}.settings-esc-circle{width:36px;height:36px;border-radius:50%;border:2px solid var(--text-muted);display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.settings-esc-close:hover .settings-esc-circle{border-color:var(--interactive-hover);color:var(--interactive-hover)}.settings-esc-close:hover{color:var(--interactive-hover)}.settings-esc-label{font-size:11px;font-weight:600}.custom-css-textarea{font-family:var(--font-mono, "Menlo", "Consolas", "Monaco", monospace);font-size:12px;line-height:1.5;resize:vertical;min-height:100px;max-height:400px;tab-size:2;white-space:pre}.command-palette-overlay{position:fixed;inset:0;background:#0009;z-index:9999;display:flex;justify-content:center;padding-top:15vh}.command-palette{background:var(--bg-secondary);border-radius:12px;width:520px;max-height:420px;display:flex;flex-direction:column;box-shadow:0 16px 48px #0006;overflow:hidden;align-self:flex-start}.command-palette-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.command-palette-search-icon{color:var(--text-muted);flex-shrink:0}.command-palette-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:16px;outline:none}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-results{overflow-y:auto;padding:8px;flex:1}.command-palette-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:14px}.command-palette-group{margin-bottom:4px}.command-palette-group-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 4px;letter-spacing:.04em}.command-palette-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:14px}.command-palette-item:hover,.command-palette-item.selected{background:var(--bg-hover);color:var(--text-primary)}.command-palette-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-item-desc{font-size:12px;color:var(--text-muted);flex-shrink:0}.keyboard-shortcuts-modal{max-width:600px;width:90vw}.keyboard-shortcuts-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 24px 24px}.keyboard-shortcuts-section-title{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;margin:0 0 10px}.keyboard-shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.keyboard-shortcut-desc{font-size:14px;color:var(--text-secondary)}.keyboard-shortcut-keys{display:flex;align-items:center;gap:2px}.keyboard-shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;font-size:11px;font-family:inherit;color:var(--text-primary)}.keyboard-shortcut-plus{font-size:11px;color:var(--text-muted);margin:0 1px}.theme-picker{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.theme-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:8px;border:2px solid var(--border-subtle);background:var(--bg-secondary);cursor:pointer;transition:border-color .15s}.theme-card:hover{border-color:var(--interactive-hover)}.theme-card.selected{border-color:var(--blurple)}.theme-preview{display:flex;gap:4px;border-radius:4px;overflow:hidden}.theme-swatch{width:24px;height:40px}.theme-label{font-size:13px;font-weight:600;color:var(--text-normal)}.user-settings-content-body{flex:1}.settings-section{max-width:660px}.settings-card{background:var(--bg-secondary);border-radius:8px;padding:16px;margin-bottom:24px}.settings-card-row{padding:8px 0}.settings-card-row+.settings-card-row{border-top:1px solid var(--divider)}.settings-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);margin-bottom:4px}.settings-value{font-size:15px;color:var(--text-normal)}.settings-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);margin-bottom:12px}.settings-description{font-size:14px;color:var(--text-muted);margin-bottom:12px;line-height:1.4}.settings-hint{font-size:12px;color:var(--text-muted);margin-top:-4px;line-height:1.4}.settings-fields{display:flex;flex-direction:column;gap:16px}.settings-field-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.settings-input{padding:10px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-normal);font-size:15px;outline:none;font-family:var(--font)}.settings-input:focus{box-shadow:0 0 0 2px var(--blurple)}.settings-input-with-emoji{display:flex;align-items:center;gap:4px}.settings-input-with-emoji .settings-input{flex:1}.settings-emoji-btn-wrap{position:relative;flex-shrink:0}.settings-textarea{padding:10px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-normal);font-size:15px;outline:none;resize:none;font-family:var(--font)}.settings-textarea:focus{box-shadow:0 0 0 2px var(--blurple)}.settings-char-count{font-size:12px;color:var(--text-muted);text-align:right;font-weight:400;text-transform:none}.settings-error{font-size:14px;color:var(--red)}.settings-success{font-size:14px;color:var(--green)}.settings-save-btn{align-self:flex-start;width:auto;padding:10px 24px}.settings-loading{color:var(--text-muted);font-size:14px}.settings-banner-preview{height:120px;width:100%;background:var(--blurple);background-size:cover;background-position:center;border-radius:8px;cursor:pointer;position:relative;margin-bottom:16px;overflow:hidden}.settings-banner-overlay{position:absolute;inset:0;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;opacity:0;transition:opacity .15s}.settings-banner-preview:hover .settings-banner-overlay{opacity:1}.settings-avatar-section{margin-bottom:24px}.settings-avatar-preview{position:relative;width:80px;height:80px;border-radius:50%;cursor:pointer;overflow:hidden}.settings-avatar-preview .avatar{width:80px;height:80px}.settings-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;opacity:0;transition:opacity .15s}.settings-avatar-preview:hover .settings-avatar-overlay{opacity:1}.settings-select-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.settings-radio-label{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-normal);transition:background .1s}.settings-radio-label:hover{background:var(--bg-hover)}.settings-radio-label input[type=radio]{accent-color:var(--blurple)}.settings-blocked-list{display:flex;flex-direction:column;gap:2px}.settings-blocked-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;transition:background .1s}.settings-blocked-row:hover{background:var(--bg-hover)}.settings-blocked-info{flex:1;min-width:0;display:flex;flex-direction:column}.settings-blocked-name{font-size:14px;font-weight:500;color:var(--text-normal)}.settings-blocked-username{font-size:12px;color:var(--text-muted)}.settings-unblock-btn{padding:6px 12px;font-size:12px}.dm-member-sidebar{width:240px;min-width:240px;background:var(--bg-secondary);display:flex;flex-direction:column;border-left:1px solid var(--border-color);overflow-y:auto}.dm-member-sidebar-title{padding:12px 16px 8px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em}.dm-member-item{display:flex;align-items:center;gap:10px;padding:6px 16px;cursor:pointer;border-radius:4px;margin:0 8px;transition:background .1s}.dm-member-item:hover{background:var(--bg-hover)}.dm-member-avatar-wrap{position:relative;flex-shrink:0}.dm-member-presence{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-secondary)}.dm-member-info{min-width:0;flex:1}.dm-member-name{font-size:14px;font-weight:500;color:var(--text-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-member-username{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-member-sidebar-actions{margin-top:auto;padding:12px 16px;border-top:1px solid var(--border-color)}.dm-leave-btn{width:100%;padding:8px;font-size:13px;color:var(--danger);background:transparent;border:1px solid var(--danger);border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.dm-leave-btn:hover{background:var(--danger);color:#fff}.dm-profile-card{display:flex;flex-direction:column}.dm-profile-card-loading{padding:24px 16px;color:var(--text-muted);font-size:13px;text-align:center}.dm-profile-banner{height:60px;background:linear-gradient(135deg,var(--blurple) 0%,#7b68ee 100%);border-radius:0;flex-shrink:0}.dm-profile-banner.has-image{background-size:cover;background-position:center}.dm-profile-avatar-section{display:flex;justify-content:center;margin-top:-40px;position:relative;z-index:1}.dm-profile-avatar-wrap{position:relative}.dm-profile-avatar{border:4px solid var(--bg-secondary);border-radius:50%}.dm-profile-presence-dot{position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:50%;border:3px solid var(--bg-secondary)}.dm-profile-names{text-align:center;padding:8px 16px 0}.dm-profile-displayname{display:block;font-size:18px;font-weight:700;color:var(--text-header)}.dm-profile-username{display:block;font-size:13px;color:var(--text-muted);margin-top:2px}.dm-profile-divider{height:1px;background:var(--border-color);margin:12px 16px}.dm-profile-section{padding:0 16px}.dm-profile-section-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em;margin-bottom:6px}.dm-profile-section-value{font-size:13px;color:var(--text-normal);line-height:1.4;white-space:pre-wrap;word-break:break-word}.dm-profile-mutual-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);padding:4px 0}.dm-profile-mutual-icon{flex-shrink:0;opacity:.7}.group-dm-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.group-dm-avatar svg{color:var(--text-muted)}.dm-item-text{display:flex;flex-direction:column;min-width:0}.dm-item-members{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-dm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:900}.create-dm-modal{background:var(--bg-secondary);border-radius:8px;width:440px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.create-dm-header{padding:16px 20px 12px;display:flex;align-items:flex-start;justify-content:space-between}.create-dm-header h3{margin:0;font-size:20px;font-weight:700;color:var(--text-normal)}.create-dm-subtitle{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.create-dm-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .1s}.create-dm-close:hover{color:var(--text-normal)}.create-dm-body{padding:0 20px 16px;flex:1;overflow:hidden;display:flex;flex-direction:column;gap:8px}.create-dm-search-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;min-height:36px;cursor:text}.create-dm-search-wrap:focus-within{border-color:var(--blurple)}.create-dm-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;background:var(--blurple);color:#fff;border-radius:3px;font-size:13px;font-weight:500;white-space:nowrap}.create-dm-chip-remove{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:0;display:flex;align-items:center;line-height:1}.create-dm-chip-remove:hover{color:#fff}.create-dm-search-input{flex:1;min-width:80px;border:none;background:transparent;color:var(--text-normal);font-size:14px;outline:none;padding:2px 0}.create-dm-search-input::placeholder{color:var(--text-muted)}.create-dm-friend-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1px;margin:0 -4px;padding:8px 4px 0;max-height:280px;border-top:1px solid var(--border-color)}.create-dm-friend-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s}.create-dm-friend-item:hover{background:var(--bg-hover)}.create-dm-friend-item.disabled{opacity:.4;cursor:not-allowed}.create-dm-friend-info{flex:1;min-width:0;display:flex;flex-direction:column}.create-dm-friend-name{font-size:14px;font-weight:500;color:var(--text-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-dm-friend-username{font-size:12px;color:var(--text-muted)}.create-dm-checkbox{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid var(--text-muted);border-radius:4px;background:transparent;cursor:pointer;flex-shrink:0;position:relative;transition:background .1s,border-color .1s}.create-dm-checkbox:checked{background:var(--blurple);border-color:var(--blurple)}.create-dm-checkbox:checked:after{content:"";position:absolute;top:3px;left:6px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.create-dm-checkbox:disabled{opacity:.3;cursor:not-allowed}.create-dm-group-name{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);border-radius:6px;border-top:1px solid var(--border-color);margin-top:4px}.create-dm-group-name-icon{color:var(--text-muted);flex-shrink:0}.create-dm-group-name-input{flex:1;border:none;background:transparent;color:var(--text-normal);font-size:14px;outline:none;min-width:0}.create-dm-group-name-input::placeholder{color:var(--text-muted)}.create-dm-group-name-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.create-dm-footer{padding:12px 20px 16px;display:flex;justify-content:flex-end;gap:8px;background:var(--bg-tertiary);border-radius:0 0 8px 8px}.create-dm-error{font-size:13px;color:var(--danger);padding:4px 0}.create-dm-empty{font-size:14px;color:var(--text-muted);text-align:center;padding:32px 0}.ban-modal{max-width:440px}.ban-modal-subtitle{font-size:14px;color:var(--text-secondary);text-align:center;line-height:1.4}.ban-modal-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary)}.ban-modal-textarea{width:100%;min-height:72px;padding:8px 12px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-normal);font-family:var(--font);font-size:14px;resize:vertical;outline:none}.ban-modal-textarea:focus{box-shadow:0 0 0 2px var(--blurple)}.server-member-actions{display:flex;gap:4px;flex-shrink:0}.server-ban-btn{color:var(--red)!important;font-size:12px!important}.server-roles-btn{font-size:12px!important;color:var(--blurple)!important}.edit-roles-modal{max-width:400px}.edit-roles-subtitle{font-size:14px;color:var(--text-secondary);text-align:center}.edit-roles-loading,.edit-roles-empty{font-size:14px;color:var(--text-muted);text-align:center;padding:16px 0}.edit-roles-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;padding:4px 0}.edit-roles-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-normal);transition:background .1s}.edit-roles-item:hover{background:var(--bg-hover)}.edit-roles-item input[type=checkbox]{accent-color:var(--blurple)}.role-saved-indicator{margin-left:auto;font-size:12px;color:#43b581;animation:role-saved-fade 1.5s ease-in-out}@keyframes role-saved-fade{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}.btn-saved{background:#43b581!important;transition:background .2s ease}.custom-status-modal{max-width:440px}.custom-status-input-row{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border-radius:4px;padding:4px}.custom-status-emoji-btn-wrap{position:relative}.custom-status-emoji-btn{width:40px;height:40px;background:var(--bg-secondary);border:none;border-radius:4px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.custom-status-emoji-btn:hover{background:var(--bg-hover)}.custom-status-emoji-picker{position:absolute;top:calc(100% + 4px);right:0;z-index:400}.custom-status-emoji-picker em-emoji-picker{max-height:300px;max-width:320px}.custom-status-input{flex:1;background:transparent;border:none;color:var(--text-normal);font-size:14px;padding:8px;outline:none}.custom-status-char-count{font-size:12px;color:var(--text-muted);text-align:right}.user-context-menu{background:var(--bg-floating);border-radius:4px;padding:6px 8px;min-width:180px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;gap:2px}.user-context-item{display:block;width:100%;padding:6px 8px;background:none;border:none;border-radius:3px;color:var(--text-normal);font-size:14px;text-align:left;cursor:pointer;transition:background .1s,color .1s}.user-context-item:hover{background:var(--blurple);color:#fff}.user-context-item:disabled{opacity:.5;cursor:not-allowed}.user-context-item:disabled:hover{background:none;color:var(--text-normal)}.user-context-danger{color:var(--red)}.user-context-danger:hover{background:var(--red);color:#fff}.user-context-divider{height:1px;background:var(--divider);margin:4px 0}.user-context-hint{display:block;font-size:11px;color:var(--text-muted);font-weight:400;margin-top:1px}.context-timeout-options{padding:2px 8px}.context-timeout-options .user-context-item{font-size:12px;padding:4px 12px;color:var(--text-muted)}.context-timeout-options .user-context-item:hover{color:var(--text-normal)}.context-note-input{padding:4px 8px 6px}.context-note-textarea{width:100%;min-height:48px;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-normal);font-size:13px;font-family:inherit;resize:vertical;outline:none}.context-note-textarea:focus{border-color:var(--blurple);box-shadow:0 0 0 1px var(--blurple)}.context-note-textarea::placeholder{color:var(--text-muted)}.context-volume-section{padding:6px 8px}.context-volume-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px}.context-volume-slider-row{display:flex;align-items:center;gap:8px}.context-volume-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-active);border-radius:2px;outline:none;cursor:pointer}.context-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--blurple);cursor:pointer;border:none}.context-volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--blurple);cursor:pointer;border:none}.context-volume-value{font-size:12px;color:var(--text-muted);min-width:36px;text-align:right}.add-friend-input-row{padding:4px 0}.add-friend-input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-normal);font-size:14px;outline:none}.add-friend-input:focus{box-shadow:0 0 0 2px var(--blurple)}.success-small{background:#23a55a1a;color:var(--green);padding:6px 10px;border-radius:4px;font-size:13px}.dm-add-member-btn{background:none;border:none;color:var(--interactive-normal);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .1s,background .1s}.dm-add-member-btn:hover{color:var(--interactive-hover);background:var(--bg-hover)}.dm-add-member-panel{padding:8px;border-bottom:1px solid var(--divider)}.dm-add-member-search{width:100%;padding:6px 8px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-normal);font-size:13px;outline:none;margin-bottom:6px}.dm-add-member-search:focus{box-shadow:0 0 0 2px var(--blurple)}.dm-add-member-list{max-height:200px;overflow-y:auto}.dm-add-member-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:background .1s}.dm-add-member-item:hover{background:var(--bg-hover)}.dm-add-member-name{font-size:13px;color:var(--text-normal)}.dm-add-member-empty{font-size:13px;color:var(--text-muted);text-align:center;padding:12px 0}.user-panel-custom-status{font-size:12px;color:var(--text-muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;transition:color .1s}.user-panel-custom-status:hover{color:var(--text-normal)}.user-panel-tag{cursor:pointer}.user-panel-tag:hover{color:var(--text-normal)}.create-channel-modal{max-width:460px;width:100%}.modal-dialog-header{position:relative;padding-bottom:0}.modal-close-btn{position:absolute;top:0;right:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.modal-close-btn:hover{color:var(--text-normal)}.create-channel-body{padding:0;display:flex;flex-direction:column;gap:12px}.create-channel-types{display:flex;flex-direction:column;gap:8px}.create-channel-type-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:4px;background:var(--bg-secondary);cursor:pointer;border:2px solid transparent;transition:background .15s,border-color .15s}.create-channel-type-option:hover{background:var(--bg-hover)}.create-channel-type-option.selected{border-color:var(--blurple);background:var(--bg-secondary-alt)}.create-channel-type-option input[type=radio]{display:none}.create-channel-type-icon{color:var(--text-muted);flex-shrink:0}.create-channel-type-info{flex:1;min-width:0}.create-channel-type-name{display:block;font-size:14px;font-weight:600;color:var(--text-normal)}.create-channel-type-desc{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.create-channel-type-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--text-muted);flex-shrink:0;position:relative}.create-channel-type-option.selected .create-channel-type-radio{border-color:var(--blurple)}.create-channel-type-option.selected .create-channel-type-radio:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:var(--blurple)}.create-channel-name-input{display:flex;align-items:center;background:var(--bg-tertiary);border-radius:4px;padding:0 12px}.create-channel-name-prefix{color:var(--text-muted);font-size:16px;margin-right:4px;flex-shrink:0}.create-channel-name-input .modal-input{background:transparent;border:none;padding-left:0}.create-channel-private-toggle{display:flex;align-items:center;gap:8px;margin-top:12px;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.create-channel-private-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--blurple)}.create-channel-private-toggle .lock-icon{color:var(--text-muted);flex-shrink:0}.create-channel-private-hint{margin:6px 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.3}.channel-type-icon{flex-shrink:0;margin-right:4px;color:var(--text-muted);opacity:.7}.full-profile-card{background:var(--bg-primary);border-radius:8px;width:600px;max-width:95vw;max-height:85vh;overflow:hidden;position:relative}.full-profile-close{position:absolute;top:12px;right:12px;z-index:10;color:#ffffffb3}.full-profile-close:hover{color:#fff}.full-profile-loading{padding:60px 24px;text-align:center;color:var(--text-muted)}.full-profile-layout{display:flex;min-height:400px}.full-profile-left{flex:1;min-width:0;display:flex;flex-direction:column}.full-profile-banner{height:120px;background:linear-gradient(135deg,var(--blurple),#4752c4);flex-shrink:0}.full-profile-banner.has-image{background-size:cover;background-position:center}.full-profile-avatar-section{position:relative;padding:0 20px;margin-top:-48px}.full-profile-avatar-wrap{position:relative;width:96px;height:96px}.full-profile-avatar{border:5px solid var(--bg-primary);border-radius:50%}.full-profile-presence-dot{position:absolute;bottom:2px;right:2px;width:20px;height:20px;border-radius:50%;border:4px solid var(--bg-primary)}.full-profile-info{padding:8px 20px 20px;overflow-y:auto;flex:1}.full-profile-custom-status{font-size:13px;color:var(--text-muted);margin-bottom:8px}.full-profile-names{margin-bottom:12px}.full-profile-displayname{font-size:22px;font-weight:700;color:var(--text-header);margin:0}.full-profile-username{font-size:14px;color:var(--text-muted)}.full-profile-section{margin-top:12px}.full-profile-section-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.full-profile-about{font-size:14px;color:var(--text-normal);white-space:pre-wrap;line-height:1.4}.full-profile-date{font-size:14px;color:var(--text-normal)}.full-profile-roles{display:flex;flex-wrap:wrap;gap:4px}.full-profile-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.full-profile-msg-btn{flex:0 0 auto}.full-profile-right{width:220px;flex-shrink:0;background:var(--bg-secondary);padding:16px;overflow-y:auto;border-left:1px solid var(--border-subtle)}.full-profile-mutual-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.full-profile-mutual-item{display:flex;align-items:center;gap:8px}.full-profile-mutual-name{font-size:13px;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-profile-empty-right{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:13px;text-align:center}.reply-preview{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-bottom:2px;font-size:.8rem;color:var(--text-muted);cursor:pointer;border-radius:3px}.reply-preview:hover{background:var(--bg-hover)}.reply-preview-bar{width:2px;min-height:16px;background:var(--blurple);border-radius:1px;flex-shrink:0}.reply-preview-sender{font-weight:600;color:var(--text-secondary);flex-shrink:0}.reply-preview-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-unknown{opacity:.5;cursor:default}.reply-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-secondary)}.reply-banner-icon{color:var(--blurple);flex-shrink:0}.reply-banner strong{color:var(--text-primary)}.reply-banner .btn-ghost{margin-left:auto;font-size:.75rem}.message-highlight{animation:message-flash 1.5s ease-out}@keyframes message-flash{0%{background:#5865f233}to{background:transparent}}.message-pin-indicator{display:inline-flex;align-items:center;color:var(--text-muted);margin-left:4px}.pinned-modal{width:480px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column}.pinned-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.pinned-modal-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.pinned-modal-list{flex:1;overflow-y:auto;padding:12px}.pinned-modal-empty{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:.875rem}@keyframes message-highlight-fade{0%{background-color:#5865f233}to{background-color:transparent}}.message-highlight{animation:message-highlight-fade 2s ease-out}.pinned-message-card{background:var(--bg-tertiary);border-radius:6px;padding:10px;margin-bottom:8px}.pinned-message-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.pinned-message-sender{font-weight:600;font-size:.8125rem;color:var(--text-primary)}.pinned-message-time{font-size:.7rem;color:var(--text-muted)}.pinned-message-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.35;margin-bottom:6px;word-break:break-word}.pinned-message-actions{display:flex;gap:8px}.btn-sm{font-size:.75rem;padding:2px 8px}.btn-danger-text{color:var(--red)}.search-panel{width:320px;min-width:320px;background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100%}.search-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color)}.search-panel-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.search-panel-input-wrap{padding:8px 12px;border-bottom:1px solid var(--border-color)}.search-panel-input{width:100%;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;outline:none}.search-panel-input:focus{border-color:var(--blurple)}.search-panel-results{flex:1;overflow-y:auto;padding:8px}.search-panel-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:.85rem}.search-result{padding:8px 10px;border-radius:4px;cursor:pointer;margin-bottom:4px}.search-result:hover{background:var(--bg-hover)}.search-result-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.search-result-sender{font-weight:600;font-size:.8125rem;color:var(--text-primary)}.search-result-channel{font-size:.7rem;color:var(--text-muted)}.search-result-time{font-size:.7rem;color:var(--text-muted);margin-left:auto}.search-result-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.35;word-break:break-word}.search-result-text mark{background:#5865f24d;color:var(--text-primary);border-radius:2px;padding:0 1px}.search-filters-bar{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px 8px}.search-filter-chip{font-size:.7rem;background:var(--bg-tertiary);color:var(--text-secondary);padding:2px 6px 2px 8px;border-radius:10px;display:inline-flex;align-items:center;gap:3px}.search-filter-chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;line-height:1;padding:0 2px;border-radius:50%;opacity:.7}.search-filter-chip-remove:hover{opacity:1;color:var(--text-primary);background:#ffffff1a}.search-date-row{display:flex;gap:8px;padding:0 12px 8px}.search-date-label{display:flex;flex-direction:column;gap:2px;font-size:.7rem;color:var(--text-muted);flex:1}.search-date-input{background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-primary);padding:4px 6px;font-size:.75rem;outline:none}.search-date-input:focus{box-shadow:0 0 0 1px var(--accent)}.search-result-count{padding:6px 12px;font-size:.75rem;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.search-result-group{border-bottom:1px solid var(--border-color)}.search-result-group-header{display:flex;align-items:center;gap:6px;padding:8px 12px 4px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:capitalize;position:sticky;top:0;background:var(--bg-secondary);z-index:1}.search-result-group-count{font-weight:400;color:var(--text-muted);font-size:.7rem}.search-panel-hints{padding:16px 12px;color:var(--text-muted);font-size:.8125rem}.search-hint-title{font-weight:600;color:var(--text-secondary);margin-bottom:8px}.search-hint-row{padding:3px 0;line-height:1.4}.search-hint-row code{background:var(--bg-tertiary);padding:1px 5px;border-radius:3px;font-size:.75rem}.message-context-menu{background:var(--bg-floating);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #0006;padding:4px;min-width:160px;z-index:1000}.context-menu-item{display:block;width:100%;padding:8px 10px;background:none;border:none;color:var(--text-secondary);font-size:.8125rem;text-align:left;cursor:pointer;border-radius:3px}.context-menu-item:hover{background:var(--blurple);color:#fff}.context-menu-item-danger{color:var(--red)}.context-menu-item-danger:hover{background:var(--red);color:#fff}.context-menu-separator{height:1px;background:var(--border-color);margin:4px 0}.system-message{display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 16px;color:var(--text-muted);font-size:.8rem}.system-message-text{font-style:italic}.system-message-link{color:var(--text-link);cursor:pointer;font-weight:600}.system-message-link:hover{text-decoration:underline}.system-message-time{font-size:.7rem;opacity:.6}.unread-badge{background:var(--red);color:#fff;font-size:11px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;margin-left:auto;flex-shrink:0}.channel-item.unread .channel-hash,.channel-item.unread .channel-type-icon,.channel-item.unread{color:var(--text-primary);font-weight:700}.channel-item.muted{opacity:.5}.channel-muted-icon{margin-left:auto;flex-shrink:0;opacity:.6}.channel-unread-dot{position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--text-primary);border-radius:50%;flex-shrink:0;pointer-events:none}.server-unread-dot{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;background:var(--red);border-radius:50%;border:2px solid var(--bg-tertiary)}.server-unread-badge{position:absolute;bottom:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--red);color:#fff;font-size:11px;font-weight:700;line-height:16px;text-align:center;border-radius:8px;border:2px solid var(--bg-tertiary);box-sizing:content-box}.chat-header-topic{color:var(--text-muted);font-size:13px;margin-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1;border-left:1px solid var(--border-color);padding-left:12px}.member-username{color:var(--text-muted);font-size:11px;margin-top:-2px}.report-reason{width:100%;min-height:80px;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;font-family:inherit;resize:vertical;margin:12px 0 8px}.report-reason:focus{outline:none;border-color:var(--blurple)}.report-error{color:var(--red);font-size:.8rem;margin:4px 0}.report-success{color:var(--green);font-size:.9rem;margin:16px 0;text-align:center}.embed-image{display:block;margin-top:6px;max-width:400px;border-radius:6px;overflow:hidden;cursor:pointer}.embed-image img{display:block;max-width:100%;max-height:350px;border-radius:6px;object-fit:contain}.embed-youtube{margin-top:6px;max-width:440px}.embed-youtube iframe{border:none;border-radius:6px;max-width:100%}.embed-spotify{margin-top:6px;max-width:340px}.embed-spotify iframe{border:none;border-radius:8px;max-width:100%}.pending-uploads-grid{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.pending-upload-card{position:relative;width:100px;background:var(--bg-tertiary);border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.upload-thumbnail{width:100%;height:80px;object-fit:cover;display:block}.upload-file-icon{width:100%;height:80px;display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--bg-secondary)}.pending-upload-card .pending-upload-info{padding:4px 6px}.pending-upload-card .pending-upload-name{display:block;font-size:.7rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-upload-card .pending-upload-size{font-size:.65rem;color:var(--text-muted)}.pending-upload-card .pending-upload-remove{position:absolute;top:2px;right:2px;background:#0009;color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.upload-progress-bar{height:3px;background:var(--bg-hover)}.upload-progress-fill{height:100%;background:var(--blurple);transition:width .2s}.upload-spoiler-blur{filter:blur(12px)}.upload-spoiler-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 4px rgba(0,0,0,.7);pointer-events:none;z-index:1}.pending-upload-spoiler{position:absolute;top:2px;right:24px;background:#0009;color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:11px;z-index:2}.pending-upload-spoiler:hover{background:#000c}.pending-upload-spoiler.active{color:var(--red)}.attachment-spoiler{filter:blur(24px);cursor:pointer}.spoiler-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;cursor:pointer;z-index:1}.spoiler-overlay span{color:#fff;font-weight:700;font-size:.85rem;letter-spacing:1px;background:#0009;padding:4px 12px;border-radius:4px}.mention{background:#5865f226;color:var(--blurple);border-radius:3px;padding:0 2px;font-weight:500;cursor:pointer}.mention:hover{background:#5865f24d}.mention-list{background:var(--bg-floating);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #0006;padding:4px;min-width:180px;max-height:240px;overflow-y:auto}.mention-list-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;background:none;border:none;color:var(--text-secondary);font-size:.85rem;text-align:left;cursor:pointer;border-radius:3px}.mention-list-item:hover,.mention-list-item-active{background:var(--blurple);color:#fff}.mention-list-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-mention-hash{color:var(--blurple, #5865f2);font-weight:600;margin-right:2px}.mention-channel{cursor:pointer}.mention-channel:hover{text-decoration:underline}.emoji-suggest-native{font-size:1.2rem;line-height:1;width:20px;text-align:center}.channel-settings-header-hash{color:var(--text-muted, #949ba4);margin-right:4px}.channel-settings-name-row{display:flex;gap:8px;align-items:flex-start}.channel-settings-name-row .settings-input{flex:1}.channel-settings-emoji-wrap{position:relative}.channel-settings-emoji-btn{padding:8px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.btn-danger-outline{border:1px solid var(--status-dnd, #ed4245);color:var(--status-dnd, #ed4245);background:transparent}.btn-danger-outline:hover{background:#ed42451a}.channel-topic-textarea{width:100%;resize:vertical}.create-channel-emoji-wrap{position:relative;display:flex;align-items:center;flex-shrink:0}.create-channel-emoji-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:4px}.create-channel-emoji-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.date-divider{display:flex;align-items:center;justify-content:center;padding:2px 16px;margin:8px 0 0;position:relative}.date-divider:before{content:"";position:absolute;left:16px;right:16px;top:50%;height:1px;background:var(--divider)}.date-divider-text{position:relative;background:var(--bg-primary);padding:0 8px;font-size:.75rem;font-weight:600;color:var(--text-muted);z-index:1}.lightbox-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:400;cursor:zoom-out}.lightbox-content{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:90vw;max-height:90vh;cursor:default}.lightbox-image{max-width:90vw;max-height:calc(90vh - 32px);object-fit:contain;border-radius:4px;box-shadow:0 4px 32px #00000080}.lightbox-filename{color:var(--text-muted);font-size:.8rem;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-close{position:fixed;top:16px;right:16px;background:#00000080;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lightbox-close:hover{background:#ffffff26}.attachment-image{cursor:pointer}.conversation-start{display:flex;flex-direction:column;padding:16px 16px 8px var(--msg-left);margin-top:auto;margin-bottom:8px}.conversation-start-avatar{margin-bottom:8px}.conversation-start-name{font-size:1.5rem;font-weight:700;color:var(--text-header);margin-bottom:4px}.conversation-start-hash{color:var(--text-muted);margin-right:2px}.conversation-start-desc{font-size:.9375rem;color:var(--text-muted);line-height:1.4}.conversation-start-desc strong{color:var(--text-normal)}.link-warning-dialog{width:480px;text-align:center}.link-warning-subtitle{font-size:.9375rem;color:var(--text-secondary);line-height:1.4;margin-bottom:8px}.link-warning-url{background:var(--bg-tertiary);border-radius:4px;padding:10px 12px;font-size:.8125rem;color:var(--text-link);word-break:break-all;line-height:1.3;max-height:80px;overflow-y:auto;margin-bottom:4px;text-align:left}.error-modal{text-align:center}.error-modal-icon{margin-bottom:4px}.error-modal-message{font-size:.9375rem;color:var(--text-secondary);line-height:1.4}.error-modal-footer{justify-content:center}.voice-connection-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#23a55a1f;border-bottom:1px solid rgba(35,165,90,.25)}.voice-connection-info{display:flex;flex-direction:column;gap:2px;min-width:0}.voice-connected-label{font-size:.75rem;font-weight:600;color:var(--green);display:flex;align-items:center}.voice-channel-name{font-size:.6875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-connection-actions{display:flex;gap:4px;flex-shrink:0}.voice-bar-btn{width:32px;height:32px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.voice-bar-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.voice-bar-btn.active{color:var(--red)}.voice-bar-btn.voice-disconnect-btn{color:var(--text-secondary)}.voice-bar-btn.voice-disconnect-btn:hover{background:var(--red);color:#fff}.voice-room{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px;gap:24px}.voice-room-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.voice-room-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.voice-room-icon{color:var(--text-secondary);flex-shrink:0}.voice-connected-badge{font-size:.6875rem;font-weight:600;color:var(--green);background:#23a55a26;padding:2px 8px;border-radius:10px}.voice-room-join-prompt{display:flex;flex-direction:column;align-items:center;gap:16px}.voice-room-participants-preview{display:flex;flex-direction:column;gap:8px;align-items:center}.voice-participant-mini{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.voice-room-empty-text{font-size:.875rem;color:var(--text-muted);margin:0}.voice-join-btn{padding:10px 24px;font-size:.9375rem}.voice-participant-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;max-width:600px;width:100%}.voice-participant{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:8px;background:var(--bg-secondary);min-width:100px;transition:background .15s}.voice-participant:hover{background:var(--bg-modifier-hover)}.voice-participant-avatar{position:relative}.voice-participant-info{display:flex;align-items:center;gap:4px;font-size:.875rem}.voice-participant-name{color:var(--text-primary);font-weight:500}.voice-you-badge{font-size:.6875rem;color:var(--text-muted);margin-left:4px}.voice-participant-icons{display:flex;align-items:center;gap:3px}.voice-mute-icon{flex-shrink:0}.voice-participant.muted .voice-participant-name{color:var(--text-secondary)}.voice-participant.server-muted .voice-participant-avatar,.voice-participant.server-deafened .voice-participant-avatar{opacity:.5}.voice-controls{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 20px;background:var(--bg-secondary-alt);border-radius:24px}.voice-control-btn{width:40px;height:40px;border:none;border-radius:50%;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.voice-control-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.voice-control-btn.active{background:#f0474726;color:var(--red)}.voice-control-btn.active:hover{background:#f0474740}.voice-disconnect-btn{background:var(--red)!important;color:#fff!important}.voice-disconnect-btn:hover{background:#c43535!important}.voice-control-group{display:flex;align-items:center;gap:4px}.voice-control-btn.screen-sharing{background:#23a55a26;color:var(--green)}.voice-control-btn.screen-sharing:hover{background:#23a55a40}.screen-share-quality-picker{font-size:.6875rem;background:var(--bg-secondary);color:var(--text-normal);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:4px;padding:2px 16px 2px 4px;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='%23b5bac1'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.screen-share-quality-picker:focus{box-shadow:0 0 0 2px var(--blurple)}.screen-share-quality-picker option{background:var(--bg-secondary);color:var(--text-normal)}.voice-room-with-screenshare{display:flex;flex-direction:column;flex:1;width:100%;gap:12px;overflow:hidden}.screen-share-view{flex:1;display:flex;flex-direction:column;min-height:0}.screen-share-main{flex:1;position:relative;background:#000;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:200px}.screen-share-main video{width:100%;height:100%;object-fit:contain}.screen-share-label{position:absolute;bottom:8px;left:8px;background:#000000b3;color:#fff;padding:4px 10px;border-radius:4px;font-size:.8125rem;font-weight:500;pointer-events:none}.screen-share-strip{display:flex;gap:8px;padding:4px 0;overflow-x:auto}.screen-share-thumb{position:relative;width:160px;height:90px;border-radius:6px;overflow:hidden;border:2px solid transparent;cursor:pointer;flex-shrink:0;background:#000;padding:0}.screen-share-thumb.focused{border-color:var(--blurple)}.screen-share-thumb video{width:100%;height:100%;object-fit:contain}.screen-share-thumb span{position:absolute;bottom:2px;left:4px;font-size:.6875rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.voice-participant-strip{display:flex;gap:8px;padding:8px;overflow-x:auto;justify-content:center}.voice-participant-strip .voice-participant{flex-shrink:0}.voice-participants-preview{list-style:none;margin:0;padding:2px 0 4px 28px;display:flex;flex-direction:column;gap:2px}.voice-participants-preview li{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-secondary);padding:2px 0;cursor:default;border-radius:3px}.voice-participants-preview li:hover{background:var(--bg-modifier-hover, rgba(255, 255, 255, .04))}.settings-select{width:100%;max-width:320px;padding:8px 28px 8px 12px;background:var(--bg-tertiary);color:var(--text-normal);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:4px;font-size:.875rem;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23b5bac1'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.settings-select:focus{box-shadow:0 0 0 2px var(--blurple)}.settings-select option{background:var(--bg-tertiary);color:var(--text-normal)}.settings-slider-row{display:flex;align-items:center;gap:12px;max-width:320px}.settings-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--blurple);cursor:pointer}.settings-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--blurple);border:none;cursor:pointer}.settings-slider-value{font-size:.8125rem;color:var(--text-secondary);min-width:40px;text-align:right}.settings-toggle-label{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--text-primary);cursor:pointer;padding:6px 0}.settings-toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--blurple);cursor:pointer}.settings-mic-test{display:flex;align-items:center;gap:12px;margin-top:8px}.mic-level-bar{flex:1;max-width:200px;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.mic-level-fill{height:100%;background:var(--green);border-radius:4px;transition:width .05s linear}.security-phrase-desc{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:16px}.security-phrase-options{display:flex;flex-direction:column}.security-phrase-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.session-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.session-card{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:8px;gap:12px}.session-card.session-current{border:1px solid var(--accent)}.session-card-info{flex:1;min-width:0}.session-card-device{font-weight:600;font-size:.875rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.session-badge-current{font-size:.6875rem;font-weight:600;color:var(--accent);background:#5865f226;padding:1px 6px;border-radius:4px}.session-card-meta{font-size:.75rem;color:var(--text-secondary);display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.session-card-meta span:after{content:"·";margin-left:8px}.session-card-meta span:last-child:after{content:"";margin-left:0}.security-phrase-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:8px}.security-phrase-skip{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px 0}.security-phrase-skip:hover{color:var(--text-secondary);text-decoration:underline}.security-phrase-warning{color:var(--text-muted);font-size:12px;margin-top:12px;line-height:1.4}.security-phrase-confirm-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);cursor:pointer;margin-bottom:4px}.recovery-key-display{background:var(--bg-tertiary);border-radius:6px;padding:16px;margin-bottom:12px;text-align:center}.recovery-key-display code{font-size:15px;letter-spacing:1px;color:var(--text-primary);word-break:break-all}.admin-panel{background:var(--bg-primary);border-radius:8px;width:680px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px}.admin-panel-header h2{font-size:20px;font-weight:600;color:var(--text-header);margin:0}.admin-close-btn{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.admin-close-btn:hover{color:var(--text-normal);background:var(--bg-tertiary)}.admin-tabs{display:flex;gap:4px;padding:0 24px 12px;border-bottom:1px solid var(--divider)}.admin-tab{background:none;border:none;color:var(--text-muted);font-size:14px;font-weight:500;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background .1s,color .1s}.admin-tab:hover{color:var(--text-normal);background:var(--bg-tertiary)}.admin-tab.active{color:var(--text-header);background:var(--bg-secondary)}.admin-loading{padding:48px 24px;text-align:center;color:var(--text-muted);font-size:14px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:24px}.admin-stat-card{background:var(--bg-secondary);border-radius:8px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:6px}.admin-stat-value{font-size:28px;font-weight:700;color:var(--text-header)}.admin-stat-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.admin-users{display:flex;flex-direction:column;overflow:hidden;flex:1}.admin-search-row{display:flex;gap:8px;padding:16px 24px}.admin-search-row .settings-input{flex:1}.admin-user-list{flex:1;overflow-y:auto;padding:0 24px 16px}.admin-user-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:6px;transition:background .1s}.admin-user-row:hover{background:var(--bg-secondary)}.admin-user-info{display:flex;align-items:center;gap:12px;min-width:0}.admin-user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.admin-user-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);font-size:14px;font-weight:600}.admin-user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-user-name{font-size:14px;font-weight:500;color:var(--text-header);display:flex;align-items:center;gap:6px}.admin-badge{font-size:10px;font-weight:700;background:var(--blurple);color:#fff;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.admin-user-meta{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-actions{display:flex;gap:6px;flex-shrink:0}.btn-small{font-size:12px;padding:4px 10px;border-radius:4px;border:none;cursor:pointer;font-weight:500;transition:background .1s,opacity .1s}.btn-small:hover{opacity:.85}.btn-primary-outline{background:transparent;border:1px solid var(--blurple);color:var(--blurple)}.btn-danger-outline{background:transparent;border:1px solid var(--red);color:var(--red)}.btn-danger{background:var(--red);color:#fff}.admin-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:14px}.chat-sidebar-group{display:contents}.mobile-hamburger{display:none}@media(max-width:1024px){.member-sidebar,.dm-member-sidebar{display:none}}@media(max-width:768px){.chat-layout.mobile .chat-sidebar-group{display:flex;position:fixed;top:0;left:0;bottom:0;z-index:999;transform:translate(-100%);transition:transform .2s ease;will-change:transform}.chat-layout.mobile .chat-sidebar-group.open{transform:translate(0)}.mobile-sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:998}.mobile-hamburger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;margin-right:4px;flex-shrink:0}.mobile-hamburger:hover{background:var(--bg-hover);color:var(--text-primary)}.member-sidebar,.dm-member-sidebar{display:none}.channel-sidebar button,.server-bar button,.channel-sidebar a{min-height:44px}.settings-layout{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.settings-sidebar{display:none}.settings-content{width:100%}.modal-dialog{width:100vw;max-width:100vw;max-height:100vh;border-radius:0;margin:0}.command-palette{width:100%;max-width:100vw;border-radius:0 0 12px 12px}.command-palette-overlay{padding-top:0}.keyboard-shortcuts-grid{grid-template-columns:1fr;gap:16px}.chat-layout{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.chat-header{padding-top:env(safe-area-inset-top)}}.splash-screen{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary, #1e1f2e)}.splash-logo{width:72px;height:72px;margin-bottom:24px;border-radius:18px;background:linear-gradient(135deg,#5865f2,#7b68ee);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #5865f24d}.splash-logo svg{width:38px;height:38px;fill:#fff}.splash-title{font-size:28px;font-weight:700;color:var(--text-primary, #e4e5e8);letter-spacing:-.5px;margin-bottom:20px}.splash-dots{display:flex;gap:6px}.splash-dots span{width:8px;height:8px;border-radius:50%;background:#5865f2;animation:splash-pulse 1.4s ease-in-out infinite}.splash-dots span:nth-child(2){animation-delay:.2s}.splash-dots span:nth-child(3){animation-delay:.4s}@keyframes splash-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.attachment-thumb-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}.attachment-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
