.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}*,*: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(/fonts/open-dyslexic-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/fonts/open-dyslexic-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/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(/fonts/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}.turnstile-container{display:flex;justify-content:center;margin-bottom:1rem}.totp-qr-container{display:flex;justify-content:center;padding:20px;background:var(--bg-secondary);border-radius:8px;margin:8px 0}.totp-secret-display{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;margin:4px 0}.totp-secret-display code{font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;letter-spacing:1px;color:var(--text-normal);word-break:break-all;flex:1}.totp-code-input{letter-spacing:6px;font-size:1.2rem;text-align:center;font-family:Consolas,Monaco,Courier New,monospace}.auth-back-link{display:block;width:100%;text-align:center;background:none;border:none;color:var(--text-link);font-size:.875rem;cursor:pointer;padding:.75rem 0 0}.auth-back-link:hover{text-decoration:underline}.auth-note{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:1rem}.tos-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.tos-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--blurple);cursor:pointer;flex-shrink:0}.tos-checkbox a{color:var(--text-link);text-decoration:none}.tos-checkbox a:hover{text-decoration:underline}.terms-page{min-height:100vh;background:var(--bg-primary);color:var(--text-normal);display:flex;justify-content:center;padding:2rem 1rem}.terms-container{max-width:800px;width:100%}.terms-content{line-height:1.7;font-size:.95rem}.terms-content h1,.terms-content h2,.terms-content h3{color:var(--text-primary);margin:1.5rem 0 .75rem}.terms-content p{margin:.75rem 0}.terms-content a{color:var(--text-link)}.terms-content ul,.terms-content ol{padding-left:1.5rem;margin:.5rem 0}.terms-back{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}.terms-back a{color:var(--text-link);text-decoration:none;font-size:.9rem}.terms-back a:hover{text-decoration:underline}.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;cursor:pointer;border-radius:50%;transition:opacity .1s}.user-panel-avatar-wrap:hover{opacity:.8}.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;cursor:pointer;transition:color .1s}.user-panel-name:hover{color:var(--interactive-hover)}.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}.search-input-wrapper:focus-within{border-color:var(--blurple)}.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-normal);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-normal)}.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-slider-wrap:before{content:"";position:absolute;top:100%;left:0;right:0;height:12px}.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-normal);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:28px;height:28px;flex-shrink:0;margin:6px 8px 8px 2px;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}.context-menu-toggle{display:flex;align-items:center;justify-content:space-between;width:100%}.context-toggle-indicator{width:32px;height:16px;border-radius:8px;background:var(--interactive-normal, #4e5058);position:relative;flex-shrink:0;margin-left:12px;transition:background .15s}.context-toggle-indicator:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s}.context-toggle-indicator.active{background:var(--blurple, #5865f2)}.context-toggle-indicator.active:after{transform:translate(16px)}.export-permissions-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:#faa61a1a;border:1px solid rgba(250,166,26,.3);border-radius:4px;color:#faa61a;font-size:.8125rem;line-height:1.4}.export-permissions-warning svg{flex-shrink:0}.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:-16px;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,.message.message-picker-open .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-normal);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-normal);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-normal);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-normal);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-normal);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-normal);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:28px;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;margin-right:-3px}.emoji-trigger-btn:hover{color:var(--interactive-hover)}.emoji-trigger-wrap,.timer-trigger-wrap{position:relative;display:flex;align-items:center;align-self:center}.timer-trigger-btn{width:28px;height:44px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:var(--interactive-normal);padding:0;display:flex;align-items:center;justify-content:center;position:relative}.timer-trigger-btn:hover{color:var(--interactive-hover)}.timer-trigger-btn.active{color:var(--blurple)}.timer-badge{position:absolute;bottom:6px;right:2px;font-size:9px;font-weight:700;color:var(--blurple);background:var(--bg-primary);border-radius:3px;padding:0 2px;line-height:1}.timer-picker{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--bg-floating);border-radius:8px;box-shadow:0 8px 24px #0006;padding:6px;min-width:180px;z-index:100}.timer-picker-header{padding:8px 12px 4px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em}.timer-picker-description{padding:2px 12px 8px;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--bg-modifier-accent);margin-bottom:4px}.timer-picker-option{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:4px;cursor:pointer;color:var(--text-normal);font-size:14px;background:none;border:none;width:100%;text-align:left}.timer-picker-option:hover{background:var(--bg-modifier-hover)}.timer-picker-option.selected{color:var(--blurple)}.message-timer{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;color:var(--text-muted);margin-left:6px;vertical-align:baseline}.message-timer svg{width:12px;height:12px;vertical-align:-2px}.message-timer.expiring-soon{color:var(--status-danger)}.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-normal)}.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-normal);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-normal)}.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-normal);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-normal);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-normal);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-normal);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-normal);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;flex:1;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:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.friend-action-btn:hover{background:var(--bg-tertiary);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.msg: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 60px 20px 40px;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:2}.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-normal);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-normal)}.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-normal)}.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;margin-bottom:24px}.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:var(--member-sidebar-width);min-width:var(--member-sidebar-width);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:120px;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:-44px;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-normal)}.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-normal);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-normal)}.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-modal{background:var(--bg-primary);border-radius:8px;padding:16px;width:600px;max-width:calc(100vw - 32px);max-height:80vh;box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;overflow:hidden}.search-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px}.search-panel-header h3{font-size:.9375rem;font-weight:600;color:var(--text-normal);margin:0}.search-panel-input-wrap{padding:0 0 8px}.search-panel-input{width:100%;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-normal);font-size:.85rem;outline:none}.search-panel-input:focus{border-color:var(--blurple)}.search-panel-results{flex:1;overflow-y:auto;padding:8px 0 0;min-height:0}.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-normal)}.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-normal);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-normal);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-normal);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}.unread-badge-muted{background:var(--bg-secondary);color:var(--text-normal)}.channel-item.unread .channel-hash,.channel-item.unread .channel-type-icon,.channel-item.unread{color:var(--text-normal);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-normal);border-radius:4px;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}.chat-header-ttl{display:inline-flex;align-items:center;margin-left:8px;color:var(--text-muted);cursor:default;flex-shrink:0}.chat-header-ttl svg{opacity:.7}.chat-header-ttl:hover svg{opacity:1;color:var(--blurple)}.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-normal);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-normal);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}.mention[data-mention-type=everyone]{background:#faa61a26;color:#faa61a}.mention[data-mention-type=everyone]:hover{background:#faa61a4d}.mention[data-mention-type=role]{background:#5865f226}.mention-list-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0}.mention-list-icon-everyone{background:#faa61a33;color:#faa61a;font-weight:700;font-size:14px}.mention-list-icon-role{width:16px;height:16px;border-radius:50%}.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-normal);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-normal)}.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-normal);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;border-radius:50%;padding:3px;transition:box-shadow .15s ease}.voice-participant.speaking .voice-participant-avatar{box-shadow:0 0 0 3px var(--green)}.voice-participant-info{display:flex;align-items:center;gap:4px;font-size:.875rem}.voice-participant-name{color:var(--text-normal);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-normal)}.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}.dm-call-bar{display:flex;flex-direction:column;background:var(--bg-tertiary);flex-shrink:0;overflow:hidden;position:relative}.dm-call-bar-inner{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px 12px;min-height:0;overflow:hidden}.dm-call-bar-header{display:flex;align-items:center;gap:8px;flex-shrink:0}.dm-call-bar-status{display:flex;align-items:center;gap:6px;color:var(--green);font-weight:500;font-size:.8125rem}.dm-call-screenshare{flex:1;min-height:0;border-radius:6px;overflow:hidden;background:#000}.dm-call-screenshare video{width:100%;height:100%;object-fit:contain}.dm-call-resize-handle{position:absolute;bottom:0;left:0;right:0;height:4px;cursor:row-resize;background:transparent;transition:background .15s;z-index:2}.dm-call-resize-handle:hover,.dm-call-resize-handle:active{background:var(--blurple)}.dm-call-resize-handle:after{content:"";position:absolute;inset:-4px 0 -2px}.dm-call-participants{display:flex;gap:12px;overflow-x:auto;padding:4px 0;justify-content:center;align-items:center}.dm-call-participant{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.dm-call-participant-name{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.dm-call-controls{display:flex;gap:6px;justify-content:center;align-items:center;padding:4px 0;flex-shrink:0}.incoming-call-overlay,.outgoing-call-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(4px);animation:overlay-fade-in .2s ease-out}.incoming-call-dialog,.outgoing-call-dialog{background:var(--bg-secondary);border-radius:12px;padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 8px 32px #0006;animation:dialog-slide-up .3s ease-out;min-width:280px}.incoming-call-dialog p,.outgoing-call-dialog p{color:var(--text-secondary);font-size:.9375rem;margin:0}.incoming-call-icon,.outgoing-call-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#23a55a26;animation:call-ring-pulse 1.5s ease-in-out infinite}.incoming-call-caller{font-size:1.125rem;font-weight:600;color:var(--text-normal)}.incoming-call-actions{display:flex;gap:16px;margin-top:8px}.call-accept-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;border-radius:24px;border:none;background:var(--green);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:filter .15s}.call-accept-btn:hover{filter:brightness(1.1)}.call-reject-btn,.call-cancel-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;border-radius:24px;border:none;background:var(--red);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:filter .15s}.call-reject-btn:hover,.call-cancel-btn:hover{filter:brightness(1.1)}@keyframes call-ring-pulse{0%,to{box-shadow:0 0 #23a55a66}50%{box-shadow:0 0 0 16px #23a55a00}}@keyframes call-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(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-normal);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-normal);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-normal);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-normal);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}.admin-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:700}.admin-reports-table{display:flex;flex-direction:column;gap:2px}.admin-report-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .1s}.admin-report-row:hover{background:var(--bg-secondary)}.admin-report-reporter{font-weight:500;color:var(--text-header);min-width:100px;flex-shrink:0;font-size:13px}.admin-report-reason{flex:1;color:var(--text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-report-date{color:var(--text-muted);font-size:12px;flex-shrink:0}.report-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;flex-shrink:0}.status-pending{background:#faa61a26;color:#faa61a}.status-reviewed{background:#5865f226;color:var(--blurple)}.status-dismissed{background:#80808026;color:var(--text-muted)}.status-escalated{background:#ed424526;color:var(--red)}.report-detail{padding:12px 16px;margin:4px 0;background:var(--bg-secondary);border-radius:6px;display:flex;flex-direction:column;gap:12px}.report-detail-field label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.report-detail-field p{margin:0;font-size:14px;color:var(--text-normal)}.report-actions{display:flex;gap:8px;margin-top:4px}.admin-ban-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:6px;transition:background .1s}.admin-ban-row:hover{background:var(--bg-secondary)}.admin-ban-info{display:flex;flex-direction:column;gap:2px}.admin-ban-username{font-weight:500;color:var(--text-header);font-size:14px}.admin-ban-reason{font-size:13px;color:var(--text-normal)}.admin-ban-meta{font-size:12px;color:var(--text-muted)}.instance-ban-modal{background:var(--bg-primary);border-radius:8px;padding:24px;width:420px;max-width:95vw}.instance-ban-modal h3{margin:0 0 16px;color:var(--text-header);font-size:18px}.hash-value{font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:12px;color:var(--text-header);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.filter-form-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-radio{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-normal);cursor:pointer}.filter-radio input[type=radio]{accent-color:var(--blurple)}.filter-separator{color:var(--text-muted)}.filter-count{font-size:12px;color:var(--text-muted)}.filter-list{display:flex;flex-direction:column;gap:4px}.filter-list-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px}.filter-pattern{flex:1;font-size:13px;color:var(--text-normal);background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-type-badge,.filter-action-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase}.filter-type-badge.keyword{background:#5865f226;color:var(--blurple)}.filter-type-badge.regex{background:#faa61a26;color:#faa61a}.filter-action-badge.hide{background:#ed424526;color:var(--red)}.filter-action-badge.warn{background:#faa61a26;color:#faa61a}.content-filter-hidden{position:relative;padding:8px 12px;background:var(--bg-secondary);border-radius:4px;text-align:center}.content-filter-reveal{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px 8px}.content-filter-reveal:hover{color:var(--text-normal);text-decoration:underline}.content-filter-warn{padding:4px 8px;margin-bottom:4px;background:#faa61a1a;border-left:3px solid #faa61a;border-radius:0 4px 4px 0;font-size:12px;color:#faa61a}.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-normal)}.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}.export-modal{max-width:480px;max-height:80vh;overflow-y:auto}.export-section{border:none;padding:0;margin:16px 0 0}.export-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em;margin-bottom:8px}.export-radio,.export-checkbox{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.9rem;color:var(--text-normal);cursor:pointer}.export-radio input,.export-checkbox input{accent-color:var(--blurple)}.export-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}.export-date-inputs{display:flex;gap:12px;margin-top:8px;padding-left:24px}.export-date-inputs label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-secondary)}.export-date-inputs input[type=date]{background:var(--bg-tertiary, var(--bg-secondary));border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-normal);padding:4px 8px;font-size:.85rem}.export-progress-dialog{max-width:400px;text-align:center}.export-progress-bar-container{width:100%;height:8px;background:var(--bg-tertiary, rgba(255,255,255,.1));border-radius:4px;margin:16px 0;overflow:hidden}.export-progress-bar{height:100%;background:var(--blurple);border-radius:4px;transition:width .3s ease}.export-progress-details{font-size:.85rem;color:var(--text-secondary)}.export-progress-details p{margin:4px 0}.export-error{color:var(--red)}.export-elapsed{color:var(--text-muted);font-size:.8rem}.export-consent-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;padding:8px 12px}.export-consent-toggle input{accent-color:var(--blurple)}.export-verification-badge{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-secondary);font-size:.85rem}.verification-valid{border-color:var(--green)}.verification-valid .export-verification-icon{color:var(--green)}.verification-invalid{border-color:var(--red)}.verification-invalid .export-verification-icon{color:var(--red)}.verification-neutral .export-verification-icon{color:var(--text-muted)}.export-verification-icon{flex-shrink:0;margin-top:2px}.export-verification-title{font-weight:600;color:var(--text-normal);margin-bottom:4px}.export-verification-meta{display:flex;flex-direction:column;gap:2px;color:var(--text-secondary);font-size:.8rem}.restore-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.restore-file-name{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;font-size:.85rem;color:var(--text-secondary)}.restore-file-name svg{flex-shrink:0;color:var(--text-muted)}.restore-status{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;border-radius:6px;font-size:.85rem;font-weight:500}.restore-status-parsing{background:var(--bg-tertiary);color:var(--text-secondary)}.restore-status-error{background:#ed42451f;color:var(--red)}.restore-status-success{background:#3ba55d1f;color:var(--green)}.restore-spinner{width:16px;height:16px;border:2px solid var(--text-muted);border-top-color:var(--blurple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.restore-preview{margin-top:12px}.restore-verification{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;font-size:.85rem;font-weight:500}.restore-verification.verified{background:#3ba55d1f;color:var(--green)}.restore-verification.invalid{background:#ed42451f;color:var(--red)}.restore-verification.unsigned{background:#faa81a1f;color:var(--yellow, #faa81a)}.restore-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.restore-summary-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px}.restore-summary-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.restore-summary-value{font-size:.9rem;color:var(--text-normal)}.restore-issues{margin-top:12px;padding:10px 14px;background:#ed424514;border-radius:6px;border-left:3px solid var(--red)}.restore-issues-title{font-size:.8rem;font-weight:600;color:var(--red);margin-bottom:6px}.restore-issue-item{font-size:.8rem;color:var(--text-secondary);padding:2px 0}.restore-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-top:12px;border-radius:6px;background:#f23f431f;border:1px solid rgba(242,63,67,.3);color:#f27377;font-size:.8rem;line-height:1.4}.restore-warning svg{flex-shrink:0;margin-top:1px}.attachments-modal{width:700px;max-width:calc(100vw - 32px);max-height:80vh;display:flex;flex-direction:column}.attachments-modal-body{padding:0 16px 16px;flex:1;overflow-y:auto;min-height:0}.attachments-filter-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.attachments-filter-tab{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:4px;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.attachments-filter-tab:hover{background:var(--bg-hover);color:var(--text-normal)}.attachments-filter-tab.active{background:var(--blurple);color:#fff}.attachments-filter-count{background:#ffffff26;padding:1px 6px;border-radius:10px;font-size:.75rem;min-width:18px;text-align:center}.attachments-filter-tab.active .attachments-filter-count{background:#ffffff40}.attachments-summary{color:var(--text-secondary);font-size:.85rem;margin:0 0 12px}.attachments-empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:40px 16px}.attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:400px;overflow-y:auto;padding:4px 0}.attachments-grid-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:6px;background:var(--bg-secondary);cursor:default;transition:background .15s}.attachments-grid-item:hover{background:var(--bg-hover)}.attachments-grid-item-preview{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;overflow:hidden;background:var(--bg-tertiary)}.attachments-thumb{width:100%;height:100%;object-fit:cover}.attachments-icon{color:var(--text-muted)}.attachments-item-download{position:absolute;bottom:4px;right:4px;width:28px;height:28px;border-radius:50%;border:none;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s}.attachments-grid-item:hover .attachments-item-download{opacity:1}.attachments-item-download:hover{background:var(--blurple)}.attachments-grid-item-name{font-size:.75rem;color:var(--text-normal);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.attachments-grid-item-size{font-size:.7rem;color:var(--text-muted)}.attachments-scan-phase{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 16px}.attachments-scan-title{font-size:.95rem;color:var(--text-normal);font-weight:500;margin:0}.attachments-scan-status{font-size:.85rem;color:var(--text-secondary);margin:0}.attachments-progress-bar{width:100%;max-width:300px;height:6px;border-radius:3px;background:var(--bg-tertiary);overflow:hidden}.attachments-progress-bar-inner{height:100%;background:var(--blurple);border-radius:3px;transition:width .2s}.attachments-scan-phase .attachments-progress-bar-inner{animation:attachments-scan-pulse 1.5s ease-in-out infinite}@keyframes attachments-scan-pulse{0%{width:20%;margin-left:0}50%{width:50%;margin-left:25%}to{width:20%;margin-left:80%}}.driver-overlay{z-index:10001!important}.driver-popover{z-index:10002!important}.driver-popover.haven-tour{background:var(--bg-floating);color:var(--text-normal);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 8px 32px #00000080;padding:20px;max-width:380px;font-family:var(--font)}.driver-popover.haven-tour .driver-popover-title{font-size:18px;font-weight:700;color:var(--text-header);margin-bottom:8px;line-height:1.3}.driver-popover.haven-tour .driver-popover-description{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.driver-popover.haven-tour .driver-popover-progress-text{color:var(--text-muted);font-size:12px}.driver-popover.haven-tour .driver-popover-footer{margin-top:8px}.driver-popover.haven-tour button{font-family:var(--font);font-size:14px;font-weight:500;padding:8px 16px;border-radius:6px;border:none;cursor:pointer;transition:background .15s ease}.driver-popover.haven-tour .driver-popover-next-btn,.driver-popover.haven-tour .driver-popover-done-btn{background:var(--blurple);color:#fff;text-shadow:none}.driver-popover.haven-tour .driver-popover-next-btn:hover,.driver-popover.haven-tour .driver-popover-done-btn:hover{background:var(--blurple-hover)}.driver-popover.haven-tour .driver-popover-prev-btn{background:transparent;color:var(--text-secondary);text-shadow:none}.driver-popover.haven-tour .driver-popover-prev-btn:hover{color:var(--text-normal);background:var(--bg-hover)}.driver-popover.haven-tour .driver-popover-close-btn{color:var(--text-muted)}.driver-popover.haven-tour .driver-popover-close-btn:hover{color:var(--text-normal)}.driver-popover.haven-tour .driver-popover-arrow-side-left .driver-popover-arrow{border-left-color:var(--bg-floating)}.driver-popover.haven-tour .driver-popover-arrow-side-right .driver-popover-arrow{border-right-color:var(--bg-floating)}.driver-popover.haven-tour .driver-popover-arrow-side-top .driver-popover-arrow{border-top-color:var(--bg-floating)}.driver-popover.haven-tour .driver-popover-arrow-side-bottom .driver-popover-arrow{border-bottom-color:var(--bg-floating)}.driver-popover.haven-tour-welcome,.driver-popover.haven-tour-encryption{max-width:440px;text-align:center}.driver-popover.haven-tour-welcome .driver-popover-title{font-size:24px}.driver-popover.haven-tour button:focus-visible{outline:2px solid var(--text-link);outline-offset:2px}[data-reduced-motion] .driver-overlay,[data-reduced-motion] .driver-popover{transition:none!important;animation:none!important}@media(max-width:768px){.driver-popover.haven-tour{max-width:calc(100vw - 32px);font-size:13px}.driver-popover.haven-tour .driver-popover-title{font-size:16px}.driver-popover.haven-tour-welcome,.driver-popover.haven-tour-encryption{max-width:calc(100vw - 32px)}}.official-badge{display:inline-flex;align-items:center;gap:2px;background:var(--blurple);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.02em}.official-badge:before{content:"✓";font-size:9px}
