:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--bg-secondary:#f4f3ec;--bg-tertiary:#e5e4e7;--bg-deep:#ebeaf0;--accent-hover:color-mix(in srgb, var(--accent) 70%, #3b0a73);--on-accent:#fff;--danger:#da373c;--success:#23a55a;--warning:#f0b232;--status-online:#3ba55c;--status-busy:#ed4245;--status-away:#faa61a;--status-offline:#80848e;--overlay:#0009;--media-bg:#000;--on-media:#fff;--shadow-popover:0 8px 24px #00000059;--scrollbar-thumb:color-mix(in srgb, var(--accent) 55%, transparent);--scrollbar-thumb-hover:var(--accent);--scrollbar-track:color-mix(in srgb, var(--text) 20%, transparent);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--bg-secondary:#1c1d24;--bg-tertiary:#26272f;--bg-deep:#101014;--danger:#ed4245;--on-accent:var(--bg-deep)}}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{border:0 solid #0000;border-radius:10px}::-webkit-scrollbar-track{border:0 solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:vertical{border-left-width:calc((10px - var(--sb-size,2px)) / 2);border-right-width:calc((10px - var(--sb-size,2px)) / 2)}::-webkit-scrollbar-track:vertical{border-left-width:calc((10px - var(--sb-size,2px)) / 2);border-right-width:calc((10px - var(--sb-size,2px)) / 2)}::-webkit-scrollbar-thumb:horizontal{border-top-width:calc((10px - var(--sb-size,2px)) / 2);border-bottom-width:calc((10px - var(--sb-size,2px)) / 2)}::-webkit-scrollbar-track:horizontal{border-top-width:calc((10px - var(--sb-size,2px)) / 2);border-bottom-width:calc((10px - var(--sb-size,2px)) / 2)}::-webkit-scrollbar-track{background:color-mix(in srgb, var(--scrollbar-track) calc(var(--sb-track,0) * 100%), transparent) padding-box}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb) padding-box;min-width:40px;min-height:40px}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.scroll-hidden{scrollbar-width:none}.scroll-hidden::-webkit-scrollbar{display:none}#root{box-sizing:border-box;flex-direction:column;height:100svh;display:flex}body{margin:0;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%}.user-avatar{object-fit:cover;border-radius:50%;flex:none}.user-avatar-fallback{background:var(--bg-tertiary);color:var(--text-h);font-weight:600;font-family:var(--sans);justify-content:center;align-items:center;display:flex}.avatar-with-status{flex:none;display:inline-flex;position:relative}.presence-dot{box-sizing:content-box;border:2px solid var(--presence-ring,var(--bg-secondary));border-radius:50%;position:absolute;bottom:-2px;right:-2px}.presence-online{background:var(--status-online)}.presence-busy{background:var(--status-busy)}.presence-away{background:var(--status-away)}.presence-offline{background:var(--status-offline)}.muted-icon{flex:none;font-size:12px;line-height:1}.server-name .muted-icon.inline{margin-left:6px}.muted-icon.badge{background:var(--bg-deep);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex;position:absolute;bottom:-4px;right:-4px}.rail-menu{z-index:50;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);min-width:200px;box-shadow:var(--shadow-popover);border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed}.rail-menu hr{border:none;border-top:1px solid var(--bg-tertiary);width:100%;margin:4px 0}.rail-menu-item{color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;display:flex}.rail-menu-item:hover,.rail-menu-item:focus-visible{background:var(--bg-tertiary);outline:none}.rail-menu-empty{color:var(--text);padding:8px 10px;font-size:13px}.rail-menu-item[aria-checked=true]{font-weight:600}.status-menu-dot{border-radius:50%;flex:0 0 10px;width:10px;height:10px}.status-menu-hint{color:var(--text);font-size:12px;font-weight:400;display:block}.status-menu-identity{-webkit-user-select:text;user-select:text;align-items:center;gap:10px;max-width:280px;padding:6px 10px 4px;display:flex}.status-menu-identity-text{flex-direction:column;min-width:0;display:flex}.status-menu-identity-text strong{color:var(--text-h);font-weight:600}.status-menu-identity-text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-menu-identity-text span{color:var(--text);font-size:12px}.status-menu-legal{flex-wrap:wrap;gap:4px 12px;margin:0;padding:4px 10px 6px;font-size:12px;display:flex}.status-menu-legal a{color:var(--text)}.status-menu-legal a:hover,.status-menu-legal a:focus-visible{color:var(--text-h)}.status-menu-section{color:var(--text);padding:4px 10px 2px;font-size:12px;font-weight:600;display:block}.dialog-overlay{background:var(--overlay);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-card{border:1px solid var(--border);background:var(--bg);width:360px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:14px;padding:24px;display:flex}.dialog-card h2{margin:0}.dialog-card label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;display:flex}.dialog-card input{font:inherit;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);border-radius:4px;padding:8px 10px}.avatar-dialog-preview{justify-content:center;display:flex}.dialog-error{color:var(--danger);margin:0;font-size:13px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.dialog-actions button{font:inherit;cursor:pointer;border:none;border-radius:4px;padding:8px 16px}.dialog-actions button[type=button]{color:var(--text-h);background:0 0}.dialog-submit{background:var(--accent);color:var(--on-accent)}.dialog-submit:disabled,.dialog-actions button:disabled{opacity:.6;cursor:not-allowed}.dialog-card select{font:inherit;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);border-radius:4px;padding:8px 10px}.dialog-danger-link{font:inherit;color:var(--danger);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px}.dialog-danger-zone{border:1px solid var(--danger);border-radius:4px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.dialog-danger-zone p{color:var(--text-h);margin:0;font-size:13px}.dialog-danger{font:inherit;background:var(--danger);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;align-self:flex-start;padding:6px 12px;font-size:13px}.dialog-danger:disabled,.dialog-danger-link:disabled{opacity:.6;cursor:not-allowed}.dialog-hint{color:var(--text);margin:0;font-size:13px}.install-app-dialog{max-width:calc(100vw - 32px)}.channel-permissions-dialog{width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto}.channel-permissions-table{border-collapse:collapse;width:100%;font-size:13px}.channel-permissions-table th,.channel-permissions-table td{text-align:left;color:var(--text-h);padding:4px 6px}.channel-permissions-table thead th{border-bottom:1px solid var(--border);font-weight:600}.channel-permissions-table tbody th{overflow-wrap:anywhere;font-weight:400}.channel-permissions-table select{width:100%;padding:4px 6px}@media (width<=768px){.dialog-card{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:20px 16px;overflow-y:auto}}.server-rail{background:var(--bg-deep);flex-direction:column;flex:0 0 72px;align-items:center;gap:8px;width:72px;min-height:0;padding:12px 0;display:flex}.rail-scroll-area{flex-direction:column;flex:auto;width:100%;min-height:0;margin:-4px 0;display:flex;position:relative}.rail-scroll-area:before,.rail-scroll-area:after{content:"";z-index:1;border-top:2px dotted var(--accent);opacity:0;pointer-events:none;height:0;transition:opacity .15s;position:absolute;left:12px;right:12px}.rail-scroll-area:before{top:0}.rail-scroll-area:after{bottom:0}.rail-scroll-area.more-up:before,.rail-scroll-area.more-down:after{opacity:1}.rail-scroll{flex-direction:column;flex:auto;align-items:center;gap:8px;min-height:0;padding:4px 0;display:flex;overflow-y:auto}.rail-scroll-hint{z-index:2;background:var(--accent);width:32px;height:20px;color:var(--on-accent);box-shadow:var(--shadow-popover);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.rail-scroll-hint.up{top:6px}.rail-scroll-hint.up svg{transform:rotate(180deg)}.rail-scroll-hint.down{bottom:6px}.rail-scroll-hint:hover{background:var(--accent-hover)}.server-rail>.server-icon{flex-shrink:0}.rail-footer{flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.server-rail ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.server-icon{background:var(--bg-tertiary);width:48px;height:48px;color:var(--text-h);font:600 15px/1 var(--sans);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:border-radius .15s,background .15s;display:flex;position:relative}.rail-unread-pill{background:var(--text-h);border-radius:0 4px 4px 0;width:4px;height:8px;margin-top:-4px;position:absolute;top:50%;left:-12px}.server-icon:hover{background:var(--accent);color:var(--on-accent);border-radius:30%}.server-icon.active:hover{background:var(--accent-hover)}.server-rail li.dragging{opacity:.4}.server-rail li.drop-before{box-shadow:0 -3px 0 var(--accent)}.server-rail li.drop-after{box-shadow:0 3px 0 var(--accent)}.server-icon.active{background:var(--accent);color:var(--on-accent);border-radius:30%}.server-icon.add-server{color:var(--accent);font-size:22px}.server-icon.add-server:hover{color:var(--on-accent)}.update-button{background:var(--bg-tertiary);width:48px;height:48px;color:var(--success);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:border-radius .15s,background .15s;display:flex}.update-button:hover{background:var(--success);color:var(--on-accent);border-radius:30%}.install-app-slot{position:relative}.install-app-button{background:var(--bg-tertiary);width:48px;height:48px;color:var(--accent);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:border-radius .15s,background .15s;display:flex}.install-app-button:hover{background:var(--accent);color:var(--on-accent);border-radius:30%}.install-app-dismiss{border:2px solid var(--bg-deep);background:var(--bg-tertiary);width:20px;height:20px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-4px;right:-4px}.install-app-dismiss:hover{color:var(--text-h)}.account-button{--presence-ring:var(--bg-deep);cursor:pointer;background:0 0;border:none;border-radius:50%;width:44px;height:44px;padding:0}.account-button:hover{opacity:.85}.sign-out-button{width:44px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.sign-out-button:hover{background:var(--bg-tertiary);color:var(--text-h)}.channel-sidebar{--presence-ring:var(--bg-secondary);background:var(--bg-secondary);flex-direction:column;flex:0 0 240px;width:240px;display:flex;overflow-y:auto}.server-name{min-height:48px;color:var(--text-h);border-bottom:1px solid var(--border);box-sizing:border-box;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px 8px;padding:8px 16px;font-weight:600;display:flex}.server-name>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.category-list{padding:12px 8px}.category{margin-bottom:16px}.category.dragging{opacity:.4}.category.drop-before{box-shadow:0 -2px 0 var(--accent)}.category.drop-after{box-shadow:0 2px 0 var(--accent)}.category.drop-into{outline:1px dashed var(--accent-border);outline-offset:2px;border-radius:4px}.channel-row.dragging{opacity:.4}.channel-row.drop-before{box-shadow:0 -2px 0 var(--accent)}.channel-row.drop-after{box-shadow:0 2px 0 var(--accent)}.category-name.draggable{cursor:grab}.category-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.category-name{letter-spacing:.4px;text-transform:uppercase;color:var(--text);justify-content:space-between;align-items:center;gap:4px;margin-bottom:4px;padding:0 8px;font-size:12px;font-weight:700;display:flex}.category ul{margin:0;padding:0;list-style:none}.category ul.category-channels{padding-left:12px}.category-add-channel{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;padding:0 4px;font-size:16px;font-weight:400;line-height:1}.category-add-channel:hover{color:var(--text-h);background:var(--bg-tertiary)}.create-category-card{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:1px 8px;font-size:12px;line-height:16px;display:flex}.create-category-label{white-space:nowrap;opacity:0;max-width:0;transition:max-width .15s,opacity .15s,margin-left .15s;overflow:hidden}.create-category-card:hover,.create-category-card:focus-visible{color:var(--text-h);border-color:var(--text)}.create-category-card:hover .create-category-label,.create-category-card:focus-visible .create-category-label{opacity:1;max-width:180px;margin-left:6px}@media (prefers-reduced-motion:reduce){.create-category-label{transition:none}}.channel-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.channel-item:hover,.channel-item.active{background:var(--bg-tertiary);color:var(--text-h)}.channel-icon{text-align:center;width:16px;color:var(--text);font-weight:600}.structure-actions{opacity:0;gap:2px;display:flex}.category-name:hover .structure-actions,.structure-actions:focus-within{opacity:1}.structure-actions button,.channel-edit-button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:13px;line-height:1}.structure-actions button:hover,.channel-edit-button:hover{color:var(--text-h);background:var(--bg-tertiary)}.channel-row{position:relative}.channel-row-actions{gap:2px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.channel-edit-button{opacity:0}.channel-row:hover .channel-edit-button,.channel-row-actions:focus-within .channel-edit-button{opacity:1}.structure-empty-hint{color:var(--text);margin:0 8px 12px;font-size:13px}.structure-inline-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.category ul.voice-participants{margin:0 0 4px 29px}.sidebar-voice-participant{color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:3px 0 3px 3px;font-size:13px;display:flex;overflow:hidden}.sidebar-voice-participant .user-avatar{transition:box-shadow .1s}.sidebar-voice-participant.speaking .user-avatar{box-shadow:0 0 0 2px var(--status-online)}.sidebar-voice-participant.draggable{cursor:grab}.sidebar-voice-participant.dragging{opacity:.4}.channel-row.drop-into{outline:1px dashed var(--accent-border);outline-offset:-1px;border-radius:4px}.voice-participant-self{opacity:.7}.voice-participant-muted{flex:none;display:inline-flex}@media (hover:none){.channel-row:has(.channel-item.active) .channel-edit-button{opacity:1}}.voice-icon{vertical-align:-.125em;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1em;height:1em}.voice-icon .voice-icon-fill{fill:currentColor}.voice-icon.mic-off{color:var(--danger)}.voice-icon-slash{stroke:var(--danger);stroke-width:2.25px}.voice-icon-wrap{flex:none;align-items:center;line-height:1;display:inline-flex}.attachment{margin-top:4px;display:block}.attachment-loading,.attachment-error{color:var(--text);opacity:.6;font-size:.85em}.attachment-error{color:var(--danger);opacity:1}.attachment-image img{border-radius:6px;max-width:320px;max-height:320px;display:block}.attachment-file{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-h);border-radius:4px;align-items:center;gap:6px;width:fit-content;padding:6px 10px;font-size:.9em;text-decoration:none;display:inline-flex}.attachment-file:hover{border-color:var(--accent)}.text-channel{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.message-list{flex-direction:column;flex:auto;gap:8px;padding:16px;display:flex;overflow-y:auto}.message{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex;position:relative}.message .attachment{flex-basis:100%;margin-top:0}.message-author{color:var(--text-h);flex:none;font-weight:600}.message-self .message-author{color:var(--accent)}.message-time{color:var(--text);opacity:.5;flex:none;font-size:.75em}.message-content{color:var(--text);word-break:break-word}.message-content-undecryptable{color:var(--text);opacity:.6;font-style:italic}.message-edited{color:var(--text);opacity:.5;font-size:.8em}.message-actions{background:var(--bg);border-radius:4px;gap:6px;padding:0 4px;display:none;position:absolute;top:0;right:0}.message:hover .message-actions,.message-actions-confirming{display:flex}.message-actions button{font:inherit;color:var(--text);opacity:.6;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8em}.message-actions button:hover{opacity:1;text-decoration:underline}.message-actions .message-action-danger{color:var(--danger);opacity:1}.message-edit-form{flex:auto;gap:6px;display:flex}.message-edit-form input{font:inherit;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-h);border-radius:4px;flex:auto;padding:4px 8px}.message-edit-form button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:.85em}.message-error{color:var(--danger);padding:4px 16px;font-size:.9em}.message-status{color:var(--warning);padding:4px 16px;font-size:.9em}.pending-attachment{color:var(--text);align-items:center;gap:8px;padding:4px 16px;font-size:.85em;display:flex}.pending-attachment button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85em;text-decoration:underline}.message-form{border-top:1px solid var(--border);flex:none;gap:8px;padding:16px;display:flex}.message-form input{font:inherit;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-h);border-radius:4px;flex:auto;padding:10px 12px}.message-form button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:10px 16px}.message-form .message-attach-button{color:var(--text);border:1px solid var(--border);background:0 0;flex:none;justify-content:center;align-items:center;padding:0 10px;display:flex}.message-form .message-attach-button:hover:not(:disabled){color:var(--text-h);border-color:var(--text-h)}.message-form button:disabled{opacity:.5;cursor:default}.forum-channel{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.forum-thread-list{flex-direction:column;flex:auto;gap:8px;padding:16px;display:flex;overflow-y:auto}.forum-thread-item{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-h);font:inherit;text-align:left;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.forum-thread-item:hover{border-color:var(--accent)}.forum-thread-item-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.forum-thread-item-meta{color:var(--text);flex:none;font-size:.85em}.forum-new-thread-trigger{border-top:1px solid var(--border);flex:none;padding:16px}.forum-new-thread-trigger button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:10px 16px}.forum-new-thread-trigger button:disabled{opacity:.5;cursor:default}.forum-new-thread-form{border-top:1px solid var(--border);flex-direction:column;flex:none;gap:8px;padding:16px;display:flex}.forum-new-thread-form input,.forum-new-thread-form textarea{font:inherit;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-h);resize:vertical;border-radius:4px;padding:10px 12px}.forum-new-thread-actions{justify-content:flex-end;gap:8px;display:flex}.forum-new-thread-actions button{font:inherit;cursor:pointer;border:none;border-radius:4px;padding:10px 16px}.forum-new-thread-actions button[type=submit]{background:var(--accent);color:var(--on-accent)}.forum-new-thread-actions button[type=submit]:disabled{opacity:.5;cursor:default}.forum-cancel{border:1px solid var(--border);color:var(--text-h);background:0 0}.forum-thread-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.forum-back{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0}.forum-back:hover{color:var(--text-h)}.forum-thread-title{color:var(--text-h);font-weight:600}.forum-new-thread-actions .message-attach-button{border:1px solid var(--border);color:var(--text);background:0 0;align-items:center;margin-right:auto;padding:0 10px;display:flex}.forum-new-thread-actions .message-attach-button:hover:not(:disabled){color:var(--text-h);border-color:var(--text-h)}.forum-new-thread-form .pending-attachment{padding:0}.screen-picker{width:640px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto}.screen-picker h3{color:var(--text-h);margin:0 0 8px;font-size:13px;font-weight:600}.screen-picker-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.screen-picker-source{background:var(--bg-tertiary);color:var(--text);font:inherit;text-align:left;cursor:pointer;border:2px solid #0000;border-radius:6px;flex-direction:column;gap:6px;padding:6px;font-size:12px;display:flex}.screen-picker-source.selected{border-color:var(--accent)}.screen-picker-source img,.screen-picker-blank{aspect-ratio:16/9;object-fit:contain;background:var(--bg);border-radius:4px;width:100%}.screen-picker-blank{display:block}.screen-picker-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dialog-card label.screen-picker-audio{flex-direction:row;align-items:center;gap:8px}.screen-picker-audio input{padding:0}.voice-channel{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.voice-channel-prompt{color:var(--text);flex-direction:column;align-items:center;gap:12px;margin:auto;display:flex}.voice-channel-prompt button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:10px 16px}.video-grid{flex-wrap:wrap;flex:0 auto;gap:12px;padding:16px 16px 0;display:flex}.video-grid:empty{display:none}.video-grid:not(:has(.video-tile:not(.muted))){display:none}.video-tile.muted{display:none}.video-tile.local video{transform:scaleX(-1)}.video-tile{background:var(--media-bg);border-radius:8px;flex:320px;max-width:480px;position:relative;overflow:hidden}.video-tile video{width:100%;height:auto;display:block}.video-tile{cursor:pointer}.video-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-tile-fullscreen{background:var(--overlay);width:32px;height:32px;color:var(--on-media);cursor:pointer;opacity:0;border:none;border-radius:4px;font-size:18px;line-height:1;transition:opacity .15s;position:absolute;top:8px;right:8px}.video-tile:hover .video-tile-fullscreen,.video-tile:focus-within .video-tile-fullscreen,.video-tile-fullscreen:focus-visible{opacity:1}.voice-channel:has(.video-tile.focused:not(.muted)) .video-grid{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(auto-fill,160px);grid-auto-rows:auto;min-height:0;padding-bottom:12px;display:grid}.voice-channel:has(.video-tile.focused:not(.muted)) .voice-participant-list{flex:0 auto;max-height:25%}.video-tile.focused:not(.muted){grid-area:1/1/auto/-1;justify-content:center;align-items:center;max-width:none;display:flex}:is(.video-tile.focused video,.video-tile:fullscreen video){object-fit:contain;width:100%;height:100%}.video-tile:fullscreen{cursor:default;border-radius:0;max-width:none}.video-tile-label{background:var(--overlay);color:var(--on-media);border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;bottom:8px;left:8px}.voice-participant-list{flex-direction:column;flex:auto;gap:8px;margin:0;padding:16px;list-style:none;display:flex;overflow-y:auto}.voice-participant{color:var(--text-h);flex-direction:column;gap:6px;display:flex}.voice-participant-row{align-items:center;gap:8px;display:flex}.voice-volume-badge{color:var(--text);font-size:12px}.voice-volume-toggle{cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:16px;line-height:1}.voice-volume-toggle:hover,.voice-volume-toggle[aria-expanded=true]{background:var(--bg-tertiary)}.voice-volume-panel{background:var(--bg-tertiary);color:var(--text);border-radius:6px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.voice-volume-slider{grid-template-columns:7.5em minmax(0,1fr) 3.5em;align-items:center;gap:8px;display:grid}.voice-volume-slider input{width:100%;accent-color:var(--accent)}.voice-volume-slider output{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-h)}.voice-volume-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.voice-volume-actions button{font:inherit;background:var(--bg-secondary);color:var(--text-h);cursor:pointer;border:none;border-radius:4px;padding:4px 10px}.voice-mic-icon.muted{opacity:.5}.voice-controls{border-top:1px solid var(--border);flex-wrap:wrap;flex:none;gap:8px;padding:16px;display:flex}.voice-media-error{margin:0;padding:0 16px 12px}.voice-audio-blocked{background:var(--bg-tertiary);color:var(--text-h);border-radius:6px;flex-wrap:wrap;flex:none;align-items:center;gap:8px 12px;margin:16px 16px 0;padding:10px 12px;display:flex}.voice-audio-blocked button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:8px 14px}.voice-media-hint{color:var(--text);margin:0;padding:0 16px 12px;font-size:13px}.voice-controls button{font:inherit;background:var(--bg-tertiary);color:var(--text-h);cursor:pointer;border:none;border-radius:4px;padding:10px 16px}.voice-prefs{color:var(--text);flex-wrap:wrap;flex:none;align-items:center;gap:8px 20px;padding:0 16px 16px;display:flex}.voice-pref{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.voice-shortcut{cursor:default}.voice-shortcut button{font:inherit;background:var(--bg-tertiary);color:var(--text-h);cursor:pointer;border:none;border-radius:4px;padding:4px 10px}.voice-shortcut kbd{border:1px solid var(--border);color:var(--text-h);border-radius:4px;padding:1px 6px;font-family:inherit}.voice-shortcut-hint{color:var(--danger);flex-basis:100%}.voice-prefs-note{opacity:.8;flex-basis:100%;font-size:.9em}.voice-controls .voice-ptt-button{touch-action:none;-webkit-user-select:none;user-select:none}.voice-controls .voice-ptt-button.talking{background:var(--success);color:var(--on-accent)}.voice-mode{cursor:default;gap:6px 14px}.voice-mic-icon{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:box-shadow .1s;display:inline-flex}.voice-mic-icon.speaking{box-shadow:0 0 0 2px var(--status-online)}.mobile-nav-button{width:40px;height:40px;color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-left:-8px;font-size:20px;line-height:1;display:flex}.mobile-nav-button:active{background:var(--bg-tertiary)}.mobile-members-button{margin-left:auto;margin-right:-8px;font-size:18px}.main-panel{background:var(--bg);flex-direction:column;flex:auto;min-width:0;display:flex}.channel-header{border-bottom:1px solid var(--border);box-sizing:border-box;flex:0 0 48px;align-items:center;gap:8px;height:48px;padding:0 16px;display:flex}.channel-header .channel-icon{color:var(--text);font-weight:600}.channel-mute-button{width:40px;height:40px;color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-left:auto;font-size:18px;display:flex}.channel-mute-button:active{background:var(--bg-tertiary)}.channel-mute-button[aria-pressed=true]{opacity:.7}.channel-mute-button+.mobile-members-button{margin-left:0}.channel-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);font-weight:600;overflow:hidden}.channel-content{flex-direction:column;flex:auto;min-height:0;display:flex}.channel-content>.placeholder{margin:auto}.placeholder{color:var(--text)}.member-list{--presence-ring:var(--bg-secondary);background:var(--bg-secondary);box-sizing:border-box;flex:0 0 240px;width:240px;padding:16px 8px;overflow-y:auto}.member-group{margin-bottom:16px}.member-group-name{letter-spacing:.4px;text-transform:uppercase;color:var(--text);margin-bottom:4px;padding:0 8px;font-size:12px;font-weight:700}.member{color:var(--text-h);border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.member-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.member-owner-star{color:var(--warning);cursor:default;flex:none;font-size:14px;line-height:1}.login-screen{background:var(--bg-deep);justify-content:center;align-items:center;width:100%;height:100svh;display:flex}.login-card{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:min(360px,100% - 32px);box-shadow:var(--shadow);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:16px;padding:40px 32px;display:flex}.login-brand{flex-direction:column;align-items:center;gap:12px;display:flex}.login-brand h1{margin:0}.login-logo{width:72px;height:72px;display:block}.login-status{align-items:center;gap:10px;display:flex}.login-spinner{border:2px solid var(--accent-border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-spinner{animation-duration:2.4s}}.login-button{width:100%;font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-weight:600}.login-button:hover{opacity:.9}.login-button:disabled{opacity:.6;cursor:default}.login-recovery{color:var(--text);font-size:13px}.login-handoff-title{margin:0;font-size:18px}a.login-button{box-sizing:border-box;text-align:center;text-decoration:none;display:block}.invite-section{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.invite-section:first-of-type{border-top:none;padding-top:0}.invite-hint{color:var(--text);font-size:13px}.invite-section>button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;align-self:flex-start;padding:8px 16px}.invite-section>button:disabled{opacity:.6;cursor:not-allowed}.invite-code{align-items:center;gap:8px;display:flex}.invite-code code{overflow-wrap:anywhere;letter-spacing:1px;flex:1;min-width:0;font-size:16px}.invite-code.link code{letter-spacing:normal;font-size:13px}.invite-code button{font:inherit;border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:8px 12px}.manage-roles-card{width:520px;max-height:80vh;overflow-y:auto}.manage-roles-section{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.manage-roles-section:first-of-type{border-top:none;padding-top:0}.manage-roles-section h3{text-transform:uppercase;letter-spacing:.4px;color:var(--text);margin:0;font-size:13px}.role-list,.member-role-list{--presence-ring:var(--bg);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.role-list li,.member-role-list li{color:var(--text-h);justify-content:space-between;align-items:center;gap:8px;display:flex}.role-list .hint{color:var(--text);font-size:13px}.role-list button,.member-moderation-actions button,.member-role-list>li>button{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px;font-size:12px}.member-moderation-actions{gap:8px;display:flex}.create-role-form{flex-direction:column;gap:8px;display:flex}.permission-checkboxes{flex-direction:column;gap:4px;display:flex}.permission-checkboxes label,.member-role-toggles label{color:var(--text);align-items:center;gap:6px;font-size:13px;flex-direction:row!important;display:flex!important}.member-role-list li{flex-direction:column;align-items:flex-start}.member-role-toggles{flex-wrap:wrap;gap:12px;display:flex}.member-role-name{align-items:center;gap:8px;display:flex}.role-list li.role-editing{flex-direction:column;align-items:stretch}.role-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.role-row-actions{gap:8px;display:flex}.role-edit{flex-direction:column;gap:8px;padding:8px 0 4px;display:flex}.friends-view{background:var(--bg-secondary);flex-direction:column;flex:0 0 240px;width:240px;display:flex;overflow-y:auto}.friends-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:16px;display:flex}.friends-header h1{margin:0;font-size:16px}.friends-header button{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:6px 10px;font-size:13px}.friends-empty{text-align:center;color:var(--text);flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.friends-list{padding:12px 8px}.friends-group{margin-bottom:16px}.friends-group-name{letter-spacing:.4px;text-transform:uppercase;color:var(--text);margin-bottom:8px;font-size:12px;font-weight:700}.friend-row{width:100%;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:8px;display:flex}.friend-row:hover,.friend-row.active{background:var(--bg-tertiary)}.friend-row.offline{color:var(--text);opacity:.6}.unread-dot{background:var(--accent);border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-left:auto}.friends-requests{border-bottom:1px solid var(--border)}.friend-request-row{color:var(--text-h);border-radius:4px;align-items:center;gap:10px;padding:8px;display:flex}.friend-request-text{flex-direction:column;flex:1;min-width:0;display:flex}.friend-request-name,.friend-request-hint{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.friend-request-hint{color:var(--text);font-size:12px}.friend-request-action{background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-h);font:inherit;cursor:pointer;border:none;border-radius:50%;flex:0 0 28px;font-size:13px}.friend-request-action.accept:hover,.friend-request-action.accept:focus-visible{background:var(--success);color:var(--on-accent)}.friend-request-action.decline:hover,.friend-request-action.decline:focus-visible{background:var(--danger);color:var(--on-accent)}.friend-menu{max-width:240px}.friend-menu .rail-menu-empty{line-height:1.4}.friend-menu-danger{color:var(--danger)}.friend-menu-error{color:var(--danger);padding:0 10px 4px;font-size:13px}.avatar-cropper{flex-direction:column;gap:14px;display:flex}.avatar-cropper-row{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.avatar-cropper-stage{background:var(--bg-deep);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;flex:none;position:relative;overflow:hidden}.avatar-cropper-stage:active{cursor:grabbing}.avatar-cropper-stage:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-cropper-stage img{pointer-events:none;max-width:none;position:absolute}.avatar-cropper-circle{box-shadow:0 0 0 9999px var(--overlay);pointer-events:none;border-radius:50%;position:absolute}.avatar-cropper-circle:after{content:"";border:2px solid #ffffffd9;border-radius:50%;position:absolute;inset:0}.avatar-cropper-previews{flex-direction:column;align-items:center;gap:12px;display:flex}.avatar-cropper-preview{background:var(--bg-tertiary);border-radius:50%;position:relative;overflow:hidden}.avatar-cropper-preview img{max-width:none;position:absolute}.dialog-card .avatar-cropper-zoom{color:var(--text-h);flex-direction:row;align-items:center;gap:10px;display:flex}.avatar-cropper-zoom input{flex:1}.dialog-card.avatar-dialog-cropping{box-sizing:border-box;width:min(440px,100vw - 32px)}.e2e-key-card{width:420px;max-width:calc(100% - 32px)}.e2e-key-card>p{color:var(--text);margin:0;font-size:14px;line-height:1.45}.not-member-card{width:420px;max-width:calc(100% - 32px)}.not-member-card>p{color:var(--text);margin:0;font-size:14px;line-height:1.45}.notification-stack{z-index:100;pointer-events:none;flex-direction:column;gap:8px;width:320px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.notification{border:1px solid var(--bg-tertiary);border-left:4px solid var(--accent);background:var(--bg-secondary);color:var(--text-h);box-shadow:var(--shadow-popover);pointer-events:auto;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:14px;animation:.2s ease-out notification-in;display:flex}.notification-error{border-left-color:var(--danger)}.notification-success{border-left-color:var(--success)}.notification-text{overflow-wrap:anywhere;flex:auto;min-width:0}.notification-close{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;padding:0 4px;font-size:18px;line-height:1}.notification-close:hover{color:var(--text-h);background:var(--bg-tertiary)}@keyframes notification-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.notification{animation:none}}.voice-connection-bar{border-top:1px solid var(--border);background:var(--bg-tertiary);flex:none;align-items:center;gap:4px;padding:8px;display:flex}.voice-connection-info{flex-direction:column;flex:auto;min-width:0;display:flex}.voice-connection-state{color:var(--warning);font-size:13px;font-weight:600}.voice-connection-state.connected{color:var(--success)}.voice-connection-channel{font:inherit;color:var(--text);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px;overflow:hidden}.voice-connection-channel:hover{color:var(--text-h);text-decoration:underline}.voice-connection-action{font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:6px 8px;font-size:12px}.voice-connection-icon{width:32px;height:32px;font:inherit;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none}.voice-connection-icon:hover{background:var(--bg-secondary)}.voice-connection-icon.leave:hover{background:var(--danger);color:var(--on-accent)}.app-shell{width:100%;height:100svh;display:flex}.empty-state{min-width:0;color:var(--text);flex:1;justify-content:center;align-items:center;display:flex}.nav-drawer{display:contents}.sidebar-column{background:var(--bg-secondary);flex-direction:column;flex:0 0 240px;width:240px;min-height:0;display:flex}.sidebar-column:empty{display:none}.sidebar-column>.channel-sidebar,.sidebar-column>.friends-view{flex:auto;width:auto;min-height:0}.app-shell.mobile{position:relative;overflow:clip}.app-shell.mobile .nav-drawer,.app-shell.mobile .member-list{z-index:20;visibility:hidden;transition:transform .2s,visibility 0s linear .2s;position:absolute;top:0;bottom:0}.app-shell.mobile .nav-drawer{width:min(312px,100% - 48px);display:flex;left:0;transform:translate(-100%)}.app-shell.mobile .nav-drawer>.sidebar-column{flex:auto;width:auto;min-width:0}.app-shell.mobile .member-list{width:min(280px,100% - 48px);right:0;transform:translate(100%)}.app-shell.mobile[data-drawer=nav] .nav-drawer,.app-shell.mobile[data-drawer=members] .member-list{visibility:visible;box-shadow:var(--shadow-popover);transition:transform .2s;transform:none}.drawer-backdrop{z-index:15;background:var(--overlay);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.app-shell.mobile .nav-drawer,.app-shell.mobile .member-list,.app-shell.mobile[data-drawer] .nav-drawer,.app-shell.mobile[data-drawer] .member-list{transition:none}}
