@font-face{font-family:Droidiga;src:url(../branding/Concord-Voice/fonts/Droidiga.otf)format("opentype");font-weight:400;font-style:normal;font-display:block}.titlebar{background-color:var(--bg-secondary);height:32px;color:var(--text-primary);border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;app-region:drag;flex-shrink:0;justify-content:center;align-items:center;padding-left:16px;padding-right:140px;display:flex}.titlebar--mac{padding-left:80px;padding-right:16px}.titlebar-title{letter-spacing:.08em;app-region:drag;font-family:Droidiga,sans-serif;font-size:13px}.titlebar-version{opacity:.4;letter-spacing:.04em;app-region:drag;margin-left:8px;font-size:11px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.connection-selector{background:var(--bg-primary);justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex}.connection-content{flex-direction:column;gap:24px;width:100%;max-width:640px;display:flex}.connection-header{flex-direction:column;align-items:center;gap:8px;display:flex}.connection-logo{width:auto;height:64px;margin-bottom:4px}.connection-options{grid-template-columns:1fr 1fr;gap:16px;display:grid}.connection-option{background:var(--bg-secondary);border:2px solid var(--border-color);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;min-height:170px;padding:16px 14px;transition:all .2s;display:flex}.connection-option:nth-child(3){text-align:left;flex-direction:row;grid-column:1/-1;justify-content:flex-start;gap:16px;min-height:auto;padding:20px}.connection-option:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}.connection-option.selected{border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px #fa709a1a}.connection-option:focus-within{outline:2px solid var(--accent-primary);outline-offset:2px}.option-radio{flex-shrink:0}.radio-outer{border:2px solid var(--text-muted);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .2s;display:flex}.connection-option.selected .radio-outer{border-color:var(--accent-primary)}.radio-inner{background:var(--accent-primary);border-radius:50%;width:10px;height:10px;animation:.2s radioAppear}@keyframes radioAppear{0%{transform:scale(0)}to{transform:scale(1)}}.option-content{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.option-title{font-size:calc(15px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;font-family:Droidiga,sans-serif;font-weight:600}.option-description{flex-direction:column;align-items:flex-start;gap:3px;width:100%;display:flex}.option-feature{font-size:calc(11px * var(--font-scale,1));color:var(--text-secondary);text-align:left;line-height:1.4}.connection-option:nth-child(3) .option-content{text-align:left;align-items:flex-start;gap:8px}.connection-option:nth-child(3) .option-title{font-size:calc(16px * var(--font-scale,1))}.connection-option:nth-child(3) .option-description{flex-flow:wrap;gap:16px}.connection-option:nth-child(3) .option-feature{font-size:calc(12px * var(--font-scale,1));white-space:nowrap;line-height:1.5}.connection-continue{background:var(--gradient-brand);width:100%;color:var(--bg-primary);font-size:calc(15px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;padding:14px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s}.connection-continue:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fa709a4d}.connection-continue:active:not(:disabled){transform:translateY(0)}.connection-continue:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;box-shadow:0 0 0 5px #fa709a33}.connection-continue:disabled{opacity:.5;cursor:not-allowed}.connection-footer{font-size:calc(13px * var(--font-scale,1));justify-content:center;align-items:center;gap:8px;display:flex}.footer-link{all:unset;font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);cursor:pointer;transition:color .15s}.footer-link:hover{color:var(--accent-primary)}.footer-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}.footer-link:disabled{cursor:not-allowed;opacity:.5}.footer-separator{color:var(--text-muted)}.server-input{background:var(--bg-primary);justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex}.server-content{flex-direction:column;gap:32px;width:100%;max-width:480px;display:flex}.server-header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.server-icon{width:auto;height:64px;margin-bottom:8px}.server-title{font-size:calc(24px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;font-family:Droidiga,sans-serif;font-weight:700}.server-subtitle{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);max-width:360px}.server-form{flex-direction:column;gap:24px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-label{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.server-url-input{background:var(--bg-secondary);border:2px solid var(--border-color);width:100%;color:var(--text-primary);font-size:calc(15px * var(--font-scale,1));border-radius:8px;padding:14px 16px;font-family:SourceSans,monospace;transition:all .2s}.server-url-input:focus{border-color:var(--accent-primary);background:var(--bg-tertiary);outline:none}.server-url-input.error{border-color:var(--danger)}.server-url-input::placeholder{color:var(--text-muted)}.input-error{font-size:calc(13px * var(--font-scale,1));color:var(--danger);margin-top:4px}.security-info{background:#43b5811a;border:1px solid #43b58133;border-radius:8px;gap:12px;padding:16px;display:flex}.info-icon{font-size:calc(20px * var(--font-scale,1));flex-shrink:0}.info-text{flex-direction:column;gap:4px;display:flex}.info-title{font-size:calc(13px * var(--font-scale,1));color:var(--success);font-weight:600}.info-description{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);line-height:1.4}.server-connect-btn{background:var(--gradient-brand);width:100%;color:var(--bg-primary);font-size:calc(15px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;padding:14px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s}.server-connect-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fa709a4d}.server-connect-btn:active:not(:disabled){transform:translateY(0)}.server-connect-btn:disabled{opacity:.5;cursor:not-allowed}.server-back-btn{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.server-back-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-secondary)}.server-footer{justify-content:center;display:flex}.footer-help{font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);text-align:center}.help-link{color:var(--accent-primary);font-weight:600;text-decoration:none;transition:color .2s}.help-link:hover{color:var(--accent-hover)}.password-strength{flex-direction:column;gap:8px;display:flex}.strength-bar-container{gap:4px;height:4px;display:flex}.strength-bar-segment{background-color:var(--bg-tertiary);border-radius:2px;flex:1;transition:background-color .3s}.strength-bar-segment.active{transition:background-color .3s}.strength-info{flex-direction:column;gap:4px;display:flex}.strength-label{font-size:calc(12px * var(--font-scale,1));text-transform:uppercase;letter-spacing:.5px;font-weight:600}.strength-label.legendary{letter-spacing:1px;filter:drop-shadow(0 0 8px #b762ff99);background:linear-gradient(90deg,#b762ff 0%,#ff6ec7 50%,gold 100%) 0 0/200% 100%;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;animation:3s ease-in-out infinite gradient-shift,2s ease-in-out infinite pulse;font-size:calc(14px * var(--font-scale,1))!important;-webkit-text-fill-color:transparent!important;color:#0000!important;-webkit-background-clip:text!important;background-clip:text!important;font-weight:900!important}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.strength-feedback{flex-direction:column;gap:2px;display:flex}.feedback-item{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);line-height:1.3}.info-tooltip-container{align-items:center;margin-left:6px;display:inline-flex;position:relative}.info-tooltip-icon{color:var(--text-muted);cursor:help;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex}.info-tooltip-icon:hover{color:var(--accent-primary)}.info-tooltip-icon:focus{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:50%}.info-tooltip-popup{background:var(--bg-tertiary);border:1px solid var(--border-color);z-index:1000;pointer-events:none;border-radius:8px;width:280px;padding:12px 14px;animation:.2s tooltipFadeIn;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.info-tooltip-popup:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--bg-tertiary);width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.info-tooltip-content{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);line-height:1.5}.info-tooltip-content strong{color:var(--text-primary);font-weight:600}.info-tooltip-content ul{margin:6px 0 0;padding-left:16px}.info-tooltip-content li{margin:4px 0}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=640px){.info-tooltip-popup{width:240px;left:auto;right:0;transform:none}.info-tooltip-popup:after{left:auto;right:8px;transform:none}}.loading-spinner{justify-content:center;align-items:center;display:flex}.loading-spinner.inline{vertical-align:middle;margin-left:8px;display:inline-flex}.spinner{border-style:solid;border-color:currentColor #0000 #0000;border-radius:50%;animation:.8s linear infinite spin}.loading-spinner-small .spinner{border-width:2px;width:14px;height:14px}.loading-spinner-medium .spinner{border-width:2px;width:18px;height:18px}.loading-spinner-large .spinner{border-width:3px;width:24px;height:24px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sso-button{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:4px;align-items:center;gap:12px;width:100%;height:40px;padding:0 16px;font-family:Roboto,system-ui,-apple-system,sans-serif;font-size:14px;font-weight:500;line-height:20px;transition:background .12s,border-color .12s;display:inline-flex}.sso-button:hover:not(:disabled){background:#f7f8fa;border-color:#c4c7c5}.sso-button:focus-visible{outline-offset:2px;outline:2px solid #4285f4}.sso-button:disabled{opacity:.4;cursor:not-allowed}.sso-button__icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sso-button__text{text-align:center;flex:1}.sso-button--apple{color:#fff;background:#000;border-color:#000}.sso-button--apple:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}@keyframes fadeInShake{0%{opacity:0;transform:translate(-4px)}50%{transform:translate(2px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes errorBannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes buttonPulse{0%,to{opacity:.8}50%{opacity:.9}}.register-container{background:var(--bg-primary);flex-direction:column;align-items:center;width:100%;height:100%;padding:40px;display:flex;overflow-y:auto}.register-content{flex-direction:column;gap:32px;width:100%;max-width:460px;margin:auto 0;display:flex}.register-header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.register-logo{width:auto;height:56px;margin-bottom:8px}.register-title{font-size:calc(28px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;font-family:Droidiga,sans-serif;font-weight:700}.register-subtitle{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);max-width:360px}.register-form{flex-direction:column;gap:20px;display:flex}.checkbox-label{cursor:pointer;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;gap:12px;padding:12px;transition:all .2s;display:flex}.checkbox-label:hover{border-color:var(--accent-primary)}.checkbox-label:focus-within{outline:2px solid var(--accent-primary);outline-offset:2px;border-color:var(--accent-primary)}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--accent-primary);flex-shrink:0;margin-top:2px}.checkbox-content{flex-direction:column;gap:4px;display:flex}.checkbox-title{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.checkbox-description{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);line-height:1.4}.info-banner{background:linear-gradient(135deg,#fa709a14 0%,#9056f514 100%);border:2px solid #fa709a33;border-radius:12px;gap:12px;padding:16px;transition:all .2s;display:flex}.info-banner:hover{background:linear-gradient(135deg,#fa709a1f 0%,#9056f51f 100%);border-color:#fa709a4d}.info-banner-icon{font-size:calc(24px * var(--font-scale,1));flex-shrink:0;line-height:1}.info-banner-content{flex-direction:column;flex:1;gap:6px;display:flex}.info-banner-title{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);align-items:center;gap:6px;font-weight:700;display:flex}.info-banner-description{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);margin:0;line-height:1.5}.register-submit-btn{background:var(--gradient-brand);width:100%;color:var(--bg-primary);font-size:calc(15px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;padding:14px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s}.register-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fa709a4d}.register-submit-btn:active:not(:disabled){transform:translateY(0)}.register-submit-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;box-shadow:0 0 0 5px #fa709a33}.register-submit-btn:disabled{opacity:.8;cursor:not-allowed;animation:2s ease-in-out infinite buttonPulse}.register-back-btn{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.register-back-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-secondary)}.register-back-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.register-back-btn:disabled{opacity:.6;cursor:not-allowed}.register-footer{flex-direction:column;align-items:center;gap:16px;display:flex}.switch-to-login-btn{color:var(--accent-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:none;transition:color .2s}.switch-to-login-btn:hover:not(:disabled){color:var(--accent-hover)}.switch-to-login-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}.switch-to-login-btn:disabled{opacity:.6;cursor:not-allowed}.register-sso-row{margin-bottom:16px}.register-divider{color:var(--text-secondary,#888);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:8px 0 16px;font-size:12px;display:flex}.register-divider:before,.register-divider:after{content:"";background:var(--border-color,#2a2a2a);flex:1;height:1px}.register-divider__text{flex-shrink:0}.login-container{background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex;overflow-y:auto}.login-content{flex-direction:column;gap:32px;width:100%;max-width:460px;display:flex}.login-header{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.login-logo{width:auto;height:56px;margin-bottom:8px}.login-title{font-size:calc(28px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;font-family:Droidiga,sans-serif;font-weight:700}.login-subtitle{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary)}.login-form{flex-direction:column;gap:20px;width:100%;display:flex}.login-options{justify-content:space-between;align-items:center;width:100%;margin-top:-8px;display:flex}.remember-me-label{cursor:pointer;font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);align-items:center;gap:8px;display:flex}.remember-me-label input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-primary)}.forgot-password-link{cursor:pointer;font-size:calc(13px * var(--font-scale,1));color:var(--accent-primary);background:0 0;border:none;padding:0;font-weight:600;text-decoration:none;transition:color .2s}.forgot-password-link:hover{color:var(--accent-hover)}.login-submit-btn{background:var(--gradient-brand);width:100%;color:var(--bg-primary);font-size:calc(15px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:14px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fa709a4d}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;box-shadow:0 0 0 5px #fa709a33}.login-submit-btn:disabled{opacity:.8;cursor:not-allowed;animation:2s ease-in-out infinite buttonPulse}.login-back-btn{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.login-back-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-secondary)}.login-back-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.login-back-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{justify-content:center;align-items:center;width:100%;display:flex}.switch-to-register-btn{color:var(--accent-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:none;transition:color .2s}.switch-to-register-btn:hover:not(:disabled){color:var(--accent-hover)}.switch-to-register-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}.switch-to-register-btn:disabled{opacity:.6;cursor:not-allowed}.login-sso-row{margin-bottom:16px}.login-divider{color:var(--text-secondary,#888);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:8px 0 16px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border-color,#2a2a2a);flex:1;height:1px}.login-divider__text{flex-shrink:0}.login-form--sso-only{flex-direction:column;gap:12px;display:flex}.totp-input-container{flex-direction:column;align-items:center;gap:12px;display:flex}.totp-digits{gap:8px;display:flex}.totp-digit{text-align:center;width:44px;height:52px;font-size:22px;font-family:var(--font-mono,monospace);border:2px solid var(--border-color,#444);background:var(--bg-secondary,#2a2a2a);color:var(--text-primary,#fff);border-radius:8px;outline:none;font-weight:600;transition:border-color .15s}.totp-digit:focus{border-color:var(--accent-color,#5865f2);box-shadow:0 0 0 2px #5865f240}.totp-digit-error{border-color:var(--error-color,#ed4245)}.totp-digit:disabled{opacity:.5;cursor:not-allowed}.totp-error{color:var(--error-color,#ed4245);margin:0;font-size:13px}.totp-backup-link{color:var(--text-tertiary,#999);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.totp-backup-link:hover{color:var(--text-secondary,#bbb)}.totp-backup-link:disabled{opacity:.5;cursor:not-allowed}.mfa-method-picker{flex-direction:column;gap:12px;width:100%;display:flex}.mfa-method-picker-title{color:var(--text-primary,#fff);margin:0;font-size:14px;font-weight:600}.mfa-method-picker-list{flex-direction:column;gap:6px;display:flex}.mfa-method-picker-option{border:1px solid var(--border-color,#444);background:var(--bg-secondary,#2a2a2a);color:var(--text-primary,#fff);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.mfa-method-picker-option:hover{border-color:var(--accent-color,#5865f2);background:var(--bg-tertiary,#333)}.mfa-method-picker-active{border-color:var(--accent-color,#5865f2);background:#5865f21a}.mfa-method-picker-icon{color:var(--text-secondary,#bbb);flex-shrink:0;align-items:center;display:flex}.mfa-method-picker-text{flex-direction:column;gap:2px;display:flex}.mfa-method-picker-label{font-size:13px;font-weight:500}.mfa-method-picker-desc{color:var(--text-tertiary,#999);font-size:11px}.mfa-choose-another{color:var(--text-tertiary,#999);cursor:pointer;background:0 0;border:none;align-self:center;padding:4px 0 0;font-size:13px;text-decoration:underline}.mfa-choose-another:hover{color:var(--text-secondary,#bbb)}.mfa-choose-another:disabled{opacity:.5;cursor:not-allowed}.email-verification{flex-direction:column;align-items:center;gap:20px;max-width:420px;margin:0 auto;padding:40px 32px;display:flex}.email-verification-header{text-align:center}.email-verification-header h2{color:var(--text-primary);margin:0 0 8px;font-size:24px}.email-verification-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.email-verification-input{justify-content:center;width:100%;display:flex;position:relative}.email-verification-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.email-verification-attempts{color:var(--text-tertiary);margin:0;font-size:13px}.email-verification-actions{align-items:center;gap:16px;display:flex}.email-verification-resend,.email-verification-change{color:var(--accent-color);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:14px}.email-verification-resend:disabled{color:var(--text-tertiary);cursor:default}.email-verification-change-form{flex-direction:column;gap:8px;width:100%;display:flex}.email-verification-change-form input{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:6px;padding:10px 12px;font-size:14px}.email-verification-change-form button{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.email-verification-change-form button:disabled{opacity:.5;cursor:default}.email-verification-error{color:var(--error-color);margin:0;font-size:13px}.email-verification-back{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:4px 8px;font-size:13px}.email-verification-back:hover{color:var(--text-secondary)}.change-email-form{flex-direction:column;gap:16px;max-width:420px;margin:0 auto;padding:40px 32px;display:flex}.change-email-form h2{color:var(--text-primary);margin:0;font-size:22px}.change-email-form p{color:var(--text-secondary);margin:0;font-size:14px}.change-email-form label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.change-email-form input[type=email]{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:6px;padding:10px 12px;font-size:14px}.change-email-form input[type=email]:focus{border-color:var(--accent-color);outline:none}.change-email-form .error{color:var(--error-color);margin:0;font-size:13px}.change-email-form .buttons{flex-direction:column;gap:8px;display:flex}.change-email-form .buttons button[type=submit]{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-size:14px}.change-email-form .buttons button[type=submit]:disabled{opacity:.5;cursor:default}.change-email-form .buttons button[type=button]{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px}.change-email-form .buttons button[type=button]:hover{color:var(--text-secondary)}.sso-passphrase-setup{background:var(--bg-primary);flex-direction:column;align-items:center;width:100%;height:100%;padding:40px;display:flex;overflow-y:auto}.sso-passphrase-setup__form{flex-direction:column;gap:20px;width:100%;max-width:460px;margin:auto 0;display:flex}.sso-passphrase-setup__title{font-size:calc(28px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;text-align:center;margin-bottom:4px;font-family:Droidiga,sans-serif;font-weight:700}.sso-passphrase-setup__intro{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);text-align:center;margin-bottom:12px;line-height:1.5}.sso-passphrase-setup__intro strong{color:var(--text-primary);font-weight:600}.sso-passphrase-setup__field{flex-direction:column;gap:6px;display:flex}.sso-passphrase-setup__label{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.sso-passphrase-setup__input{font-size:calc(14px * var(--font-scale,1));background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);border-radius:8px;padding:10px 12px;transition:border-color .15s}.sso-passphrase-setup__input:focus{border-color:var(--accent-primary);outline:none}.sso-passphrase-setup__input:disabled{opacity:.6;cursor:not-allowed}.sso-passphrase-setup__hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.sso-passphrase-setup__success{font-size:calc(12px * var(--font-scale,1));color:var(--success)}.sso-passphrase-setup__field-error{font-size:calc(12px * var(--font-scale,1));color:var(--danger)}.sso-passphrase-setup__error{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid var(--danger);color:var(--danger);font-size:calc(13px * var(--font-scale,1));border-radius:8px;padding:10px 12px}.sso-passphrase-setup__submit{font-size:calc(14px * var(--font-scale,1));background:var(--accent-primary);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:600;transition:background-color .15s,opacity .15s;display:inline-flex}.sso-passphrase-setup__submit:hover:not(:disabled){background:var(--accent-primary-hover,var(--accent-primary))}.sso-passphrase-setup__submit:disabled{opacity:.5;cursor:not-allowed}.sso-link-confirm{background:var(--bg-primary);flex-direction:column;align-items:center;width:100%;height:100%;padding:40px;display:flex;overflow-y:auto}.sso-link-confirm__form{flex-direction:column;gap:20px;width:100%;max-width:460px;margin:auto 0;display:flex}.sso-link-confirm__title{font-size:calc(28px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;text-align:center;margin-bottom:4px;font-family:Droidiga,sans-serif;font-weight:700}.sso-link-confirm__intro{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);text-align:center;margin-bottom:12px;line-height:1.5}.sso-link-confirm__intro strong{color:var(--text-primary);font-weight:600}.sso-link-confirm__field{flex-direction:column;gap:6px;display:flex}.sso-link-confirm__label{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.sso-link-confirm__input{font-size:calc(14px * var(--font-scale,1));background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);border-radius:8px;padding:10px 12px;transition:border-color .15s}.sso-link-confirm__input:focus{border-color:var(--accent-primary);outline:none}.sso-link-confirm__input:disabled{opacity:.6;cursor:not-allowed}.sso-link-confirm__error{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid var(--danger);color:var(--danger);font-size:calc(13px * var(--font-scale,1));border-radius:8px;padding:10px 12px}.sso-link-confirm__actions{justify-content:flex-end;gap:12px;display:flex}.sso-link-confirm__cancel,.sso-link-confirm__submit{font-size:calc(14px * var(--font-scale,1));cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:600;transition:background-color .15s,opacity .15s;display:inline-flex}.sso-link-confirm__cancel{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.sso-link-confirm__cancel:hover:not(:disabled){background:var(--bg-tertiary,var(--bg-secondary))}.sso-link-confirm__submit{background:var(--accent-primary);color:var(--on-accent)}.sso-link-confirm__submit:hover:not(:disabled){background:var(--accent-primary-hover,var(--accent-primary))}.sso-link-confirm__cancel:disabled,.sso-link-confirm__submit:disabled{opacity:.5;cursor:not-allowed}.auth-flow{flex:1;display:flex;overflow:hidden}.auth-screen{width:100%;height:100%;animation:.3s ease-out screenFadeIn}@keyframes screenFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;padding:40px;animation:.3s ease-out screenFadeIn;display:flex}.auth-placeholder h2{color:var(--text-primary);font-family:Droidiga,sans-serif}.auth-placeholder p{color:var(--text-secondary)}.auth-placeholder button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.auth-placeholder button:hover{border-color:var(--accent-primary);background:var(--bg-tertiary);color:var(--text-primary)}.ctx-menu-overlay{z-index:100000;position:fixed;inset:0}.ctx-menu-overlay-closing{pointer-events:none}.ctx-menu{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:100001;transform-origin:0 0;border-radius:8px;min-width:180px;padding:6px;animation:.18s cubic-bezier(.16,1,.3,1) ctxMenuIn;position:fixed;box-shadow:0 8px 24px #0006}@keyframes ctxMenuIn{0%{opacity:0;transform:scale(.92)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.ctx-menu-closing{animation:.15s cubic-bezier(.32,.72,0,1) forwards ctxMenuOut}.ctx-menu-closing .ctx-menu-item,.ctx-menu-closing .ctx-menu-header,.ctx-menu-closing .ctx-menu-separator{animation:none!important}@keyframes ctxMenuOut{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.95)translateY(-3px)}}.ctx-menu-header{align-items:center;gap:6px;padding:8px 10px;display:flex}.ctx-menu-separator{background:var(--border-color);height:1px;margin:4px 6px}.ctx-menu-item{width:100%;color:var(--text-secondary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;font-family:SourceSans,sans-serif;transition:background .15s,color .15s,transform .1s;display:flex}.ctx-menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ctx-menu-item:active:not(:disabled){transform:scale(.97)}.ctx-menu-item-icon{width:16px;height:16px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s;display:flex}.ctx-menu-item:hover .ctx-menu-item-icon{transform:scale(1.1)}.ctx-menu-item-danger{color:var(--danger)}.ctx-menu-item-danger:hover{color:var(--danger);background:#f047471a}.ctx-menu-item-disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}.ctx-menu-item-disabled:hover{color:var(--text-muted);background:0 0}.ctx-menu-item-disabled:active,.ctx-menu-item-disabled:hover .ctx-menu-item-icon{transform:none}.ctx-menu-item-chevron{width:12px;height:12px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:transform .25s cubic-bezier(.32,.72,0,1),color .2s;display:flex}.ctx-menu-item:hover .ctx-menu-item-chevron{color:var(--text-primary);transform:translate(3px)}.ctx-menu-item-wrapper{position:relative}.ctx-submenu{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:100002;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform-origin:0;border-radius:8px;min-width:150px;margin-left:6px;padding:6px;animation:.25s cubic-bezier(.32,.72,0,1) forwards ctxSubMenuIn;position:absolute;top:-4px;left:100%;box-shadow:0 12px 32px #00000073,0 2px 8px #0003}.ctx-submenu.ctx-submenu-flip{transform-origin:100%;margin-left:0;margin-right:6px;animation-name:ctxSubMenuInFlip;left:auto;right:100%}@keyframes ctxSubMenuIn{0%{opacity:0;transform:translate(-8px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes ctxSubMenuInFlip{0%{opacity:0;transform:translate(8px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}.ctx-submenu-closing{animation:.15s cubic-bezier(.32,.72,0,1) forwards ctxSubMenuOut!important}.ctx-submenu-closing.ctx-submenu-flip{animation:.15s cubic-bezier(.32,.72,0,1) forwards ctxSubMenuOutFlip!important}.ctx-submenu-closing .ctx-menu-item,.ctx-submenu-closing .ctx-menu-header,.ctx-submenu-closing .ctx-menu-separator{animation:none!important}@keyframes ctxSubMenuOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-6px)scale(.96)}}@keyframes ctxSubMenuOutFlip{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(6px)scale(.96)}}.ctx-submenu .ctx-menu-item:first-child{animation-delay:50ms}.ctx-submenu .ctx-menu-item:nth-child(2){animation-delay:80ms}.ctx-submenu .ctx-menu-item:nth-child(3){animation-delay:.11s}.ctx-submenu .ctx-menu-item:nth-child(4){animation-delay:.14s}.ctx-submenu .ctx-menu-item:nth-child(5){animation-delay:.17s}.ctx-menu-item,.ctx-menu-header,.ctx-menu-separator{animation:.2s cubic-bezier(.16,1,.3,1) backwards ctxItemSlideIn}.ctx-menu-item:first-child{animation-delay:20ms}.ctx-menu-item:nth-child(2){animation-delay:40ms}.ctx-menu-item:nth-child(3){animation-delay:60ms}.ctx-menu-item:nth-child(4){animation-delay:80ms}.ctx-menu-item:nth-child(5){animation-delay:.1s}.ctx-menu-item:nth-child(6){animation-delay:.12s}.ctx-menu-item:nth-child(7){animation-delay:.14s}.ctx-menu-item:nth-child(8){animation-delay:.16s}@keyframes ctxItemSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.ctx-enforcement-icon--active-hard{color:var(--warning)}.ctx-enforcement-icon--active-user{color:var(--danger)}.ctx-enforcement-icon--inactive{color:var(--text-muted);opacity:.5}.ctx-enforcement-icon-group{align-items:center;display:inline-flex;position:relative}.ctx-enforcement-lock{color:inherit;position:absolute;bottom:-1px;right:-3px}.participant-volume-row{flex-direction:column;gap:6px;min-width:200px;padding:8px 12px;display:flex}.participant-volume-row-header{justify-content:space-between;align-items:center;display:flex}.participant-volume-row-label{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.participant-volume-row-value{font-size:calc(12px * var(--font-scale,1));color:var(--accent-primary);font-variant-numeric:tabular-nums;font-weight:700}.participant-volume-row-slider{appearance:none;background:var(--border-color);cursor:pointer;border-radius:2px;width:100%;height:4px;margin:2px 0}.participant-volume-row-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);cursor:pointer;border:2px solid var(--bg-secondary);border-radius:50%;width:14px;height:14px;transition:transform .1s}.participant-volume-row-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.participant-volume-row-slider:focus{outline:none}.participant-volume-row-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-primary) 35%, transparent)}.participant-volume-row-reset{border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(11px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-weight:600;transition:color .12s,background .12s,border-color .12s}.participant-volume-row-reset:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.participant-tile{aspect-ratio:1;background-color:var(--bg-tertiary);border-radius:8px;flex-direction:column;margin:6px;transition:transform .12s ease-out;display:flex;position:relative;overflow:hidden}.participant-tile--video{aspect-ratio:16/9}.participant-tile--compact{margin:3px}.participant-tile__banner{z-index:0;height:35%;position:absolute;top:0;left:0;right:0}.participant-tile__body{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:20% 8px 8px;display:flex;position:relative}.participant-tile__avatar{flex-shrink:0}.participant-tile__avatar-img{object-fit:cover;border:2px solid var(--bg-primary);border-radius:50%;width:56px;height:56px}.participant-tile__avatar-fallback{background:var(--gradient-brand);width:56px;height:56px;font-size:calc(22px * var(--font-scale,1));color:var(--bg-primary);border:2px solid var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.participant-tile--compact .participant-tile__avatar-img,.participant-tile--compact .participant-tile__avatar-fallback{width:36px;height:36px;font-size:calc(14px * var(--font-scale,1))}.participant-tile__name{font-size:calc(12px * var(--font-scale,1));color:var(--text-primary);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.participant-tile--compact .participant-tile__name{font-size:calc(10px * var(--font-scale,1))}.participant-tile__video{object-fit:cover;background-color:#000;width:100%;height:100%}.participant-tile__video-name{background:linear-gradient(#0000,#000000b3);padding:4px 8px;position:absolute;bottom:0;left:0;right:0}.participant-tile__video-name-text{font-size:calc(12px * var(--font-scale,1));color:#fff;text-shadow:0 1px 2px #00000080;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.participant-tile__overlays{z-index:3;gap:4px;display:flex;position:absolute;top:6px;right:6px}.participant-tile__status{background-color:#0009;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.participant-tile--compact .participant-tile__status{width:18px;height:18px}.participant-tile__status--muted,.participant-tile__status--deafened{color:var(--danger)}.participant-tile__status--server-muted,.participant-tile__status--server-deafened{color:var(--warning);position:relative}.participant-tile__lock-badge{position:absolute;bottom:2px;right:2px}.participant-tile__status--screen{color:var(--accent-primary)}.participant-tile__menu-trigger{color:#fff;cursor:pointer;opacity:0;z-index:4;background-color:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:opacity .15s;display:flex;position:absolute;top:6px;left:6px}.participant-tile:hover .participant-tile__menu-trigger,.participant-tile__menu-trigger:focus-visible{opacity:1}.participant-tile__menu-trigger:focus-visible{outline:2px solid var(--accent-primary,#4a9eff);outline-offset:2px}.participant-tile--compact .participant-tile__menu-trigger{width:16px;height:16px;top:4px;left:4px}.user-frame-grid{padding:calc(12px * var(--sp,1));flex-wrap:wrap;flex:1;place-content:center;align-items:center;gap:4px;min-height:0;display:flex;overflow:hidden}.user-frame-grid .participant-tile{width:var(--tile-w,200px);height:var(--tile-h,112px);flex-grow:0;flex-shrink:0}.channel-list{background-color:var(--bg-secondary);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.channel-group{margin:calc(6px * var(--sp,1)) 0}.channel-group-header{align-items:center;gap:calc(4px * var(--sp,1));padding:calc(4px * var(--sp,1)) calc(12px * var(--sp,1));margin-bottom:calc(4px * var(--sp,1));display:flex}.channel-group-header--collapsible{cursor:pointer;border-radius:4px}.channel-group-header--collapsible:hover{background-color:var(--bg-tertiary)}.channel-group-header__chevron{color:var(--text-secondary);flex-shrink:0;align-items:center;display:flex}.channel-group-header__toggle{all:unset;box-sizing:border-box;align-items:center;gap:calc(2px * var(--sp,1));cursor:pointer;color:inherit;flex:1;min-width:0;display:flex}.channel-group-header__toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:2px}.channel-group-header span{font-size:calc(11px * var(--font-scale,1));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.channel-group-header__count{background:var(--accent-primary);min-width:16px;height:16px;color:var(--bg-primary);font-size:calc(10px * var(--font-scale,1));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0 4px;font-weight:700;display:flex}.channel-group-header__voice-users{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.channel-group-header__avatar{background:var(--bg-tertiary);border:2px solid var(--bg-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:-6px;display:flex;position:relative;overflow:hidden}.channel-group-header__avatar:first-child{margin-left:0}.channel-group-header__avatar img{object-fit:cover;width:100%;height:100%}.channel-group-header__avatar span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:0;font-size:8px;font-weight:700}.channel-group-header__avatar-overflow{font-size:calc(9px * var(--font-scale,1));color:var(--text-muted);flex-shrink:0;margin-left:2px;font-weight:600}.channel-group-header__voice-users+.channel-group-header__count{margin-left:calc(6px * var(--sp,1))}.channel-group--uncategorized{margin-top:calc(2px * var(--sp,1))}.channel-item-wrapper{padding:0 calc(8px * var(--sp,1))}.channel-item{font:inherit;color:inherit;text-align:left;box-sizing:border-box;width:100%;padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));margin:calc(2px * var(--sp,1)) 0;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-left:3px solid #0000;border-radius:4px;align-items:center;transition:all .15s;display:flex;position:relative}.channel-item:hover{background-color:var(--bg-tertiary)}.channel-item.active{background-color:var(--bg-tertiary);color:var(--text-primary);border-left:3px solid var(--accent-primary);border-right:3px solid var(--accent-primary);padding-left:calc(9px * var(--sp,1));padding-right:calc(9px * var(--sp,1));font-weight:600}.channel-item.active:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:6px solid var(--accent-primary);width:0;height:0;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.channel-type-icon{margin-right:calc(6px * var(--sp,1));color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;min-width:16px;display:flex}.channel-item.active .channel-type-icon{color:var(--accent-primary)}.channel-item.active .channel-name{color:var(--text-primary);font-weight:700}.channel-custom-emoji{margin-right:calc(6px * var(--sp,1));font-size:calc(16px * var(--font-scale,1));flex-shrink:0;line-height:1}.channel-name{font-size:calc(14px * var(--font-scale,1));text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;font-weight:500;overflow:hidden}.channel-encrypted-icon{color:var(--text-muted,var(--text-tertiary));margin-left:calc(4px * var(--sp,1));opacity:.6;flex-shrink:0;align-items:center;display:flex}.channel-draft-indicator{color:var(--text-muted);opacity:.7;flex-shrink:0;align-items:center;margin-left:auto;margin-right:4px;display:flex}.channel-unread-badge{background:var(--accent-primary);min-width:18px;height:18px;color:var(--bg-primary);font-size:calc(11px * var(--font-scale,1));margin-left:calc(6px * var(--sp,1));border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0 5px;font-weight:700;display:flex}.channel-item.has-unread .channel-name{color:var(--text-primary);font-weight:700}.channel-list-skeletons{padding:calc(12px * var(--sp,1))}.channel-skeleton{background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-tertiary) 50%, var(--bg-secondary) 75%);height:32px;margin-bottom:calc(8px * var(--sp,1));background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.channel-list-error{padding:calc(20px * var(--sp,1));text-align:center;color:var(--error-color)}.channel-list-error p{margin-bottom:calc(12px * var(--sp,1));font-size:calc(14px * var(--font-scale,1))}.retry-btn{padding:calc(8px * var(--sp,1)) calc(16px * var(--sp,1));background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;font-size:calc(14px * var(--font-scale,1));border-radius:4px;transition:all .2s}.retry-btn:hover{background-color:var(--bg-tertiary);border-color:var(--accent-primary)}.channel-list-empty{padding:calc(40px * var(--sp,1)) calc(20px * var(--sp,1));text-align:center;color:var(--text-secondary)}.channel-list-empty p{margin-bottom:calc(8px * var(--sp,1));font-size:calc(14px * var(--font-scale,1))}.channel-list-empty-hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-tertiary)}.channel-item-wrapper--grouped{flex-direction:column;display:flex;position:relative}.channel-item-wrapper--grouped:before{content:"";left:calc(18px * var(--sp,1));border-left:1.5px solid var(--border-color);pointer-events:none;z-index:1;position:absolute;top:0;bottom:0}.channel-group-header+.channel-item-wrapper--grouped:before{top:calc(-6px * var(--sp,1))}.channel-item-wrapper--grouped:not(:has(~.channel-item-wrapper--grouped)):before{height:calc(50% - 6px);bottom:auto}.channel-group-header+.channel-item-wrapper--grouped:not(:has(~.channel-item-wrapper--grouped)):before{display:none}.channel-item--grouped{width:auto;margin-left:calc(22px * var(--sp,1));padding-left:calc(8px * var(--sp,1))}.channel-item--grouped:before{content:"";left:calc(-12px * var(--sp,1) - 3px);height:50%;width:calc(9px * var(--sp,1));border-left:1.5px solid var(--border-color);border-bottom:1.5px solid var(--border-color);pointer-events:none;z-index:1;border-bottom-left-radius:6px;position:absolute;top:0}.channel-item--grouped.active{border-left:3px solid var(--accent-primary);border-right:3px solid var(--accent-primary);padding-left:calc(8px * var(--sp,1));padding-right:calc(9px * var(--sp,1))}.channel-item-wrapper:has(+.voice-channel-sub-container){z-index:1;position:relative}.voice-channel-sub-container{margin:-33px calc(8px * var(--sp,1) + 5px) 0 calc(8px * var(--sp,1) + 4px);padding:35px 0 calc(4px * var(--sp,1));background:color-mix(in srgb, var(--bg-tertiary) 40%, var(--bg-secondary) 60%);cursor:pointer;border-radius:4px;transition:background .15s;position:relative;box-shadow:0 3px 8px #00000059}.voice-channel-sub-container--active{background:var(--bg-tertiary)}.voice-channel-sub-container--grouped{margin-left:calc(30px * var(--sp,1) + 4px)}.voice-channel-sub-container--grouped:has(~.channel-item-wrapper--grouped):before{content:"";left:calc(-12px * var(--sp,1) - 4px);border-left:1.5px solid var(--border-color);pointer-events:none;z-index:1;position:absolute;top:0;bottom:0}.voice-channel-sub-container .channel-item--voice-text{margin-left:calc(30px * var(--sp,1))}.voice-channel-sub-container .channel-item--voice-text-grouped{margin-left:calc(36px * var(--sp,1))}.voice-channel-sub-container .voice-channel-participants{padding-left:calc(12px * var(--sp,1))}.voice-channel-sub-container .voice-channel-participants--grouped{padding-left:calc(20px * var(--sp,1))}.channel-item--voice-text{font:inherit;color:inherit;margin-left:calc(36px * var(--sp,1));padding:calc(2px * var(--sp,1)) calc(6px * var(--sp,1));cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:3px;align-items:center;display:flex;position:relative}.channel-item--voice-text:hover{background-color:var(--bg-tertiary)}.channel-item--voice-text:before{content:"";left:calc(-8px * var(--sp,1));top:calc(-2px * var(--sp,1));height:calc(50% + 2px * var(--sp,1));width:calc(8px * var(--sp,1));border-left:1.5px solid var(--border-color);border-bottom:1.5px solid var(--border-color);pointer-events:none;z-index:1;border-bottom-left-radius:5px;position:absolute}.channel-item--voice-text-grouped{margin-left:calc(70px * var(--sp,1))}.channel-item--voice-text-grouped:before{left:calc(-16px * var(--sp,1));width:calc(16px * var(--sp,1))}.channel-item--voice-text .channel-name{font-size:calc(11px * var(--font-scale,1));color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.channel-item--voice-text .channel-type-icon{color:var(--text-muted);margin-right:calc(3px * var(--sp,1));flex-shrink:0;align-items:center;min-width:12px;display:flex}.channel-item--voice-text.active .channel-name{color:var(--text-primary);font-weight:600}.voice-channel-participants{padding:2px 0 4px calc(24px * var(--sp,1))}.voice-channel-participants--grouped{padding-left:calc(54px * var(--sp,1))}.voice-channel-participant{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);border-radius:3px;align-items:center;gap:6px;padding:2px 8px;display:flex}.voice-channel-participant.speaking{color:var(--success)}.voice-channel-participant-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.voice-channel-participant__icon--server-enforced{color:var(--warning);align-items:center;display:inline-flex;position:relative}.voice-channel-participant__lock{position:absolute;bottom:-1px;right:-3px}.voice-channel-participant__icon--muted{color:var(--danger)}.channel-item[draggable=true],.channel-group-header[draggable=true]{cursor:pointer}.channel-item[draggable=true]:active,.channel-group-header[draggable=true]:active{cursor:grabbing}.channel-item.dragging,.channel-group-header.dragging{opacity:.4}.channel-group-header.drag-over{background-color:color-mix(in srgb, var(--accent-primary) 15%, transparent);border-radius:4px}.channel-drag-ghost{background:var(--accent-primary);pointer-events:none;border-radius:1px;height:2px;margin:0}.channel-drag-gap{height:0;margin:0 calc(8px * var(--sp,1));border-radius:4px;transition:height .1s,background-color .15s;overflow:hidden}.channel-drag-gap--visible{height:8px}.channel-drag-gap--active{background-color:color-mix(in srgb, var(--accent-primary) 25%, transparent);box-shadow:inset 0 0 0 1.5px var(--accent-primary)}.channel-list::-webkit-scrollbar{width:8px}.channel-list::-webkit-scrollbar-track{background:0 0}.channel-list::-webkit-scrollbar-thumb{background-color:var(--bg-tertiary);border-radius:4px}.channel-list::-webkit-scrollbar-thumb:hover{background-color:var(--border-color)}.channel-actions-spacer{border-bottom:1px solid var(--border-color)}.channel-actions-strip{border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);justify-content:center;align-items:stretch;display:flex;position:relative}.channel-action-item{padding:calc(8px * var(--sp,1)) 0 calc(6px * var(--sp,1));color:var(--text-muted);font-size:calc(11px * var(--font-scale,1));cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-weight:500;transition:color .15s,background-color .15s;display:flex}.channel-actions-strip.single .channel-action-item{padding:calc(8px * var(--sp,1)) calc(32px * var(--sp,1)) calc(6px * var(--sp,1));flex:none}.channel-action-item:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.channel-action-item.active{color:var(--accent-primary)}.channel-action-divider{background-color:var(--border-color);width:1px;margin:calc(6px * var(--sp,1)) 0;align-self:stretch}.add-menu-popup{background:var(--bg-primary);border:1px solid var(--border-color);padding:calc(4px * var(--sp,1));z-index:100;border-radius:8px;flex-direction:column;min-width:140px;display:flex;position:absolute;top:calc(100% + 4px);left:12px;box-shadow:0 4px 16px #0000004d}.add-menu-item{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));color:var(--text-secondary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;font-weight:500;transition:all .15s;display:flex}.add-menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.invite-popup{background:var(--bg-primary);border:1px solid var(--border-color);padding:calc(12px * var(--sp,1));z-index:100;border-radius:8px;flex-direction:column;gap:0;display:flex;position:absolute;top:calc(100% + 4px);left:12px;right:12px;box-shadow:0 4px 16px #0000004d}.invite-popup-section{gap:calc(8px * var(--sp,1));flex-direction:column;display:flex}.invite-popup-divider{background:var(--border-color);height:1px;margin:calc(10px * var(--sp,1)) 0}.invite-popup-header{font-size:calc(11px * var(--font-scale,1));text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;font-weight:600}.invite-popup-code{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:calc(18px * var(--font-scale,1));letter-spacing:.2em;text-align:center;padding:calc(8px * var(--sp,1));background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);-webkit-user-select:all;user-select:all;border-radius:6px}.invite-popup-action-btn{padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));background:var(--gradient-brand,var(--accent-primary));color:var(--bg-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;justify-content:center;align-items:center;gap:calc(6px * var(--sp,1));border:none;border-radius:6px;font-weight:600;transition:all .15s;display:flex}.invite-popup-action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #fa709a4d}.invite-popup-action-btn:disabled{opacity:.5;cursor:not-allowed}.invite-popup-action-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.invite-popup-action-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary);box-shadow:none;transform:none}.invite-popup-hint{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-align:center}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out modalOverlayFadeIn;display:flex;position:fixed;inset:0}.modal-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;max-height:90vh;animation:.3s ease-out modalSlideIn;display:flex;overflow-y:auto;box-shadow:0 8px 32px #00000080}.modal-small{width:400px}.modal-medium{width:480px}.modal-large{width:600px}.modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.modal-title{font-size:calc(20px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;margin:0;font-family:Droidiga,sans-serif;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.modal-close:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.modal-body{padding:20px 24px 24px}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay .modal-overlay{z-index:1001}[data-reduce-animations=true] .modal-overlay,[data-reduce-animations=true] .modal-container{animation:none}.server-action-choices{flex-direction:column;gap:12px;display:flex}.server-action-choice{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);border-radius:10px;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.server-action-choice:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}.server-action-choice:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.server-action-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.server-action-icon.create{color:var(--success);background:#43b5811f}.server-action-icon.join{color:var(--accent-primary);background:#fa709a1f}.server-action-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.server-action-title{font-size:calc(15px * var(--font-scale,1));color:var(--text-primary);font-family:Droidiga,sans-serif;font-weight:700}.server-action-desc{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);line-height:1.4}.server-action-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.server-action-choice:hover .server-action-arrow{color:var(--accent-primary);transform:translate(2px)}.image-crop-preview{appearance:none;font:inherit;color:inherit;text-align:inherit;background:var(--bg-tertiary);cursor:grab;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;width:100%;margin:0;padding:0;position:relative;overflow:hidden}.image-crop-preview:active{cursor:grabbing}.image-crop-canvas{width:100%;height:auto;display:block}.image-crop-controls{align-items:center;gap:12px;margin-top:16px;padding:0 4px;display:flex}.image-crop-zoom-label{font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);white-space:nowrap;font-family:SourceSans,sans-serif}.image-crop-zoom-slider{appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none;flex:1;height:4px}.image-crop-zoom-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);cursor:pointer;border:2px solid var(--bg-secondary);border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000004d}.image-crop-zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.image-crop-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.image-crop-hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);text-align:center;margin-top:8px;font-family:SourceSans,sans-serif}.image-crop-warning{font-size:calc(12px * var(--font-scale,1));color:var(--warning,#f0a030);text-align:center;margin-top:8px;font-family:SourceSans,sans-serif}.image-crop-error{font-size:calc(12px * var(--font-scale,1));color:var(--danger,#f04747);text-align:center;margin-top:8px;font-family:SourceSans,sans-serif}.image-crop-loading{height:300px;color:var(--text-muted);font-size:calc(14px * var(--font-scale,1));justify-content:center;align-items:center;font-family:SourceSans,sans-serif;display:flex}.create-server-form{flex-direction:column;gap:20px;display:flex}.server-icon-upload{flex-direction:column;align-items:center;gap:8px;display:flex}.icon-upload-area{border:2px dashed var(--border-color);cursor:pointer;background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:all .2s;display:flex;overflow:hidden}.icon-upload-area:hover{border-color:var(--accent-primary);background:#fa709a0d}.icon-upload-area:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.icon-preview{object-fit:cover;border-radius:50%;width:100%;height:100%}.icon-placeholder{color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;display:flex}.icon-placeholder-text{font-size:calc(11px * var(--font-scale,1));text-transform:uppercase;letter-spacing:.3px;font-weight:600}.icon-remove-btn{color:var(--danger);font-size:calc(12px * var(--font-scale,1));cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-weight:600;transition:all .2s}.icon-remove-btn:hover{background:#f047471a}.server-banner-upload{margin-bottom:0}.banner-upload-area{background:var(--bg-tertiary);border:2px dashed var(--border-color);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:100%;height:100px;margin-top:8px;transition:all .2s;display:flex;overflow:hidden}.banner-upload-area:hover{border-color:var(--accent-primary)}.banner-upload-area:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.banner-preview{object-fit:cover;width:100%;height:100%}.banner-placeholder{color:var(--text-muted);font-size:calc(13px * var(--font-scale,1));flex-direction:column;align-items:center;gap:4px;display:flex}.banner-upload-actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}.banner-upload-hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary)}.form-success-banner{color:var(--success);font-size:calc(13px * var(--font-scale,1));background:#43b5811f;border:1px solid #43b58166;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-weight:500;animation:.3s ease-out fadeInSlide;display:flex}.form-success-banner:before{content:"✓";font-size:calc(16px * var(--font-scale,1));flex-shrink:0}.server-e2ee-toggle{background-color:var(--bg-tertiary);border:2px solid var(--border-color);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px;transition:all .2s;display:flex}.server-e2ee-toggle:hover:not(:disabled){background-color:var(--bg-hover,var(--bg-secondary))}.server-e2ee-toggle.enabled{border-color:var(--success,#43b581)}.server-e2ee-toggle.enabled .server-e2ee-toggle-icon{color:var(--success,#43b581)}.server-e2ee-toggle.disabled .server-e2ee-toggle-icon{color:var(--text-muted)}.server-e2ee-toggle:disabled{opacity:.6;cursor:not-allowed}.server-e2ee-toggle-icon{justify-content:center;align-items:center;min-width:28px;display:flex}.server-e2ee-toggle-info{flex-direction:column;flex:1;gap:2px;display:flex}.server-e2ee-toggle-name{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.server-e2ee-toggle-desc{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary)}.server-e2ee-switch{background-color:var(--bg-secondary);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background-color .2s;position:relative}.server-e2ee-switch.on{background-color:var(--success,#43b581)}.server-e2ee-knob{background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.server-e2ee-switch.on .server-e2ee-knob{transform:translate(18px)}.create-server-actions{justify-content:flex-end;gap:12px;display:flex}.create-server-cancel-btn{border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.create-server-cancel-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-tertiary)}.create-server-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.create-server-submit-btn{background:var(--gradient-brand);color:var(--bg-primary);font-size:calc(14px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s;display:flex}.create-server-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fa709a4d}.create-server-submit-btn:active:not(:disabled){transform:translateY(0)}.create-server-submit-btn:disabled{opacity:.8;cursor:not-allowed;animation:2s ease-in-out infinite buttonPulse}.create-server-submit-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.join-server-form{flex-direction:column;gap:20px;display:flex}.join-code-input{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:calc(20px * var(--font-scale,1));letter-spacing:.2em;text-align:center;padding:14px 16px}.join-preview-loading{color:var(--text-muted);font-size:calc(13px * var(--font-scale,1));justify-content:center;align-items:center;gap:10px;padding:16px;display:flex}.join-server-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:14px;padding:16px;animation:.3s ease-out fadeInSlide;display:flex}.join-preview-icon{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.join-preview-icon img{object-fit:cover;width:100%;height:100%}.join-preview-initial{font-size:calc(20px * var(--font-scale,1));color:var(--text-primary);font-family:Droidiga,sans-serif;font-weight:700}.join-preview-info{flex-direction:column;gap:2px;display:flex}.join-preview-name{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);font-weight:700}.join-preview-members{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.join-server-actions{justify-content:flex-end;gap:12px;display:flex}.join-server-cancel-btn{border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.join-server-cancel-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-tertiary)}.join-server-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.join-server-submit-btn{background:var(--gradient-brand);color:var(--bg-primary);font-size:calc(14px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s;display:flex}.join-server-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fa709a4d}.join-server-submit-btn:active:not(:disabled){transform:translateY(0)}.join-server-submit-btn:disabled{opacity:.5;cursor:not-allowed}.join-server-submit-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.create-channel-form{flex-direction:column;gap:20px;padding:4px;display:flex}.channel-form-group{flex-direction:column;gap:8px;display:flex}.channel-form-label{color:var(--text-primary);font-size:14px;font-weight:600}.channel-form-label .required{color:var(--error-color)}.channel-form-input{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:10px 12px;font-size:14px;transition:border-color .2s}.channel-form-input:focus{border-color:var(--accent-color);outline:none}.channel-form-input.error{border-color:var(--error-color)}.channel-form-input:disabled{opacity:.6;cursor:not-allowed}.emoji-input-wrapper{position:relative}.emoji-input-container{align-items:center;gap:8px;display:flex}.emoji-picker-button{background-color:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-color);font-size:calc(13px * var(--font-scale,1));cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:8px 14px;transition:all .15s;display:flex}.emoji-picker-button:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--accent-color);color:var(--text-secondary)}.emoji-picker-button.has-emoji{color:var(--text-primary)}.emoji-picker-button:disabled{opacity:.6;cursor:not-allowed}.emoji-picker-button-emoji{font-size:22px;line-height:1}.emoji-picker-button-placeholder{font-size:calc(13px * var(--font-scale,1))}.emoji-clear-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-size:calc(13px * var(--font-scale,1));background:0 0;border-radius:6px;justify-content:center;align-items:center;min-height:40px;padding:8px 10px;line-height:1;transition:all .15s;display:flex}.emoji-clear-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background-color:var(--bg-hover)}.emoji-clear-btn:disabled{opacity:.6;cursor:not-allowed}.emoji-picker-container{z-index:1000;border-radius:8px;margin-top:8px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.channel-form-hint{color:var(--text-tertiary);font-size:12px}.channel-form-error{color:var(--error-color);font-size:12px}.channel-form-error-banner{border:1px solid var(--error-color);color:var(--error-color);background-color:#dc26261a;border-radius:4px;padding:12px;font-size:14px}.channel-form-success-banner{border:1px solid var(--success-color,#22c55e);color:var(--success-color,#22c55e);background-color:#22c55e1a;border-radius:4px;padding:12px;font-size:14px}.channel-type-selector{flex-direction:column;gap:8px;display:flex}.channel-type-option{background-color:var(--bg-tertiary);border:2px solid var(--border-color);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.channel-type-option:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--accent-color)}.channel-type-option.selected{background-color:var(--bg-active);border-color:var(--accent-color)}.channel-type-option:disabled{opacity:.6;cursor:not-allowed}.channel-type-icon{justify-content:center;align-items:center;min-width:32px;font-size:24px;display:flex}.channel-type-option.selected .channel-type-icon{color:var(--accent-color)}.channel-type-info{flex-direction:column;gap:2px;display:flex}.channel-type-name{color:var(--text-primary);font-size:14px;font-weight:600}.channel-type-desc{color:var(--text-secondary);font-size:12px}.e2ee-toggle-option{background-color:var(--bg-tertiary);border:2px solid var(--border-color);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:12px;width:100%;padding:12px;transition:all .2s;display:flex}.e2ee-toggle-option:hover:not(:disabled){background-color:var(--bg-hover)}.e2ee-toggle-option.enabled{border-color:var(--success-color,#22c55e)}.e2ee-toggle-option.enabled .e2ee-toggle-icon{color:var(--success-color,#22c55e)}.e2ee-toggle-option.disabled .e2ee-toggle-icon{color:var(--text-tertiary)}.e2ee-toggle-option:disabled{opacity:.6;cursor:not-allowed}.e2ee-toggle-icon{justify-content:center;align-items:center;min-width:32px;display:flex}.e2ee-toggle-info{flex-direction:column;flex:1;gap:2px;display:flex}.e2ee-toggle-name{color:var(--text-primary);font-size:14px;font-weight:600}.e2ee-toggle-desc{color:var(--text-secondary);font-size:12px}.e2ee-toggle-switch{background-color:var(--bg-secondary);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background-color .2s;position:relative}.e2ee-toggle-switch.on{background-color:var(--success-color,#22c55e)}.e2ee-toggle-knob{background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.e2ee-toggle-switch.on .e2ee-toggle-knob{transform:translate(18px)}.e2ee-warning{color:var(--text-tertiary);font-style:italic}.form-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.btn{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover)}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:active:not(:disabled){transform:scale(.98)}.delete-server-content{flex-direction:column;gap:20px;display:flex}.delete-server-warning{background:#f0474714;border:1px solid #f047474d;border-radius:8px;gap:12px;padding:16px;display:flex}.delete-server-warning .warning-icon{color:var(--danger);flex-shrink:0;margin-top:2px}.delete-server-warning p{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);margin:0;line-height:1.5}.delete-server-warning strong{color:var(--text-primary)}.delete-server-confirm{flex-direction:column;gap:6px;display:flex}.delete-server-confirm .form-label strong{color:var(--text-primary)}.delete-server-actions{justify-content:flex-end;gap:12px;display:flex}.delete-server-cancel-btn{border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.delete-server-cancel-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-tertiary)}.delete-server-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.delete-server-confirm-btn{background:var(--danger);color:var(--on-accent);font-size:calc(14px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s;display:flex}.delete-server-confirm-btn:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px #f047474d}.delete-server-confirm-btn:active:not(:disabled){transform:translateY(0)}.delete-server-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.delete-server-confirm-btn:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.invite-modal{flex-direction:column;gap:20px;display:flex}.invite-modal-server{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.invite-modal-server-icon{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.invite-modal-server-icon img{object-fit:cover;width:100%;height:100%}.invite-modal-server-icon span{font-size:calc(18px * var(--font-scale,1));color:var(--text-primary);font-family:Droidiga,sans-serif;font-weight:700}.invite-modal-server-name{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);font-weight:700}.invite-modal-section{flex-direction:column;gap:10px;display:flex}.invite-modal-section-title{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-weight:700}.invite-modal-section-desc{font-size:calc(13px * var(--font-scale,1));color:var(--text-muted);margin:0;line-height:1.4}.invite-modal-options{gap:12px;display:flex}.invite-option-group{flex-direction:column;flex:1;gap:4px;display:flex}.invite-option-label{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);font-weight:600}.invite-option-select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;border-radius:6px;outline:none;padding:8px 10px;font-family:SourceSans,sans-serif;transition:border-color .15s}.invite-option-select:hover,.invite-option-select:focus{border-color:var(--accent-primary)}.invite-option-select:disabled{opacity:.5;cursor:not-allowed}.invite-code-display{align-items:center;gap:8px;animation:.3s ease-out fadeInSlide;display:flex}.invite-code-value{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:calc(18px * var(--font-scale,1));letter-spacing:.15em;text-align:center;cursor:text;border-radius:8px;outline:none;flex:1;padding:12px 14px;transition:border-color .15s}.invite-code-value:focus{border-color:var(--accent-primary)}.invite-code-copy-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:12px 16px;font-weight:600;transition:all .15s;display:flex}.invite-code-copy-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-secondary)}.invite-generate-btn{background:var(--gradient-brand);color:var(--bg-primary);font-size:calc(14px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:Droidiga,sans-serif;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex}.invite-generate-btn:hover:not(:disabled){background:var(--gradient-brand);color:var(--bg-primary);transform:translateY(-1px);box-shadow:0 4px 12px #fa709a4d}.invite-generate-btn:active:not(:disabled){transform:translateY(0)}.invite-generate-btn:disabled{opacity:.5;cursor:not-allowed}.invite-existing-list{flex-direction:column;gap:6px;max-height:160px;display:flex;overflow-y:auto}.invite-existing-list::-webkit-scrollbar{width:6px}.invite-existing-list::-webkit-scrollbar-track{background:0 0}.invite-existing-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.invite-existing-item{background:var(--bg-tertiary);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;transition:background .15s;display:flex}.invite-existing-item:hover{background:var(--bg-secondary)}.invite-existing-info{flex-direction:column;gap:2px;display:flex}.invite-existing-code{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.1em}.invite-existing-meta{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted)}.invite-existing-copy{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.invite-existing-copy:hover{color:var(--text-primary);background:var(--bg-tertiary)}.permission-grid{flex-direction:column;gap:16px;display:flex}.permission-category{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.permission-category-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-family:Droidiga,sans-serif;font-size:calc(13px * var(--font-scale,1));letter-spacing:.08em;color:var(--text-secondary);padding:12px 16px}.permission-row{justify-content:space-between;align-items:center;padding:12px 16px;transition:background .2s;display:flex}.permission-row:not(:last-child){border-bottom:1px solid var(--border-color)}.permission-row:hover{background:var(--bg-tertiary)}.permission-row.disabled{opacity:.5;pointer-events:none}.permission-info{flex-direction:column;flex:1;gap:2px;min-width:0;margin-right:16px;display:flex}.permission-label{font-family:SourceSans,sans-serif;font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.permission-description{font-family:SourceSans,sans-serif;font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);line-height:1.4}.permission-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:all .2s;position:relative}.permission-toggle.active{background:var(--accent-primary);border-color:var(--accent-primary)}.permission-toggle-knob{background:var(--text-secondary);border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:2px;left:2px}.permission-toggle.active .permission-toggle-knob{background:#fff;left:18px}.permission-tristate{flex-shrink:0;gap:4px;display:flex}.permission-tristate-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-size:calc(14px * var(--font-scale,1));border-radius:4px;justify-content:center;align-items:center;padding:0;line-height:1;transition:all .2s;display:flex}.permission-tristate-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.permission-tristate-btn.allow-active{background:var(--success-color);border-color:var(--success-color);color:#fff}.permission-tristate-btn.neutral-active{background:var(--bg-primary);border-color:var(--text-muted);color:var(--text-secondary)}.permission-tristate-btn.deny-active{background:var(--error-color);border-color:var(--error-color);color:#fff}.override-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.override-item{background:var(--bg-tertiary);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.override-item-select{min-width:0;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.override-item:hover{background:var(--bg-primary)}.override-item.selected{outline:1px solid var(--accent-primary)}.override-target{flex:1;align-items:center;gap:8px;display:flex}.override-target-name{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);font-weight:500}.override-target-type{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.override-summary{font-size:calc(12px * var(--font-scale,1));gap:8px;display:flex}.override-allow-count{color:var(--success-color)}.override-deny-count{color:var(--error-color)}.override-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .15s}.override-delete-btn:hover{color:var(--error-color);background:var(--bg-secondary)}.add-override-section{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;padding-top:16px;display:flex}.add-override-row{align-items:center;gap:12px;display:flex}.add-override-select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(13px * var(--font-scale,1));border-radius:6px;flex:1;padding:8px 12px}.add-override-btn{background:var(--gradient-brand);color:var(--bg-primary);font-family:Droidiga,sans-serif;font-weight:700;font-size:calc(12px * var(--font-scale,1));cursor:pointer;letter-spacing:.5px;border:none;border-radius:6px;padding:8px 20px;transition:all .2s}.add-override-btn:hover:not(:disabled){transform:translateY(-1px)}.add-override-btn:disabled{opacity:.5;cursor:not-allowed}.section-header{font-family:Droidiga,sans-serif;font-size:calc(12px * var(--font-scale,1));letter-spacing:1px;color:var(--text-muted);margin-bottom:8px}.no-overrides{text-align:center;color:var(--text-muted);font-size:calc(13px * var(--font-scale,1));padding:20px}.sync-section{background:var(--bg-tertiary);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.sync-label{flex-direction:column;gap:4px;display:flex}.sync-label-text{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);font-weight:500}.sync-label-hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.sync-toggle{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:11px;width:40px;height:22px;transition:all .2s;position:relative}.sync-toggle.active{background:var(--accent-primary);border-color:var(--accent-primary)}.sync-toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.sync-toggle.active:after{transform:translate(18px)}.synced-notice{background:var(--bg-tertiary);border-left:3px solid var(--accent-primary);color:var(--text-muted);font-size:calc(12px * var(--font-scale,1));border-radius:6px;padding:10px 14px;font-style:italic}.server-ctx-name{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-family:SourceSans,sans-serif;font-weight:600;overflow:hidden}.server-ctx-role{font-size:calc(11px * var(--font-scale,1));text-transform:capitalize;font-weight:500}.server-ctx-role.role-owner{color:var(--accent-primary)}.server-ctx-role.role-admin{color:var(--accent-secondary)}.server-ctx-role.role-member{color:var(--text-muted)}.channel-ctx-type-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.channel-ctx-emoji{flex-shrink:0;font-size:16px;line-height:1}.channel-ctx-name{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.connection-status{padding:calc(4px * var(--sp,1)) calc(10px * var(--sp,1));font-size:calc(12px * var(--font-scale,1));white-space:nowrap;min-width:calc(120px * var(--font-scale,1));border-radius:12px;flex-shrink:0;align-self:flex-start;align-items:center;font-weight:500;transition:all .2s;display:flex}.connection-status.connected{background-color:color-mix(in srgb, var(--status-connected) 10%, transparent);color:var(--status-connected)}.connection-status.connecting{background-color:color-mix(in srgb, var(--status-connecting) 10%, transparent);color:var(--status-connecting)}.connection-status.disconnected{background-color:color-mix(in srgb, var(--status-disconnected) 10%, transparent);color:var(--status-disconnected)}.status-dot{width:8px;height:8px;margin-right:calc(6px * var(--sp,1));border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite pulse}.connection-status.connected .status-dot{background-color:var(--status-connected)}.connection-status.connecting .status-dot{background-color:var(--status-connecting);animation:1.5s ease-in-out infinite blink}.connection-status.disconnected .status-dot{background-color:var(--status-disconnected);animation:1.5s ease-in-out infinite blink}.status-text{text-align:center;font-size:calc(11px * var(--font-scale,1));text-transform:uppercase;letter-spacing:.5px;flex:1}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.reaction-bar{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.reaction-chip{background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;padding:2px 6px;font-size:14px;line-height:1.4;transition:background-color .15s,border-color .15s;display:inline-flex}.reaction-chip:hover{background:var(--bg-hover)}.reaction-chip-active{border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 15%, transparent)}.reaction-chip-active:hover{background:color-mix(in srgb, var(--accent-color) 25%, transparent)}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{color:var(--text-secondary);text-align:center;min-width:8px;font-size:12px}.reaction-chip-active .reaction-count{color:var(--accent-color)}.reaction-add-btn{border:1px dashed var(--border-color,#ffffff1a);cursor:pointer;width:26px;height:26px;color:var(--text-tertiary);opacity:0;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s,background-color .15s;display:inline-flex}.message:hover .reaction-add-btn,.reaction-bar:hover .reaction-add-btn,.reaction-add-btn:focus-visible{opacity:1}.reaction-add-btn:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes reactionPop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.reaction-chip-enter{animation:.2s ease-out reactionPop}.reply-preview-bar{font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);background:var(--bg-secondary);text-align:left;border:none;border-radius:4px;align-items:center;gap:8px;width:100%;padding:6px 12px;font-family:inherit;display:flex;overflow:hidden}.reply-preview-indicator{background:var(--accent-color,#5865f2);border-radius:2px;flex-shrink:0;align-self:stretch;width:3px}.reply-preview-content{align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.reply-preview-author{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-weight:600}.reply-preview-snippet{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reply-preview-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px}.reply-preview-cancel:hover{color:var(--text-primary)}.reply-preview-input{margin-bottom:6px}.reply-preview-inline{cursor:default;background:0 0;padding:4px 0}.reply-preview-inline.reply-clickable{cursor:pointer}.reply-preview-inline.reply-clickable:hover{background:var(--bg-secondary);border-radius:4px}.reply-deleted .reply-preview-snippet{color:var(--text-muted);font-style:italic}.reply-deleted .reply-preview-indicator{background:var(--text-muted)}.delete-message-content{flex-direction:column;gap:16px;display:flex}.delete-message-warning{background:#f0474714;border:1px solid #f047474d;border-radius:8px;gap:12px;padding:16px;display:flex}.delete-message-warning .warning-icon{color:var(--danger);flex-shrink:0;margin-top:2px}.delete-message-warning p{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);margin:0;line-height:1.5}.delete-message-hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.delete-message-hint kbd{font-size:calc(11px * var(--font-scale,1));background:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:0 1px 0 var(--border-color);border-radius:4px;padding:1px 5px;font-family:SourceSans,monospace;display:inline-block}.delete-message-actions{justify-content:flex-end;gap:12px;display:flex}.delete-message-cancel-btn{border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-weight:600;transition:all .2s}.delete-message-cancel-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-tertiary)}.delete-message-confirm-btn{background:var(--danger);color:var(--on-accent);font-size:calc(14px * var(--font-scale,1));letter-spacing:.5px;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-family:Droidiga,sans-serif;font-weight:700;transition:all .2s}.delete-message-confirm-btn:hover{background:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px #f047474d}.delete-message-confirm-btn:active{transform:translateY(0)}.delete-message-confirm-btn:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.spoiler{background-color:var(--spoiler-bg,#0009);color:#0000;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:4px;margin:0;padding:0 2px;transition:background-color .12s,color .12s;display:inline}.spoiler:hover{background-color:var(--spoiler-bg-hover,#00000073)}.spoiler-revealed{background-color:var(--spoiler-bg-revealed,#00000014);color:inherit;-webkit-user-select:text;user-select:text}.spoiler:focus-visible{outline:2px solid var(--focus-ring,#4a90e2);outline-offset:1px}.markdown-content{word-break:break-word}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 6px;line-height:1.45}.markdown-content pre{background:var(--surface-2,#f5f5f5);border-radius:4px;margin:4px 0;padding:8px 10px;overflow-x:auto}.markdown-content code{font-family:var(--code-font,Menlo, Consolas, monospace);font-size:.88em}.markdown-content :not(pre)>code{background:var(--surface-2,#0000000f);border-radius:3px;padding:1px 4px}.markdown-content blockquote{border-left:3px solid var(--accent,#4a90e2);color:var(--text-secondary,#666);margin:4px 0;padding-left:10px}.markdown-content ul,.markdown-content ol{margin:4px 0;padding-left:22px}.markdown-content li>p{margin:0}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:8px 0 4px;line-height:1.25}.markdown-content h1{font-size:1.6em}.markdown-content h2{font-size:1.3em}.markdown-content h3{font-size:1.1em}.markdown-content hr{border:none;border-top:1px solid var(--border-subtle,#0000001f);margin:8px 0}.overflow-md-attachment{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:8px;margin-top:4px;padding:8px 10px;display:flex}.overflow-md-attachment__expand,.overflow-md-attachment__collapse{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:background .1s;display:inline-flex}.overflow-md-attachment__expand:hover,.overflow-md-attachment__collapse:hover{background:var(--bg-tertiary);color:var(--text-primary)}.overflow-md-attachment__spinner{color:var(--text-tertiary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.overflow-md-attachment--fallback{flex-direction:row;align-items:center;gap:8px}.overflow-md-attachment--fallback svg{color:var(--text-tertiary);flex-shrink:0}.overflow-md-attachment__filename{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.overflow-md-attachment__message{color:var(--text-tertiary);font-size:12px}.overflow-md-attachment .spinner{animation:1s linear infinite overflow-spin}@keyframes overflow-spin{to{transform:rotate(360deg)}}.attachment-display{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.attachment-image-container{background:var(--bg-secondary);border-radius:8px;max-width:400px;min-height:60px;position:relative;overflow:hidden}.attachment-image{object-fit:contain;cursor:pointer;border-radius:8px;width:100%;max-width:400px;height:100%;max-height:300px;display:block}.attachment-loading{min-width:120px;min-height:80px;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.attachment-error{color:var(--error-color);padding:12px 16px;font-size:12px}.attachment-media-container{max-width:400px}.attachment-video{border-radius:8px;max-width:400px;max-height:300px}.attachment-audio{width:300px}.attachment-load-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.attachment-load-btn:hover:not(:disabled){background:var(--bg-tertiary)}.attachment-load-btn-rich{text-align:left;min-width:220px}.attachment-load-info{flex-direction:column;min-width:0;display:flex}.attachment-load-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.attachment-load-meta{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.attachment-file-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:10px;min-width:200px;padding:10px 14px;display:flex}.attachment-file-card svg{color:var(--text-tertiary);flex-shrink:0}.attachment-file-info{flex-direction:column;flex:1;min-width:0;display:flex}.attachment-file-type{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.attachment-file-size{color:var(--text-tertiary);font-size:11px}.attachment-download-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.attachment-download-btn:hover{color:var(--accent-color);background:var(--bg-tertiary)}.attachment-reduced-motion-hint{color:#fff;font-size:calc(12px * var(--font-scale,1));pointer-events:none;background:#00000073;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{animation:1s linear infinite spin}.gif-embed{border-radius:8px;width:fit-content;max-width:400px;margin-top:2px;margin-bottom:0;line-height:0;display:block;position:relative;overflow:hidden}.gif-embed-image{object-fit:contain;opacity:0;border-radius:8px;width:100%;height:100%;transition:opacity .2s;display:block}.gif-embed-image.loaded{opacity:1}.gif-embed-video{object-fit:contain;border-radius:8px;width:100%;height:100%;display:block}.gif-embed-video.loaded{opacity:1}.gif-embed-skeleton{background:var(--bg-tertiary,#2a2a2e);border-radius:8px;width:100%;min-width:250px;height:100%;min-height:180px;animation:1.5s ease-in-out infinite gif-skeleton-pulse}@keyframes gif-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}.gif-embed-placeholder{border:1px dashed var(--border-primary,#444);background:var(--bg-secondary,#1e1e22);color:var(--text-secondary,#aaa);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;transition:background .15s;display:flex}.gif-embed-placeholder:hover{background:var(--bg-tertiary,#2a2a2e)}.gif-embed-error{background:var(--bg-secondary,#1e1e22);color:var(--text-muted,#777);border-radius:8px;align-items:center;gap:6px;padding:10px 14px;font-size:13px;display:flex}.gif-embed-attribution{color:#ffffff80;pointer-events:none;text-shadow:0 1px 2px #0009;font-size:9px;position:absolute;bottom:4px;right:6px}[data-reduce-animations=true] .gif-embed-skeleton{opacity:.5;animation:none}[data-reduce-animations=true] .gif-embed-image{transition:none}.member-profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;width:280px;animation:.15s memberProfileFadeIn;overflow:hidden;box-shadow:0 8px 24px #0006}@keyframes memberProfileFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.member-profile-banner{background:var(--gradient-brand);opacity:.6;height:60px}.member-profile-banner.has-image{opacity:1;background:var(--bg-tertiary)}.member-profile-banner-img{object-fit:cover;width:100%;height:100%}.member-profile-header{padding:0 calc(16px * var(--sp,1));margin-top:-24px;display:flex}.member-profile-avatar{background:var(--bg-tertiary);border:3px solid var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative;overflow:visible}.member-profile-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.member-profile-avatar-initial{width:100%;height:100%;font-size:calc(18px * var(--font-scale,1));color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.member-profile-status{border:3px solid var(--bg-secondary);border-radius:50%;width:14px;height:14px;position:absolute;bottom:-2px;right:-2px}.member-profile-status.online{background-color:var(--status-connected)}.member-profile-status.dnd{background-color:var(--status-disconnected)}.member-profile-status.offline,.member-profile-status.invisible{background-color:var(--text-muted)}.member-profile-body{padding:calc(12px * var(--sp,1)) calc(16px * var(--sp,1)) calc(16px * var(--sp,1))}.member-profile-name{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);margin-top:calc(4px * var(--sp,1));font-weight:700}.member-profile-username{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);margin-top:2px}.member-profile-separator{background:var(--border-color);height:1px;margin:calc(10px * var(--sp,1)) 0}.member-profile-details{gap:calc(6px * var(--sp,1));flex-direction:column;display:flex}.member-profile-detail-row{justify-content:space-between;align-items:center;display:flex}.member-profile-detail-label{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.member-profile-detail-value{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary)}.member-profile-detail-value.status-online{color:var(--status-connected)}.member-profile-detail-value.status-dnd{color:var(--status-disconnected)}.member-profile-detail-value.status-offline,.member-profile-detail-value.status-invisible{color:var(--text-muted)}.member-profile-role-badge{font-size:calc(11px * var(--font-scale,1));padding:2px calc(8px * var(--sp,1));text-transform:capitalize;border-radius:10px;font-weight:600}.member-profile-role-badge.role-owner{background:var(--accent-primary);color:var(--on-accent)}.member-profile-role-badge.role-admin{background:var(--accent-secondary);color:#000}.member-profile-role-badge.role-member{background:var(--bg-tertiary);color:var(--text-secondary)}.member-profile-bio p{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);margin-top:calc(4px * var(--sp,1));word-wrap:break-word;line-height:1.4}.member-profile-view-full-btn{width:100%;padding:calc(8px * var(--sp,1));background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:calc(12px * var(--font-scale,1));cursor:pointer;border-radius:6px;font-weight:600;transition:all .15s}.member-profile-view-full-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-secondary)}.member-profile-actions{gap:calc(6px * var(--sp,1));flex-direction:column;display:flex}.send-friend-request-btn{width:100%;padding:calc(8px * var(--sp,1));font-size:calc(12px * var(--font-scale,1));cursor:pointer;border:1px solid var(--accent-primary);background:var(--accent-primary);color:var(--on-accent);border-radius:6px;font-weight:600;transition:all .15s}.send-friend-request-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.send-friend-request-btn--inert{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-muted);cursor:default}.send-friend-request-btn--sent{background:var(--success);border-color:var(--success);color:var(--on-accent)}.send-friend-request-btn--error{background:var(--bg-tertiary);border-color:var(--danger);color:var(--danger)}.send-friend-request-btn:disabled{opacity:.8;cursor:default}.user-profile-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out userProfileOverlayFadeIn;display:flex;position:fixed;inset:0}.user-profile-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:600px;max-height:90vh;animation:.3s ease-out userProfileSlideIn;overflow-y:auto;box-shadow:0 8px 32px #00000080}@keyframes userProfileOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes userProfileSlideIn{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-profile-modal-banner{background:var(--gradient-brand);opacity:.6;border-radius:12px 12px 0 0;height:120px;position:relative}.user-profile-modal-banner.has-image{opacity:1;background:var(--bg-tertiary)}.user-profile-modal-banner-img{object-fit:cover;border-radius:12px 12px 0 0;width:100%;height:100%}.user-profile-modal-close{color:#fff;cursor:pointer;background:#0006;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.user-profile-modal-close:hover{background:#0009}.user-profile-modal-close:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.user-profile-modal-body{padding:0 24px 24px}.user-profile-modal-header{align-items:flex-end;gap:calc(16px * var(--sp,1));padding:0 calc(8px * var(--sp,1));margin-top:-36px;display:flex}.user-profile-modal-avatar{background:var(--bg-tertiary);border:4px solid var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;width:80px;min-width:80px;height:80px;display:flex;position:relative;overflow:visible}.user-profile-modal-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-profile-modal-avatar-initial{width:100%;height:100%;font-size:calc(28px * var(--font-scale,1));color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.user-profile-modal-status-dot{border:4px solid var(--bg-secondary);border-radius:50%;width:18px;height:18px;position:absolute;bottom:0;right:0}.user-profile-modal-status-dot.online{background-color:var(--status-connected)}.user-profile-modal-status-dot.dnd{background-color:var(--status-disconnected)}.user-profile-modal-status-dot.offline,.user-profile-modal-status-dot.invisible{background-color:var(--text-muted)}.user-profile-modal-identity{padding:calc(16px * var(--sp,1)) calc(8px * var(--sp,1)) 0}.user-profile-modal-name{font-size:calc(22px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;font-family:Droidiga,sans-serif;font-weight:700}.user-profile-modal-username{font-size:calc(14px * var(--font-scale,1));color:var(--text-muted);margin-top:2px}.user-profile-modal-role-badge{font-size:calc(11px * var(--font-scale,1));padding:2px calc(10px * var(--sp,1));text-transform:capitalize;margin-top:calc(8px * var(--sp,1));border-radius:10px;font-weight:600;display:inline-block}.user-profile-modal-role-badge.role-owner{background:var(--accent-primary);color:var(--on-accent)}.user-profile-modal-role-badge.role-admin{background:var(--accent-secondary);color:#000}.user-profile-modal-role-badge.role-member{background:var(--bg-tertiary);color:var(--text-secondary)}.user-profile-modal-section{background:var(--bg-primary);border:1px solid var(--border-color);padding:calc(16px * var(--sp,1));margin:calc(16px * var(--sp,1)) 0 0;border-radius:10px}.user-profile-modal-section-title{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:calc(10px * var(--sp,1));font-weight:600}.user-profile-modal-details{gap:calc(8px * var(--sp,1));flex-direction:column;display:flex}.user-profile-modal-detail-row{justify-content:space-between;align-items:center;display:flex}.user-profile-modal-detail-label{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);font-weight:600}.user-profile-modal-detail-value{font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary)}.user-profile-modal-detail-value.status-online{color:var(--status-connected)}.user-profile-modal-detail-value.status-dnd{color:var(--status-disconnected)}.user-profile-modal-detail-value.status-offline,.user-profile-modal-detail-value.status-invisible{color:var(--text-muted)}.user-profile-modal-bio-text{font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);word-wrap:break-word;white-space:pre-wrap;margin:0;line-height:1.5}.user-profile-modal-links-list{gap:calc(6px * var(--sp,1));flex-direction:column;display:flex}.user-profile-modal-link{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(8px * var(--sp,1)) calc(10px * var(--sp,1));background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:calc(13px * var(--font-scale,1));cursor:pointer;border-radius:6px;transition:all .15s;display:flex;overflow:hidden}.user-profile-modal-link:hover{border-color:var(--accent-primary);background:var(--bg-secondary)}.user-profile-modal-link-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.user-profile-modal-link-icon{color:var(--text-muted);flex-shrink:0;width:14px;height:14px}.user-profile-modal-loading{align-items:center;gap:calc(8px * var(--sp,1));color:var(--text-muted);font-size:calc(12px * var(--font-scale,1));padding:calc(4px * var(--sp,1)) 0;display:flex}.user-profile-modal-spinner{border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite userProfileSpin}@keyframes userProfileSpin{to{transform:rotate(360deg)}}.message{gap:calc(12px * var(--sp,1));padding:2px calc(16px * var(--sp,1));padding-top:calc(8px * var(--sp,1));transition:background-color .15s;display:flex}.message.message-grouped{padding-top:2px;padding-bottom:2px}.message:hover{background-color:var(--bg-secondary)}.message-avatar{cursor:pointer;width:40px;height:40px;color:inherit;font:inherit;background:0 0;border:none;flex-shrink:0;padding:0}.message-avatar:hover .avatar-image,.message-avatar:hover .avatar-circle{opacity:.8}.message-gutter{flex-shrink:0;justify-content:center;align-items:center;width:40px;display:flex}.message-gutter-timestamp{font-size:calc(10px * var(--font-scale,1));color:var(--text-muted);white-space:nowrap;display:none}.message.message-grouped:hover .message-gutter-timestamp{display:block}.avatar-circle{background:var(--gradient-brand);width:40px;height:40px;font-family:Droidiga,sans-serif;font-size:calc(16px * var(--font-scale,1));color:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.avatar-image{object-fit:cover;border-radius:50%;width:40px;height:40px}.message-content-wrapper{flex:1;min-width:0;position:relative}.message-header{align-items:baseline;gap:calc(8px * var(--sp,1));margin-bottom:calc(4px * var(--sp,1));display:flex}.message-role-emoji{font-size:calc(14px * var(--font-scale,1));flex-shrink:0;line-height:1}.message-username{color:var(--text-primary);font-weight:600;font-size:calc(15px * var(--font-scale,1));cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:inherit}.message-username:hover{text-decoration:underline}.message-timestamp{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.message-edited{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);font-style:italic}.message-edited-inline{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);margin-left:4px;font-style:italic}.message-text{color:var(--text-secondary);font-size:calc(15px * var(--font-scale,1));word-wrap:break-word;white-space:pre-wrap;line-height:1.5}.message-text .emoji{font-size:calc(24px * var(--font-scale,1));vertical-align:-.15em;line-height:1}.message-text[class*=emoji-jumbo] .emoji{font-size:inherit;vertical-align:baseline}.message-text.emoji-jumbo-1{font-size:calc(48px * var(--font-scale,1));line-height:1.2}.message-text.emoji-jumbo-2{font-size:calc(42px * var(--font-scale,1));line-height:1.2}.message-text.emoji-jumbo-3{font-size:calc(36px * var(--font-scale,1));line-height:1.25}.message-text.emoji-jumbo-4{font-size:calc(30px * var(--font-scale,1));line-height:1.3}.message-text.emoji-jumbo-5{font-size:calc(24px * var(--font-scale,1));line-height:1.35}.decrypt-failed{color:var(--text-muted);opacity:.8;align-items:center;gap:6px;font-style:italic;display:inline-flex}.decrypt-failed.pending-keys{color:var(--state-encryption-pending);opacity:.9}.own-message{background-color:color-mix(in srgb, var(--accent-primary) 5%, transparent)}.own-message:hover{background-color:color-mix(in srgb, var(--accent-primary) 10%, transparent)}.message-edit-box{margin-top:4px}.message-edit-input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:SourceSans,sans-serif;font-size:calc(15px * var(--font-scale,1));padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));resize:vertical;border-radius:4px;min-height:60px}.message-edit-input:focus{border-color:var(--accent-primary);outline:none}.message-edit-actions{gap:calc(8px * var(--sp,1));margin-top:calc(8px * var(--sp,1));display:flex}.btn-edit-cancel,.btn-edit-save{padding:calc(6px * var(--sp,1)) calc(16px * var(--sp,1));font-size:calc(14px * var(--font-scale,1));cursor:pointer;border:none;border-radius:4px;font-weight:500;transition:all .15s}.btn-edit-cancel{color:var(--text-secondary);background-color:#0000}.btn-edit-cancel:hover{color:var(--text-primary);text-decoration:underline}.btn-edit-save{background-color:var(--accent-primary);color:var(--bg-primary)}.btn-edit-save:hover:not(:disabled){background-color:var(--accent-hover)}.btn-edit-save:disabled{opacity:.5;cursor:not-allowed}.message-options{opacity:0;align-items:center;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:-4px;right:0}.message:hover .message-options{opacity:1}.message-quick-delete{background-color:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--danger);border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;transition:all .15s;display:flex}.message-quick-delete:hover{border-color:var(--danger);background-color:#f0474726}.message-quick-reply,.message-quick-reaction{background-color:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;transition:all .15s;display:flex}.message-quick-reply:hover,.message-quick-reaction:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.message-options-trigger{background-color:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;transition:all .15s;display:flex}.message-options-trigger:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.message-options-menu{background-color:var(--bg-tertiary);border:1px solid var(--border-color);z-index:10;border-radius:6px;min-width:140px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.message-option{align-items:center;gap:calc(8px * var(--sp,1));width:100%;padding:calc(10px * var(--sp,1)) calc(12px * var(--sp,1));color:var(--text-primary);font-size:calc(14px * var(--font-scale,1));cursor:pointer;text-align:left;background:0 0;border:none;font-family:SourceSans,sans-serif;transition:background-color .15s;display:flex}.message-option:hover{background-color:var(--bg-secondary)}.message-option-danger{color:var(--danger)}.message-option-danger:hover{background-color:#f047471a}.mention-highlight{color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 12%, transparent);border-radius:3px;padding:0 2px;font-weight:500}.mention-highlight:hover{background:color-mix(in srgb, var(--accent-primary) 24%, transparent)}.message.pinned{border-left:2px solid var(--accent-color)}html[data-compact=true] .message{padding-top:calc(6px * var(--sp,1));gap:calc(10px * var(--sp,1));padding-bottom:0}html[data-compact=true] .message.message-grouped{padding-top:1px;padding-bottom:1px}html[data-compact=true] .message-avatar,html[data-compact=true] .message-gutter,html[data-compact=true] .avatar-circle,html[data-compact=true] .avatar-image{width:32px;height:32px}html[data-compact=true] .avatar-circle{font-size:calc(13px * var(--font-scale,1))}html[data-compact=true] .message-header{gap:calc(6px * var(--sp,1));margin-bottom:calc(2px * var(--sp,1))}html[data-compact=true] .message-text{line-height:1.35}.message-pinned-indicator{color:var(--accent-color);opacity:.7;align-items:center;margin-left:4px;display:inline-flex}.message-list-container{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.message-list{padding:calc(16px * var(--sp,1)) 0;flex:1;overflow:hidden auto}.message-list-content{flex-direction:column;display:flex}.message-list::-webkit-scrollbar{width:12px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:var(--border-color);border:3px solid var(--bg-primary);border-radius:6px}.message-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.message-list-empty{text-align:center;padding:calc(48px * var(--sp,1)) calc(24px * var(--sp,1));color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-icon{font-size:calc(64px * var(--font-scale,1));margin-bottom:calc(16px * var(--sp,1));opacity:.5}.message-list-empty h3{font-family:Droidiga,sans-serif;font-size:calc(24px * var(--font-scale,1));color:var(--text-primary);margin-bottom:calc(8px * var(--sp,1))}.message-list-empty p{font-size:calc(15px * var(--font-scale,1));margin-bottom:calc(4px * var(--sp,1))}.message-list-empty-hint{color:var(--text-muted);font-size:calc(14px * var(--font-scale,1))}.loading-more{justify-content:center;align-items:center;gap:calc(12px * var(--sp,1));padding:calc(16px * var(--sp,1));color:var(--text-muted);font-size:calc(14px * var(--font-scale,1));display:flex}.message-list-loading{justify-content:center;align-items:center;display:inline-flex}.message-list-loading.small .message-list-spinner{border-width:2px;width:16px;height:16px}.message-list-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.date-divider{align-items:center;gap:calc(16px * var(--sp,1));margin:calc(24px * var(--sp,1)) calc(16px * var(--sp,1)) calc(16px * var(--sp,1));display:flex}.date-divider-line{background-color:var(--border-color);flex:1;height:1px}.date-divider-text{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-weight:600}.scroll-to-bottom{bottom:calc(16px * var(--sp,1));background:var(--gradient-brand);color:var(--bg-primary);padding:calc(10px * var(--sp,1)) calc(20px * var(--sp,1));font-size:calc(14px * var(--font-scale,1));cursor:pointer;align-items:center;gap:calc(8px * var(--sp,1));z-index:5;border:none;border-radius:24px;font-family:SourceSans,sans-serif;font-weight:600;transition:all .2s;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.scroll-to-bottom:hover{transform:translate(-50%)translateY(-2px);box-shadow:0 6px 16px #0006}.scroll-to-bottom:active{transform:translate(-50%)translateY(0)}.new-message-badge{background:var(--accent-primary);color:var(--on-accent);font-size:calc(11px * var(--font-scale,1));border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-weight:700;display:flex;position:absolute;top:-8px;right:-4px;box-shadow:0 2px 6px #0000004d}.scroll-to-bottom svg{animation:1s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.message-highlight{border-radius:4px;animation:2s ease-out reply-highlight}@keyframes reply-highlight{0%{background-color:color-mix(in srgb, var(--accent-color,#5865f2) 20%, transparent)}to{background-color:#0000}}.mention-autocomplete{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:100;border-radius:8px;max-height:240px;margin-bottom:4px;padding:4px;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.mention-option{cursor:pointer;color:var(--text-primary);border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:flex}.mention-option:hover,.mention-option.selected{background:var(--bg-hover)}.mention-option-icon{width:24px;height:24px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.mention-option-avatar{object-fit:cover;border-radius:50%;width:24px;height:24px}.mention-option-label{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.mention-option-sublabel{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:12px;overflow:hidden}.user-popover{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:300;border-radius:8px;width:240px;padding:8px 0;animation:.15s popoverFadeIn;position:fixed;bottom:12px;left:80px;box-shadow:0 8px 24px #0006}@keyframes popoverFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.user-popover-header{align-items:center;gap:10px;padding:8px 12px;display:flex}.user-popover-avatar{background:var(--bg-tertiary);border:1.5px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.user-popover-avatar-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.user-popover-avatar-initial{width:100%;height:100%;font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-family:Droidiga,sans-serif;font-weight:700;display:flex}.user-popover-info{flex-direction:column;min-width:0;display:flex}.user-popover-username{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-popover-status{font-size:calc(12px * var(--font-scale,1));font-weight:500;transition:color .15s}.user-popover-email{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding:2px 12px 6px;overflow:hidden}.user-popover-separator{background:var(--border-color);height:1px;margin:4px 8px}.user-popover-status-section{padding:4px 0}.user-popover-status-label{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 12px 6px;font-weight:600}.user-popover-status-item{width:100%;color:var(--text-secondary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:6px 12px;font-family:SourceSans,sans-serif;transition:all .15s;display:flex}.user-popover-status-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-popover-status-item.active{color:var(--text-primary)}.user-popover-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.user-popover-status-text{flex:1}.user-popover-status-check{color:var(--accent-primary);flex-shrink:0}.user-popover-item{width:100%;color:var(--text-secondary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px;font-family:SourceSans,sans-serif;transition:all .15s;display:flex}.user-popover-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-popover-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.user-popover-item-danger{color:var(--danger)}.user-popover-item-danger:hover{color:var(--danger);background:#f0474714}.user-panel{padding:0 calc(8px * var(--sp,1)) calc(8px * var(--sp,1));flex-direction:column;align-items:stretch;width:100%;margin-top:auto;display:flex}.user-panel-separator{background:var(--border-color);width:100%;height:1px;margin-bottom:calc(8px * var(--sp,1))}.user-avatar-btn{background:var(--bg-secondary);border:2px solid var(--border-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:flex;position:relative}.user-avatar-btn:hover,.user-avatar-btn.active{border-color:var(--accent-primary);border-radius:35%}.user-avatar-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.user-avatar-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.user-avatar-initial{width:100%;height:100%;font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-family:Droidiga,sans-serif;font-weight:700;display:flex}.user-status-dot{border:2px solid var(--bg-primary);background:var(--text-muted);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.user-status-dot.online{background:var(--status-connected)}.user-status-dot.dnd{background:var(--status-disconnected)}.user-status-dot.invisible,.user-status-dot.offline{background:var(--text-muted)}.user-avatar-skeleton{background:var(--bg-secondary);border-radius:50%;width:40px;height:40px;animation:1.5s ease-in-out infinite skeletonPulse}.user-avatar-wrapper{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(4px * var(--sp,1));border-radius:6px;transition:background-color .15s;display:flex;position:relative}.user-panel:not(.user-panel-compact) .user-avatar-wrapper:hover{background:var(--bg-hover)}.user-panel-info{flex-direction:column;flex:1;min-width:0;display:flex}.user-panel-username{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.3;overflow:hidden}.user-panel-status{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);font-weight:500;line-height:1.3}.user-panel-status.online{color:var(--status-connected)}.user-panel-status.dnd{color:var(--status-disconnected)}.user-panel-status.invisible,.user-panel-status.offline{color:var(--text-muted)}.user-panel-settings-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.user-panel-settings-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-panel-settings-btn:active{transform:scale(.92)}.user-panel-compact{flex-direction:row;width:auto;margin-top:0;padding:0}.user-panel-compact .user-avatar-btn,.user-panel-compact .user-avatar-btn.compact{width:36px;height:36px}.user-panel-compact .user-avatar-initial{font-size:calc(14px * var(--font-scale,1))}.user-panel-compact .user-status-dot{width:8px;height:8px}.user-panel-compact .user-avatar-skeleton,.user-avatar-skeleton.compact{width:36px;height:36px}.syntax-help-modal-backdrop{z-index:1000;width:100%;max-width:none;height:100%;max-height:none;color:var(--text-primary);background:#000000b3;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;inset:0}.syntax-help-modal-backdrop::backdrop{background:#000000b3}.syntax-help-modal{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;width:calc(100% - 32px);max-width:640px;max-height:calc(100% - 64px);padding:20px 24px;overflow:auto;box-shadow:0 8px 32px #00000080}.syntax-help-modal header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.syntax-help-modal h2{font-size:calc(20px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;margin:0;font-family:Droidiga,sans-serif;font-weight:700}.syntax-help-modal header button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.25rem;line-height:1;transition:color .2s,background-color .2s}.syntax-help-modal header button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.syntax-help-modal header button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.syntax-help-modal table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:.9rem}.syntax-help-modal th,.syntax-help-modal td{text-align:left;border-bottom:1px solid var(--border-color);padding:6px 8px}.syntax-help-modal th{color:var(--text-secondary);font-weight:600}.syntax-help-modal code{font-family:var(--code-font,Menlo, Consolas, monospace);background:var(--bg-tertiary);color:var(--text-primary);border-radius:3px;padding:2px 4px;font-size:.85rem}.syntax-help-modal footer{color:var(--text-muted);margin-top:14px;font-size:.85rem}.attachment-upload-preview{border-bottom:1px solid var(--border-color);gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.attachment-preview-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;align-items:center;width:100px;min-width:100px;padding:8px;display:flex;position:relative}.attachment-preview-item.error{border-color:var(--error-color)}.attachment-preview-item.uploading{opacity:.7}.attachment-remove-btn{background:var(--bg-tertiary);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;z-index:1;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:4px;right:4px}.attachment-remove-btn:hover{background:var(--error-color);color:#fff}.attachment-preview-thumbnail{object-fit:cover;border-radius:4px;width:80px;height:60px}.attachment-preview-icon{width:80px;height:60px;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.attachment-preview-info{text-align:center;width:100%;margin-top:4px}.attachment-preview-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.attachment-preview-size{color:var(--text-tertiary);font-size:10px;display:block}.attachment-progress-bar{background:var(--bg-tertiary);border-radius:2px;width:100%;height:3px;margin-top:4px;overflow:hidden}.attachment-progress-fill{background:var(--accent-color);border-radius:2px;height:100%;transition:width .2s}.attachment-error-label{color:var(--error-color);margin-top:2px;font-size:10px}.upload-error{color:var(--error-color);padding:4px 12px;font-size:12px}.upload-status{color:var(--text-muted-color,#6b7280);padding:4px 12px;font-size:12px}.message-input-wrapper.drag-over{outline:2px dashed var(--accent-color);outline-offset:-2px;border-radius:8px}.message-input-container{border-top:1px solid var(--border-color);background-color:var(--bg-primary);padding:calc(14px * var(--sp,1)) calc(16px * var(--sp,1))}.e2ee-status-bar{font-size:calc(12px * var(--font-scale,1));border-radius:4px;align-items:center;gap:6px;margin-bottom:6px;padding:4px 8px;display:flex}.e2ee-status-bar.encrypted{color:var(--success,#4caf50);background-color:#4caf5014}.e2ee-status-bar.unencrypted{color:var(--text-muted);background-color:#8080800f}.message-input-wrapper{max-width:100%}.message-input-box{align-items:center;gap:calc(10px * var(--sp,1));background-color:var(--bg-tertiary);border:1px solid var(--border-color);padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));border-radius:8px;transition:border-color .15s;display:flex}.message-input-box:focus-within{border-color:var(--accent-primary)}.message-input-textarea{color:var(--text-primary);font-family:SourceSans,sans-serif;font-size:calc(14px * var(--font-scale,1));resize:none;background:0 0;border:none;outline:none;flex:1;height:auto;line-height:1.25;overflow-y:auto}.message-input-textarea::placeholder{color:var(--text-muted)}.message-input-textarea:disabled{opacity:.5;cursor:not-allowed}.message-input-actions{align-self:flex-end;align-items:center;gap:calc(8px * var(--sp,1));display:flex}.encryption-toggle{border:1px solid var(--border-color);padding:calc(6px * var(--sp,1)) calc(8px * var(--sp,1));cursor:pointer;font-size:calc(16px * var(--font-scale,1));opacity:.6;background:0 0;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.encryption-toggle:hover{opacity:1;border-color:var(--accent-primary)}.encryption-toggle.active{opacity:1;border-color:var(--accent-primary);background-color:#fa709a1a}.char-counter{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:40px}.char-counter.warning{color:var(--danger);font-weight:600}.send-button{background:var(--gradient-brand);cursor:pointer;width:28px;height:28px;color:var(--bg-primary);border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #fa709a66}.send-button:active:not(:disabled){transform:scale(.98)}.send-button:disabled{opacity:.4;cursor:not-allowed}.message-input-hints{margin-top:calc(8px * var(--sp,1));font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);justify-content:space-between;align-items:center;gap:calc(16px * var(--sp,1));flex-wrap:wrap;display:flex}.hint{align-items:center;gap:4px;display:flex}kbd{background-color:var(--bg-tertiary);border:1px solid var(--border-color);font-family:monospace;font-size:calc(11px * var(--font-scale,1));color:var(--text-secondary);border-radius:3px;padding:2px 6px}.message-input-extras{align-items:center;gap:calc(6px * var(--sp,1));margin-right:calc(8px * var(--sp,1));display:flex}.encryption-hint{color:var(--accent-primary);align-items:center;gap:4px;margin-right:4px;display:flex}.encryption-hint svg{color:var(--accent-primary)}.media-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:color .15s,background-color .15s;display:flex}.media-btn:hover:not(:disabled){color:var(--text-primary);background-color:var(--bg-tertiary)}.media-btn.active{color:var(--accent-primary);background-color:var(--bg-tertiary)}.media-btn:disabled{opacity:.5;cursor:default}.message-input-user-panel{flex-shrink:0;align-items:center;display:flex}.message-input-textarea::-webkit-scrollbar{width:8px}.message-input-textarea::-webkit-scrollbar-track{background:0 0}.message-input-textarea::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.message-input-textarea::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.input-hint{color:var(--text-secondary,#666);padding:4px 8px 0;font-size:.8rem}.input-hint .help-icon{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;vertical-align:middle;background:0 0;border-radius:50%;width:16px;height:16px;margin-left:4px;padding:0;font-size:.7rem;line-height:1;transition:color .2s,background-color .2s,border-color .2s}.input-hint .help-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-muted)}.input-hint .help-icon:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.counter{color:var(--text-secondary,#666);margin-right:8px;font-size:.78rem}.counter.warn{color:var(--warning,#c27800)}.counter.error{color:var(--error,#c72a28);font-weight:600}.typing-indicator-container{height:calc(24px * var(--sp,1));padding:0 calc(16px * var(--sp,1));min-height:calc(24px * var(--sp,1));align-items:center;display:flex}.typing-indicator-text{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);align-items:center;gap:calc(4px * var(--sp,1));font-weight:500;display:flex}.typing-dots{margin-left:calc(2px * var(--sp,1));align-items:center;gap:2px;display:inline-flex}.typing-dot{background-color:var(--text-muted);border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite typingPulse}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.pinned-panel-backdrop{z-index:100;justify-content:flex-end;display:flex;position:absolute;inset:0}.pinned-panel-backdrop-dismiss{cursor:pointer;z-index:0;background:#0000004d;border:none;position:absolute;inset:0}.pinned-panel{z-index:1;background:var(--bg-primary);border-left:1px solid var(--border-color);flex-direction:column;width:340px;max-width:90%;height:100%;display:flex;overflow:hidden}.pinned-panel-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.pinned-panel-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.pinned-panel-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.pinned-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.pinned-panel-content{flex:1;padding:12px;overflow-y:auto}.pinned-panel-loading,.pinned-panel-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex}.pinned-panel-empty-hint{opacity:.7;margin-top:4px;font-size:13px}.pinned-message-card{background:var(--bg-secondary);border-radius:6px;margin-bottom:8px;padding:12px}.pinned-message-meta{margin-bottom:4px}.pinned-message-author{color:var(--text-primary);font-size:13px;font-weight:600}.pinned-message-content{color:var(--text-secondary);word-break:break-word;margin-bottom:8px;font-size:13px;line-height:1.4}.pinned-message-encrypted{color:var(--text-muted);font-style:italic}.pinned-message-actions{gap:8px;display:flex}.pinned-message-jump,.pinned-message-unpin{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12px}.pinned-message-jump:hover{background:var(--bg-hover);color:var(--accent-color);border-color:var(--accent-color)}.pinned-message-unpin:hover{background:var(--bg-hover);color:var(--error-color);border-color:var(--error-color)}.search-panel-backdrop{z-index:100;justify-content:flex-end;display:flex;position:absolute;inset:0}.search-panel-backdrop-dismiss{cursor:pointer;z-index:0;background:#0000004d;border:none;position:absolute;inset:0}.search-panel{z-index:1;background:var(--bg-primary);border-left:1px solid var(--border-color);flex-direction:column;width:380px;max-width:90%;height:100%;display:flex;overflow:hidden}.search-panel-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.search-panel-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.search-panel-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.search-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.search-panel-input-wrapper{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:12px 16px;display:flex}.search-panel-input-icon{color:var(--text-muted);flex-shrink:0}.search-panel-input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;flex:1;padding:8px 12px;font-family:inherit;font-size:14px}.search-panel-input:focus{border-color:var(--accent-color);outline:none}.search-panel-input::placeholder{color:var(--text-muted)}.search-panel-toggle{color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.search-panel-toggle input[type=checkbox]{accent-color:var(--accent-color)}.search-panel-progress{color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:8px 16px;font-size:12px}.search-panel-results{flex:1;padding:12px;overflow-y:auto}.search-panel-empty{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:32px 16px;font-size:14px;display:flex}.search-result-card{background:var(--bg-secondary);border-radius:6px;margin-bottom:8px;padding:10px 12px;position:relative}.search-result-card:hover{background:var(--bg-hover)}.search-result-meta{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.search-result-author{color:var(--text-primary);font-size:13px;font-weight:600}.search-result-time{color:var(--text-muted);font-size:11px}.search-result-content{color:var(--text-secondary);word-break:break-word;margin-bottom:6px;font-size:13px;line-height:1.4}.search-result-jump{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-size:12px}.search-result-jump:hover{background:var(--bg-hover);color:var(--accent-color);border-color:var(--accent-color)}.chat-view{flex-direction:column;width:100%;height:100%;display:flex}.chat-header{padding:calc(12px * var(--sp,1)) calc(16px * var(--sp,1));border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0;align-items:center;gap:8px;display:flex}.chat-header-emoji{font-size:20px;line-height:1}.chat-header-icon{color:var(--text-muted);flex-shrink:0}.chat-header-name{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chat-header-search-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;margin-left:auto;padding:4px 8px;display:flex}.chat-header-search-button:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-header-pin-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;display:flex;position:relative}.chat-header-pin-button:hover{background:var(--bg-hover);color:var(--text-primary)}.pin-count-badge{color:var(--accent-color);font-size:11px;font-weight:700}.chat-messages{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-input{border-top:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.chat-error{padding:calc(8px * var(--sp,1)) calc(16px * var(--sp,1));color:var(--danger);font-size:calc(13px * var(--font-scale,1));text-align:center;background-color:#f047471a;flex-shrink:0}.user-frame-bar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;transition:transform .3s,opacity .3s;display:flex;overflow:hidden}.user-frame-bar--hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.user-frame-bar__scroll{flex-direction:row;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;padding:4px 8px;display:flex;overflow:auto hidden}.user-frame-bar__scroll::-webkit-scrollbar{height:4px}.user-frame-bar__scroll::-webkit-scrollbar-track{background:0 0}.user-frame-bar__scroll::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:2px}.user-frame-bar__scroll::-webkit-scrollbar-thumb:hover{background-color:#ffffff40}.user-frame-bar .participant-tile{flex-shrink:0;width:80px}.user-frame-bar .participant-tile--video{width:auto;height:calc(100% - 8px)}.voice-stage{background-color:#000;flex:1;justify-content:center;align-items:center;min-height:200px;display:flex;position:relative;overflow:hidden}.voice-stage--empty{background-color:var(--bg-secondary)}.voice-stage__empty-text{color:var(--text-muted);font-size:calc(14px * var(--font-scale,1))}.voice-stage__cell{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.voice-stage__video{object-fit:contain;width:100%;height:100%}.voice-stage__cell-overlay{pointer-events:none;background:linear-gradient(#0000,#000000b3);padding:6px 12px;position:absolute;bottom:0;left:0;right:0}.voice-stage__overlay{pointer-events:none;background:linear-gradient(#0000,#000000b3);justify-content:space-between;align-items:center;padding:8px 16px;display:flex;position:absolute;bottom:0;left:0;right:0}.voice-stage__sharer-name{color:#fff;font-size:calc(13px * var(--font-scale,1));text-shadow:0 1px 2px #00000080;font-weight:500}.voice-stage__count{color:#ffffffb3;font-size:calc(12px * var(--font-scale,1))}.voice-stage--equal{background-color:#000;flex:1;justify-content:stretch;align-items:stretch;min-height:200px;display:flex;position:relative;overflow:hidden}.voice-stage__grid{flex:1;gap:2px;width:100%;height:100%;display:grid}.voice-stage__grid[data-count="1"]{grid-template-columns:1fr}.voice-stage__grid[data-count="2"]{grid-template-columns:1fr 1fr}.voice-stage__grid[data-count="3"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.voice-stage__grid[data-count="3"] .voice-stage__cell:nth-child(3){grid-column:1/-1}.voice-stage__grid[data-count="4"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.voice-stage__grid[data-count="5"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr 1fr}.voice-stage__grid[data-count="5"] .voice-stage__cell:nth-child(4){grid-column:1/2}.voice-stage__grid[data-count="5"] .voice-stage__cell:nth-child(5){grid-column:2/3}.voice-stage__layout-toggle{color:#fff;cursor:pointer;opacity:0;z-index:2;background:#00000080;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s,background .15s;display:flex;position:absolute;top:8px;left:8px}.voice-stage:hover .voice-stage__layout-toggle,.voice-stage--equal:hover .voice-stage__layout-toggle{opacity:1}.voice-stage__layout-toggle:hover{background:#000000bf}.voice-stage__nav{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .2s,background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.voice-stage:hover .voice-stage__nav{opacity:1}.voice-stage__nav:hover{background:#000000bf}.voice-stage__nav--prev{left:12px}.voice-stage__nav--next{right:12px}.voice-stage__pip-btn{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s,background .15s;display:flex;position:absolute;top:8px;right:8px}.voice-stage:hover .voice-stage__pip-btn{opacity:1}.voice-stage__pip-btn:hover{background:#000000bf}.voice-stage__pip-btn:disabled{opacity:.3;cursor:not-allowed}.voice-stage__paused-placeholder{text-align:center;background-color:var(--bg-secondary,#1a1a2e);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:24px;display:flex}.voice-stage__paused-title{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary,#e0e0e0);font-weight:600}.voice-stage__paused-hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted,#888);max-width:340px;line-height:1.4}.stream-bar{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;transition:transform .3s,opacity .3s;display:flex;overflow:hidden}.stream-bar--hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.stream-bar__scroll{flex-direction:row;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:4px 8px;display:flex;overflow:auto hidden}.stream-bar__scroll::-webkit-scrollbar{height:4px}.stream-bar__scroll::-webkit-scrollbar-track{background:0 0}.stream-bar__scroll::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:2px}.stream-thumbnail{aspect-ratio:16/9;cursor:pointer;background-color:#000;border-radius:6px;flex-shrink:0;height:calc(100% - 8px);transition:outline .15s;position:relative;overflow:hidden}.stream-thumbnail__select{width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:block}.stream-thumbnail:hover{outline:2px solid var(--accent-primary);outline-offset:-2px}.stream-thumbnail__video{object-fit:contain;width:100%;height:100%}.stream-thumbnail__label{color:#fff;font-size:calc(10px * var(--font-scale,1));white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000,#000000b3);padding:2px 6px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.stream-thumbnail__close{color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.stream-thumbnail:hover .stream-thumbnail__close{opacity:1}.stream-thumbnail__close:hover{background:var(--danger)}.stream-thumbnail__paused{background-color:var(--bg-secondary,#1a1a2e);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.stream-thumbnail__paused-text{font-size:calc(10px * var(--font-scale,1));color:var(--text-muted,#888);font-weight:500}.tune-in-overlay{gap:calc(8px * var(--sp,1));padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));flex-wrap:wrap;justify-content:center;display:flex}.tune-in-btn{color:var(--text-secondary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;background:#5865f21f;border:1px solid #5865f266;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tune-in-btn:hover{color:#fff;background:#5865f240;border-color:#5865f2b3}.tune-in-btn--disabled{opacity:.5;cursor:not-allowed}.tune-in-btn--disabled:hover{color:var(--text-secondary);background:#5865f21f;border-color:#5865f266}.tune-in-btn__icon{color:var(--accent-primary);flex-shrink:0}.tune-in-btn__label{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.tune-in-btn__hint{font-size:calc(11px * var(--font-scale,1));color:var(--accent-primary);opacity:0;margin-left:4px;font-weight:600;transition:opacity .15s}.tune-in-btn:hover .tune-in-btn__hint{opacity:1}.tune-in-btn--disabled .tune-in-btn__hint{display:none}.screen-picker-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.screen-picker{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:90%;max-width:720px;max-height:80vh;display:flex;box-shadow:0 8px 32px #0006}.screen-picker__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.screen-picker__title{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.screen-picker__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.screen-picker__close:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.screen-picker__loading{text-align:center;color:var(--text-muted);padding:48px}.screen-picker__content{flex:1;padding:16px 20px;overflow-y:auto}.screen-picker__section{margin-bottom:16px}.screen-picker__section-title{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-weight:600}.screen-picker__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.screen-picker__source{border:2px solid var(--border-color);cursor:pointer;background:0 0;border-radius:8px;padding:0;transition:border-color .15s;overflow:hidden}.screen-picker__source:hover{border-color:var(--text-muted)}.screen-picker__source--selected{border-color:var(--accent-primary)}.screen-picker__thumbnail{aspect-ratio:16/9;object-fit:cover;background-color:var(--bg-primary);width:100%;display:block}.screen-picker__source-info{align-items:center;gap:6px;padding:6px 8px;display:flex}.screen-picker__app-icon{flex-shrink:0;width:16px;height:16px}.screen-picker__source-name{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:6px 8px;display:block;overflow:hidden}.screen-picker__source-info .screen-picker__source-name{padding:0}.screen-picker__quality{border-top:1px solid var(--border-color);background:var(--bg-secondary);gap:16px;padding:10px 20px;display:flex}.screen-picker__quality-row{align-items:center;gap:8px;display:flex}.screen-picker__quality-label{color:var(--text-muted);white-space:nowrap;font-size:12px}.screen-picker__quality-select{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:4px 8px;font-family:SourceSans,sans-serif;font-size:12px}.screen-picker__footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.screen-picker__btn{font-size:calc(14px * var(--font-scale,1));cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-weight:500;transition:opacity .15s}.screen-picker__btn--cancel{background-color:var(--bg-tertiary);color:var(--text-secondary)}.screen-picker__btn--cancel:hover{color:var(--text-primary)}.screen-picker__btn--confirm{background:var(--gradient-brand);color:#fff}.screen-picker__btn--confirm:hover{opacity:.9}.screen-picker__btn--confirm:disabled{opacity:.4;cursor:not-allowed}.voice-controls__buttons{justify-content:center;align-items:center;gap:calc(4px * var(--sp,1));flex-wrap:wrap;display:flex}.voice-controls__btn{background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;align-items:center;gap:4px;padding:8px;transition:background-color .15s,color .15s;display:flex}.voice-controls__btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.voice-controls__btn--active{background-color:var(--danger);color:#fff}.voice-controls__btn--active:hover{color:#fff;background-color:#d83c3c}.voice-controls__btn--locked{opacity:.7;cursor:not-allowed;background-color:rgba(var(--warning-rgb,230, 126, 34), .2);color:var(--warning)}.voice-controls__btn--locked:hover{opacity:.7;background-color:rgba(var(--warning-rgb,230, 126, 34), .25)}.voice-controls__btn--danger{color:var(--danger);background-color:#f0474733}.voice-controls__btn--danger:hover{background-color:var(--danger);color:#fff}.voice-controls__btn--chat-active{background-color:var(--accent-primary);color:#fff}.voice-controls__btn--chat-active:hover{background-color:var(--accent-primary);opacity:.85;color:#fff}.voice-controls__slot-error{color:var(--text-warning-strong);font-size:calc(12px * var(--font-scale,1));white-space:nowrap;text-align:center;pointer-events:none;background-color:#faa61a26;border:1px solid #faa61a4d;border-radius:6px;max-width:90%;margin-bottom:8px;padding:8px 16px;animation:.2s ease-out slot-error-in;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@keyframes slot-error-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.voice-controls--full{padding:calc(12px * var(--sp,1));background-color:var(--bg-secondary);border-top:1px solid var(--border-color);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.voice-controls--full .voice-controls__btn{border-radius:8px;padding:8px 12px}.voice-controls__btn-label{font-size:calc(12px * var(--font-scale,1));white-space:nowrap}.voice-controls__persistent-actions{align-items:center;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.voice-controls__pin-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:flex}.voice-controls__pin-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.voice-controls__pip-wrap{position:relative}.voice-controls__pip-menu{background-color:var(--bg-floating,#111214);border:1px solid var(--border-color);z-index:99999;border-radius:8px;min-width:200px;margin-bottom:8px;padding:4px;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.voice-controls__pip-menu-item{width:100%;color:var(--text-secondary);font-size:calc(13px * var(--font-scale,1));text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 12px;transition:background .15s,color .15s;display:block}.voice-controls__pip-menu-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.voice-controls__pip-menu-item:disabled{opacity:.4;cursor:not-allowed}.voice-controls__pip-menu-item:disabled:hover{color:var(--text-secondary);background:0 0}.voice-text-chat{background-color:var(--bg-primary);flex-direction:column;flex:1;min-height:0;display:flex}.voice-text-chat--empty{color:var(--text-muted);font-size:calc(13px * var(--font-scale,1));justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.voice-text-chat__header{padding:calc(6px * var(--sp,1)) calc(12px * var(--sp,1));border-bottom:1px solid var(--border-color);color:var(--text-secondary);flex-shrink:0;align-items:center;gap:6px;display:flex}.voice-text-chat__title{font-size:calc(12px * var(--font-scale,1));text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.voice-text-chat__error{color:var(--danger);font-size:calc(12px * var(--font-scale,1));background:#f047471a;flex-shrink:0;padding:6px 12px}.voice-text-chat__messages{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.voice-text-chat__tts-indicator{color:var(--success);font-size:calc(11px * var(--font-scale,1));background-color:#43b5811a;flex-shrink:0;align-items:center;gap:4px;padding:3px 12px;font-weight:500;animation:.2s tts-fade-in;display:flex}@keyframes tts-fade-in{0%{opacity:0}to{opacity:1}}.voice-text-chat__input{border-top:1px solid var(--border-color);flex-shrink:0}.voice-text-chat-resize{cursor:row-resize;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;height:6px;transition:background-color .15s;display:flex}.voice-text-chat-resize:active{background-color:var(--accent-primary)}.voice-text-chat-resize__grip{background-color:var(--text-muted);opacity:.5;border-radius:1px;width:32px;height:2px}.voice-text-chat-resize:active .voice-text-chat-resize__grip{opacity:.8;background-color:#fff}.voice-text-chat-resize--vertical{cursor:col-resize;border-top:none;border-bottom:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:6px;height:auto}.voice-text-chat-resize--vertical .voice-text-chat-resize__grip{width:2px;height:32px}.voice-text-chat__layout-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:2px;transition:color .15s,background-color .15s;display:flex}.voice-text-chat__layout-toggle:hover{color:var(--text-primary);background-color:var(--bg-modifier-hover)}.voice-view{background-color:var(--bg-primary);flex-direction:column;height:100%;display:flex}.voice-view__header{padding:calc(12px * var(--sp,1)) calc(16px * var(--sp,1));border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.voice-view__channel-name{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);margin:0;font-weight:600}.voice-view__header-meta{align-items:center;gap:8px;display:flex}.voice-view__badge{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);background-color:var(--bg-tertiary);border-radius:10px;align-items:center;gap:4px;padding:2px 8px;display:flex}.voice-view__badge--encrypted{color:var(--success);background-color:#43b5811a}.voice-view__badge--quality{text-transform:capitalize}.voice-view__badge--decoder-yellow{color:var(--text-warning-strong);background-color:#faa61a1f}.voice-view__badge--decoder-red{color:var(--text-error-strong);background-color:#f047471f}.voice-view__content{flex:1;min-height:0;display:flex;overflow:hidden}.voice-view__content--horizontal{flex-direction:column}.voice-view__content--vertical{flex-direction:row}.voice-view__voice-area{flex-direction:column;flex:1;min-height:200px;display:flex;overflow:hidden}.voice-view__content--vertical .voice-view__voice-area{min-width:200px}.voice-view__section-handle{flex-shrink:0;justify-content:center;align-items:center;height:8px;display:flex;position:relative}.voice-view__section-handle-grip{cursor:row-resize;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.voice-view__section-handle-grip:after{content:"";background-color:var(--border-color);border-radius:2px;width:40px;height:3px;transition:background-color .15s}.voice-view__section-handle-grip:hover:after{background-color:var(--text-muted)}.voice-view__section-toggle{background:var(--bg-tertiary);width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;right:8px}.voice-view__section-handle:hover .voice-view__section-toggle{opacity:1}.voice-view__section-toggle:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.voice-view__join{justify-content:center;align-items:center;gap:calc(12px * var(--sp,1));flex-direction:column;flex:1;display:flex}.voice-view__join-icon{color:var(--text-muted);opacity:.5}.voice-view__join-title{font-size:calc(20px * var(--font-scale,1));color:var(--text-primary);margin:0;font-weight:600}.voice-view__join-subtitle{font-size:calc(14px * var(--font-scale,1));color:var(--text-muted);margin:0}.voice-view__join-btn{margin-top:calc(8px * var(--sp,1));background:var(--gradient-brand);color:#fff;font-size:calc(14px * var(--font-scale,1));cursor:pointer;border:none;border-radius:6px;padding:10px 32px;font-weight:600;transition:opacity .15s}.voice-view__join-btn:hover{opacity:.9}.voice-view__join-btn:disabled{opacity:.5;cursor:not-allowed}.voice-view__text-chat{flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.voice-view__text-chat--vertical{border-left:1px solid var(--border-color);height:auto}.persistent-voice-bar{border-top:1px solid var(--border-color);flex-direction:column;flex-shrink:0;transition:transform .25s,max-height .25s,opacity .25s;display:flex;overflow:hidden}.persistent-voice-bar--pinned{opacity:1;max-height:600px;transform:translateY(0)}.persistent-voice-bar--unpinned{opacity:0;pointer-events:none;max-height:0;transform:translateY(100%)}.persistent-voice-bar__chat-drawer{border-top:1px solid var(--border-color);background-color:var(--bg-primary);flex-direction:column;display:flex;overflow:hidden}.persistent-voice-bar__chat-resize{cursor:row-resize;background-color:var(--bg-secondary);flex-shrink:0;justify-content:center;align-items:center;height:6px;display:flex}.persistent-voice-bar__chat-resize-grip{background-color:var(--border-color);border-radius:2px;width:40px;height:3px;transition:background-color .15s}.persistent-voice-bar__chat-resize:hover .persistent-voice-bar__chat-resize-grip{background-color:var(--text-muted)}.app-layout{grid-template:"serverbar serverbar serverbar""serverbar-h serverbar-h serverbar-h""folderbar folderbar folderbar""folderbar-h folderbar-h folderbar-h""channels chat members"1fr/auto 1fr auto;height:100%;display:grid;position:relative;overflow:hidden}.app-layout[data-channel-pinned=false]{grid-template-columns:0 1fr auto}.app-layout[data-member-mode=hidden]{grid-template-columns:auto 1fr 0}.app-layout[data-channel-pinned=false][data-member-mode=hidden]{grid-template-columns:0 1fr 0}.layout-server-bar{grid-area:serverbar;overflow:hidden}.layout-server-bar-resize{grid-area:serverbar-h}.layout-folder-bar{z-index:100;grid-area:folderbar;position:relative;overflow:visible}.layout-folder-bar-resize{grid-area:folderbar-h}.layout-channel-panel{grid-area:channels;min-height:0;transition:width .3s;display:flex;position:relative;overflow:hidden}.app-layout[data-channel-pinned=false] .layout-channel-panel{overflow:visible}.layout-chat-area{flex-direction:column;grid-area:chat;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.layout-member-space{background-color:var(--bg-secondary);grid-area:members;min-height:0;transition:width .3s;display:flex;overflow:hidden}.member-list-container{flex-shrink:0;display:flex;overflow:hidden}.channel-panel-overlay{z-index:50;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);border-radius:0 8px 8px 0;flex-direction:column;height:100%;transition:transform .25s,opacity .25s;display:flex;position:absolute;top:0;left:0;box-shadow:4px 0 16px #0000004d}.channel-panel-overlay.slide-in{opacity:1;transform:translate(0)}.channel-panel-overlay.slide-out{opacity:0;pointer-events:none;transform:translate(-100%)}.member-panel-collapsed{width:48px;height:100%;padding:calc(8px * var(--sp,1)) 0;align-items:center;gap:calc(4px * var(--sp,1));background-color:var(--bg-secondary);border-left:1px solid var(--border-color);flex-direction:column;display:flex;overflow-y:auto}.member-panel-collapsed::-webkit-scrollbar{width:0}.member-avatar-strip-item{cursor:default;border-radius:50%;flex-shrink:0;width:32px;height:32px;position:relative;overflow:visible}.member-avatar-strip-item img{object-fit:cover;border-radius:50%;width:100%;height:100%}.member-avatar-strip-initial{background:var(--bg-tertiary);width:100%;height:100%;font-size:calc(12px * var(--font-scale,1));color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.member-avatar-strip-item .member-strip-status{border:2px solid var(--bg-secondary);border-radius:50%;width:8px;height:8px;position:absolute;bottom:-1px;right:-1px}.member-strip-status.online{background:var(--status-connected)}.member-strip-status.dnd{background:var(--status-disconnected)}.member-strip-status.offline,.member-strip-status.invisible{background:var(--text-muted)}.member-avatar-strip-item .member-strip-tooltip{background:var(--bg-primary);border:1px solid var(--border-color);white-space:nowrap;z-index:60;font-size:calc(12px * var(--font-scale,1));color:var(--text-primary);pointer-events:none;border-radius:6px;padding:4px 8px;display:none;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 2px 8px #0000004d}.member-avatar-strip-item:hover .member-strip-tooltip{display:block}.member-panel-toggle{z-index:40;background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-muted);border-right:none;border-radius:6px 0 0 6px;justify-content:center;align-items:center;padding:8px 4px;transition:color .15s,background-color .15s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.member-panel-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary)}.layout-resize-handle{cursor:col-resize;background:0 0;flex-shrink:0;width:4px;transition:background-color .15s;position:relative}.layout-resize-handle:before{content:"";position:absolute;inset:0 -3px}.layout-resize-handle:active{background-color:var(--accent-primary)}.layout-resize-handle-h{cursor:row-resize;background:0 0;height:3px;transition:background-color .15s;position:relative}.layout-resize-handle-h:before{content:"";position:absolute;inset:-3px 0}.layout-resize-handle-h:active{background-color:var(--accent-primary)}.server-bar{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:0 calc(8px * var(--sp,1));align-items:center;height:100%;min-height:48px;display:flex;position:relative;overflow:hidden}.server-bar-sticky{align-items:center;gap:calc(6px * var(--sp,1));flex-shrink:0;display:flex}.server-bar-active-icon{background:var(--bg-secondary);border:2px solid var(--accent-primary);cursor:pointer;border-radius:25%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.server-bar-active-icon:hover{border-color:var(--accent-hover);box-shadow:0 0 0 2px #fa709a33}.server-bar-active-icon.inactive{border-color:var(--border-color)}.server-bar-active-icon.inactive:hover{border-color:var(--accent-primary)}.server-bar-empty-server{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:25%;flex-shrink:0}.server-bar-active-icon img{object-fit:cover;width:100%;height:100%}.server-bar-active-icon .server-bar-icon-initial{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);font-family:Droidiga,sans-serif;font-weight:700}.server-bar-pm-icon{background:var(--bg-secondary);border:2px solid var(--border-color);cursor:pointer;color:var(--text-muted);border-radius:25%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .2s,color .2s;display:flex}.server-bar-pm-icon:hover,.server-bar-pm-icon.active{border-color:var(--accent-primary);color:var(--accent-primary)}.server-bar-divider{background:var(--border-color);width:2px;height:28px;margin:0 calc(8px * var(--sp,1));border-radius:1px;flex-shrink:0;align-self:center;transition:margin .2s ease-out}.server-bar-scroll-container{z-index:1;flex:1;align-items:center;min-width:0;display:flex;position:relative}.server-bar-scroll{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(4px * var(--sp,1)) 4px;scroll-behavior:smooth;flex:1;display:flex;overflow:auto hidden}.server-bar-scroll::-webkit-scrollbar{height:0}.server-bar-scroll-arrow{z-index:10;background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;width:24px;height:24px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.server-bar-scroll-arrow:hover{color:var(--text-primary);background:var(--bg-active)}.server-bar-scroll-arrow.left{left:0}.server-bar-scroll-arrow.right{right:0}.server-bar-icon-wrapper{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.server-bar-icon{background:var(--bg-secondary);border:2px solid var(--border-color);cursor:pointer;border-radius:25%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.server-bar-icon:hover{border-color:var(--accent-primary);box-shadow:0 0 0 1px #fa709a26}.server-bar-icon img{object-fit:cover;width:100%;height:100%}.server-bar-icon .server-bar-icon-initial{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);font-family:Droidiga,sans-serif;font-weight:700}.server-bar-icon[data-muted=true]{opacity:.6}.server-bar-mute-overlay{width:14px;height:14px;color:var(--text-secondary);pointer-events:none;z-index:6;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px}.server-bar-badge{background:var(--danger);color:#fff;z-index:5;pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.server-bar-tooltip-fixed{background:var(--bg-primary);border:1px solid var(--border-color);padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));white-space:nowrap;z-index:9999;pointer-events:none;border-radius:6px;flex-direction:column;gap:2px;min-width:120px;display:flex;box-shadow:0 4px 12px #0000004d}.server-bar-tooltip-name{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);margin-bottom:2px;font-weight:600}.server-bar-tooltip-stats{align-items:center;gap:calc(6px * var(--sp,1));font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);display:flex}.server-bar-tooltip-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:3px;height:3px}.server-bar-tooltip-voice{color:var(--text-muted)}.server-bar-tooltip-voice--active{color:var(--success);font-weight:600}.server-bar-tooltip-unread{font-size:calc(11px * var(--font-scale,1));color:var(--danger);margin-top:2px;font-weight:500}.server-bar-add{background:var(--bg-secondary);border:2px dashed var(--border-color);cursor:pointer;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.server-bar-add:hover{border-color:var(--success);color:var(--success);background:#43b58114;border-radius:25%}.server-bar-icon-wrapper[draggable=true]{cursor:pointer}.server-bar-icon-wrapper[draggable=true]:active{cursor:grabbing}.server-bar-icon-wrapper.dragging{opacity:.35;transition:opacity .15s,transform .15s;transform:scale(.75)}.server-bar-icon-ghost{border:2px dashed var(--accent-primary);background:#fa709a14;border-radius:25%;flex-shrink:0;animation:.15s ease-out ghost-expand}@keyframes ghost-expand{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.server-bar-add-tooltip{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(11px * var(--font-scale,1));white-space:nowrap;pointer-events:none;opacity:0;z-index:9999;border-radius:4px;padding:4px 8px;font-weight:500;transition:opacity .15s;position:fixed;box-shadow:0 4px 12px #0000004d}.server-bar-add-tooltip.visible{opacity:1}.folder-bar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0 calc(8px * var(--sp,1));align-items:center;gap:0;height:100%;min-height:32px;display:flex;overflow:hidden}.folder-bar-scroll{align-items:center;gap:calc(4px * var(--sp,1) * var(--folder-scale,1));min-width:0;padding:calc(4px * var(--sp,1)) 0;scrollbar-width:none;flex:1;display:flex;overflow:auto hidden}.folder-bar-scroll::-webkit-scrollbar{height:0}.folder-bar-divider{background:var(--border-color);width:1px;height:18px;margin:0 calc(8px * var(--sp,1));flex-shrink:0}.folder-bar-empty{flex:1}.folder-chip{align-items:center;gap:calc(4px * var(--sp,1) * var(--folder-scale,1));padding:calc(4px * var(--sp,1) * var(--folder-scale,1)) calc(10px * var(--sp,1) * var(--folder-scale,1));background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;font-size:calc(12px * var(--font-scale,1) * var(--folder-scale,1));color:var(--text-secondary);border-radius:4px;flex-shrink:0;transition:all .15s;display:flex;position:relative}.folder-chip:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--text-primary)}.folder-chip.open{background:var(--bg-active);border-color:var(--accent-primary);color:var(--text-primary)}.folder-chip.drag-over{border-color:var(--accent-primary);color:var(--text-primary);background:#fa709a1f;border-style:dashed}.folder-chip-name{font-weight:500}.folder-chip-arrow{transition:transform .2s}.folder-chip.open .folder-chip-arrow{transform:rotate(180deg)}.folder-chip-badge{background:var(--danger);color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:flex}.folder-dropdown{background:var(--bg-primary);border:1px solid var(--border-color);padding:calc(6px * var(--sp,1));border-radius:8px;min-width:180px;box-shadow:0 8px 24px #0006}.folder-dropdown:before{content:"";background:var(--bg-primary);border-left:1px solid var(--border-color);border-top:1px solid var(--border-color);width:10px;height:10px;position:absolute;top:-6px;left:16px;transform:rotate(45deg)}.folder-dropdown-item{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(8px * var(--sp,1));cursor:pointer;border-radius:4px;transition:background-color .1s;display:flex}.folder-dropdown-item:active{cursor:grabbing}.folder-dropdown-item.dragging{opacity:.35;transition:opacity .15s,transform .15s;transform:scale(.85)}.folder-dropdown-item:hover{background:var(--bg-hover)}.folder-dropdown-item-icon{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:35%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.folder-dropdown-item-icon img{object-fit:cover;width:100%;height:100%}.folder-dropdown-item-initial{font-size:calc(12px * var(--font-scale,1));color:var(--text-primary);font-family:Droidiga,sans-serif;font-weight:700}.folder-dropdown-item-name{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);font-weight:500}.folder-dropdown-ghost{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(8px * var(--sp,1));border:2px dashed var(--accent-primary);background:#fa709a14;border-radius:4px;animation:.15s ease-out folder-ghost-expand;display:flex}.folder-dropdown-ghost-icon{border:2px dashed var(--accent-primary);background:0 0;border-radius:35%;flex-shrink:0;width:32px;height:32px}.folder-dropdown-ghost-name{font-size:calc(12px * var(--font-scale,1));color:var(--accent-primary);font-style:italic;font-weight:500}@keyframes folder-ghost-expand{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:60px}}.folder-add-btn{width:calc(24px * var(--folder-scale,1));height:calc(24px * var(--folder-scale,1));border:1.5px dashed var(--border-color);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;position:relative}.folder-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#fa709a14}.folder-add-btn-tooltip{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(11px * var(--font-scale,1));white-space:nowrap;pointer-events:none;opacity:0;z-index:9999;border-radius:4px;padding:4px 8px;font-weight:500;transition:opacity .15s;position:fixed;box-shadow:0 4px 12px #0000004d}.folder-add-btn-tooltip.visible{opacity:1}.folder-rename-input{background:var(--bg-primary);border:1px solid var(--accent-primary);color:var(--text-primary);font-size:calc(12px * var(--font-scale,1));border-radius:3px;outline:none;width:80px;min-width:40px;padding:1px 4px;font-weight:500}.member-list{background-color:var(--bg-secondary);border-left:1px solid var(--border-color);width:100%;min-height:0;padding:calc(12px * var(--sp,1));flex-direction:column;flex:1;display:flex;overflow-y:auto}.member-list::-webkit-scrollbar{width:8px}.member-list::-webkit-scrollbar-track{background:0 0}.member-list::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.member-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.member-list-header{padding:0 calc(8px * var(--sp,1));margin-bottom:calc(12px * var(--sp,1))}.member-list-header h3{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.member-list-search{padding:0 calc(8px * var(--sp,1));margin-bottom:calc(8px * var(--sp,1))}.member-list-search-input{width:100%;padding:calc(5px * var(--sp,1)) calc(8px * var(--sp,1));font-size:calc(12px * var(--font-scale,1));background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);box-sizing:border-box;border-radius:4px;outline:none;font-family:inherit;transition:border-color .15s}.member-list-search-input::placeholder{color:var(--text-muted)}.member-list-search-input:focus{border-color:var(--accent-primary)}.member-group{margin-bottom:calc(12px * var(--sp,1))}.member-group-header{align-items:center;gap:calc(4px * var(--sp,1));padding:calc(4px * var(--sp,1)) calc(8px * var(--sp,1));margin-bottom:calc(4px * var(--sp,1));text-align:left;background:0 0;border:none;width:100%;font-family:inherit;display:flex}.member-group-header--clickable{cursor:pointer;border-radius:4px}.member-group-header--clickable:hover{background:var(--bg-tertiary)}.member-group-header span{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.member-group-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.member-group-chevron.collapsed{transform:rotate(-90deg)}.member-group-emoji{margin-right:calc(3px * var(--sp,1))}.member-group-color-dot{width:8px;height:8px;margin-left:calc(4px * var(--sp,1));vertical-align:middle;border-radius:50%;display:inline-block}.member-item{all:unset;box-sizing:border-box;width:100%;padding:calc(6px * var(--sp,1)) calc(8px * var(--sp,1));cursor:pointer;color:inherit;text-align:left;border-radius:4px;align-items:center;margin:1px 0;font-family:inherit;transition:background-color .15s;display:flex}.member-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.member-item:hover{background-color:var(--bg-tertiary)}.member-item.offline{opacity:.45}.member-item.offline:hover{opacity:.75}.member-avatar{background:var(--bg-tertiary);width:28px;height:28px;margin-right:calc(8px * var(--sp,1));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.member-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.member-avatar-initial{width:100%;height:100%;font-size:calc(12px * var(--font-scale,1));color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.member-status-dot{border:2px solid var(--bg-secondary);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.member-status-dot.online{background-color:var(--status-connected)}.member-status-dot.dnd{background-color:var(--status-disconnected)}.member-status-dot.offline,.member-status-dot.invisible{background-color:var(--text-muted)}.member-username{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.member-list-skeletons{padding:calc(8px * var(--sp,1))}.member-skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-secondary) 50%, var(--bg-tertiary) 75%);height:28px;margin-bottom:calc(8px * var(--sp,1));background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite member-skeleton-loading}@keyframes member-skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.member-list-error,.member-list-empty{padding:calc(24px * var(--sp,1)) calc(12px * var(--sp,1));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.member-list-error p,.member-list-empty p{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);margin-bottom:calc(8px * var(--sp,1))}.member-list-error .retry-btn{font-size:calc(12px * var(--font-scale,1));color:var(--accent-primary);border:1px solid var(--accent-primary);padding:calc(4px * var(--sp,1)) calc(12px * var(--sp,1));cursor:pointer;background:0 0;border-radius:4px;transition:background-color .15s}.member-list-error .retry-btn:hover{background-color:var(--bg-tertiary)}.shortcut-overlay{flex-direction:column;gap:12px;max-height:60vh;display:flex}.shortcut-search{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-size:14px}.shortcut-search:focus{border-color:var(--accent-color)}.shortcut-list{flex-direction:column;gap:16px;display:flex;overflow-y:auto}.shortcut-empty{text-align:center;color:var(--text-muted);padding:24px}.shortcut-category-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px;font-size:11px;font-weight:600}.shortcut-row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.shortcut-label{color:var(--text-primary);font-size:13px}.shortcut-keys{flex-shrink:0;gap:4px;display:flex}.shortcut-kbd{border:1px solid var(--border-color);background:var(--bg-tertiary,var(--bg-secondary));min-width:24px;height:24px;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.channel-switcher-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.channel-switcher{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;width:480px;max-height:400px;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000004d}.channel-switcher-input{border:none;border-bottom:1px solid var(--border-color);width:100%;color:var(--text-primary);background:0 0;outline:none;padding:12px 16px;font-size:15px}.channel-switcher-list{flex:1;overflow-y:auto}.channel-switcher-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.channel-switcher-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:flex}.channel-switcher-item:hover,.channel-switcher-item.selected{background:var(--bg-hover,var(--bg-secondary))}.channel-switcher-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.channel-switcher-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.channel-switcher-context{color:var(--text-muted);flex-shrink:0;font-size:12px}.channel-switcher-type-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600}.channel-switcher-type-badge.channel{background:var(--bg-secondary);color:var(--text-muted)}.channel-switcher-type-badge.dm{background:var(--accent-color-alpha,#5865f226);color:var(--accent-color)}.channels-sidebar-header{padding:calc(12px * var(--sp,1));border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.channel-header-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.channel-header-name-row{align-items:center;gap:6px;min-width:0;display:flex}.channels-sidebar-header h3{font-size:calc(22px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.server-e2ee-indicator{cursor:default;align-items:center;padding:2px 6px;display:flex;position:relative}.server-e2ee-indicator.encrypted{color:color-mix(in srgb, var(--success,#43b581) 70%, transparent)}.server-e2ee-indicator.unencrypted{color:color-mix(in srgb, var(--text-muted) 50%, transparent)}.server-e2ee-indicator:hover{color:inherit}.server-e2ee-indicator.encrypted:hover{color:var(--success,#43b581)}.server-e2ee-indicator.unencrypted:hover{color:var(--text-muted)}.e2ee-tooltip{background:var(--bg-tertiary);border:1px solid var(--border-color);z-index:9999;pointer-events:none;border-radius:8px;width:240px;padding:10px 12px;display:none;position:fixed;box-shadow:0 4px 16px #0006}.e2ee-tooltip.visible{flex-direction:column;gap:6px;display:flex}.e2ee-tooltip-header{font-size:calc(12px * var(--font-scale,1));text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;font-weight:700;display:flex}.e2ee-tooltip.encrypted .e2ee-tooltip-header{color:var(--success,#43b581)}.e2ee-tooltip.unencrypted .e2ee-tooltip-header{color:var(--text-muted)}.e2ee-tooltip-body{font-size:calc(11px * var(--font-scale,1));color:var(--text-secondary);line-height:1.45}.e2ee-tooltip-hint{font-size:calc(10px * var(--font-scale,1));color:var(--text-muted);font-style:italic;line-height:1.4}.server-role-badge{color:var(--text-secondary);font-size:calc(14px * var(--font-scale,1));margin-top:4px}.role-text{text-transform:capitalize;font-weight:600}.role-text.role-owner{color:var(--accent-primary)}.role-text.role-admin{color:var(--accent-secondary)}.role-text.role-member{color:var(--text-muted)}.resize-handle{cursor:col-resize;background:0 0;flex-shrink:0;width:4px;transition:background-color .15s;position:relative}.resize-handle:before{content:"";position:absolute;inset:0 -3px}.resize-handle:active{background-color:var(--accent-primary)}.floating-user-avatar{z-index:5;pointer-events:auto;position:absolute;bottom:12px;left:12px}.main-content[data-has-persistent-bar] .floating-user-avatar{bottom:68px}.conversation-list{background-color:var(--bg-secondary);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.conversation-list::-webkit-scrollbar{width:8px}.conversation-list::-webkit-scrollbar-track{background:0 0}.conversation-list::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.conversation-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.conversation-search{align-items:center;gap:calc(6px * var(--sp,1));padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));display:flex}.conversation-search input{width:100%;padding:calc(6px * var(--sp,1)) calc(10px * var(--sp,1));background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(13px * var(--font-scale,1));border-radius:4px;outline:none;transition:border-color .15s}.conversation-search input::placeholder{color:var(--text-muted)}.conversation-search input:focus{border-color:var(--accent-primary)}.conversation-item{padding:calc(10px * var(--sp,1)) calc(12px * var(--sp,1));margin:calc(2px * var(--sp,1)) calc(8px * var(--sp,1));cursor:pointer;align-items:center;gap:calc(10px * var(--sp,1));color:inherit;font:inherit;width:calc(100% - calc(16px * var(--sp,1)));text-align:left;background:0 0;border:none;border-radius:4px;transition:background-color .15s;display:flex}.conversation-item:hover{background-color:var(--bg-tertiary)}.conversation-item.active{background-color:var(--bg-tertiary);border-left:3px solid var(--accent-primary);border-right:3px solid var(--accent-primary);padding-left:calc(9px * var(--sp,1));padding-right:calc(9px * var(--sp,1))}.conversation-avatar{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.conversation-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.conversation-avatar-initial{width:100%;height:100%;font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.conversation-avatar .member-status-dot{border:2px solid var(--bg-secondary);width:10px;height:10px}.conversation-avatar.group{border-radius:8px}.conversation-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conversation-top-row{justify-content:space-between;align-items:center;gap:calc(6px * var(--sp,1));display:flex}.conversation-name{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.conversation-item.unread .conversation-name{font-weight:700}.conversation-time{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);flex-shrink:0}.conversation-bottom-row{justify-content:space-between;align-items:center;gap:calc(6px * var(--sp,1));display:flex}.conversation-preview{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.conversation-item.unread .conversation-preview{color:var(--text-primary)}.conversation-badges{align-items:center;gap:calc(4px * var(--sp,1));flex-shrink:0;display:flex}.conversation-draft-indicator{color:var(--text-muted);opacity:.7;flex-shrink:0;align-items:center;margin-right:4px;display:flex}.conversation-unread-badge{background:var(--accent-primary);min-width:18px;height:18px;color:var(--bg-primary);font-size:calc(11px * var(--font-scale,1));border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-weight:700;display:flex}.conversation-missed-call{color:var(--status-disconnected);align-items:center;display:flex}.conversation-list-empty{padding:calc(40px * var(--sp,1)) calc(20px * var(--sp,1));text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.conversation-list-empty p{font-size:calc(13px * var(--font-scale,1));margin-top:calc(8px * var(--sp,1))}.dm-chat-empty{min-height:0;color:var(--text-muted);justify-content:center;align-items:center;gap:calc(12px * var(--sp,1));padding:calc(24px * var(--sp,1));text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;display:flex}.dm-chat-empty-icon{color:var(--text-muted);opacity:.4}.dm-chat-empty h3{font-size:calc(18px * var(--font-scale,1));color:var(--text-secondary);font-weight:600}.dm-chat-empty p{font-size:calc(14px * var(--font-scale,1));color:var(--text-muted);max-width:320px}.dm-chat-header{align-items:center;gap:calc(10px * var(--sp,1));padding:calc(10px * var(--sp,1)) calc(16px * var(--sp,1));border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;display:flex}.dm-chat-header-name{font-size:calc(15px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.dm-chat-header-status{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.dm-chat-placeholder{flex-direction:column;flex:1;min-height:0;display:flex}.dm-chat-placeholder-body{color:var(--text-muted);font-size:calc(14px * var(--font-scale,1));flex:1;justify-content:center;align-items:center;display:flex}.dm-chat-placeholder-input{padding:calc(12px * var(--sp,1)) calc(16px * var(--sp,1));border-top:1px solid var(--border-color)}.dm-chat-placeholder-input input{width:100%;padding:calc(10px * var(--sp,1)) calc(14px * var(--sp,1));background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(14px * var(--font-scale,1));border-radius:6px;outline:none}.dm-chat-placeholder-input input::placeholder{color:var(--text-muted)}.friends-list{background-color:var(--bg-secondary);border-left:1px solid var(--border-color);width:100%;min-height:0;padding:calc(12px * var(--sp,1));flex-direction:column;flex:1;display:flex;overflow-y:auto}.friends-list::-webkit-scrollbar{width:8px}.friends-list::-webkit-scrollbar-track{background:0 0}.friends-list::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.friends-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.friends-list-header h3{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.friend-category{margin-bottom:calc(12px * var(--sp,1))}.friend-category-header{align-items:center;gap:calc(4px * var(--sp,1));padding:calc(4px * var(--sp,1)) calc(8px * var(--sp,1));margin-bottom:calc(4px * var(--sp,1));cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:4px;width:100%;display:flex}.friend-category-header:hover{background-color:var(--bg-tertiary)}.friend-category-header span{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.friend-category-count{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);margin-left:auto}.friend-item{padding:calc(6px * var(--sp,1)) calc(8px * var(--sp,1));cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;width:100%;margin:1px 0;transition:background-color .15s;display:flex}.friend-item:hover{background-color:var(--bg-tertiary)}.friend-item.offline{opacity:.45}.friend-item.offline:hover{opacity:.75}.friends-list-header{padding:0 calc(8px * var(--sp,1));margin-bottom:calc(12px * var(--sp,1));justify-content:space-between;align-items:center;display:flex}.friends-add-btn{background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .15s,color .15s;display:flex}.friends-add-btn:hover{background:var(--accent-primary);color:var(--bg-primary)}.conversation-item.personal-thread{padding:calc(6px * var(--sp,1)) calc(12px * var(--sp,1));gap:calc(8px * var(--sp,1));margin:calc(2px * var(--sp,1)) calc(8px * var(--sp,1))}.personal-thread-avatar{background:var(--accent-primary);color:var(--bg-primary);width:28px!important;height:28px!important}.personal-thread-name{font-size:calc(13px * var(--font-scale,1))!important}.personal-thread-divider{background:var(--border-color);height:1px;margin:calc(4px * var(--sp,1)) calc(8px * var(--sp,1))}.add-friend-modal{gap:calc(16px * var(--sp,1));flex-direction:column;display:flex}.add-friend-section{gap:calc(10px * var(--sp,1));flex-direction:column;display:flex}.add-friend-section-title{align-items:center;gap:calc(6px * var(--sp,1));font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-weight:600;display:flex}.add-friend-divider{background:var(--border-color);height:1px;margin:calc(4px * var(--sp,1)) 0}.add-friend-input{width:100%;padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(14px * var(--font-scale,1));box-sizing:border-box;border-radius:4px;outline:none;transition:border-color .15s}.add-friend-input::placeholder{color:var(--text-muted)}.add-friend-input:focus{border-color:var(--accent-primary)}.add-friend-code-input-row{gap:calc(8px * var(--sp,1));display:flex}.add-friend-error{font-size:calc(12px * var(--font-scale,1));color:var(--status-disconnected);padding:calc(4px * var(--sp,1)) 0}.add-friend-success{font-size:calc(12px * var(--font-scale,1));color:var(--status-connected);padding:calc(4px * var(--sp,1)) 0}.friend-code-preview,.search-result-item{align-items:center;gap:calc(10px * var(--sp,1));padding:calc(8px * var(--sp,1)) calc(10px * var(--sp,1));background:var(--bg-tertiary);border-radius:6px;display:flex}.friend-code-preview-name,.search-result-name{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.search-result-username{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);margin-left:calc(6px * var(--sp,1));font-weight:400}.add-friend-action-btn{align-items:center;gap:calc(4px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(12px * var(--sp,1));background:var(--accent-primary);color:var(--bg-primary);font-size:calc(12px * var(--font-scale,1));cursor:pointer;border:none;border-radius:4px;flex-shrink:0;font-weight:600;transition:opacity .15s;display:flex}.add-friend-action-btn:hover{opacity:.85}.add-friend-action-btn:disabled{opacity:.5;cursor:default}.add-friend-options{gap:calc(12px * var(--sp,1));flex-wrap:wrap;display:flex}.add-friend-option-group{gap:calc(4px * var(--sp,1));flex-direction:column;display:flex}.add-friend-option-group label{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.add-friend-option-group select{padding:calc(4px * var(--sp,1)) calc(8px * var(--sp,1));background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;border-radius:4px;outline:none}.add-friend-option-group select:focus{border-color:var(--accent-primary)}.add-friend-toggle{cursor:pointer;flex-shrink:0;width:38px;height:20px;position:relative}.add-friend-toggle input{opacity:0;width:0;height:0}.add-friend-toggle-track{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;transition:all .2s;position:absolute;inset:0}.add-friend-toggle input:checked+.add-friend-toggle-track{background:var(--accent-primary);border-color:var(--accent-primary)}.add-friend-toggle-thumb{background:var(--text-primary);pointer-events:none;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.add-friend-toggle input:checked~.add-friend-toggle-thumb{transform:translate(18px)}.add-friend-code-display{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(10px * var(--sp,1)) calc(14px * var(--sp,1));background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;min-height:40px;display:flex}.add-friend-active-codes{gap:calc(6px * var(--sp,1));margin-top:calc(4px * var(--sp,1));flex-direction:column;display:flex}.add-friend-active-codes h5{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0;font-weight:600}.add-friend-code-item{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(10px * var(--sp,1));background:var(--bg-tertiary);border-radius:4px;display:flex}.add-friend-code-item.expired{opacity:.45}.add-friend-code-meta{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);flex:1}.add-friend-revoke-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s;display:flex}.add-friend-revoke-btn:hover{color:var(--status-disconnected);background:var(--bg-primary)}.dm-privacy-blocked{padding:calc(16px * var(--sp,1));border-top:1px solid var(--border-color);background:var(--bg-secondary);justify-content:center;align-items:center;display:flex}.dm-privacy-blocked p{font-size:calc(13px * var(--font-scale,1));color:var(--text-muted);text-align:center;max-width:500px;margin:0;line-height:1.5}.friends-list-empty{padding:calc(24px * var(--sp,1)) calc(12px * var(--sp,1));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.friends-list-empty p{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.dm-disabled-notice{text-align:center;font-size:calc(13px * var(--font-scale,1));color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;margin:0 12px 12px;padding:14px 16px}.friends-header-badge{margin-left:calc(6px * var(--sp,1));vertical-align:middle}.friend-request-item{cursor:default}.friend-request-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.friend-request-info .member-username{font-size:calc(13px * var(--font-scale,1))}.friend-request-meta{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted)}.friend-request-actions{align-items:center;gap:calc(4px * var(--sp,1));flex-shrink:0;margin-left:auto;display:flex}.friend-request-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background-color .15s,color .15s;display:flex}.friend-request-accept{color:var(--text-secondary);background:0 0}.friend-request-accept:hover:not(:disabled){background:var(--status-connected);color:var(--bg-primary)}.friend-request-decline{color:var(--text-secondary);background:0 0}.friend-request-decline:hover:not(:disabled){background:var(--status-disconnected);color:var(--bg-primary)}.friend-request-btn:disabled{opacity:.5;cursor:default}.friend-request-outgoing{opacity:.65}.friend-request-pending-label{align-items:center;gap:calc(4px * var(--sp,1));font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);font-weight:500;display:flex}.friend-request-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.create-group-btn{background:var(--bg-tertiary);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.create-group-btn:hover{background:var(--accent-primary);color:var(--bg-primary)}.create-group-modal-overlay,.edit-group-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.create-group-modal,.edit-group-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;width:440px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 8px 32px #0006}.create-group-modal-header,.edit-group-modal-header{padding:calc(14px * var(--sp,1)) calc(16px * var(--sp,1));border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.create-group-modal-header h3,.edit-group-modal-header h3{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);margin:0;font-weight:600}.create-group-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s;display:flex}.create-group-close-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.create-group-modal-body,.edit-group-modal-body{padding:calc(14px * var(--sp,1)) calc(16px * var(--sp,1));gap:calc(10px * var(--sp,1));flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.create-group-name-input{width:100%;padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:calc(14px * var(--font-scale,1));box-sizing:border-box;border-radius:4px;outline:none;transition:border-color .15s}.create-group-name-input::placeholder{color:var(--text-muted)}.create-group-name-input:focus{border-color:var(--accent-primary)}.create-group-chips{gap:calc(6px * var(--sp,1));flex-wrap:wrap;display:flex}.create-group-chip{align-items:center;gap:calc(4px * var(--sp,1));padding:calc(3px * var(--sp,1)) calc(8px * var(--sp,1));background:var(--bg-tertiary);font-size:calc(12px * var(--font-scale,1));color:var(--text-primary);border-radius:12px;display:inline-flex}.create-group-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:0;transition:color .15s;display:flex}.create-group-chip button:hover{color:var(--text-primary)}.create-group-search{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(10px * var(--sp,1));background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;transition:border-color .15s;display:flex}.create-group-search:focus-within{border-color:var(--accent-primary)}.create-group-search-icon{color:var(--text-muted);flex-shrink:0}.create-group-search input{color:var(--text-primary);font-size:calc(13px * var(--font-scale,1));background:0 0;border:none;outline:none;flex:1}.create-group-search input::placeholder{color:var(--text-muted)}.create-group-limit{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);text-align:center;padding:calc(4px * var(--sp,1)) 0}.create-group-results{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.create-group-results::-webkit-scrollbar{width:6px}.create-group-results::-webkit-scrollbar-track{background:0 0}.create-group-results::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}.create-group-no-results{text-align:center;padding:calc(16px * var(--sp,1));color:var(--text-muted);font-size:calc(13px * var(--font-scale,1))}.create-group-user-row{align-items:center;gap:calc(10px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(8px * var(--sp,1));border-radius:4px;transition:background-color .15s;display:flex}.create-group-user-row:hover{background:var(--bg-tertiary)}.create-group-user-info{flex-direction:column;flex:1;min-width:0;display:flex}.create-group-user-display{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.create-group-user-username{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted)}.create-group-add-btn{background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.create-group-add-btn:hover:not(:disabled){background:var(--accent-primary);color:var(--bg-primary)}.create-group-add-btn:disabled{opacity:.4;cursor:default}.create-group-error{font-size:calc(12px * var(--font-scale,1));color:var(--status-disconnected);padding:calc(4px * var(--sp,1)) 0}.create-group-modal-footer,.edit-group-modal-footer{justify-content:flex-end;align-items:center;gap:calc(8px * var(--sp,1));padding:calc(12px * var(--sp,1)) calc(16px * var(--sp,1));border-top:1px solid var(--border-color);display:flex}.create-group-create-btn{padding:calc(8px * var(--sp,1)) calc(16px * var(--sp,1));background:var(--accent-primary);color:var(--bg-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;border:none;border-radius:4px;font-weight:600;transition:opacity .15s}.create-group-create-btn:hover:not(:disabled){opacity:.85}.create-group-create-btn:disabled{opacity:.5;cursor:default}.edit-group-label{font-size:calc(12px * var(--font-scale,1));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.edit-group-cancel-btn{padding:calc(8px * var(--sp,1)) calc(16px * var(--sp,1));background:var(--bg-tertiary);color:var(--text-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;border:none;border-radius:4px;font-weight:500;transition:background-color .15s}.edit-group-cancel-btn:hover{background:var(--bg-primary)}.dm-chat-area-wrapper{flex:1;height:100%;min-height:0;display:flex}.dm-chat-header-group-info-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.dm-chat-header-group-info-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.group-info-panel{background:var(--bg-secondary);border-left:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow-y:auto}.group-info-panel::-webkit-scrollbar{width:6px}.group-info-panel::-webkit-scrollbar-track{background:0 0}.group-info-panel::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}.group-info-header{padding:calc(10px * var(--sp,1)) calc(14px * var(--sp,1));border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.group-info-header h3{font-size:calc(14px * var(--font-scale,1));color:var(--text-primary);margin:0;font-weight:600}.group-info-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s;display:flex}.group-info-close-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.group-info-body{padding:calc(14px * var(--sp,1));align-items:center;gap:calc(10px * var(--sp,1));flex-direction:column;display:flex}.group-info-icon{background:var(--bg-tertiary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.group-info-icon span{font-size:calc(22px * var(--font-scale,1));color:var(--text-primary);font-weight:700}.group-info-name-row{align-items:center;gap:calc(6px * var(--sp,1));display:flex}.group-info-name{font-size:calc(15px * var(--font-scale,1));color:var(--text-primary);text-align:center;word-break:break-word;margin:0;font-weight:600}.group-info-edit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.group-info-edit-btn:hover{color:var(--accent-primary)}.group-info-member-count{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted)}.group-info-error{font-size:calc(12px * var(--font-scale,1));color:var(--status-disconnected);text-align:center;padding:calc(4px * var(--sp,1)) 0;width:100%}.group-info-members{width:100%;margin-top:calc(6px * var(--sp,1));flex-direction:column;gap:2px;display:flex}.group-info-members-title{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 calc(6px * var(--sp,1)) 0;font-weight:600}.group-member-item{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(6px * var(--sp,1));border-radius:4px;transition:background-color .15s;display:flex}.group-member-item:hover{background:var(--bg-tertiary)}.group-member-info{flex-direction:column;flex:1;min-width:0;display:flex}.group-member-name{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.group-member-you{color:var(--text-muted);font-weight:400;font-size:calc(11px * var(--font-scale,1))}.group-member-username{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted)}.group-member-role-badge{background:var(--accent-primary);color:var(--bg-primary);font-size:calc(10px * var(--font-scale,1));border-radius:8px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;font-weight:600;display:inline-flex}.group-member-actions{flex-shrink:0;position:relative}.group-member-menu-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:flex}.group-member-menu-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.group-member-menu{background:var(--bg-primary);border:1px solid var(--border-color);z-index:100;border-radius:6px;flex-direction:column;width:180px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000004d}.group-member-menu-item{align-items:center;gap:calc(8px * var(--sp,1));padding:calc(6px * var(--sp,1)) calc(10px * var(--sp,1));color:var(--text-primary);font-size:calc(13px * var(--font-scale,1));cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;width:100%;transition:background-color .15s;display:flex}.group-member-menu-item:hover{background:var(--bg-tertiary)}.group-member-menu-item-danger{color:var(--status-disconnected)}.group-member-menu-item-danger:hover{background:#ff46461a}.group-info-actions{gap:calc(6px * var(--sp,1));width:100%;margin-top:calc(12px * var(--sp,1));padding-top:calc(12px * var(--sp,1));border-top:1px solid var(--border-color);flex-direction:column;display:flex}.group-info-action-btn{justify-content:center;align-items:center;gap:calc(6px * var(--sp,1));padding:calc(8px * var(--sp,1));font-size:calc(13px * var(--font-scale,1));cursor:pointer;border:none;border-radius:4px;width:100%;font-weight:500;transition:background-color .15s,opacity .15s;display:flex}.group-info-leave-btn{background:var(--bg-tertiary);color:var(--text-primary)}.group-info-leave-btn:hover{background:var(--bg-primary)}.group-info-delete-btn{color:var(--status-disconnected);background:0 0}.group-info-delete-btn:hover{background:#ff46461a}.dm-profile-modal-container{background:var(--bg-primary);color:var(--text-primary);border:none;border-radius:12px;width:100%;max-width:440px;max-height:90vh;padding:0;overflow:hidden;box-shadow:0 12px 40px #00000073}.dm-profile-modal-container::backdrop{background:#0000008c}.dm-profile-modal-inner{flex-direction:column;max-height:90vh;display:flex}.dm-profile-modal-banner{background:var(--bg-tertiary);flex-shrink:0;height:100px;position:relative}.dm-profile-modal-banner.has-image{background:0 0}.dm-profile-modal-banner-img{object-fit:cover;width:100%;height:100%}.dm-profile-modal-close{color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:12px;right:12px}.dm-profile-modal-close:hover{background:#000000a6}.dm-profile-modal-body{flex:1;padding:0 24px 24px;overflow-y:auto}.dm-profile-modal-header{margin-top:-40px;display:flex}.dm-profile-modal-avatar{width:80px;height:80px;position:relative}.dm-profile-modal-avatar-img{object-fit:cover;border:4px solid var(--bg-primary);border-radius:50%;width:100%;height:100%}.dm-profile-modal-avatar-initial{color:#fff;border:4px solid var(--bg-primary);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:32px;font-weight:600;display:flex}.dm-profile-modal-status-dot{border:3px solid var(--bg-primary);border-radius:50%;width:18px;height:18px;position:absolute;bottom:4px;right:4px}.dm-profile-modal-status-dot.online{background:var(--status-online,#3ba55c)}.dm-profile-modal-status-dot.dnd{background:var(--status-dnd,#ed4245)}.dm-profile-modal-status-dot.invisible,.dm-profile-modal-status-dot.offline{background:var(--status-offline,#747f8d)}.dm-profile-modal-identity{margin-top:12px}.dm-profile-modal-name{font-size:20px;font-weight:600}.dm-profile-modal-username{color:var(--text-muted);margin-top:2px;font-size:14px}.dm-profile-modal-section{background:var(--bg-secondary);border-radius:8px;margin-top:20px;padding:12px 14px}.dm-profile-modal-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.dm-profile-modal-detail-row{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.dm-profile-modal-detail-label{color:var(--text-muted)}.dm-profile-modal-detail-value{color:var(--text-primary)}.dm-profile-modal-bio-text{white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:14px}.dm-profile-modal-links-list{flex-direction:column;gap:6px;display:flex}.dm-profile-modal-link{color:var(--text-link,#00aff4);word-break:break-all;font-size:14px;text-decoration:none}.dm-profile-modal-link:hover{text-decoration:underline}.dm-profile-modal-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.dm-profile-modal-action{cursor:pointer;border:none;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:500}.dm-profile-modal-action-primary{background:var(--accent,#5865f2);color:#fff}.dm-profile-modal-action-primary:hover{filter:brightness(1.08)}.dm-profile-modal-action-destructive{color:var(--status-dnd,#ed4245);border:1px solid var(--status-dnd,#ed4245);background:0 0}.dm-profile-modal-action-destructive:hover{background:#ed42451f}.connection-lost-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;pointer-events:all;background:#0009;justify-content:center;align-items:center;animation:.3s ease-out modalOverlayFadeIn;display:flex;position:fixed;inset:0}.connection-lost-card{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;border-radius:12px;max-width:440px;padding:40px;animation:.3s ease-out modalSlideIn;box-shadow:0 8px 32px #00000080}.connection-lost-icon{color:var(--text-muted);margin-bottom:16px}.connection-lost-icon.spinning{animation:1.5s linear infinite spin}.connection-lost-icon.error{color:var(--danger-color,#e74c3c)}.connection-lost-title{font-size:calc(22px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;margin:0 0 12px;font-family:Droidiga,sans-serif;font-weight:700}.connection-lost-message{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.connection-lost-diagnostics{background:var(--bg-tertiary);text-align:left;border-radius:8px;margin-bottom:24px;padding:12px 16px}.connection-lost-diag-row{font-size:calc(13px * var(--font-scale,1));justify-content:space-between;align-items:center;padding:4px 0;display:flex}.connection-lost-diag-label{color:var(--text-secondary);font-weight:500}.connection-lost-diag-value{font-variant-numeric:tabular-nums;font-weight:700}.connection-lost-diag-value.ok{color:var(--success-color,#2ecc71)}.connection-lost-diag-value.failed{color:var(--danger-color,#e74c3c)}.connection-lost-diag-value.unknown{color:var(--text-secondary)}.connection-lost-actions{justify-content:center;gap:12px;display:flex}.connection-lost-btn{font-size:calc(14px * var(--font-scale,1));cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-weight:600;transition:background .2s,opacity .2s;display:inline-flex}.connection-lost-btn.primary{background:var(--accent-primary);color:var(--on-accent)}.connection-lost-btn.primary:hover{opacity:.9}.connection-lost-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.connection-lost-btn.secondary:hover{background:var(--bg-quaternary,var(--bg-tertiary));color:var(--text-primary)}.settings-overlay-host{background:var(--bg-primary,#1e1f22);width:100vw;max-width:100vw;height:100vh;max-height:100vh;color:inherit;z-index:900;border:none;margin:0;padding:0;overflow:hidden}.settings-overlay-host[open]{flex-direction:column;animation:.15s ease-out settingsOverlayFadeIn;display:flex}.settings-overlay-host::backdrop{background:#0006}.settings-overlay-host__panel{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}.settings-overlay-host__panel>.view-container{flex:1;width:100%;height:100%;min-height:0}@keyframes settingsOverlayFadeIn{0%{opacity:0}to{opacity:1}}.spa-fallback-overlay{z-index:950;background:var(--bg-secondary);color:var(--text-warning-strong);border-bottom:1px solid var(--text-warning-strong);justify-content:space-between;align-items:center;padding:8px 16px;font-size:14px;display:flex;position:fixed;top:0;left:0;right:0}.spa-fallback-overlay__message{text-align:center;flex:1}.spa-fallback-overlay__dismiss{color:inherit;cursor:pointer;background:0 0;border:none;margin-left:16px;padding:4px 8px;font-size:18px;line-height:1}.spa-fallback-overlay__dismiss:hover{background:#0000001a;border-radius:4px}.spa-fallback-overlay__dismiss:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.force-update-overlay{-webkit-backdrop-filter:blur(8px);z-index:10000;pointer-events:all;background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out modalOverlayFadeIn;display:flex;position:fixed;inset:0}.force-update-card{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;border-radius:12px;max-width:460px;padding:40px;animation:.3s ease-out modalSlideIn;box-shadow:0 8px 32px #00000080}.force-update-icon{color:var(--text-warning-strong);margin-bottom:16px}.force-update-title{font-size:calc(22px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;margin:0 0 12px;font-family:Droidiga,sans-serif;font-weight:700}.force-update-message{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.force-update-message strong{color:var(--text-primary);font-weight:600}.force-update-status{font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;display:flex}.force-update-status.success{color:var(--success-color)}.force-update-status.error{color:var(--danger)}.force-update-spinner{animation:1.5s linear infinite spin}.force-update-progress-bar{background:var(--bg-tertiary);border-radius:3px;width:100%;max-width:320px;height:6px;overflow:hidden}.force-update-progress-fill{background:var(--accent-primary);border-radius:3px;height:100%;transition:width .3s}.force-update-progress-text{font-variant-numeric:tabular-nums}.force-update-actions{justify-content:center;gap:12px;display:flex}.force-update-btn{font-size:calc(14px * var(--font-scale,1));cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-weight:600;transition:background .2s,opacity .2s;display:inline-flex}.force-update-btn.primary{background:var(--accent-primary);color:var(--on-accent)}.force-update-btn.primary:hover{opacity:.9}.force-update-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.force-update-btn.secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.force-update-manual-link{font-size:calc(12px * var(--font-scale,1));color:var(--text-tertiary);align-items:center;gap:5px;margin-top:16px;text-decoration:none;transition:color .2s;display:inline-flex}.force-update-manual-link:hover{color:var(--accent-primary);text-decoration:underline}.force-update-escape{margin-top:12px}.update-banner{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;animation:.3s ease-out updateBannerSlideIn;display:flex;position:relative;overflow:hidden}.update-banner__icon{color:var(--accent-primary);flex-shrink:0;align-items:center;display:flex}.update-banner--downloaded .update-banner__icon{color:var(--success-color,#2ecc71)}.update-banner--rollback{background:color-mix(in srgb, #e67e22 15%, var(--bg-secondary));border-bottom-color:#e67e22}.update-banner--rollback .update-banner__icon{color:#e67e22}.update-banner__text{flex:1;font-weight:500}.update-banner__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.update-banner__btn{font-size:calc(12px * var(--font-scale,1));cursor:pointer;border:none;border-radius:6px;font-weight:600;transition:background .2s,opacity .2s}.update-banner__btn.primary{background:var(--accent-primary);color:var(--on-accent);padding:4px 12px}.update-banner__btn.primary:hover{opacity:.9}.update-banner__btn.dismiss{color:var(--text-muted);background:0 0;align-items:center;padding:4px;display:flex}.update-banner__btn.dismiss:hover{color:var(--text-primary)}.update-banner__progress{background:var(--accent-primary);height:2px;transition:width .3s;position:absolute;bottom:0;left:0}@keyframes updateBannerSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.update-security-banner{z-index:1000;color:#fff;background:#8b0000;border-bottom:2px solid #5a0000;align-items:center;gap:16px;padding:12px 20px;font-size:14px;line-height:1.4;display:flex;position:sticky;top:0;left:0;right:0;box-shadow:0 2px 4px #00000026}.update-security-banner__icon{flex-shrink:0;width:20px;height:20px}.update-security-banner__message{flex:1;min-width:0}.update-security-banner__cta{color:inherit;white-space:nowrap;align-items:center;gap:4px;font-weight:600;text-decoration:underline;display:inline-flex}.update-security-banner__cta:focus-visible{outline-offset:2px;outline:2px solid}.update-security-banner__dismiss,.update-security-banner__confirm{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:500}.update-security-banner__dismiss:hover,.update-security-banner__confirm:hover{background:#ffffff1f}.update-security-banner__confirm-row{align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex}.update-security-banner__confirm-copy{opacity:.9;font-size:13px;font-style:italic}.incoming-call-banner{z-index:1000;background:var(--surface-elevated,#2a2d33);width:320px;color:var(--text-primary,#fff);border:1px solid var(--border-accent,#5865f2);border-radius:8px;align-items:center;gap:12px;padding:12px 14px;animation:2s ease-in-out infinite incoming-call-pulse;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 16px #0006}@keyframes incoming-call-pulse{0%,to{border-color:var(--border-accent,#5865f2)}50%{border-color:var(--accent-primary,#5865f2);box-shadow:0 6px 20px #5865f280}}.incoming-call-banner__avatar{background:var(--surface-muted,#3a3d45);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.incoming-call-banner__avatar img{object-fit:cover;width:100%;height:100%}.incoming-call-banner__initials{color:var(--text-primary,#fff);font-size:14px;font-weight:600}.incoming-call-banner__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.incoming-call-banner__name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.incoming-call-banner__subtitle{color:var(--text-secondary,#aab);font-size:12px}.incoming-call-banner__actions{flex-shrink:0;gap:8px;display:flex}.incoming-call-banner__btn{cursor:pointer;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;transition:opacity .15s}.incoming-call-banner__btn:hover{opacity:.9}.incoming-call-banner__btn--accept{background:var(--success,#22c55e)}.incoming-call-banner__btn--decline{background:var(--danger,#ef4444)}.outgoing-call-modal__backdrop{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.outgoing-call-modal{background:var(--surface-elevated,#2a2d33);min-width:340px;max-width:420px;color:var(--text-primary,#fff);border:1px solid var(--border-accent,#4a4d55);border-radius:12px;flex-direction:column;align-items:center;gap:16px;padding:32px 28px;display:flex;box-shadow:0 12px 32px #00000080}.outgoing-call-modal__avatar{background:var(--surface-muted,#3a3d45);border:2px solid var(--border-accent,#5865f2);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.outgoing-call-modal__initials{font-size:24px;font-weight:600}.outgoing-call-modal__text{flex-direction:column;align-items:center;gap:4px;display:flex}.outgoing-call-modal__name{font-size:18px;font-weight:600}.outgoing-call-modal__subtitle{color:var(--text-secondary,#aab);font-size:13px}.outgoing-call-modal__cancel{background:var(--danger,#b91c1c);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 28px;font-size:14px;font-weight:500;transition:opacity .15s}.outgoing-call-modal__cancel:hover{opacity:.9}.attestation-modal-overlay{z-index:9999;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.attestation-modal{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border-color,#444);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:24px;display:flex}.attestation-modal h2{color:var(--text-primary,#fff);margin:0;font-size:18px;font-weight:600}.attestation-modal p{color:var(--text-secondary,#bbb);margin:0;font-size:14px;line-height:1.5}.attestation-modal strong{color:var(--text-primary,#fff);font-weight:600}.attestation-modal__actions{flex-flow:wrap;align-items:center;gap:12px;display:flex}.attestation-modal__download-link{background:var(--accent-color,#5865f2);color:#fff;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.attestation-modal__download-link:hover{background:var(--accent-color-hover,#4752c4);text-decoration:none}.attestation-modal__download-link:focus-visible{outline:2px solid var(--accent-color,#5865f2);outline-offset:2px}.form-group{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;display:flex}.form-label{width:100%;font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0;padding:0;font-weight:600}.form-input{background:var(--bg-secondary);border:2px solid var(--border-color);width:100%;color:var(--text-primary);font-size:calc(15px * var(--font-scale,1));border-radius:8px;padding:12px 16px;font-family:SourceSans,sans-serif;transition:all .2s}.form-input:focus{border-color:var(--state-focused);background:var(--bg-tertiary);outline:none}.form-input:focus-visible{outline:2px solid var(--state-focused);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--state-focused) 15%, transparent)}.form-input.error{border-color:var(--danger);background:#f047470d}.form-input.error:focus{background:#f0474714}.form-input.success{border-color:var(--success);background:#43b5810d}.form-input.success:focus{background:#43b58114}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input::placeholder{color:var(--text-muted)}.form-error{font-size:calc(12px * var(--font-scale,1));color:var(--danger);margin-top:4px;animation:.3s ease-out fadeInShake}.form-success{font-size:calc(12px * var(--font-scale,1));color:var(--success);margin-top:4px;font-weight:600;animation:.3s ease-out fadeInSlide}.form-hint{font-size:calc(12px * var(--font-scale,1));color:var(--text-muted);font-style:italic}.form-error-banner{color:var(--danger);font-size:calc(13px * var(--font-scale,1));background:#f047471f;border:1px solid #f0474766;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-weight:500;animation:.3s ease-out errorBannerSlideIn;display:flex}.form-error-banner:before{content:"⚠️";font-size:calc(16px * var(--font-scale,1));flex-shrink:0}.footer-text{font-size:calc(13px * var(--font-scale,1));color:var(--text-secondary);text-align:center}.footer-terms{font-size:calc(11px * var(--font-scale,1));color:var(--text-muted);max-width:400px;line-height:1.4}.sso-eager-unlock{background:var(--bg-primary);flex-direction:column;gap:20px;width:100%;max-width:460px;margin:auto;padding:40px;display:flex}.sso-eager-unlock--locked{align-items:stretch}.sso-eager-unlock__title{font-size:calc(28px * var(--font-scale,1));color:var(--text-primary);letter-spacing:.3px;text-align:center;margin-bottom:4px;font-family:Droidiga,sans-serif;font-weight:700}.sso-eager-unlock__intro{font-size:calc(14px * var(--font-scale,1));color:var(--text-secondary);text-align:center;margin-bottom:12px;line-height:1.5}.sso-eager-unlock__field{flex-direction:column;gap:6px;display:flex}.sso-eager-unlock__label{font-size:calc(13px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.sso-eager-unlock__input{font-size:calc(14px * var(--font-scale,1));background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);border-radius:8px;padding:10px 12px;transition:border-color .15s}.sso-eager-unlock__input:focus{border-color:var(--accent-primary);outline:none}.sso-eager-unlock__input:disabled{opacity:.6;cursor:not-allowed}.sso-eager-unlock__error{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid var(--danger);color:var(--danger);font-size:calc(13px * var(--font-scale,1));border-radius:8px;padding:10px 12px}.sso-eager-unlock__actions{flex-direction:column;gap:8px;display:flex}.sso-eager-unlock__submit{font-size:calc(14px * var(--font-scale,1));background:var(--accent-primary);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:600;transition:background-color .15s,opacity .15s;display:inline-flex}.sso-eager-unlock__submit:hover:not(:disabled){background:var(--accent-primary-hover,var(--accent-primary))}.sso-eager-unlock__submit:disabled{opacity:.5;cursor:not-allowed}*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Droidiga;src:url(../branding/Concord-Voice/fonts/Droidiga.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:SourceSans;src:url(../branding/Concord-Voice/fonts/SourceSans.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Atkinson Hyperlegible Next;src:url(../branding/Concord-Voice/fonts/AtkinsonHyperlegibleNextVF-Variable.woff2)format("woff2-variations"),url(../branding/Concord-Voice/fonts/AtkinsonHyperlegibleNextVF-Variable.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(../branding/Concord-Voice/fonts/Lato-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(../branding/Concord-Voice/fonts/Lato-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(../branding/Concord-Voice/fonts/Lato-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url(../branding/Concord-Voice/fonts/Lato-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--ui-scale:1;--font-scale-discrete:1;--sp-base-discrete:1;--font-scale:calc(var(--font-scale-discrete) * var(--ui-scale));--sp-base:calc(var(--sp-base-discrete) * var(--ui-scale));--compact-factor:1;--sp:calc(var(--sp-base) * var(--compact-factor));--bg-primary:#0d0821;--bg-secondary:#151028;--bg-tertiary:#1d1630;--text-primary:#fff;--text-secondary:#b8b8c8;--text-muted:#7f7f9e;--accent-primary:#fa709a;--accent-secondary:#ffe13f;--accent-hover:#ff8bb0;--gradient-brand:linear-gradient(90deg, #fa709a 0%, #ffe13f 100%);--success:#43b581;--danger:#f04747;--border-color:#2a2440;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#5f5f7e;--bg-hover:#1a1230;--bg-active:#241e38;--on-accent:#fff;--danger-hover:#d43b3b;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-fontsize=small]{--font-scale-discrete:.825;--sp-base-discrete:.825}[data-fontsize=large]{--font-scale-discrete:1.175;--sp-base-discrete:1.175}[data-compact=true]{--compact-factor:.75}[data-reduce-animations=true],[data-reduce-animations=true] *,[data-reduce-animations=true] :before,[data-reduce-animations=true] :after{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-tertiary:#e8e8ec;--text-primary:#1a1a2e;--text-secondary:#4a4a6a;--text-muted:#8888a8;--accent-primary:#fa709a;--accent-secondary:#ffe13f;--accent-hover:#ff8bb0;--gradient-brand:linear-gradient(90deg, #fa709a 0%, #ffe13f 100%);--success:#2d9f6f;--danger:#e03e3e;--border-color:#d4d4de;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#6a6a8a;--bg-hover:#dddde2;--bg-active:#d2d2d8;--on-accent:#fff;--danger-hover:#c83232;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#ae4e6b;--link-color-hover:#9f576e;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=concord]{--bg-primary:#0d0821;--bg-secondary:#151028;--bg-tertiary:#1d1630;--text-primary:#fff;--text-secondary:#b8b8c8;--text-muted:#7f7f9e;--accent-primary:#fa709a;--accent-secondary:#ffe13f;--accent-hover:#ff8bb0;--gradient-brand:linear-gradient(90deg, #fa709a 0%, #ffe13f 100%);--success:#43b581;--danger:#f04747;--border-color:#2a2440;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#5f5f7e;--bg-hover:#1a1230;--bg-active:#241e38;--on-accent:#fff;--danger-hover:#d43b3b;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=concord][data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-tertiary:#e8e8ec;--text-primary:#1a1a2e;--text-secondary:#4a4a6a;--text-muted:#8888a8;--accent-primary:#fa709a;--accent-secondary:#ffe13f;--accent-hover:#ff8bb0;--gradient-brand:linear-gradient(90deg, #fa709a 0%, #ffe13f 100%);--success:#2d9f6f;--danger:#e03e3e;--border-color:#d4d4de;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#6a6a8a;--bg-hover:#dddde2;--bg-active:#d2d2d8;--on-accent:#fff;--danger-hover:#c83232;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#ae4e6b;--link-color-hover:#9f576e;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=morky]{--bg-primary:#0a0a0a;--bg-secondary:#141414;--bg-tertiary:#1e1e1e;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-muted:#666;--accent-primary:#e63946;--accent-secondary:#ff6b35;--accent-hover:#ff4d5e;--gradient-brand:linear-gradient(90deg, #e63946 0%, #ff6b35 100%);--success:#4caf50;--danger:#f44336;--border-color:#2a2a2a;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#505050;--bg-hover:#262626;--bg-active:#2e2e2e;--on-accent:#fff;--danger-hover:#d43030;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=morky][data-theme=light]{--bg-primary:#f8f8f8;--bg-secondary:#fff;--bg-tertiary:#ebebeb;--text-primary:#1a1a1a;--text-secondary:#555;--text-muted:#888;--accent-primary:#e63946;--accent-secondary:#ff6b35;--accent-hover:#ff4d5e;--gradient-brand:linear-gradient(90deg, #e63946 0%, #ff6b35 100%);--success:#2e7d32;--danger:#c62828;--border-color:#d0d0d0;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#707070;--bg-hover:#e2e2e2;--bg-active:#d8d8d8;--on-accent:#fff;--danger-hover:#a82020;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#cf333f;--link-color-hover:#c73c49;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=bardic]{--bg-primary:#120a1e;--bg-secondary:#1a1028;--bg-tertiary:#251a35;--text-primary:#f0e6ff;--text-secondary:#b8a0d4;--text-muted:#7a6894;--accent-primary:#c471ed;--accent-secondary:#f64f8e;--accent-hover:#d999f5;--gradient-brand:linear-gradient(90deg, #c471ed 0%, #f64f8e 100%);--success:#6bcb77;--danger:#e05279;--border-color:#332548;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#5e4c78;--bg-hover:#2e2042;--bg-active:#36264c;--on-accent:#fff;--danger-hover:#c43a60;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=bardic][data-theme=light]{--bg-primary:#f8f4fc;--bg-secondary:#fff;--bg-tertiary:#efe6f7;--text-primary:#1e0e2e;--text-secondary:#5a4570;--text-muted:#9080a6;--accent-primary:#b04fd9;--accent-secondary:#e8447e;--accent-hover:#c87ae5;--gradient-brand:linear-gradient(90deg, #b04fd9 0%, #e8447e 100%);--success:#2e8b4a;--danger:#c23660;--border-color:#d8cce5;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#7a6a90;--bg-hover:#e6dcf0;--bg-active:#ddd0ea;--on-accent:#fff;--danger-hover:#a82a50;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#9d46c1;--link-color-hover:#8f57a4;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=foxden]{--bg-primary:#3d1e00;--bg-secondary:#4a2600;--bg-tertiary:#5a3200;--text-primary:#ffe0b2;--text-secondary:#ffcc80;--text-muted:#c47a30;--accent-primary:#ff6d00;--accent-secondary:#ff9100;--accent-hover:#ff8a24;--gradient-brand:linear-gradient(90deg, #ff6d00 0%, #ff9100 100%);--success:#8bc34a;--danger:#ef5350;--border-color:#6b3f10;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#9a5a1e;--bg-hover:#6a3c08;--bg-active:#7a4810;--on-accent:#fff;--danger-hover:#d43838;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#80d8ff;--link-color-hover:#b3e5fc;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=foxden][data-theme=light]{--bg-primary:#fff3e0;--bg-secondary:#fff8f0;--bg-tertiary:#ffe8c8;--text-primary:#1a0e02;--text-secondary:#8a4500;--text-muted:#b87830;--accent-primary:#e65100;--accent-secondary:#ef6c00;--accent-hover:#ff7d1a;--gradient-brand:linear-gradient(90deg, #e65100 0%, #ef6c00 100%);--success:#558b2f;--danger:#c62828;--border-color:#f0c890;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#a06a28;--bg-hover:#ffe0b0;--bg-active:#ffd898;--on-accent:#fff;--danger-hover:#a82020;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#01579b;--link-color-hover:#0272b4;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=hacker]{--bg-primary:#000;--bg-secondary:#080808;--bg-tertiary:#111;--text-primary:#00ff41;--text-secondary:#0c3;--text-muted:#00801f;--accent-primary:#00ff41;--accent-secondary:#00ee38;--accent-hover:#4f7;--gradient-brand:linear-gradient(90deg, #00ff41 0%, #00ee38 100%);--success:#00ff41;--danger:#ff2020;--border-color:#0a2a0a;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#005818;--bg-hover:#181818;--bg-active:#202020;--on-accent:#000;--danger-hover:#cc1818;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=hacker][data-theme=light]{--bg-primary:#e8ffe8;--bg-secondary:#f2fff2;--bg-tertiary:#d0f0d0;--text-primary:#003a00;--text-secondary:#005a00;--text-muted:#408040;--accent-primary:#008a20;--accent-secondary:#007018;--accent-hover:#00aa2a;--gradient-brand:linear-gradient(90deg, #008a20 0%, #007018 100%);--success:#008a20;--danger:#c11;--border-color:#c0dcc0;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#307030;--bg-hover:#c2e8c2;--bg-active:#b0d8b0;--on-accent:#fff;--danger-hover:#a80e0e;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#00821e;--link-color-hover:#008220;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=spooky]{--bg-primary:#0a0a0a;--bg-secondary:#121010;--bg-tertiary:#1c1518;--text-primary:#e8d8c8;--text-secondary:#a08878;--text-muted:#6a5040;--accent-primary:#ff6a00;--accent-secondary:#8b20aa;--accent-hover:#f83;--gradient-brand:linear-gradient(90deg, #ff6a00 0%, #8b20aa 100%);--success:#4a8a3a;--danger:#c22;--border-color:#2a1e1e;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#4e3a2e;--bg-hover:#221818;--bg-active:#2a1e1e;--on-accent:#fff;--danger-hover:#aa1a1a;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=spooky][data-theme=light]{--bg-primary:#f5efe8;--bg-secondary:#faf6f0;--bg-tertiary:#e8ddd0;--text-primary:#1a0e06;--text-secondary:#5a4030;--text-muted:#8a7060;--accent-primary:#c50;--accent-secondary:#7a18a0;--accent-hover:#e06600;--gradient-brand:linear-gradient(90deg, #c50 0%, #7a18a0 100%);--success:#3a7a2e;--danger:#b81c1c;--border-color:#d4c4b0;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#7a6050;--bg-hover:#e0d4c4;--bg-active:#d6c8b6;--on-accent:#fff;--danger-hover:#981414;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#b24a00;--link-color-hover:#ae4f00;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=leviathan]{--bg-primary:#020c14;--bg-secondary:#061420;--bg-tertiary:#0c1e2e;--text-primary:#c8dce8;--text-secondary:#7aa0bc;--text-muted:#3e6880;--accent-primary:#0ea5e9;--accent-secondary:#06b6d4;--accent-hover:#38bdf8;--gradient-brand:linear-gradient(90deg, #0ea5e9 0%, #06b6d4 100%);--success:#2dd4bf;--danger:#f43f5e;--border-color:#122a3e;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#2a4e66;--bg-hover:#0e2438;--bg-active:#142e44;--on-accent:#fff;--danger-hover:#d6354f;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=leviathan][data-theme=light]{--bg-primary:#ecf6fc;--bg-secondary:#f4faff;--bg-tertiary:#d8ecf6;--text-primary:#041820;--text-secondary:#1a4a64;--text-muted:#5a8aa4;--accent-primary:#0284c7;--accent-secondary:#0891b2;--accent-hover:#0ea5e9;--gradient-brand:linear-gradient(90deg, #0284c7 0%, #0891b2 100%);--success:#0d9488;--danger:#e11d48;--border-color:#b8d8ea;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#4a7a94;--bg-hover:#cce4f2;--bg-active:#c0dae8;--on-accent:#fff;--danger-hover:#be123c;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#0273ad;--link-color-hover:#0a74a4;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=grassynill]{--bg-primary:#0c0e08;--bg-secondary:#141810;--bg-tertiary:#1e2418;--text-primary:#d8dcc8;--text-secondary:#a0a888;--text-muted:#687050;--accent-primary:#6b8e23;--accent-secondary:#8b7355;--accent-hover:#7fa828;--gradient-brand:linear-gradient(90deg, #6b8e23 0%, #8b7355 100%);--success:#6b8e23;--danger:#b85c38;--border-color:#2a3020;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#4a5238;--bg-hover:#222a1a;--bg-active:#2a3222;--on-accent:#fff;--danger-hover:#9a4a2c;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=grassynill][data-theme=light]{--bg-primary:#f2f4ec;--bg-secondary:#f8faf4;--bg-tertiary:#e4e8d8;--text-primary:#1a1e10;--text-secondary:#4a5030;--text-muted:#7a8260;--accent-primary:#5a7a1a;--accent-secondary:#7a6345;--accent-hover:#6b8e23;--gradient-brand:linear-gradient(90deg, #5a7a1a 0%, #7a6345 100%);--success:#5a7a1a;--danger:#a04e2e;--border-color:#c8d0b8;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#68724c;--bg-hover:#dae0cc;--bg-active:#d0d6c0;--on-accent:#fff;--danger-hover:#884020;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#577619;--link-color-hover:#59761d;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=cottoncandy]{--bg-primary:#0a0810;--bg-secondary:#120e18;--bg-tertiary:#1a1620;--text-primary:#d0e8ff;--text-secondary:#90b8e0;--text-muted:#5880a8;--accent-primary:#ff6ea8;--accent-secondary:#40c8ff;--accent-hover:#ff90be;--gradient-brand:linear-gradient(90deg, #ff6ea8 0%, #40c8ff 100%);--success:#40c8ff;--danger:#ff5080;--border-color:#26202e;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#406888;--bg-hover:#1e1a28;--bg-active:#262230;--on-accent:#c0e0ff;--danger-hover:#e03868;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=cottoncandy][data-theme=light]{--bg-primary:#e8f0ff;--bg-secondary:#eff5ff;--bg-tertiary:#d4e4fa;--text-primary:#081428;--text-secondary:#14305a;--text-muted:#3a6098;--accent-primary:#ff2880;--accent-secondary:#00a0f0;--accent-hover:#ff50a0;--gradient-brand:linear-gradient(90deg, #ff2880 0%, #00a0f0 100%);--success:#00a0f0;--danger:#ff1060;--border-color:#a8c8f0;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#305880;--bg-hover:#c4d8f4;--bg-active:#b4ccea;--on-accent:#c0e0ff;--danger-hover:#d80050;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#c92065;--link-color-hover:#b83a73;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=driftwood]{--bg-primary:#120e0a;--bg-secondary:#1a1410;--bg-tertiary:#241c16;--text-primary:#e8ddd0;--text-secondary:#b8a890;--text-muted:#7a6a54;--accent-primary:#c8a46c;--accent-secondary:#a07848;--accent-hover:#d8b880;--gradient-brand:linear-gradient(90deg, #c8a46c 0%, #a07848 100%);--success:#8a9a5a;--danger:#c45a3a;--border-color:#322820;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#5a4c3a;--bg-hover:#2a221a;--bg-active:#322a20;--on-accent:#12100a;--danger-hover:#a84830;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=driftwood][data-theme=light]{--bg-primary:#f4efe8;--bg-secondary:#faf6f0;--bg-tertiary:#e8dfd4;--text-primary:#1e1610;--text-secondary:#4a3c2c;--text-muted:#8a7860;--accent-primary:#9a7840;--accent-secondary:#7a5c30;--accent-hover:#b08c50;--gradient-brand:linear-gradient(90deg, #9a7840 0%, #7a5c30 100%);--success:#6a7a3c;--danger:#a84428;--border-color:#d0c4b0;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#706048;--bg-hover:#e0d4c4;--bg-active:#d6c8b6;--on-accent:#faf6f0;--danger-hover:#8c361e;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#826536;--link-color-hover:#80663a;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=eclipse]{--bg-primary:#000;--bg-secondary:#0a0000;--bg-tertiary:#140808;--text-primary:#e8c8c8;--text-secondary:#a08080;--text-muted:#684848;--accent-primary:#c00;--accent-secondary:#800;--accent-hover:#ee2020;--gradient-brand:linear-gradient(90deg, #c00 0%, #800 100%);--success:#aa2020;--danger:#ff1a1a;--border-color:#2a1010;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#4a2e2e;--bg-hover:#1a0808;--bg-active:#221010;--on-accent:#e8c8c8;--danger-hover:#d00;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#d83e3e;--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=eclipse][data-theme=light]{--bg-primary:#f4e8e8;--bg-secondary:#faf2f2;--bg-tertiary:#e8d4d4;--text-primary:#180808;--text-secondary:#4a1e1e;--text-muted:#8a5050;--accent-primary:#a00;--accent-secondary:#700000;--accent-hover:#c00;--gradient-brand:linear-gradient(90deg, #a00 0%, #700000 100%);--success:#881818;--danger:#c00;--border-color:#d0b0b0;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#6a3838;--bg-hover:#dcc4c4;--bg-active:#d0b8b8;--on-accent:#f4e8e8;--danger-hover:#900;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=midnightsky]{--bg-primary:#060a18;--bg-secondary:#0c1228;--bg-tertiary:#141c38;--text-primary:#c8d0e8;--text-secondary:#7080b0;--text-muted:#3e4c78;--accent-primary:#6d8cff;--accent-secondary:#a78bfa;--accent-hover:#8da6ff;--gradient-brand:linear-gradient(90deg, #6d8cff 0%, #a78bfa 100%);--success:#6ee7b7;--danger:#fb7185;--border-color:#1c2848;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#2e3c68;--bg-hover:#1a2444;--bg-active:#222e52;--on-accent:#fff;--danger-hover:#e05068;--status-connected:#1aaa55;--status-connecting:#e6b432;--status-disconnected:#fa6464;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:var(--accent-primary);--link-color-hover:var(--accent-hover);--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=midnightsky][data-theme=light]{--bg-primary:#eef0f8;--bg-secondary:#f6f7fc;--bg-tertiary:#dce0f0;--text-primary:#0a0e1c;--text-secondary:#2a3460;--text-muted:#6070a0;--accent-primary:#4a6ae0;--accent-secondary:#7c5cc8;--accent-hover:#6d8cff;--gradient-brand:linear-gradient(90deg, #4a6ae0 0%, #7c5cc8 100%);--success:#059669;--danger:#e11d48;--border-color:#b8c0dc;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#4a5888;--bg-hover:#d0d6ea;--bg-active:#c4cae0;--on-accent:#fff;--danger-hover:#be123c;--status-connected:#1a9a4a;--status-connecting:#c89a20;--status-disconnected:#e05050;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#4462cf;--link-color-hover:#4f65b9;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=agency]{--bg-primary:#050912;--bg-secondary:#0a1224;--bg-tertiary:#0d294a;--text-primary:#f0f5fa;--text-secondary:#94a8c4;--text-muted:#5e718f;--accent-primary:#e0004e;--accent-secondary:#017fa4;--accent-hover:#ff1860;--gradient-brand:linear-gradient(90deg, #e0004e 0%, #017fa4 100%);--success:#6ccdb8;--danger:#ff2050;--border-color:#1e3258;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#455770;--bg-hover:#122545;--bg-active:#1a3666;--on-accent:#fff;--danger-hover:#ff3060;--status-connected:#6ccdb8;--status-connecting:#f1b435;--status-disconnected:#e0004e;--text-warning-strong:#f1b435;--text-error-strong:#ff5070;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Atkinson Hyperlegible Next", "Lato", system-ui, sans-serif;--font-body-stack:"Lato", "Atkinson Hyperlegible Next", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#6ccdb8;--link-color-hover:#8eecd6;--link-color-visited:#105f66;--state-encryption-pending:#f1b435}[data-scheme=agency][data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#eaeff6;--bg-tertiary:#d9e2ed;--text-primary:#0a1424;--text-secondary:#3a4a66;--text-muted:#5e708a;--accent-primary:#a30038;--accent-secondary:#015a73;--accent-hover:#c8004a;--gradient-brand:linear-gradient(90deg, #a30038 0%, #015a73 100%);--success:#2a8a72;--danger:#c4003d;--border-color:#b8c4d4;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#768aa6;--bg-hover:#e0e8f0;--bg-active:#cdd9e6;--on-accent:#fff;--danger-hover:#a30030;--status-connected:#2a8a72;--status-connecting:#a87000;--status-disconnected:#c4003d;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Atkinson Hyperlegible Next", "Lato", system-ui, sans-serif;--font-body-stack:"Lato", "Atkinson Hyperlegible Next", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#015a73;--link-color-hover:#013548;--link-color-visited:#105f66;--state-encryption-pending:#b07a00}[data-scheme=defacto]{--bg-primary:#1c1c1f;--bg-secondary:#26262a;--bg-tertiary:#303035;--text-primary:#e4e4e7;--text-secondary:#b4b4bd;--text-muted:#9b9ba3;--accent-primary:#58a6ff;--accent-secondary:#79c0ff;--accent-hover:#79c0ff;--gradient-brand:linear-gradient(90deg, #58a6ff 0%, #79c0ff 100%);--success:#3fb950;--danger:#f85149;--border-color:#3a3a40;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#6e6e77;--bg-hover:#2a2a30;--bg-active:#34343b;--on-accent:#0d1117;--danger-hover:#da3633;--status-connected:#3fb950;--status-connecting:#d29922;--status-disconnected:#f85149;--text-warning-strong:#f59e0b;--text-error-strong:#f87171;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#58a6ff;--link-color-hover:#79c0ff;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}[data-scheme=defacto][data-theme=light]{--bg-primary:#fff;--bg-secondary:#f6f8fa;--bg-tertiary:#eaeef2;--text-primary:#1f2328;--text-secondary:#57606a;--text-muted:#6e7781;--accent-primary:#0969da;--accent-secondary:#218bff;--accent-hover:#0860ca;--gradient-brand:linear-gradient(90deg, #0969da 0%, #218bff 100%);--success:#1a7f37;--danger:#cf222e;--border-color:#d0d7de;--accent-color:var(--accent-primary);--error-color:var(--danger);--success-color:var(--success);--text-tertiary:#818b98;--bg-hover:#f3f4f6;--bg-active:#eaeef2;--on-accent:#fff;--danger-hover:#a40e26;--status-connected:#1a7f37;--status-connecting:#9a6700;--status-disconnected:#cf222e;--text-warning-strong:#92400e;--text-error-strong:#991b1b;--state-selected:var(--accent-primary);--state-focused:var(--accent-secondary);--state-hover:var(--bg-hover);--font-display-stack:"Droidiga", system-ui, sans-serif;--font-body-stack:"SourceSans", system-ui, sans-serif;--font-display-tracking:0;--font-display-tracking-tight:-.02em;--radius-base:4px;--radius-elevated:8px;--radius-modal:12px;--motion-duration-fast:.15s;--motion-duration-base:.25s;--motion-duration-slow:.4s;--motion-curve-base:cubic-bezier(.4, 0, .2, 1);--motion-curve-decel:cubic-bezier(0, 0, .2, 1);--link-color:#0969da;--link-color-hover:#0860ca;--link-color-visited:var(--accent-secondary);--state-encryption-pending:#faa61a}body{font-family:SourceSans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:calc(14px * var(--font-scale,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden}.app{flex-direction:column;width:100vw;height:100vh;display:flex}.view-container{flex:1;display:flex;overflow:hidden}.main-view{flex-direction:column;display:flex}.channels-sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.channels-sidebar-header h3{font-size:calc(16px * var(--font-scale,1));color:var(--text-primary);font-weight:600}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.main-content__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.main-content__body--with-side-chat{flex-direction:row}.main-content__primary{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.main-content__side-resize{cursor:col-resize;background-color:var(--bg-secondary);flex-shrink:0;justify-content:center;align-items:center;width:6px;display:flex}.main-content__side-resize-grip{background-color:var(--border-color);border-radius:2px;width:3px;height:40px;transition:background-color .15s}.main-content__side-resize:hover .main-content__side-resize-grip{background-color:var(--text-muted)}.main-content__side-chat{border-left:1px solid var(--border-color);background-color:var(--bg-primary);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.main-content-placeholder{padding:calc(40px * var(--sp,1));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-server-graphic{color:var(--text-muted);opacity:.4;margin-bottom:calc(16px * var(--sp,1))}.empty-server-hint{color:var(--text-secondary)}.main-content h2{font-size:calc(24px * var(--font-scale,1));margin-bottom:calc(8px * var(--sp,1))}.main-content p{color:var(--text-secondary);font-size:calc(15px * var(--font-scale,1))}.sidebar-section{width:100%;margin-bottom:calc(24px * var(--sp,1))}.sidebar-section h3{font-size:calc(12px * var(--font-scale,1));text-transform:uppercase;color:var(--text-muted);margin-bottom:calc(8px * var(--sp,1));font-weight:600}.placeholder-text{font-size:calc(13px * var(--font-scale,1));color:var(--text-muted);margin-top:calc(8px * var(--sp,1));font-style:italic}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.login-form button,.login-form button.secondary,.auth-placeholder button,.login-submit-btn,.login-back-btn,.register-submit-btn,.register-back-btn,.server-connect-btn,.server-back-btn,.connection-continue,.create-server-cancel-btn,.create-server-submit-btn,.profile-cancel-btn,.profile-save-btn,.profile-password-btn,.session-revoke-btn,.sessions-revoke-all-btn,.btn-edit-cancel,.btn-edit-save,.scroll-to-bottom,.settings-back-btn,.profile-link-add{padding:calc(12px * var(--sp,1)) calc(20px * var(--sp,1))}.login-form input,.form-input,.server-url-input,.message-edit-input{padding:calc(12px * var(--sp,1)) calc(16px * var(--sp,1))}.user-popover-item,.message-option,.context-menu-item,.settings-nav-item{padding:calc(10px * var(--sp,1)) calc(12px * var(--sp,1));gap:calc(10px * var(--sp,1))}.settings-nav-badge,.session-card-badge{padding:calc(2px * var(--sp,1)) calc(6px * var(--sp,1))}.settings-row{padding:calc(12px * var(--sp,1)) 0}.form-error-banner,.settings-error{padding:calc(12px * var(--sp,1)) calc(16px * var(--sp,1));gap:calc(12px * var(--sp,1))}.session-card{padding:calc(16px * var(--sp,1));gap:calc(16px * var(--sp,1))}.user-popover-header{padding:calc(8px * var(--sp,1)) calc(12px * var(--sp,1));gap:calc(10px * var(--sp,1))}.info-tooltip-popup{padding:calc(12px * var(--sp,1)) calc(14px * var(--sp,1))}a[target=_blank]:not(.update-security-banner__cta){color:var(--link-color);text-underline-offset:2px;text-decoration:underline;transition:color .15s}a[target=_blank]:not(.update-security-banner__cta):hover{color:var(--link-color-hover)}[data-high-contrast=true]{--bg-primary:#000;--bg-secondary:#000;--bg-tertiary:#1a1a1a;--text-primary:#fff;--text-secondary:#fff;--text-muted:#ccc;--text-tertiary:#ccc;--accent-primary:#ff0;--accent-secondary:#0ff;--accent-hover:#ffff80;--accent-color:#ff0;--gradient-brand:linear-gradient(90deg, #ff0 0%, #0ff 100%);--success:#0f0;--danger:#ff4040;--border-color:#fff;--error-color:#ff4040;--success-color:#0f0;--bg-hover:#333;--bg-active:#4d4d4d;--on-accent:#000;--danger-hover:#ff8080;--status-connected:#0f0;--status-connecting:#ff0;--status-disconnected:#ff4040;--text-warning-strong:#ff0;--text-error-strong:#ff4040;--link-color:#ff0;--link-color-hover:#ffff80;--link-color-visited:#0ff}[data-high-contrast=true][data-theme=light]{--bg-primary:#fff;--bg-secondary:#fff;--bg-tertiary:#f0f0f0;--text-primary:#000;--text-secondary:#000;--text-muted:#333;--text-tertiary:#333;--accent-primary:#00c;--accent-secondary:purple;--accent-hover:#0000a0;--accent-color:#00c;--gradient-brand:linear-gradient(90deg, #00c 0%, purple 100%);--success:#060;--danger:#c00;--border-color:#000;--error-color:#c00;--success-color:#060;--bg-hover:#e0e0e0;--bg-active:silver;--on-accent:#fff;--danger-hover:#900;--status-connected:#060;--status-connecting:#c60;--status-disconnected:#c00;--text-warning-strong:#806600;--text-error-strong:#c00;--link-color:#00c;--link-color-hover:#0000a0;--link-color-visited:purple}[data-high-contrast=true] :focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px}
