:root{color-scheme:dark;--bg:#08090c;--rail:#050608;--panel:#0f1014;--panel-mid:#13141a;--surface:#1a1b23;--surface-high:#21222c;--line:#1e1f2c;--line-strong:#2a2b3a;--line-subtle:#171924;--text:#ecedf2;--muted:#7b7b8e;--muted-mid:#9898aa;--accent-dim:rgba(74,222,128,0.10);--accent-glow:rgba(74,222,128,0.18);--accent-fg:#032b14;--warn:#fbbf24;--error:#f87171;--presence-online:#4ade80;--presence-idle:#fbbf24;--presence-dnd:#f87171;--presence-offline:#4b4b5a;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--bg:#0b0d12;--rail:#07090d;--panel:#11141b;--panel-mid:#151922;--surface:#1d2330;--surface-high:#263041;--line:#242a37;--line-strong:#343d50;--line-subtle:#1b202b;--text:#f6f7fb;--muted:#8d96aa;--muted-mid:#b0b8c8;--accent:#4ade80;--accent-dim:rgba(74,222,128,0.12);--accent-glow:rgba(74,222,128,0.26);--accent-2:#7dd3fc;--accent-3:#fbbf24;--shadow-soft:0 18px 60px rgba(0,0,0,0.34)}[data-theme=light]{--bg:#eef2f7;--rail:#e4e8f0;--panel:#f8fafc;--panel-mid:#ffffff;--surface:#eef3f8;--surface-high:#e3eaf3;--line:#d9e1ec;--line-strong:#c7d2e2;--line-subtle:#e7edf5;--text:#152033;--muted:#68758a;--muted-mid:#46556d;--shadow-soft:0 18px 50px rgba(68,82,110,0.14)}.channelPanelOverlay{display:none}.authTitle,.chatHeader h2,.friendsSidebarTitle,.profileIdentity h1,.settingsPageTitle,.workspaceHeader h1{letter-spacing:0}@media (max-width:720px){body,html{overflow:hidden}.friendsShell{grid-template-columns:minmax(0,1fr)}.friendsSidebar{display:none}.friendsContent{padding:20px 16px}.friendItem{align-items:flex-start;flex-direction:column}.friendActions{width:100%}.friendActions .friendBtn{flex:1 1}.profileBody{grid-template-columns:1fr}.profileActions{padding-top:0;flex-wrap:wrap}}[data-theme=light]{color-scheme:light;--bg:#f2f3f7;--rail:#e4e6ed;--panel:#eaebf0;--panel-mid:#f0f1f6;--surface:#ffffff;--surface-high:#f7f8fc;--line:#dde0ea;--line-strong:#ccd0dc;--text:#1e1f28;--muted:#72738a;--muted-mid:#56576a;--accent-fg:#032b14}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{to{transform:rotate(1turn)}}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .22s ease,color .22s ease}*,:after,:before{transition-property:background-color,border-color;transition-duration:.2s;transition-timing-function:ease}button,input,textarea{font:inherit}button{cursor:pointer;border:0}.appShell{display:grid;grid-template-columns:72px 252px minmax(0,1fr) 232px;min-height:100vh}.serverRail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 0;background:var(--rail);border-right:1px solid var(--line)}.serverRail:after{content:"";width:32px;height:1px;background:var(--line-strong);margin:4px 0}.serverIcon{position:relative;width:44px;height:44px;border-radius:var(--r-lg);background:var(--surface);color:var(--muted-mid);font-size:.8rem;font-weight:800;letter-spacing:.02em;transition:border-radius .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.serverIcon:hover{border-radius:var(--r-md);background:var(--surface-high);color:var(--text)}.serverIcon.active{border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 3px var(--accent-glow),0 4px 16px var(--accent-glow)}.serverIcon.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:var(--accent)}.channelPanel{flex-direction:column;border-right:1px solid var(--line);min-width:0}.channelPanel,.workspaceHeader{display:flex;background:var(--panel)}.workspaceHeader{align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:0 16px;border-bottom:1px solid var(--line)}.workspaceHeader h1{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.01em}.eyebrow{margin:0 0 2px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.connectionPill{display:flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 10px;border-radius:999px;border:1px solid var(--accent-glow);background:var(--accent-dim);color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.04em}.connectionPill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}.channelList{display:flex;flex-direction:column;gap:2px;padding:12px 8px;flex:1 1;overflow-y:auto}.channel{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border-radius:var(--r-sm);color:var(--muted);font-size:.88rem;font-weight:600;text-decoration:none;transition:background .12s ease,color .12s ease}.channel span{color:var(--muted);font-size:1.05rem;font-weight:500;width:16px;flex:0 0 auto;transition:color .12s ease}.channel:hover{background:var(--surface);color:var(--muted-mid)}.channel.active{background:var(--accent-dim)}.channel.active,.channel.active span{color:var(--accent)}.chatPanel{flex-direction:column;min-width:0}.chatHeader,.chatPanel{display:flex;background:var(--panel-mid)}.chatHeader{align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:0 24px;border-bottom:1px solid var(--line)}.chatHeader h2{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.01em}.headerAction{padding:6px 16px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);font-size:.82rem;font-weight:800;transition:opacity .14s ease}.headerAction:hover{opacity:.85}.messageList{display:flex;flex:1 1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;padding:24px 0 8px;scrollbar-width:thin;scrollbar-color:var(--surface-high) transparent}.roomIntro{display:flex;gap:18px;align-items:flex-start;padding:0 24px 24px;margin-bottom:8px;border-bottom:1px solid var(--line)}.roomIntro h3{margin:0 0 4px;font-size:1.25rem;letter-spacing:-.02em}.message p,.roomIntro p{margin:4px 0 0;color:var(--muted-mid);line-height:1.6}.roomMark{display:grid;width:56px;height:56px;flex:0 0 auto;place-items:center;border-radius:var(--r-lg);background:var(--accent-dim);border:1px solid var(--accent-glow);color:var(--accent);font-size:1.8rem;font-weight:900}.message{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:14px;gap:14px;padding:6px 24px;border-radius:var(--r-sm);transition:background 80ms ease}.message:hover{background:var(--surface)}.avatar{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:var(--r-md);background:linear-gradient(135deg,var(--warn),var(--accent));color:var(--accent-fg);font-size:.85rem;font-weight:900}.messageMeta{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.messageMeta strong{font-size:.9rem}.messageMeta span{color:var(--muted);font-size:.75rem}.composer{display:flex;align-items:center;gap:8px;margin:8px 16px 20px;padding:4px 4px 4px 16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-strong);transition:border-color .14s ease}.composer:focus-within{border-color:var(--accent-glow)}.composer input,.composer textarea{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);outline:none;padding:10px 0;font-size:.93rem;line-height:1.5;resize:none;max-height:180px;overflow-y:auto;align-self:center;scrollbar-width:thin;scrollbar-color:var(--surface-high) transparent}.composer input::placeholder,.composer textarea::placeholder{color:var(--muted)}.composer button{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;font-size:1rem;font-weight:700;flex:0 0 auto;transition:background .14s ease,color .14s ease}.composer button:first-of-type{background:transparent;color:var(--muted)}.composer button:first-of-type:hover{background:var(--surface-high);color:var(--text)}.composer button:last-of-type{background:var(--accent);color:var(--accent-fg)}.composer button:last-of-type:hover{opacity:.88}.memberPanel{background:var(--panel);border-left:1px solid var(--line);padding:16px 12px;overflow-y:auto}.memberList{display:flex;flex-direction:column;gap:2px;margin-top:8px}.member{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-sm);transition:background .1s ease;cursor:default}.member:hover{background:var(--surface)}.member>div{min-width:0}.member strong{display:block;font-size:.88rem;font-weight:600}.member p,.member strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member p{margin:0;color:var(--muted);font-size:.75rem}.presence{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--panel),0 0 8px var(--accent-glow)}.authShell{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--bg)}.authCard{width:100%;max-width:420px;padding:40px;border:1px solid var(--line-strong);border-radius:var(--r-xl);background:var(--panel);box-shadow:0 24px 64px rgba(0,0,0,.5)}.authTitle{margin:0 0 6px;font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.authSubtitle{margin:0 0 28px;color:var(--muted);font-size:.9rem}.authForm{gap:16px}.authForm,.authLabel{display:flex;flex-direction:column}.authLabel{gap:6px;font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.authInput{width:100%;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem;font-weight:400;text-transform:none;letter-spacing:0;resize:vertical;outline:none;transition:border-color .14s ease}.authInput:focus{border-color:var(--accent)}.authError{margin:0;padding:10px 14px;border-radius:var(--r-sm);background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.2);color:var(--error);font-size:.88rem}.authButton{padding:11px 20px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);font:inherit;font-weight:800;font-size:.9rem;cursor:pointer;transition:opacity .14s ease,box-shadow .14s ease}.authButton:hover{box-shadow:0 4px 20px var(--accent-glow)}.authButton:disabled{opacity:.55;cursor:default;box-shadow:none}.authFooter{margin:24px 0 0;color:var(--muted);font-size:.88rem;text-align:center}.authLink{color:var(--accent);font-weight:700;text-decoration:none}.authLink:hover{text-decoration:underline}.settingsShell{max-width:680px;margin:0 auto;padding:48px 24px;display:flex;flex-direction:column;gap:20px}.settingsTitle{margin:0;font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.settingsSection{padding:24px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--panel);display:flex;flex-direction:column;gap:16px}.settingsSection h2{margin:0;font-size:.88rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.avatarRow{display:flex;align-items:center;gap:20px}.settingsAvatar{width:68px;height:68px;flex:0 0 auto;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--warn),var(--accent));display:grid;place-items:center;font-size:1.6rem;font-weight:900;color:var(--accent-fg);overflow:hidden}.settingsAvatar img{width:100%;height:100%;object-fit:cover}.settingsDanger{border-color:rgba(248,113,113,.2)}.dangerButton{align-self:flex-start;padding:9px 18px;border:1px solid rgba(248,113,113,.35);border-radius:var(--r-sm);background:transparent;color:var(--error);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .12s ease}.dangerButton:hover{background:rgba(248,113,113,.08)}.friendsShell{display:grid;grid-template-columns:240px minmax(0,1fr);flex:1 1;min-height:100vh;background:var(--bg);overflow:hidden}.friendsSidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column}.friendsSidebarHeader{padding:20px 16px 12px;border-bottom:1px solid var(--line)}.friendsSidebarTitle{font-size:.95rem;font-weight:800;letter-spacing:-.01em}.friendsNav{display:flex;flex-direction:column;gap:2px;padding:10px 8px}.friendsNavItem{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;text-align:left;transition:background .1s ease,color .1s ease}.friendsNavItem:hover{background:var(--surface);color:var(--text)}.friendsNavItem.active{background:var(--accent-dim);color:var(--accent)}.friendsBadge{padding:1px 7px;border-radius:999px;background:var(--surface-high);color:var(--muted-mid);font-size:.72rem;font-weight:800}.friendsBadge.accent{background:var(--accent-dim);color:var(--accent)}.friendsMain{overflow-y:auto}.friendsContent,.friendsMain{display:flex;flex-direction:column}.friendsContent{padding:24px 32px;gap:4px;max-width:800px}.friendsSection{margin:0 0 8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.friendsEmpty{padding:16px 0}.friendsEmpty,.friendsHint{color:var(--muted);font-size:.9rem}.friendsHint{margin:0 0 16px}.friendItem{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:var(--r-md);transition:background .1s ease}.friendItem:hover{background:var(--surface)}.friendAvatar{width:40px;height:40px;flex:0 0 auto;border-radius:var(--r-md);background:linear-gradient(135deg,var(--warn),var(--accent));color:var(--accent-fg);font-weight:900;font-size:.9rem;display:grid;place-items:center;overflow:hidden}.friendAvatar img{width:100%;height:100%;object-fit:cover}.friendInfo{flex:1 1;min-width:0}.friendInfo strong{display:block;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friendInfo span{color:var(--muted);font-size:.78rem}.friendActions{display:flex;gap:8px;flex:0 0 auto}.friendBtn{padding:6px 14px;border-radius:var(--r-sm);font:inherit;font-size:.82rem;font-weight:700;transition:opacity .12s ease}.friendBtn.primary{background:var(--accent);color:var(--accent-fg)}.friendBtn.danger{background:var(--surface-high);color:var(--muted-mid)}.friendBtn.danger:hover{color:var(--error)}.addFriendForm{display:flex;gap:10px;margin-bottom:16px}.addFriendInput{flex:1 1;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.93rem;outline:none;transition:border-color .14s ease}.addFriendInput:focus{border-color:var(--accent)}.friendsMsg{padding:10px 14px;border-radius:var(--r-sm);font-size:.88rem;margin-bottom:8px}.friendsMsg.success{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-glow)}.friendsMsg.error{background:rgba(248,113,113,.08);color:var(--error);border:1px solid rgba(248,113,113,.2)}.dmShell{display:flex;flex-direction:column;height:100vh;background:var(--panel-mid)}.dmHeader{display:flex;align-items:center;gap:12px;min-height:64px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--panel);flex:0 0 auto}.dmBackBtn{color:var(--muted);text-decoration:none;font-size:1.1rem;padding:6px 10px;border-radius:var(--r-sm);transition:background .1s ease,color .1s ease}.dmBackBtn:hover{background:var(--surface);color:var(--text)}.dmHeaderAvatar{width:36px;height:36px;flex:0 0 auto;border-radius:var(--r-md);background:linear-gradient(135deg,var(--warn),var(--accent));color:var(--accent-fg);font-weight:900;font-size:.85rem;display:grid;place-items:center;overflow:hidden}.dmHeaderAvatar img{width:100%;height:100%;object-fit:cover}.dmHeader strong{font-size:.93rem;display:block}.dmHeaderUsername{color:var(--muted);font-size:.78rem}.dmMessages{flex:1 1;overflow-y:auto;padding:16px 0 8px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:var(--surface-high) transparent}.dmMessage{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;grid-gap:12px;gap:12px;padding:5px 20px;border-radius:var(--r-sm);transition:background 80ms ease}.dmMessage:hover{background:var(--surface)}.dmDeleteBtn{align-self:start;margin-top:2px;width:24px;height:24px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:.7rem;display:none;place-items:center;transition:background .1s ease,color .1s ease}.dmMessage:hover .dmDeleteBtn{display:grid}.dmDeleteBtn:hover{background:rgba(248,113,113,.12);color:var(--error)}.dmEmpty{display:flex;flex-direction:column;align-items:center;padding:48px 24px;text-align:center;color:var(--muted);gap:12px}.dmEmptyAvatar{width:64px;height:64px;border-radius:var(--r-xl);background:linear-gradient(135deg,var(--warn),var(--accent));color:var(--accent-fg);font-size:1.8rem;font-weight:900;display:grid;place-items:center}.dateDivider{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--muted);font-size:.75rem;font-weight:700}.dateDivider:after,.dateDivider:before{content:"";flex:1 1;height:1px;background:var(--line)}.editedTag{color:var(--muted);font-size:.72rem}.loadMoreBtn{align-self:center;margin:8px auto 16px;padding:6px 16px;border-radius:999px;background:var(--surface);color:var(--muted-mid);font:inherit;font-size:.82rem;font-weight:700;transition:background .1s ease}.loadMoreBtn:hover{background:var(--surface-high)}.dmComposer{display:flex;align-items:center;gap:8px;margin:8px 16px 20px;padding:4px 4px 4px 16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-strong);flex:0 0 auto;transition:border-color .14s ease}.dmComposer:focus-within{border-color:var(--accent-glow)}.dmInput{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:.93rem;padding:10px 0;outline:none}.dmInput::placeholder{color:var(--muted)}.dmSendBtn{padding:0 18px;height:36px;border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:.85rem;font-weight:800;flex:0 0 auto;transition:opacity .12s ease}.dmSendBtn:disabled{opacity:.5;cursor:default}.message{position:relative}.messageActions{position:absolute;top:4px;right:24px;display:flex;align-items:center;gap:2px;background:var(--surface-high);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:3px;z-index:20;opacity:0;pointer-events:none;transition:opacity .1s ease}.message:hover .messageActions{opacity:1;pointer-events:auto}.msgActionBtn{width:28px;height:28px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:.85rem;display:grid;place-items:center;transition:background .1s ease,color .1s ease}.msgActionBtn:hover{background:var(--surface);color:var(--text)}.msgActionBtn.danger:hover{background:rgba(248,113,113,.12);color:var(--error)}.emojiPickerQuick{position:absolute;bottom:calc(100% + 6px);right:0;display:flex;gap:2px;padding:6px;background:var(--surface-high);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:30}.emojiPickerQuick button{width:36px;height:36px;border-radius:var(--r-sm);background:transparent;font-size:1.15rem;display:grid;place-items:center;transition:background 80ms ease}.emojiPickerQuick button:hover{background:var(--surface)}.reactionBar{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.reactionPill{padding:2px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted-mid);font-size:.82rem;line-height:1.5;cursor:pointer;transition:background 80ms ease,border-color 80ms ease,color 80ms ease}.reactionPill:hover{background:var(--surface-high)}.reactionPill.active{background:var(--accent-dim);border-color:var(--accent-glow);color:var(--accent)}.editForm{display:flex;flex-direction:column;gap:6px;margin-top:4px}.editForm textarea{padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-high);color:var(--text);font:inherit;font-size:.93rem;resize:none;outline:none;min-height:60px;transition:border-color .14s ease}.editForm textarea:focus{border-color:var(--accent)}.editActions{display:flex;gap:6px}.editSave{padding:4px 14px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:.82rem;font-weight:700;transition:opacity .12s ease}.editSave:hover{opacity:.85}.editCancel{padding:4px 12px;border-radius:var(--r-sm);background:transparent;border:1px solid var(--line-strong);color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;transition:background .1s ease}.editCancel:hover{background:var(--surface)}.typingIndicator{height:22px;padding:0 24px;display:flex;align-items:center;flex:0 0 auto}.modalOverlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modalCard{width:100%;max-width:440px;padding:32px;border:1px solid var(--line-strong);border-radius:var(--r-xl);background:var(--panel);box-shadow:0 32px 80px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:16px}.modalTitle{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.settingsPageHeader{padding:0 32px;min-height:64px;flex:0 0 auto}.settingsBackBtn{white-space:nowrap}.settingsPageTitle{font-size:1rem;flex:1 1}.settingsPageNav{padding:0 32px;flex:0 0 auto}.settingsNavTab{padding:14px 16px;border-radius:0;font-size:.88rem;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .1s ease,border-color .1s ease}.settingsNavTab.active{border-bottom-color:var(--accent)}.settingsPageBody{padding:32px}.roleListItem{border:1px solid transparent}.roleListItem.active{background:var(--surface);border-color:var(--line-strong)}.roleColorDot{flex:0 0 auto}.roleDeleteBtn{width:20px;height:20px;font-size:.65rem;display:grid;place-items:center}.permRow{padding:10px 12px}.permRow:hover{background:var(--surface)}.permCheckbox{flex:0 0 auto;cursor:pointer}.permLabel{font-weight:600;margin-bottom:2px}.roleBadge{border:1px solid var(--line-strong);letter-spacing:.02em;transition:background 80ms ease}.roleBadge:hover{background:var(--surface)}.memberSettingsRow{align-items:center;padding:10px 12px;border-radius:var(--r-sm);transition:background .1s ease}.memberSettingsRow:hover{background:var(--surface)}.roleDropdown{display:flex;flex-direction:column;gap:2px}.roleDropdownItem{padding:7px 10px;font-size:.88rem;font-weight:500}.settingsIconBtn{width:28px;height:28px;font-size:1rem}.settingsIconBtn:hover{background:var(--surface-high)}.searchBarForm{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:0 4px 0 10px;flex:0 0 auto;width:210px;transition:border-color .14s ease}.searchBarForm:focus-within{border-color:var(--accent-glow)}.searchBarInput{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:.82rem;padding:8px 0;outline:none}.searchBarInput::placeholder{color:var(--muted)}.searchBarForm button{width:28px;height:28px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:.78rem;display:grid;place-items:center;flex:0 0 auto;transition:background .1s ease,color .1s ease}.searchBarForm button:hover{background:var(--surface-high);color:var(--text)}.searchResults{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--surface-high) transparent}.searchResultItem{padding:14px 24px;cursor:pointer;border-bottom:1px solid var(--line);transition:background 80ms ease}.searchResultItem:hover{background:var(--surface)}.searchEmpty{padding:48px 24px;text-align:center;color:var(--muted);font-size:.88rem}.threadPanel{min-width:0}.threadHeader{padding:16px 14px 12px;flex:0 0 auto}.threadParentPreview{font-size:.82rem;color:var(--muted-mid);line-height:1.4;line-clamp:2}.threadCloseBtn{width:24px;height:24px;font-size:.75rem;flex:0 0 auto}.threadCloseBtn:hover{background:var(--surface-high)}.threadMessages{display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:var(--surface-high) transparent}.threadPost{grid-template-columns:32px minmax(0,1fr) 24px;padding:5px 14px}.threadPostDelete{align-self:start;margin-top:2px;opacity:0;transition:opacity .1s ease,background .1s ease,color .1s ease}.threadPost:hover .threadPostDelete{opacity:1}.threadComposer{margin:8px 10px 14px;flex:0 0 auto}.threadComposer input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:.88rem;padding:9px 0;outline:none}.threadComposer input::placeholder{color:var(--muted)}.threadComposer button{padding:0 12px;height:32px;border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:.82rem;font-weight:800;flex:0 0 auto;transition:opacity .12s ease}.threadComposer button:disabled{opacity:.5;cursor:default}@media (max-width:1024px){.appShell{grid-template-columns:72px 252px minmax(0,1fr)}.memberPanel{display:none}}@media (max-width:720px){.appShell{grid-template-columns:72px minmax(0,1fr)}.channelPanel{display:none}.messageList{padding:16px 0 8px}.message{padding:6px 16px}.composer{margin:8px 12px 16px}}.presenceDot{width:9px;height:9px;flex:0 0 auto}.unreadBadge{flex-shrink:0;padding:0 5px;font-weight:800;line-height:18px;text-align:center}.channel.unread>span:last-of-type{font-weight:700;color:var(--text)}.statusBar{padding:10px 12px;position:relative}.statusPickerBtn{background:none;padding:2px 4px;transition:background .12s;flex-shrink:0}.statusMenu{bottom:calc(100% + 6px);left:8px;right:8px;display:flex;flex-direction:column;gap:2px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.5)}.statusMenuItem{gap:8px;padding:7px 10px;background:none;border:none;color:var(--muted-mid);font-size:.82rem;text-align:left;transition:background .12s,color .12s}.statusMenuItem:hover{color:var(--text)}.statusMenuItem.active{color:var(--text);font-weight:600}.memberMenuBtn{background:none;border:none;font-size:1rem;padding:2px 4px;cursor:pointer;transition:opacity .1s,background .1s,color .1s}.memberContextMenu{right:4px;top:calc(100% + 4px);display:flex;flex-direction:column;gap:2px;z-index:300;box-shadow:0 8px 24px rgba(0,0,0,.5)}.memberContextMenu button{gap:6px;padding:7px 10px;background:none;border:none;color:var(--muted-mid);font-size:.82rem;cursor:pointer;text-align:left;transition:background .12s,color .12s}.memberContextMenu button:hover{background:var(--surface);color:var(--text)}.slowModeBar{padding:6px 16px;border-top:1px solid rgba(251,191,36,.25);font-size:.78rem}.auditRow{gap:6px;padding:8px 12px;font-size:.82rem}.auditAction{font-weight:700;color:var(--text)}.auditActor{color:var(--muted-mid)}.auditReason{color:var(--muted);font-style:italic;flex:1 1}.auditTime{font-size:.72rem;white-space:nowrap}.voiceChannelUsers{gap:1px;padding:0 4px 4px 24px}.voiceChannelUser{color:var(--muted-mid);padding:2px 4px}.voiceArea{align-items:center;justify-content:center;gap:24px;padding:24px}.voiceJoin{gap:12px}.voiceJoinTitle{font-size:1.5rem;font-weight:700;color:var(--text)}.voiceJoinHint{font-size:.88rem}.voiceGrid{width:100%;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-content:start}.voiceTile{justify-content:flex-end}.voiceTileAvatar{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:var(--text);background:var(--surface-high)}.voiceTileVideo{border-radius:var(--r-lg)}.voiceTileInfo{position:relative;z-index:1;width:100%;padding:6px 10px;background:linear-gradient(transparent,rgba(0,0,0,.7));font-size:.82rem;font-weight:600}.voiceControls{justify-content:center;gap:10px;flex-shrink:0;padding:8px 0}.voiceControls,.voiceCtrlBtn{display:flex;align-items:center}.voiceCtrlBtn{flex-direction:column;gap:4px;padding:10px 16px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--muted-mid);font:inherit;font-size:1.2rem;cursor:pointer;transition:background .12s,color .12s,border-color .12s;min-width:64px}.voiceCtrlBtn span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.voiceCtrlBtn:hover{background:var(--surface-high);color:var(--text);border-color:var(--accent)}.voiceCtrlBtn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-glow)}.voiceCtrlBtn.danger{color:var(--error);border-color:rgba(248,113,113,.3)}.voiceCtrlBtn.active.danger,.voiceCtrlBtn.danger:hover{background:rgba(248,113,113,.12);border-color:var(--error)}.serverIconPreview{width:72px;height:72px;border-radius:var(--r-lg);background:var(--surface-high);border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.emojiGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:10px;gap:10px;margin-top:8px}.emojiItem{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line-subtle);border-radius:var(--r-md);padding:12px 8px;position:relative}.emojiItemImg{width:40px;height:40px;object-fit:contain}.emojiItemName{font-size:.72rem;color:var(--muted);text-align:center;word-break:break-all}.emojiDeleteBtn{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;border:none;background:rgba(248,113,113,.15);color:var(--error);font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.emojiItem:hover .emojiDeleteBtn{opacity:1}.webhookRow{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line-subtle);border-radius:var(--r-md)}.webhookUrl{font-family:monospace;font-size:.72rem;color:var(--muted);margin-top:4px;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}.webhookDeleteBtn{flex-shrink:0;padding:5px 12px;border-radius:var(--r-sm);border:1px solid rgba(248,113,113,.3);background:transparent;color:var(--error);font:inherit;font-size:.78rem;cursor:pointer;transition:background .12s}.webhookDeleteBtn:hover{background:rgba(248,113,113,.12)}html.no-transition *{transition:none!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-high);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}.toastStack{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--r-md);background:var(--surface-high);border:1px solid var(--line-strong);box-shadow:0 8px 32px rgba(0,0,0,.35);font-size:.88rem;font-weight:600;color:var(--text);animation:toastIn .22s ease;pointer-events:auto;max-width:320px;transition:none}.toastIcon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:900}.toast--success .toastIcon{background:var(--accent-dim);color:var(--accent)}.toast--error .toastIcon{background:rgba(248,113,113,.15);color:var(--error)}.toast--info .toastIcon{background:rgba(96,165,250,.15);color:#60a5fa}.message--new{animation:fadeUp .2s ease}.scrollToBottom{position:absolute;bottom:100px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--surface-high);border:1px solid var(--line-strong);color:var(--text);font-size:1rem;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.3);z-index:40;transition:background .12s ease,transform .12s ease;animation:fadeIn .2s ease}.scrollToBottom:hover{background:var(--accent);color:var(--accent-fg);transform:translateY(-2px)}.scrollToBottomBadge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:999px;background:var(--error);color:#fff;font-size:.65rem;font-weight:900;display:grid;place-items:center;padding:0 4px}.themeToggle{width:30px;height:30px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:1rem;display:grid;place-items:center;border:none;cursor:pointer;transition:background .12s ease,color .12s ease;flex-shrink:0}.themeToggle:hover{background:var(--surface);color:var(--text)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--surface) 0,var(--surface-high) 50%,var(--surface) 100%);background-size:800px 100%;animation:shimmer 1.4s infinite;border-radius:var(--r-sm)}.skeletonMsg{display:grid;grid-template-columns:38px 1fr;grid-gap:14px;gap:14px;padding:8px 24px}.skeletonAvatar{width:38px;height:38px;border-radius:var(--r-md)}.skeletonLines{display:flex;flex-direction:column;gap:8px;padding-top:4px}.skeletonLine{height:12px}.loadingSpinner{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;color:var(--muted);font-size:.82rem}.loadingSpinner:before{content:"";width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 24px;text-align:center;flex:1 1}.emptyStateIcon{font-size:3rem;line-height:1;opacity:.4}.emptyStateTitle{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.emptyStateBody{margin:0;font-size:.88rem;color:var(--muted);max-width:280px;line-height:1.6}.mobileMenuBtn{display:none;width:36px;height:36px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:1.1rem;align-items:center;justify-content:center;flex-shrink:0;transition:background .1s ease,color .1s ease}.mobileMenuBtn:hover{background:var(--surface);color:var(--text)}@media (max-width:1024px){.appShell{grid-template-columns:72px 240px minmax(0,1fr)}.appShell>.memberPanel{display:none}}@media (max-width:768px){.appShell{grid-template-columns:60px minmax(0,1fr);position:relative}.channelPanel{position:fixed;top:0;left:60px;bottom:0;width:240px;z-index:200;transform:translateX(-100%);transition:transform .25s ease;box-shadow:4px 0 24px rgba(0,0,0,.4)}.channelPanel.open{transform:translateX(0)}.channelPanelOverlay{display:none;position:fixed;inset:0;z-index:199;background:rgba(0,0,0,.5)}.channelPanelOverlay.visible{display:block}.mobileMenuBtn{display:flex}.serverRail{width:60px}.serverIcon{width:40px;height:40px}}@media (max-width:480px){.chatHeader{padding:0 12px;gap:10px}.messageList{padding:12px 0 4px}.message{padding:5px 12px;grid-template-columns:36px minmax(0,1fr);gap:10px}.composer{margin:4px 8px 12px}}.inviteCopyRow{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line-strong);font-size:.82rem;font-family:monospace;color:var(--muted-mid);word-break:break-all}.inviteCopyBtn{flex-shrink:0;padding:5px 14px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:.78rem;font-weight:800;transition:opacity .12s ease}.inviteCopyBtn:hover{opacity:.85}.confirmBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s ease}.confirmDialog{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-xl);padding:28px 32px;max-width:400px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.5);animation:fadeUp .18s ease}.confirmDialog h3{margin:0 0 8px;font-size:1.05rem;font-weight:800}.confirmDialog p{margin:0 0 24px;color:var(--muted-mid);font-size:.9rem;line-height:1.6}.confirmActions{display:flex;gap:10px;justify-content:flex-end}.confirmCancelBtn{padding:9px 20px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line-strong);color:var(--muted-mid);font:inherit;font-size:.88rem;font-weight:700;transition:background .12s ease}.confirmCancelBtn:hover{background:var(--surface-high)}.confirmOkBtn{padding:9px 20px;border-radius:var(--r-sm);background:var(--error);color:#fff;font:inherit;font-size:.88rem;font-weight:800;border:none;transition:opacity .12s ease}.confirmOkBtn:hover{opacity:.85}.authWordmark{font-size:1.5rem;font-weight:900;letter-spacing:-.04em;color:var(--accent);margin:0 0 32px;display:inline-flex;align-items:center;gap:8px}.authWordmark:before{content:"W";width:36px;height:36px;border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);font-size:1.1rem;font-weight:900;display:grid;place-items:center}.settingsPage{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.settingsPageHeader{display:flex;align-items:center;gap:16px;padding:16px 32px;background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0}.settingsBackBtn{color:var(--muted);text-decoration:none;font-size:.88rem;font-weight:700;padding:6px 12px;border-radius:var(--r-sm);transition:background .1s ease,color .1s ease}.settingsBackBtn:hover{background:var(--surface);color:var(--text)}.settingsPageTitle{font-size:1.1rem;font-weight:800;margin:0;letter-spacing:-.02em}.settingsPageServer{margin:0;color:var(--muted);font-size:.82rem}.settingsPageNav{display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.settingsPageNav::-webkit-scrollbar{display:none}.settingsNavTab{padding:7px 16px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font:inherit;font-size:.85rem;font-weight:700;white-space:nowrap;transition:background .1s ease,color .1s ease;border:none}.settingsNavTab:hover{background:var(--surface);color:var(--text)}.settingsNavTab.active{background:var(--accent-dim);color:var(--accent)}.settingsPageBody{flex:1 1;overflow-y:auto;padding:28px 32px;max-width:900px;width:100%;margin:0 auto}.roleListItem{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);cursor:pointer;transition:background .1s ease}.roleListItem:hover{background:var(--surface)}.roleListItem.active{background:var(--accent-dim)}.roleColorDot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.roleDeleteBtn{opacity:0;padding:2px 7px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:.7rem;transition:background .1s ease,color .1s ease,opacity .1s ease}.roleListItem:hover .roleDeleteBtn{opacity:1}.roleDeleteBtn:hover{background:rgba(248,113,113,.12);color:var(--error)}.roleBadge{padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted-mid);font:inherit;font-size:.72rem;font-weight:700;cursor:default;white-space:nowrap}.permRow{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--r-sm);border:1px solid var(--line-subtle,var(--line));background:var(--surface);cursor:pointer;transition:background 80ms ease}.permRow:hover{background:var(--surface-high)}.permCheckbox{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.permLabel{display:block;font-size:.88rem;font-weight:700}.permDesc{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}.roleDropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface-high);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:50;min-width:160px;padding:4px;animation:fadeUp .15s ease}.roleDropdownItem{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-sm);background:transparent;color:var(--text);font:inherit;font-size:.85rem;font-weight:600;width:100%;text-align:left;transition:background 80ms ease}.memberSettingsRow,.roleDropdownItem:hover{background:var(--surface)}.memberSettingsRow{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--line-subtle,var(--line));transition:background 80ms ease}.memberSettingsRow:hover{background:var(--surface-high)}--presence-online:#4ade80;--presence-idle:#fbbf24;--presence-dnd:#f87171;--presence-offline:#4b4b5a;.presenceDot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px var(--panel)}.statusBar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line);margin-top:auto;background:var(--panel);flex-shrink:0}.statusDisplayName{font-size:.85rem}.statusPickerBtn{width:28px;height:28px;border-radius:var(--r-sm);background:transparent;border:none;cursor:pointer;display:grid;place-items:center;color:var(--muted);font-size:.9rem;transition:background .1s ease,color .1s ease}.statusPickerBtn:hover{background:var(--surface);color:var(--text)}.statusMenu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--surface-high);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:100;animation:fadeUp .15s ease}.statusMenuItem{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:var(--r-sm);background:transparent;color:var(--text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background 80ms ease}.statusMenuItem:hover{background:var(--surface)}.unreadBadge{margin-left:auto;min-width:18px;height:18px;border-radius:999px;background:var(--error);color:#fff;font-size:.65rem;font-weight:900;display:grid;place-items:center;padding:0 4px}.channel.unread{color:var(--text)!important;font-weight:700}.voiceChannelUsers{display:flex;flex-direction:column;gap:2px;padding-left:12px;margin-top:2px}.voiceChannelUser{padding:3px 8px;color:var(--muted);font-size:.78rem;font-weight:600}.searchBar,.voiceChannelUser{display:flex;align-items:center;gap:6px;border-radius:var(--r-sm)}.searchBar{padding:6px 14px;background:var(--surface);border:1px solid var(--line-strong);flex:0 0 auto;min-width:180px;transition:border-color .14s ease}.searchBar:focus-within{border-color:var(--accent)}.searchInput{border:none;background:transparent;color:var(--text);font:inherit;font-size:.85rem;outline:none;width:160px}.searchInput::placeholder{color:var(--muted)}.threadPanel{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:280px;max-width:340px}.threadHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--line);flex-shrink:0}.threadParentPreview{margin:4px 0 0;font-size:.8rem;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.threadCloseBtn{flex-shrink:0;width:26px;height:26px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:.8rem;display:grid;place-items:center;transition:background .1s ease,color .1s ease}.threadCloseBtn:hover{background:var(--surface);color:var(--text)}.threadMessages{flex:1 1;overflow-y:auto;padding:8px 0}.threadPost{display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:10px;gap:10px;padding:6px 14px;border-radius:var(--r-sm);transition:background 80ms ease}.threadComposer,.threadPost:hover{background:var(--surface)}.threadComposer{display:flex;align-items:center;gap:8px;margin:8px 12px 12px;padding:4px 4px 4px 12px;border-radius:var(--r-lg);border:1px solid var(--line-strong);transition:border-color .14s ease;flex-shrink:0}.threadComposer:focus-within{border-color:var(--accent-glow)}.threadInput{flex:1 1;border:none;background:transparent;color:var(--text);font:inherit;font-size:.88rem;outline:none;padding:8px 0}.threadInput::placeholder{color:var(--muted)}.threadSendBtn{width:32px;height:32px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);font-size:.85rem;font-weight:800;display:grid;place-items:center;flex-shrink:0;transition:opacity .12s ease}.threadSendBtn:disabled{opacity:.5;cursor:default}.typingIndicator{min-height:22px;padding:0 24px 4px;color:var(--muted);font-size:.78rem;font-style:italic}.slowModeBar{padding:6px 20px;background:rgba(251,191,36,.1);border-top:1px solid rgba(251,191,36,.2);color:var(--warn);font-size:.8rem;font-weight:600;text-align:center;flex-shrink:0}.memberMenuBtn{opacity:0;width:24px;height:24px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:.75rem;display:grid;place-items:center;transition:background 80ms ease,color 80ms ease,opacity 80ms ease;flex-shrink:0}.member:hover .memberMenuBtn{opacity:1}.memberMenuBtn:hover{background:var(--surface-high);color:var(--text)}.memberContextMenu{position:absolute;right:8px;background:var(--surface-high);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:50;min-width:140px;animation:fadeUp .15s ease}.memberContextMenu button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border-radius:var(--r-sm);background:transparent;color:var(--text);font:inherit;font-size:.85rem;font-weight:600;transition:background 80ms ease}.memberContextMenu button:hover{background:rgba(248,113,113,.12);color:var(--error)}.auditRow{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:10px 14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line-subtle,var(--line));font-size:.85rem}.auditAction{font-weight:800;text-transform:capitalize}.auditActor{color:var(--accent);font-weight:600}.auditReason{color:var(--muted-mid)}.auditTime{color:var(--muted);font-size:.75rem;margin-left:auto}.settingsIconBtn{width:30px;height:30px;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:.95rem;display:grid;place-items:center;text-decoration:none;transition:background .1s ease,color .1s ease}.settingsIconBtn:hover{background:var(--surface);color:var(--text)}.categoryHeader{display:flex;align-items:center;gap:6px;padding:14px 10px 4px;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.voiceArea{min-height:0;overflow:hidden}.voiceArea,.voiceJoin{display:flex;flex-direction:column;flex:1 1}.voiceJoin{align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px}.voiceJoinTitle{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em}.voiceJoinHint{margin:0;color:var(--muted);font-size:.9rem}.voiceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;padding:20px;overflow-y:auto;flex:1 1}.voiceTile{position:relative;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.voiceTileAvatar{width:56px;height:56px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--warn),var(--accent));display:grid;place-items:center;color:var(--accent-fg);font-size:1.4rem;font-weight:900;overflow:hidden}.voiceTileVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.voiceTileInfo{position:absolute;bottom:8px;left:8px;right:8px;display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--r-sm);padding:4px 8px;font-size:.78rem;font-weight:700;color:#fff}*{letter-spacing:0}body,html{min-height:100%;overflow:hidden}body{background:radial-gradient(circle at 18% -10%,rgba(125,211,252,.08),transparent 34%),radial-gradient(circle at 92% 0,rgba(74,222,128,.08),transparent 28%),var(--bg)}a{color:inherit}.appShell{grid-template-columns:76px 276px minmax(0,1fr) 264px;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--bg)}.serverRail{gap:10px;padding:14px 0;background:linear-gradient(180deg,var(--rail),#050608)}.serverRail:after{display:none}.serverIcon{display:grid;place-items:center;overflow:hidden;text-decoration:none;border:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.serverIcon:hover{transform:translateY(-1px);border-color:var(--line-strong)}.serverIcon.active{border-color:rgba(255,255,255,.16)}.serverIcon.active:before{left:-17px;width:4px;height:28px}.channelPanel,.friendsSidebar,.memberPanel,.threadPanel{box-shadow:inset -1px 0 0 rgba(255,255,255,.02)}.chatHeader,.dmHeader,.workspaceHeader{min-height:68px;background:color-mix(in srgb,var(--panel-mid) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.authButton,.connectionPill,.dmSendBtn,.friendBtn.primary,.headerAction,.inviteCopyBtn{box-shadow:0 8px 24px var(--accent-glow)}.channel{position:relative;min-height:38px;color:var(--muted-mid)}.channel:hover,.dmMessage:hover,.friendItem:hover,.friendsNavItem:hover,.member:hover,.message:hover,.threadPost:hover{background:color-mix(in srgb,var(--surface) 82%,white 2%)}.channel.active{background:linear-gradient(90deg,var(--accent-dim),rgba(125,211,252,.06));color:var(--text)}.channel.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:99px;background:var(--accent)}.chatPanel,.dmShell{min-height:0;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-mid) 94%,var(--accent-2) 6%),var(--panel-mid) 220px),var(--panel-mid)}.dmMessages,.friendsMain,.messageList{min-height:0}.roomIntro{margin:0 24px 18px;padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(74,222,128,.08),rgba(125,211,252,.06)),var(--panel)}.roomMark{border-radius:var(--r-md);box-shadow:0 12px 32px var(--accent-glow)}.avatar,.dmHeaderAvatar,.friendAvatar,.profileAvatar,.settingsAvatar,.sidebarUserAvatar{border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent-3),var(--accent),var(--accent-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}.avatar img,.dmHeaderAvatar img,.friendAvatar img,.profileAvatar img,.settingsAvatar img,.sidebarUserAvatar img{width:100%;height:100%;object-fit:cover}.friendProfileLink,.memberProfileLink,.messageAuthorLink,.sidebarUserMain,.statusDisplayName,.userAvatarLink{text-decoration:none}.messageAuthorLink{font-size:.9rem;font-weight:750;color:var(--text)}.friendProfileLink:hover strong,.memberProfileLink:hover strong,.messageAuthorLink:hover,.statusDisplayName:hover{color:var(--accent-2)}.friendProfileLink,.memberProfileLink{flex:1 1;min-width:0}.friendProfileLink{display:flex;align-items:center;gap:14px}.addFriendInput,.authInput,.composer,.dmComposer,.inviteCopyRow,.searchBarForm,.threadComposer{background:color-mix(in srgb,var(--surface) 88%,black 4%);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.addFriendInput:focus,.authInput:focus,.composer:focus-within,.dmComposer:focus-within,.searchBarForm:focus-within,.threadComposer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim),inset 0 1px 0 rgba(255,255,255,.04)}.friendsShell{height:100vh;height:100dvh;min-height:0;background:var(--panel-mid)}.friendsContent{max-width:920px;width:100%;padding:28px 36px}.friendItem{min-height:64px;border:1px solid transparent}.friendItem:hover{border-color:var(--line)}.sidebarUserCard{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,black 8%)}.sidebarUserMain{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1}.sidebarUserAvatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;overflow:hidden;color:var(--accent-fg);font-weight:900}.sidebarUserMain small,.sidebarUserMain strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebarUserMain strong{font-size:.84rem}.sidebarUserMain small{color:var(--muted);font-size:.74rem}.statusDisplayName{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;color:var(--muted-mid)}.profilePage{min-height:100vh;min-height:100dvh;overflow-y:auto;padding:24px;background:radial-gradient(circle at 15% 0,rgba(125,211,252,.14),transparent 30%),radial-gradient(circle at 90% 12%,rgba(74,222,128,.12),transparent 32%),var(--bg)}.profileTopbar{max-width:760px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between}.profileEditLink{color:var(--accent);font-size:.88rem;font-weight:800;text-decoration:none}.profileCard{max-width:760px;margin:0 auto;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--r-xl);background:var(--panel);box-shadow:var(--shadow-soft)}.profileBanner{height:148px;background:linear-gradient(135deg,rgba(74,222,128,.52),rgba(125,211,252,.42)),linear-gradient(45deg,var(--surface),var(--surface-high))}.profileBody{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:18px;gap:18px;padding:0 28px 28px}.profileAvatar{display:grid;place-items:center;width:104px;height:104px;margin-top:-42px;overflow:hidden;border:5px solid var(--panel);color:var(--accent-fg);font-size:2.25rem;font-weight:900}.profileIdentity{padding-top:18px;min-width:0}.profileIdentity h1{margin:0;font-size:1.7rem;line-height:1.1}.profileIdentity p{margin:4px 0 0;color:var(--muted)}.profileActions{display:flex;align-items:flex-start;gap:8px;padding-top:22px}.profileAbout{grid-column:1/-1;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.profileAbout h2{margin:0 0 8px;color:var(--muted);font-size:.78rem;text-transform:uppercase}.profileAbout p{margin:0;color:var(--muted-mid);line-height:1.7}@media (max-width:1024px){.appShell{grid-template-columns:72px 252px minmax(0,1fr)}}@media (max-width:720px){.friendsShell{grid-template-columns:minmax(0,1fr)}.friendsSidebar{display:none}.friendsContent{padding:20px 16px}.friendItem{align-items:flex-start;flex-direction:column}.friendActions{width:100%}.friendActions .friendBtn{flex:1 1}.profileBody{grid-template-columns:1fr}.profileActions{padding-top:0;flex-wrap:wrap}}.discordShell{display:grid;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--bg);color:var(--text)}.friendsExperience{grid-template-columns:76px minmax(0,1fr)}.dmExperience{grid-template-columns:76px 280px minmax(0,1fr) 280px}.railDivider{width:32px;height:1px;flex:0 0 auto;margin:2px 0;background:var(--line-strong)}.serverIcon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.friendsExperience .friendsShell{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}.dmSidebar,.friendsExperience .friendsSidebar{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel);border-right:1px solid var(--line)}.dmSidebarSearch{margin:12px;min-height:40px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--rail);color:var(--muted);font-size:.84rem;font-weight:650}.dmPrimaryNav,.friendsNav{padding:4px 10px 10px}.dmPrimaryItem,.friendsNavItem{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border-radius:var(--r-sm);color:var(--muted-mid);text-decoration:none;font-size:.92rem;font-weight:700}.dmPrimaryItem:hover,.dmThreadItem:hover,.friendsNavItem:hover{background:var(--surface);color:var(--text)}.dmThreadItem.active,.friendsNavItem.active{background:var(--surface-high);color:var(--text)}.dmSidebarLabel{margin:8px 12px 6px;color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.dmThreadList{flex:1 1;min-height:0;overflow-y:auto;padding:0 8px 12px}.dmThreadItem{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:46px;padding:5px 8px;border-radius:var(--r-sm);color:var(--muted-mid);text-decoration:none}.dmCallAvatar,.dmProfileAvatar,.dmThreadAvatar{display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--accent-3),var(--accent),var(--accent-2));color:var(--accent-fg);font-weight:900}.dmThreadAvatar{width:36px;height:36px;border-radius:50%}.dmCallAvatar img,.dmProfileAvatar img,.dmThreadAvatar img{width:100%;height:100%;object-fit:cover}.dmThreadText{min-width:0}.dmThreadText small,.dmThreadText strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmThreadText strong{color:inherit;font-size:.88rem}.dmThreadText small{color:var(--muted);font-size:.76rem}.friendsTopbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--panel-mid)}.friendsTopbar h1{margin:0;font-size:1.1rem}.friendsTopbarTabs{display:flex;align-items:center;gap:6px}.friendsTopbarTabs button{min-height:34px;padding:0 12px;border-radius:var(--r-sm);background:transparent;color:var(--muted-mid);font-weight:750}.friendsTopbarTabs button.active,.friendsTopbarTabs button:hover{background:var(--surface);color:var(--text)}.friendsExperience .friendsMain{min-width:0;min-height:0;background:var(--panel-mid)}.friendsExperience .friendsContent{max-width:920px;padding:24px 28px}.friendsExperience .friendItem{border-top:1px solid var(--line);border-radius:0;min-height:64px;padding:10px 8px}.friendsExperience .friendItem:hover{border-color:var(--line);background:var(--surface);border-radius:var(--r-sm)}.dmExperience .dmShell{height:100vh;height:100dvh;min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.dmExperience .dmHeader{min-height:64px;padding:0 18px;background:var(--panel-mid)}.dmHeaderActions{margin-left:auto;display:flex;align-items:center;gap:6px}.iconActionBtn{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-sm);background:transparent;color:var(--muted-mid);text-decoration:none;font-weight:900}.iconActionBtn:hover{background:var(--surface);color:var(--text)}.iconActionBtn:disabled{opacity:.45;cursor:default}.dmExperience .dmMessages{background:var(--panel-mid)}.dmExperience .dmMessage{padding:7px 22px}.dmExperience .dmComposer{margin:8px 18px 18px}.dmProfilePanel{min-width:0;overflow-y:auto;background:var(--panel)}.dmProfileBanner{height:86px;background:linear-gradient(135deg,rgba(74,222,128,.4),rgba(125,211,252,.3)),var(--surface-high)}.dmProfileAvatar{width:86px;height:86px;margin:-34px 18px 10px;border:5px solid var(--panel);border-radius:50%;font-size:2rem}.dmProfilePanel h2{margin:0 18px;font-size:1.1rem}.dmProfilePanel p{margin:4px 18px 18px;color:var(--muted)}.dmProfileActions{display:flex;gap:8px;padding:0 18px 18px}.dmProfileActions .friendBtn{flex:1 1}.dmProfileLink{display:block;margin:0 18px;padding:12px;border-radius:var(--r-sm);background:var(--surface);color:var(--muted-mid);text-align:center;text-decoration:none;font-weight:750}.dmProfileLink:hover{color:var(--text);background:var(--surface-high)}.dmCallDock{display:flex;flex-direction:column;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(74,222,128,.08),rgba(125,211,252,.06)),var(--panel)}.dmCallStage{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.dmCallTile{position:relative;min-height:128px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.dmCallTile>span{position:absolute;left:8px;bottom:8px;right:8px;padding:6px 8px;border-radius:var(--r-sm);background:rgba(0,0,0,.45);color:#fff;font-size:.78rem;font-weight:800}.dmCallAvatar{width:58px;height:58px;border-radius:50%;font-size:1.3rem}.dmCallVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dmCallControls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}@media (max-width:1180px){.dmExperience{grid-template-columns:72px 260px minmax(0,1fr)}.dmProfilePanel{display:none}}@media (max-width:760px){.dmExperience,.friendsExperience{grid-template-columns:60px minmax(0,1fr)}.dmSidebar,.friendsExperience .friendsShell{grid-column:2}.friendsExperience .friendsShell{grid-template-columns:minmax(0,1fr)}.dmExperience .dmSidebar,.friendsExperience .friendsSidebar{display:none}.dmExperience .dmShell{grid-column:2}.friendsTopbar{align-items:flex-start;flex-direction:column;padding:12px 16px}}