:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#edf3f8;--panel:#fff;--panel-strong:#f4f9fd;--ink:#17212b;--muted:#6d7f8f;--line:#d8e4ec;--accent:#2aabee;--accent-strong:#168acd;--accent-soft:#dff3ff;--success:#2ea44f;--warn:#f2b84b;--bubble:#fff;--bubble-self:#dff8c6;--shadow:0 18px 42px #17212b24;--shadow-small:0 1px 2px #17212b1f;--shadow-hover:0 8px 20px #2aabee2e;--avatar-small-shadow:var(--shadow-small);--border-thin:1px solid var(--line);--border-strong:1px solid var(--line);--radius-sm:12px;--radius-md:16px;--hover-transform:translateY(-1px);--body-background:radial-gradient(circle at top left, #2aabee14, transparent 34%), var(--bg);--body-background-size:auto;--chat-background:linear-gradient(0deg, #ffffff6b, #ffffff6b), repeating-linear-gradient(135deg, transparent 0, transparent 22px, #2aabee0a 22px, #2aabee0a 23px), var(--bg);--viewer-stage-background:var(--chat-background);--scrim-background:#17212b8a;letter-spacing:0;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px}:root[data-theme=neo-brutal]{--bg:#1c1a16;--panel:#26231d;--panel-strong:#5f4fff;--ink:#fff6dd;--muted:#d5c8a8;--line:#fff6dd;--accent:#ff6a2a;--accent-strong:#fff6dd;--accent-soft:#00d8ff;--success:#00d878;--warn:#ffcc30;--bubble:#322d24;--bubble-self:#315a2c;--shadow:8px 8px 0 #000;--shadow-small:4px 4px 0 #000;--shadow-hover:6px 6px 0 var(--line);--avatar-small-shadow:3px 3px 0 var(--line);--border-thin:2px solid var(--line);--border-strong:3px solid var(--line);--radius-sm:6px;--radius-md:6px;--hover-transform:var(--hover-transform);--body-background:linear-gradient(90deg, color-mix(in srgb, var(--line) 9%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--line) 9%, transparent) 1px, transparent 1px), var(--bg);--body-background-size:24px 24px;--chat-background:linear-gradient(90deg, color-mix(in srgb, var(--accent-soft) 38%, transparent) 0 18px, transparent 18px 36px), repeating-linear-gradient(135deg, transparent 0, transparent 22px, color-mix(in srgb, var(--line) 8%, transparent) 22px, color-mix(in srgb, var(--line) 8%, transparent) 24px), var(--bg);--viewer-stage-background:repeating-linear-gradient(135deg, transparent 0, transparent 22px, color-mix(in srgb, var(--line) 10%, transparent) 22px, color-mix(in srgb, var(--line) 10%, transparent) 24px), var(--bg);--scrim-background:linear-gradient(90deg, color-mix(in srgb, var(--panel-strong) 28%, transparent) 0 16px, transparent 16px 32px), color-mix(in srgb, var(--line) 72%, transparent);font-family:DIN Alternate,Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}:root[data-theme=lark]{--bg:#f5f7fb;--panel:#fff;--panel-strong:#f2f5fb;--ink:#1f2329;--muted:#646a73;--line:#dee0e3;--accent:#3370ff;--accent-strong:#245bdb;--accent-soft:#e8efff;--bubble:#fff;--bubble-self:#eaf2ff;--shadow:0 18px 44px #1f23291a;--shadow-small:0 1px 3px #1f23291a;--shadow-hover:0 8px 22px #3370ff29;--radius-sm:10px;--radius-md:14px;--chat-background:linear-gradient(180deg, #ffffffdb, #f5f7fbeb), var(--bg)}:root[data-theme=dingtalk]{--bg:#eef4ff;--panel:#fff;--panel-strong:#edf5ff;--ink:#1d2129;--muted:#6b7280;--line:#d7e3f2;--accent:#1677ff;--accent-strong:#0958d9;--accent-soft:#dbeafe;--bubble:#fff;--bubble-self:#dcebff;--shadow:0 20px 48px #1677ff24;--shadow-small:0 1px 3px #1677ff1f;--shadow-hover:0 8px 22px #1677ff2e;--radius-sm:8px;--radius-md:12px;--chat-background:linear-gradient(135deg, #1677ff0f, transparent 38%), var(--bg)}:root[data-theme=wechat]{--bg:#ededed;--panel:#f7f7f7;--panel-strong:#eee;--ink:#111;--muted:#7a7a7a;--line:#d6d6d6;--accent:#07c160;--accent-strong:#05964a;--accent-soft:#dcf8c6;--success:#07c160;--warn:#f2c94c;--bubble:#fff;--bubble-self:#95ec69;--shadow:0 14px 36px #0000001a;--shadow-small:0 1px 2px #0000001f;--shadow-hover:0 8px 18px #07c16029;--radius-sm:8px;--radius-md:10px;--chat-background:var(--bg)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--body-background);background-size:var(--body-background-size);color:var(--ink);overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}.shell{background:0 0;grid-template-rows:1fr 32px;grid-template-columns:120px minmax(290px,380px) minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.rail{border-right:var(--border-strong);background:var(--panel);flex-direction:column;grid-row:1/3;align-items:center;gap:8px;padding:12px 9px;display:flex}.railProfile{border-bottom:var(--border-thin);justify-items:center;gap:6px;width:100%;padding:8px 2px 12px;display:grid}.railProfile .avatar{border-radius:999px;width:46px;height:46px;font-size:.98rem}.railProfile strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.78rem;font-weight:900;overflow:hidden}.railConnection{border:var(--border-thin);max-width:100%;min-height:21px;color:var(--muted);background:var(--panel-strong);box-shadow:var(--shadow-small);border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.railConnection>span{background:var(--warn);border-radius:999px;width:6px;height:6px}.railConnection.online>span{background:var(--success)}.railConnection.offline>span{background:var(--accent-strong)}.railSpacer{flex:1}.railButton,.iconButton,.sendButton{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);width:44px;height:44px;box-shadow:var(--shadow-small);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,color .12s,transform .12s,box-shadow .12s;display:inline-flex}.railButton:hover,.iconButton:hover,.sendButton:hover{background:var(--panel-strong);transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.railButton.active,.iconButton.accent,.sendButton{color:var(--panel);background:var(--accent)}.railButton.active:hover,.iconButton.accent:hover,.sendButton:hover{color:var(--panel);background:var(--accent-strong)}.railButton:disabled,.iconButton:disabled,.sendButton:disabled,.primaryButton:disabled{cursor:not-allowed;opacity:.55}.listPane{border-right:var(--border-strong);background:var(--panel);min-width:0;overflow:hidden}.paneHeader,.chatHeader{border-bottom:var(--border-strong);align-items:center;gap:12px;min-height:76px;padding:14px 16px;display:flex}.paneHeader{justify-content:space-between}.paneHeader h1,.chatHeader h2,.dialog h2,.loginPanel h1{letter-spacing:0;margin:0;font-weight:900}.paneHeader h1{font-size:1.45rem}.tenantCode,.chatTitle p,.listText small,.formStatus,.profilePreview small,.settingsPanel small,.themeSetting small{color:var(--muted)}.tenantCode{text-transform:uppercase;margin:0 0 2px;font-size:.78rem;font-weight:900}.headerActions{gap:8px;display:flex}.contactPane{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.contactTabs{border-bottom:var(--border-thin);background:color-mix(in srgb, var(--panel-strong) 58%, var(--panel));grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:grid}.contactTab{border:var(--border-thin);border-radius:var(--radius-sm);min-width:0;min-height:38px;color:var(--ink);background:var(--panel);box-shadow:var(--shadow-small);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:.84rem;font-weight:900;display:inline-flex}.contactTab span{border:var(--border-thin);background:var(--panel-strong);min-width:22px;height:22px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.72rem;display:inline-flex}.contactTab.active span{color:var(--ink);background:var(--accent-soft)}.scrollList{height:calc(100vh - 108px);padding:8px;overflow:auto}.groupSection{gap:4px;display:grid}.groupSection+.groupSection{margin-top:10px}.groupSection h2{color:var(--muted);margin:8px 6px 4px;font-size:.78rem;font-weight:900}.listItem,.friendIdentity{border:var(--border-thin);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border-color:#0000;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.listItem{min-height:68px;padding:10px;position:relative}.listItem:hover,.listItem.active,.friendRow:hover{background:var(--panel-strong);border-color:var(--line);box-shadow:var(--shadow-small)}.friendRow.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 38%, var(--panel-strong));box-shadow:var(--shadow-hover)}.friendRow{border:var(--border-thin);border-radius:var(--radius-sm);border-color:#0000;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:68px;padding:6px 8px;display:grid}.friendIdentity{min-height:56px}.listText{flex-direction:column;gap:3px;min-width:0;display:flex}.listText strong,.chatTitle h2,.profilePreview h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.listText small{text-overflow:ellipsis;white-space:nowrap;min-height:18px;overflow:hidden}.badge{border:var(--border-thin);background:var(--warn);min-width:24px;height:24px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.78rem;font-weight:700;display:inline-flex}.listMeta{color:var(--muted);justify-items:end;gap:5px;margin-left:auto;display:grid}.conversationMetaLine,.conversationUnreadMarkers{justify-content:flex-end;align-items:center;gap:6px;min-height:20px;display:inline-flex}.mentionUnreadBadge{border:var(--border-thin);width:20px;height:20px;color:var(--panel);background:var(--accent);border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.chatPane{background:var(--chat-background);grid-template-rows:76px auto minmax(0,1fr) auto;min-width:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.workspacePane{background:var(--chat-background);min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.workspaceEmptyPane,.contactDetailPane{place-items:center;padding:24px;display:grid}.workspaceEmptyContent{color:var(--muted);text-align:center;place-items:center;gap:14px;font-size:1rem;font-weight:800;display:grid}.workspaceEmptyContent p{margin:0}.emptyChatMark{width:70px;height:58px;color:var(--muted);place-items:center;display:inline-grid;position:relative}.emptyChatMark:before,.emptyChatMark:after{content:"";border:var(--border-thin);background:var(--panel);border-radius:6px;position:absolute}.emptyChatMark:before{inset:12px 22px 10px 4px}.emptyChatMark:after{background:var(--accent);border-color:var(--accent);inset:2px 4px 20px 24px}.emptyChatMark svg{z-index:1;position:relative;transform:translate(-7px,6px)}.contactsEmptyContent svg{color:color-mix(in srgb, var(--muted) 72%, transparent)}.contactProfileCard{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);width:min(380px,100%);box-shadow:var(--shadow);gap:18px;padding:26px;display:grid}.contactProfileHeader{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.contactProfileTitle{min-width:0}.contactProfileTitle h2,.settingsProfileText h2,.settingsContentCard h2{letter-spacing:0;margin:0;font-weight:900}.contactProfileTitle h2,.settingsProfileText h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contactProfileTitle p,.settingsProfileText p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0}.contactProfileMeta{gap:0;margin:0;display:grid}.contactProfileMeta div{border-top:var(--border-thin);grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;min-height:48px;display:grid}.contactProfileMeta dt{color:var(--ink);align-items:center;gap:7px;font-weight:900;display:inline-flex}.contactProfileMeta dd{min-width:0;color:var(--muted);overflow-wrap:anywhere;margin:0}.contactDetailBack{display:none}.settingsWorkspace{background:var(--panel-strong);grid-row:1;min-width:0;min-height:0;overflow:auto}.settingsWorkspaceHeader{border-bottom:var(--border-strong);background:var(--panel);justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:0 24px;display:flex}.settingsWorkspaceHeader h1{margin:0;font-size:1.1rem;font-weight:900}.secondaryButton{border:var(--border-thin);border-radius:var(--radius-sm);min-height:40px;color:var(--ink);background:var(--panel);box-shadow:var(--shadow-small);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:900;display:inline-flex}.secondaryButton:hover{background:var(--panel-strong);transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.settingsTabs{border-bottom:var(--border-thin);background:var(--panel);gap:22px;min-height:54px;padding:0 24px;display:flex;overflow-x:auto}.settingsTab{min-width:max-content;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 4px;font-weight:900}.settingsTab.active{color:var(--accent);border-bottom-color:var(--accent)}.settingsTab:disabled{cursor:default;opacity:.72}.settingsWorkspaceBody{gap:22px;width:min(960px,100% - 48px);margin:56px auto;display:grid}.settingsProfileCard,.settingsContentCard{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow-small)}.settingsProfileCard{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:26px;display:grid}.settingsContentCard{padding:26px}.settingsContentCard>.settingsPanel{padding:18px 0 0}@media (prefers-color-scheme:dark){.chatPane{background:repeating-linear-gradient(135deg, transparent 0, transparent 22px, #fff6dd1f 22px, #fff6dd1f 24px), var(--bg)}}.chatHeader{background:var(--panel)}.chatTitle{flex:1;min-width:0}.chatTitle h2{font-size:1.08rem}.chatTitle p{margin:2px 0 0;font-size:.8rem}.mobileBack{display:none}.network{color:var(--muted);display:inline-flex}.network.online{color:var(--success)}.pinnedMessageSlot{background:var(--panel);min-height:0}.pinnedMessageSlot:empty{display:block}.pinnedMessageBar{border:0;border-bottom:var(--border-strong);background:color-mix(in srgb, var(--warn) 42%, var(--panel));width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:7px clamp(16px,4vw,46px);display:grid}.pinnedMessageBar:hover:not(:disabled){background:color-mix(in srgb, var(--warn) 62%, var(--panel))}.pinnedMessageBar:disabled{cursor:wait}.pinnedMessageIcon{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--accent);width:34px;height:34px;color:var(--panel);box-shadow:var(--shadow-small);justify-content:center;align-items:center;display:inline-flex}.pinnedMessageText{gap:2px;min-width:0;display:grid}.pinnedMessageText strong,.pinnedMessageText small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pinnedMessageText strong{font-size:.82rem;font-weight:900}.pinnedMessageText small{color:var(--muted);font-size:.78rem;font-weight:800}.messageListFrame{min-height:0;position:relative;overflow:hidden}.messageList{overflow-anchor:none;overscroll-behavior:contain;width:100%;height:100%;min-height:0;padding:18px clamp(16px,4vw,46px);overflow-y:auto}.scrollToBottomButton{z-index:4;border:var(--border-thin);width:42px;height:42px;color:var(--panel);background:var(--accent);box-shadow:var(--shadow-small);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:18px;right:clamp(14px,2.4vw,28px)}.scrollToBottomButton:hover{transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.scrollToBottomButton:disabled{cursor:wait;opacity:.82;transform:none}.mentionUnreadJumpButton{z-index:4;border:var(--border-thin);min-width:42px;height:42px;color:var(--accent-strong);background:var(--panel);box-shadow:var(--shadow-small);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;gap:2px;padding:0 8px;font-size:.7rem;font-weight:900;display:inline-flex;position:absolute;bottom:70px;right:clamp(14px,2.4vw,28px)}.mentionUnreadJumpButton:hover{transform:var(--hover-transform);color:var(--panel);background:var(--accent);box-shadow:var(--shadow-hover)}.scrollToBottomUnreadBadge{border:2px solid var(--panel);min-width:19px;height:19px;color:var(--panel);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;background:#e5484d;border-radius:999px;padding:0 5px;font-size:10px;font-weight:800;line-height:15px;position:absolute;top:-7px;right:-8px}.unreadMessageDivider{width:min(100%, var(--tg-message-container-width,760px));color:var(--accent);letter-spacing:.02em;grid-template-columns:minmax(28px,1fr) auto minmax(28px,1fr);align-items:center;gap:12px;margin:4px auto 12px;font-size:12px;line-height:20px;display:grid}.unreadMessageDivider>span{background:color-mix(in srgb, var(--accent) 42%, transparent);height:1px}.unreadMessageDivider>strong{white-space:nowrap;font-weight:700}.virtualMessageCanvas{overflow-anchor:none;width:100%;min-height:100%;position:relative}.virtualMessageItem{inset-inline:0;overflow-anchor:none;will-change:transform;flex-direction:column;padding-bottom:8px;display:flex;position:absolute;top:0}.historyLoader{z-index:2;border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);width:-moz-fit-content;width:fit-content;max-width:80%;color:var(--muted);box-shadow:var(--shadow-small);pointer-events:none;margin:0 auto;padding:6px 11px;font-size:.76rem;font-weight:900;position:absolute;top:12px;left:50%;transform:translate(-50%)}.historyLoader.bottom{top:auto;bottom:12px}.messageSkeleton{flex-direction:column;justify-content:flex-end;gap:14px;min-height:100%;padding-block:8px;display:flex}.messageSkeletonRow{align-self:flex-start;align-items:flex-end;gap:9px;width:min(740px,88%);display:flex}.messageSkeletonRow.self{justify-content:flex-end;align-self:flex-end}.messageSkeletonAvatar{border:var(--border-thin);background:color-mix(in srgb, var(--muted) 14%, var(--panel));border-radius:999px;flex:0 0 30px;width:30px;height:30px}.messageSkeletonBubble{border:var(--border-thin);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bubble) 82%, var(--panel-strong));width:min(360px,72%);min-height:48px;box-shadow:var(--shadow-small);gap:8px;padding:13px;display:grid;position:relative;overflow:hidden}.messageSkeletonRow.self .messageSkeletonBubble{background:color-mix(in srgb, var(--bubble-self) 80%, var(--panel-strong))}.messageSkeletonBubble:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--panel-strong) 58%, transparent), transparent);animation:1.15s ease-in-out infinite messageSkeletonSweep;position:absolute;inset:0;transform:translate(-100%)}.messageSkeletonLine{background:color-mix(in srgb, var(--muted) 18%, var(--panel));border-radius:999px;width:76%;height:9px;display:block}@keyframes messageSkeletonSweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.messageSkeletonBubble:after{animation:none}}.systemMessage{max-width:min(620px,88%);color:color-mix(in srgb, var(--muted) 88%, var(--ink));background:color-mix(in srgb, var(--panel) 74%, transparent);text-align:center;border:0;border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:6px;padding:5px 11px;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #17212b14}.systemMessage.meetingStatusSystemMessage{color:color-mix(in srgb, var(--muted) 82%, var(--ink));padding-inline:12px}.systemMessage.meetingStatusSystemMessage svg{color:currentColor;opacity:.88;flex:none}.systemMessage span{overflow-wrap:anywhere}.messageRow{align-self:flex-start;align-items:flex-end;gap:8px;width:min(760px,90%);max-width:min(760px,90%);display:flex}.messageRow.self{justify-content:flex-end;align-self:flex-end}.bubble{border:1px solid color-mix(in srgb, var(--line) 58%, transparent);background:var(--bubble);width:-moz-fit-content;width:fit-content;max-width:min(640px,100%);box-shadow:none;overflow-wrap:anywhere;border-radius:4px 14px 14px;padding:7px 10px 5px;position:relative}.messageRow.focused .bubble{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent)}.messageRow>.avatar.small+.bubble,.messageRow>.avatarButton+.bubble{max-width:calc(100% - 43px)}.bubble.self{border-color:color-mix(in srgb, var(--accent) 14%, var(--line));background:var(--bubble-self);border-radius:14px 4px 14px 14px;max-width:min(640px,100%)}.bubble p,.messageTextLine{white-space:pre-wrap;margin:0;line-height:1.42}.messageMention{color:var(--accent-strong);font:inherit;font-weight:800;line-height:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:inline}.messageMention.self{color:var(--accent)}.messageMention.all{color:var(--accent-strong);cursor:text;font-weight:900}button.messageMention:hover,button.messageMention:focus-visible{text-underline-offset:2px;outline:none;text-decoration:underline}button.messageMention:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 42%, transparent)}.mediaBubble,.mediaBubble.self{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.messageRow.focused .mediaBubble{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);border-radius:14px}.mediaBubble .senderName{margin:0 0 4px 2px}.mediaBubble .messageMeta{margin:5px 3px 0;padding:0 2px}.messageMeta{color:color-mix(in srgb, var(--muted) 82%, var(--ink));white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;margin:4px 0 -1px;font-size:.68rem;font-weight:700;line-height:1;display:flex}.messageMeta.self{color:color-mix(in srgb, var(--accent-strong) 70%, var(--muted))}.messageMeta time{display:inline-block}.messageState{color:currentColor;flex:none;justify-content:center;align-items:center;width:auto;height:12px;margin:0;line-height:1;display:inline-flex}.messageState.read{color:var(--accent-strong)}.messageState svg{flex:none;width:13px;height:13px}.senderName{color:var(--accent);overflow-wrap:anywhere;margin:0 0 3px;font-size:.78rem;font-weight:900;display:block}.replyQuote{border:var(--border-thin);border-radius:var(--radius-sm);width:100%;min-width:min(280px,100%);max-width:100%;min-height:48px;color:inherit;background:color-mix(in srgb, var(--panel) 62%, var(--bubble));box-shadow:none;cursor:pointer;text-align:left;grid-template-columns:4px 32px minmax(0,1fr);align-items:stretch;gap:8px;margin:0 0 8px;padding:0;display:grid;overflow:hidden}.bubble.self .replyQuote{background:color-mix(in srgb, var(--panel) 58%, var(--bubble-self))}.replyQuote:hover:not(:disabled){transform:var(--hover-transform);border-color:var(--accent)}.replyQuote:disabled,.replyQuote.disabled{cursor:default;opacity:.72}.replyQuoteBar{background:var(--accent);width:4px}.replyQuoteIcon,.replyQuoteThumb{border:var(--border-thin);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-soft) 48%, var(--panel));place-self:center;width:30px;height:30px}.replyQuoteIcon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.replyQuoteThumb{object-fit:cover}.replyQuoteText{align-content:center;gap:2px;min-width:0;padding:6px 8px 6px 0;display:grid}.replyQuoteText strong,.replyQuoteText small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.replyQuoteText strong{color:var(--accent);font-size:.76rem;font-weight:900}.replyQuoteText small{color:var(--muted);font-size:.74rem;font-weight:800}.attachmentCard{min-width:min(320px,100%);color:inherit;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;text-decoration:none;display:grid}.attachmentLink:hover{transform:var(--hover-transform)}.attachmentCard>span:last-child{text-align:left;flex-direction:column;gap:2px;min-width:0;margin:0;display:flex}.attachmentCard strong,.attachmentCard small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachmentCard small{color:var(--muted);font-size:.78rem}.attachmentIcon{border:var(--border-thin);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--panel);background:var(--accent);justify-content:center;align-items:center;display:inline-flex}.imageMessage{gap:6px;width:min(360px,72vw);max-width:100%;margin:0;display:grid}.imagePreviewButton{background:color-mix(in srgb, var(--panel-strong) 84%, transparent);cursor:zoom-in;border:0;border-radius:14px;justify-content:center;align-items:center;width:100%;height:260px;max-height:48vh;padding:0;display:flex;overflow:hidden}.imageMessage img{box-sizing:border-box;object-fit:contain;border:1px solid color-mix(in srgb, var(--line) 58%, transparent);background:color-mix(in srgb, var(--panel-strong) 84%, transparent);border-radius:14px;width:100%;height:100%;display:block}.imagePreviewButton:hover img{border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}.imageMessage figcaption{color:var(--muted);overflow-wrap:anywhere;font-size:.76rem}.videoMessage{gap:8px;width:min(420px,74vw);max-width:100%;margin:0;display:grid}.videoMessage video{border:1px solid color-mix(in srgb, var(--line) 58%, transparent);object-fit:contain;background:#0b0f14;border-radius:14px;width:100%;height:236px;max-height:46vh;display:block}.videoMessage figcaption{gap:2px;min-width:0;display:grid}.videoMessage figcaption strong,.videoMessage figcaption small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.videoMessage figcaption small{color:var(--muted);font-size:.76rem}.linkPreviewCard{border:var(--border-thin);border-radius:var(--radius-sm);width:min(360px,72vw);max-width:100%;min-height:76px;color:inherit;background:color-mix(in srgb, var(--panel) 70%, var(--bubble));grid-template-columns:58px minmax(0,1fr);align-items:stretch;gap:10px;text-decoration:none;display:grid;overflow:hidden}.bubble.self .linkPreviewCard{background:color-mix(in srgb, var(--panel) 64%, var(--bubble-self))}.linkPreviewCard:hover:not(.disabled){transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.linkPreviewCard.disabled{opacity:.78}.linkPreviewThumb,.linkPreviewIcon{border-right:var(--border-thin);background:color-mix(in srgb, var(--accent-soft) 44%, var(--panel));width:58px;height:100%;min-height:76px}.linkPreviewThumb{object-fit:cover}.linkPreviewIcon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.linkPreviewText{align-content:center;gap:2px;min-width:0;padding:8px 10px 8px 0;display:grid}.linkPreviewText em,.linkPreviewText strong,.linkPreviewText small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.linkPreviewText em{color:var(--accent);text-transform:uppercase;font-size:.7rem;font-style:normal;font-weight:900}.linkPreviewText small{color:var(--muted);font-size:.76rem}.linksMessageCard{border:var(--border-thin);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 74%, var(--bubble));gap:10px;width:min(380px,72vw);max-width:100%;padding:10px;display:grid;position:relative;overflow:hidden}.bubble.self .linksMessageCard{background:color-mix(in srgb, var(--panel) 68%, var(--bubble-self))}.linksMessageCard.disabled{opacity:.78}.linksMessageHeader{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.linksMessageIcon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--panel);background:var(--accent);justify-content:center;align-items:center;display:inline-flex}.linksMessageTitleBlock,.contactMessageText{gap:2px;min-width:0;display:grid}.linksMessageTitleBlock strong,.linksMessageTitleBlock small,.linksMessageLink span,.linksMessageLink small,.contactMessageText strong,.contactMessageText small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.linksMessageTitleBlock small,.linksMessageLink small,.contactMessageText small,.linksMessageEmpty{color:var(--muted);font-size:.76rem}.linksMessageList{gap:6px;display:grid}.linksMessageLink{border:var(--border-thin);border-radius:var(--radius-sm);min-width:0;color:inherit;background:color-mix(in srgb, var(--panel-strong) 76%, transparent);gap:2px;padding:8px 10px;text-decoration:none;display:grid}.linksMessageLink:hover{transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.linksMessageLink span{color:var(--accent);font-weight:850}.linksMessageEmpty{margin:0}.linksMessageThumb{object-fit:cover;border:var(--border-thin);border-radius:var(--radius-sm);width:100%;max-height:160px}.contactMessageCard{border:var(--border-thin);border-radius:var(--radius-sm);width:min(320px,72vw);max-width:100%;min-height:64px;color:inherit;background:color-mix(in srgb, var(--panel) 74%, var(--bubble));text-align:left;cursor:pointer;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.bubble.self .contactMessageCard{background:color-mix(in srgb, var(--panel) 68%, var(--bubble-self))}.contactMessageCard:hover:not(.disabled){transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.contactMessageCard.disabled{opacity:.78;cursor:default}.contactMessageBadge{border-radius:var(--radius-xs);color:var(--accent);background:var(--accent-soft);align-self:start;padding:3px 7px;font-size:.7rem;font-weight:850}.meetingMessageCard{border:var(--border-thin);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 76%, var(--bubble));width:min(320px,72vw);max-width:100%;color:inherit;gap:10px;padding:12px;display:grid;overflow:hidden}.bubble.self .meetingMessageCard{background:color-mix(in srgb, var(--panel) 70%, var(--bubble-self))}.meetingMessageCard.ended{opacity:.86}.meetingMessageHeader{grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:9px;min-width:0;display:grid}.meetingMessageIcon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--panel);background:#16a34a;justify-content:center;align-items:center;display:inline-flex}.meetingMessageCard.ended .meetingMessageIcon{background:#64748b}.meetingMessageTitleBlock{gap:2px;min-width:0;display:grid}.meetingMessageTitleBlock strong,.meetingMessageTitleBlock small,.meetingMessageMeta span,.meetingMessageFooter span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.meetingMessageTitleBlock strong{font-size:.96rem;font-weight:900}.meetingMessageTitleBlock small,.meetingMessageMeta,.meetingMessageFooter span{color:var(--muted);font-size:.76rem}.meetingStatusBadge{border-radius:var(--radius-xs);color:#15803d;background:color-mix(in srgb, #dcfce7 82%, var(--panel));white-space:nowrap;padding:3px 7px;font-size:.7rem;font-weight:900}.meetingMessageCard.ended .meetingStatusBadge{color:#475569;background:color-mix(in srgb, #e2e8f0 82%, var(--panel))}.meetingMessageMeta{gap:4px;min-width:0;display:grid}.meetingMessageFooter{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding-top:2px;display:grid}.meetingMessageFooter button{border:var(--border-thin);border-radius:var(--radius-sm);color:#15803d;background:color-mix(in srgb, #f0fdf4 76%, var(--panel));cursor:default;height:32px;padding:0 12px;font-weight:900}.meetingMessageCard.ended .meetingMessageFooter button{color:#64748b;background:color-mix(in srgb, #f1f5f9 82%, var(--panel))}.imageViewerBackdrop{z-index:40;place-items:center;padding:clamp(14px,3vw,28px);display:grid;position:fixed;inset:0}.imageViewerScrim{background:var(--scrim-background);cursor:zoom-out;border:0;position:absolute;inset:0}.imageViewer{z-index:1;border:var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);width:min(1080px,96vw);height:min(760px,92vh);box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}.imageViewer header{border-bottom:var(--border-strong);background:var(--panel-strong);grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:12px;min-height:58px;padding:8px 10px 8px 14px;display:grid}.imageViewer header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.imageViewer header span{font-weight:900}.imageViewerStage{background:var(--viewer-stage-background);place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:16px;display:grid;position:relative;overflow:hidden}.imageViewerStage img{object-fit:contain;border:var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);width:auto;max-width:calc(100% - 2px);height:auto;max-height:calc(100% - 2px);box-shadow:var(--shadow-small);min-width:0;min-height:0;display:block}.imageViewerNav{z-index:2;border:var(--border-strong);border-radius:var(--radius-sm);background:var(--accent);width:48px;height:58px;color:var(--panel);box-shadow:var(--shadow-small);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.imageViewerNav.prev{left:14px}.imageViewerNav.next{right:14px}.composer{border-top:var(--border-strong);background:var(--panel);grid-template-columns:48px minmax(0,1fr) 48px;align-items:end;gap:10px;padding:12px clamp(16px,4vw,46px) 16px;display:grid;position:relative}.composerNotice{border:var(--border-thin);border-radius:calc(var(--radius-sm) + 2px);background:var(--panel-strong);max-width:min(640px,100%);min-height:42px;color:var(--ink);text-align:left;grid-column:1/-1;justify-self:stretch;align-items:center;gap:9px;margin:0 auto;padding:8px 11px;font-size:12px;line-height:1.35;display:flex}.composerNotice.group-mute{border-color:color-mix(in srgb, #d68b20 42%, var(--line));background:color-mix(in srgb, #f2a93b 13%, var(--panel))}.composerNoticeIcon{width:28px;height:28px;color:var(--muted);background:color-mix(in srgb, var(--muted) 10%, var(--panel));border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.composerNotice.group-mute .composerNoticeIcon{color:#a86608;background:color-mix(in srgb, #f2a93b 20%, var(--panel))}.composerNoticeCopy{gap:1px;min-width:0;display:grid}.composerNoticeCopy strong,.composerNoticeCopy small{display:block}.composerNoticeCopy strong{font-size:.75rem}.composerNoticeCopy small{color:var(--muted);font-size:.72rem}.fileInput{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.composerInput{--composer-line-height:20px;width:100%;min-width:0;min-height:44px;max-height:calc(var(--composer-line-height) * 5 + 20px);border:var(--border-thin);border-radius:var(--radius-sm);color:var(--ink);background:var(--panel);box-shadow:var(--shadow-small);line-height:var(--composer-line-height);resize:none;outline:none;padding:11px 13px;overflow:hidden}.composerInput:disabled{cursor:not-allowed;opacity:.62}.mentionSuggestionList{z-index:9;border:var(--border-strong);border-radius:var(--radius-md);background:var(--panel);max-height:min(300px,42dvh);box-shadow:var(--shadow);display:grid;position:absolute;bottom:calc(100% - 6px);left:calc(clamp(16px,4vw,46px) + 58px);right:calc(clamp(16px,4vw,46px) + 58px);overflow-y:auto}.mentionSuggestionHeader,.mentionSuggestionHint,.mentionSuggestionEmpty{color:var(--muted);align-items:center;gap:7px;padding:8px 11px;font-size:.74rem;font-weight:800;display:flex}.mentionSuggestionHeader{border-bottom:var(--border-thin);color:var(--accent-strong)}.mentionSuggestionHint{border-top:var(--border-thin);font-size:.68rem;font-weight:700}.mentionSuggestionEmpty{justify-content:center;min-height:48px}.mentionSuggestion{width:100%;min-height:46px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:7px 11px;display:grid}.mentionSuggestion:hover,.mentionSuggestion.active{background:var(--accent-soft)}.mentionSuggestion>span:last-child{gap:1px;min-width:0;display:grid}.mentionSuggestion strong,.mentionSuggestion small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mentionSuggestion small{color:var(--muted);font-size:.7rem}.mentionSuggestionAll{width:30px;height:30px;color:var(--panel);background:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.dropOverlay{z-index:8;border:var(--border-strong);background:color-mix(in srgb, var(--panel) 82%, transparent);color:var(--ink);pointer-events:none;place-items:center;gap:10px;display:grid;position:absolute;inset:76px 0}.dropOverlay span{border:var(--border-strong);border-radius:var(--radius-sm);background:var(--accent);width:58px;height:58px;color:var(--panel);box-shadow:var(--shadow);justify-content:center;align-items:center;display:inline-flex}.dropOverlay strong{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);max-width:min(360px,82vw);box-shadow:var(--shadow-small);text-align:center;overflow-wrap:anywhere;padding:8px 12px}input{border:var(--border-thin);border-radius:var(--radius-sm);width:100%;min-width:0;height:44px;color:var(--ink);background:var(--panel);box-shadow:var(--shadow-small);outline:none;padding:0 13px}input:focus{background:color-mix(in srgb, var(--accent-soft) 20%, var(--panel));box-shadow:var(--shadow-hover)}.statusBar{border-top:var(--border-strong);color:var(--ink);background:var(--panel-strong);grid-column:2/4;justify-content:space-between;gap:12px;padding:7px 14px;font-size:.78rem;font-weight:800;display:flex;overflow:hidden}.settingsMode .statusBar{grid-column:2}.statusBar span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.avatar{border:var(--border-thin);border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent), var(--accent-soft));width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow-small);flex:none;justify-content:center;align-items:center;font-size:.88rem;font-weight:800;display:inline-flex;overflow:hidden}.avatarButton{border-radius:var(--radius-sm);width:auto;min-width:0;height:auto;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.avatarButton:disabled{cursor:default;opacity:1}.avatarButton:not(:disabled):hover .avatar{transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.avatar.small{width:34px;height:34px;box-shadow:var(--avatar-small-shadow);font-size:.72rem}.avatar.large{width:84px;height:84px;font-size:1.35rem}.avatar img{object-fit:cover;width:100%;height:100%}.dialogBackdrop{z-index:80;background:color-mix(in srgb, var(--line) 48%, transparent);justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.dialog{border:var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);width:min(460px,100%);max-height:min(620px,100vh - 36px);box-shadow:var(--shadow);overflow:auto}.dialog header{border-bottom:var(--border-strong);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.dialog h2{font-size:1.05rem}.groupAnnouncementDialog{flex-direction:column;gap:18px;min-height:250px;padding:20px 24px 18px;display:flex}.groupAnnouncementContent{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);flex:1;margin:0;line-height:1.65}.groupAnnouncementConfirm{justify-content:center;width:100%}.searchLine{grid-template-columns:minmax(0,1fr) 44px;gap:10px;padding:16px;display:grid}.friendSearchLine{grid-template-columns:minmax(0,1fr) auto auto;padding-bottom:8px}.friendSearchClear.hidden{visibility:hidden}.searchFeedback{color:var(--muted);overflow-wrap:anywhere;margin:0;padding:0 16px 14px;font-size:.82rem;font-weight:800}.searchFeedback.error{color:var(--accent-strong)}.searchFeedback.success{color:var(--success)}.previewBlock{border-top:var(--border-strong);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.previewBlock p,.profilePreview p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0}.friendSearchResult{align-items:start}.userMeta{min-width:0}.userMeta strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.resultTags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.resultTag{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--accent-soft);max-width:100%;color:var(--ink);overflow-wrap:anywhere;padding:4px 7px;font-size:.72rem;font-weight:900}.resultTag.muted{background:var(--panel-strong);color:var(--muted)}.profilePreview{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.userProfileDialog{align-items:stretch}.userProfileDialog>.avatar,.userProfileDialog>h3,.userProfileDialog>p,.userProfileDialog>small,.profileTags{align-self:center}.remarkEditor{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel-strong);text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin-top:8px;padding:12px;display:grid}.remarkEditor span{color:var(--muted);grid-column:1/-1;font-size:.78rem;font-weight:900}.profileAction{width:100%;margin-top:4px}.profilePreview h3{max-width:100%;margin:4px 0 0}.dialog:has(.groupManagementPanel){background:var(--panel-strong);width:min(860px,100%)}.dialog:has(.groupManagementPanel)>header{z-index:8;background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.groupManagementPanel{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 34%, transparent), transparent 220px), var(--panel-strong);gap:0;min-height:0;padding-bottom:12px;display:grid}.groupInfoHero{border:var(--border-thin);border-radius:calc(var(--radius-sm) + 4px);background:var(--panel);box-shadow:0 6px 20px color-mix(in srgb, var(--ink) 5%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:12px 12px 0;padding:16px;display:grid}.groupInfoTitle{min-width:0}.groupInfoTitle h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;overflow:hidden}.groupInfoTitle p,.groupManagementSummary span,.groupMemberMeta p,.groupConfirmBar p{color:var(--muted);margin:4px 0 0;font-size:.78rem}.groupNameEditor{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.groupNameEditor input,.groupMemberSearch input{border:var(--border-thin);border-radius:var(--radius-sm);width:100%;min-width:0;height:40px;color:var(--ink);background:var(--panel);outline:none;padding:0 11px}.groupManagementSummary{flex-wrap:wrap;gap:8px;padding:0;display:flex}.groupManagementSummary span{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel-strong);margin:0;padding:4px 8px}.groupManagementOverview{gap:10px;margin:10px 12px 0;display:grid}.groupMuteStatusGrid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.groupMuteStatus{border:var(--border-thin);border-radius:calc(var(--radius-sm) + 3px);background:var(--panel);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-height:112px;padding:13px;display:grid}.groupMuteStatus.group.active{border-color:color-mix(in srgb, #d68b20 42%, var(--line));background:color-mix(in srgb, #f2a93b 10%, var(--panel))}.groupMuteStatusIcon{width:36px;height:36px;color:var(--muted);background:var(--panel-strong);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.groupMuteStatus.group.active .groupMuteStatusIcon{color:#a86608;background:color-mix(in srgb, #f2a93b 18%, var(--panel))}.groupMuteStatus>span{min-width:0}.groupMuteStatus small,.groupMuteStatus strong,.groupMuteStatus p{display:block}.groupMuteStatus small{color:var(--muted);letter-spacing:.06em;margin-bottom:3px;font-size:.68rem;font-weight:900}.groupMuteStatus strong{color:var(--ink);font-size:.88rem}.groupMuteStatus p{color:var(--muted);margin:5px 0 0;font-size:.75rem;line-height:1.45}.groupManagementBlock{border:var(--border-thin);border-radius:calc(var(--radius-sm) + 3px);background:var(--panel);gap:10px;margin:10px 12px 0;padding:14px 16px;display:grid;overflow:hidden}.groupManagementBlock.flush{padding:0}.groupPermissionsBlock{gap:12px}.groupPermissionSaving{color:var(--accent)}.groupPermissionSections,.groupPermissionRows{display:grid}.groupPermissionSectionLabel{color:var(--muted);letter-spacing:.02em;margin:8px 0 0;font-size:.76rem;font-weight:800}.groupPermissionSectionLabel+.groupPermissionRow,.groupPermissionSectionLabel+.groupPermissionRows{margin-top:2px}.groupPermissionRow{border-bottom:var(--border-thin);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:64px;padding:12px 0;transition:background .16s,padding .16s;display:grid}.groupPermissionRow:hover{background:color-mix(in srgb, var(--accent-soft) 24%, transparent);padding-inline:8px}.groupPermissionRow.group-mute.active{border-radius:var(--radius-sm);background:color-mix(in srgb, #f2a93b 10%, var(--panel));margin-inline:-8px;padding-inline:8px}.groupPermissionRows .groupPermissionRow:last-child{border-bottom:0}.groupPermissionRow>span{gap:3px;min-width:0;display:grid}.groupPermissionRow strong{color:var(--ink);font-size:.86rem;line-height:1.25}.groupPermissionRow small{color:var(--muted);font-size:.75rem;line-height:1.35}.groupPermissionSwitch{border:var(--border-thin);background:var(--panel-strong);width:44px;height:24px;box-shadow:inset 0 1px 2px color-mix(in srgb, var(--ink) 8%, transparent);cursor:pointer;border-radius:999px;flex:none;padding:0;transition:background .16s,border-color .16s,opacity .16s;position:relative}.groupPermissionSwitch>span{background:var(--panel);width:18px;height:18px;box-shadow:0 1px 4px color-mix(in srgb, var(--ink) 22%, transparent);border-radius:50%;transition:transform .16s;position:absolute;top:2px;left:2px}.groupPermissionSwitch.checked{border-color:color-mix(in srgb, var(--accent) 86%, var(--line));background:var(--accent)}.groupPermissionSwitch.checked>span{transform:translate(20px)}.groupPermissionSwitch:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 24%, transparent);outline-offset:2px}.groupPermissionSwitch:disabled{cursor:wait;opacity:.55}.groupBlockHeader{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.groupBlockHeader.padded{padding:14px 16px 0}.groupBlockHeader h4{align-items:center;gap:7px;margin:0;font-size:.92rem;display:flex}.groupBlockHeader p,.groupReadonlyText,.groupInlineActions span,.groupCandidateRow small{color:var(--muted);margin:4px 0 0;font-size:.78rem}.groupAnnouncementInput{resize:vertical;border:var(--border-thin);border-radius:var(--radius-sm);width:100%;min-height:112px;max-height:220px;color:var(--ink);background:var(--panel);outline:none;padding:10px 11px;line-height:1.45}.groupReadonlyText{white-space:pre-wrap}.groupInviteLinkBox{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel-strong);text-overflow:ellipsis;white-space:nowrap;min-height:40px;color:var(--ink);padding:10px 11px;font-size:.84rem;overflow:hidden}.groupInlineActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.groupCandidateList{gap:6px;max-height:224px;display:grid;overflow:auto}.groupCandidateRow{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);width:100%;min-height:54px;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.groupCandidateRow.selected{border-color:color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.groupCandidateRow.disabled{cursor:not-allowed;opacity:.62}.groupCandidateRow span{min-width:0}.groupCandidateRow strong,.groupCandidateRow small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.groupCandidateRow em{color:var(--muted);white-space:nowrap;font-size:.74rem;font-style:normal;font-weight:900}.groupMemberSearch{grid-template-columns:minmax(0,1fr) 42px 42px;gap:8px;padding:14px 16px 10px;display:grid}.groupMemberSearch.embedded{padding:0}.groupMemberList{border-top:var(--border-thin);border-bottom:var(--border-thin);gap:0;max-height:min(420px,48vh);display:grid;overflow:auto}.groupMemberSection{z-index:1;border-bottom:var(--border-thin);background:color-mix(in srgb, var(--panel-strong) 88%, var(--panel));color:var(--muted);padding:8px 16px;font-size:.74rem;font-weight:900;position:sticky;top:0}.groupMemberRow{border-bottom:var(--border-thin);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:64px;padding:10px 16px;display:grid}.groupMemberRow:hover{background:color-mix(in srgb, var(--accent-soft) 22%, var(--panel))}.groupMemberRow:last-child{border-bottom:0}.groupMemberMeta{min-width:0}.groupMemberMeta strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.groupRoleBadge{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel-strong);min-width:0;color:var(--muted);text-align:center;white-space:nowrap;padding:4px 8px;font-size:.72rem;font-weight:900}.groupRoleBadge.owner{color:#9a620d;background:color-mix(in srgb, #f2a93b 14%, var(--panel))}.groupRoleBadge.admin{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.groupRoleBadge.assistant{color:#3b7d5d;background:color-mix(in srgb, #4ba477 12%, var(--panel))}.groupMemberBadges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.personalMuteBadge{border:1px solid color-mix(in srgb, var(--warn) 42%, var(--line));border-radius:var(--radius-sm);color:var(--accent-strong);background:color-mix(in srgb, var(--warn) 12%, var(--panel));white-space:nowrap;align-items:center;gap:4px;padding:4px 7px;font-size:.7rem;font-weight:900;display:inline-flex}.groupMemberActions{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.groupMemberActionMenu{justify-self:end;position:relative}.groupMemberActionMenu>summary{list-style:none;display:inline-flex}.groupMemberActionMenu>summary::-webkit-details-marker{display:none}.groupMemberActionMenu[open]>summary{color:var(--panel);background:var(--accent)}.groupMemberActionOptions{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);min-width:188px;box-shadow:var(--shadow-small);gap:3px;margin-top:6px;padding:5px;display:grid}.groupMemberActionOption{border-radius:calc(var(--radius-sm) - 2px);width:100%;min-height:34px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:6px 8px;display:grid}.groupMemberActionOption:hover{background:var(--panel-strong)}.groupMemberActionOption.personal-mute{color:#a86608}.groupMemberActionOption.positive{color:#2f8158}.groupMemberActionOption.danger{color:var(--accent-strong)}.groupMemberActionOption:disabled{cursor:wait;opacity:.55}.iconButton.danger{color:var(--accent-strong);background:color-mix(in srgb, var(--warn) 10%, var(--panel))}.groupLoadMore{justify-self:center;margin:12px 16px 16px}.groupPermissionEmpty{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel-strong);color:var(--muted);text-align:center;margin:16px;padding:18px;font-size:.86rem;font-weight:800}.groupPermissionEmpty.compact{margin:0;padding:12px}.groupConfirmOverlay{z-index:40;background:color-mix(in srgb, var(--ink) 34%, transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.groupConfirmDialog{border:var(--border-thin);border-radius:calc(var(--radius-sm) + 6px);background:var(--panel);width:min(420px,100%);box-shadow:var(--shadow);grid-template-columns:auto minmax(0,1fr);gap:12px;padding:18px;display:grid}.groupConfirmDialog.personal-mute{border-color:color-mix(in srgb, #d68b20 40%, var(--line))}.groupConfirmIcon{width:42px;height:42px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel));border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.groupConfirmDialog.personal-mute .groupConfirmIcon{color:#a86608;background:color-mix(in srgb, #f2a93b 18%, var(--panel))}.groupConfirmCopy strong{color:var(--ink);font-size:1rem;display:block}.groupConfirmCopy p{color:var(--muted);margin:6px 0 0;font-size:.8rem;line-height:1.5}.groupConfirmActions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.groupDangerZone{border:1px dashed color-mix(in srgb, var(--warn) 34%, var(--line));border-radius:calc(var(--radius-sm) + 3px);background:color-mix(in srgb, var(--warn) 5%, var(--panel));justify-content:center;margin:10px 12px 0;padding:14px 16px;display:flex}.dangerButton{color:var(--accent-strong);background:color-mix(in srgb, var(--warn) 10%, var(--panel))}.settingsPanel{flex-direction:column;gap:12px;display:flex}.toggleRow,.settingsMeta,.themeSetting{border:var(--border-thin);border-radius:var(--radius-sm);min-height:56px;box-shadow:var(--shadow-small);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.settingsMeta{color:var(--muted);grid-template-columns:28px minmax(0,1fr)}.themeSetting{grid-template-columns:minmax(0,1fr);align-items:stretch}.toggleRow span,.themeSetting>span{flex-direction:column;display:flex}.toggleRow input{width:44px;height:24px;accent-color:var(--accent)}.themeSegment{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.themeOption{border:var(--border-thin);border-radius:var(--radius-sm);min-width:0;min-height:36px;color:var(--ink);background:var(--panel);cursor:pointer;font-size:.78rem;font-weight:900}.themeOption.active{color:var(--panel);background:var(--accent);box-shadow:var(--shadow-small)}.themeOption:hover{background:var(--panel-strong)}.themeOption.active:hover{color:var(--panel);background:var(--accent)}.primaryButton{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--accent);min-height:44px;color:var(--panel);box-shadow:var(--shadow-small);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:900;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.primaryButton:hover{background:var(--accent-strong);transform:var(--hover-transform);box-shadow:var(--shadow-hover)}.primaryButton.compact{min-height:38px;padding:0 12px}.emptyState{min-height:180px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:960px){body{overflow:hidden}.shell{grid-template-rows:1fr 32px;grid-template-columns:58px minmax(320px,380px) minmax(0,1fr)}.shell.settingsMode{grid-template-columns:58px minmax(0,1fr)}.rail{padding-inline:7px}.railProfile{display:none}.railButton,.iconButton,.sendButton{width:42px;height:42px}.listPane{grid-column:2;width:100%;min-width:320px}.chatPane{z-index:auto;transition:none;position:relative;inset:auto;transform:none}.chatPane.mobileOpen{transform:none}.workspacePane{display:block}.workspacePane.mobileOpen{z-index:auto;display:block;position:relative;inset:auto;transform:none}.contactDetailBack{z-index:1;position:absolute;top:14px;left:14px}.mobileBack{border:var(--border-thin);border-radius:var(--radius-sm);background:var(--panel);width:42px;height:42px;box-shadow:var(--shadow-small);justify-content:center;align-items:center;display:inline-flex}.statusBar{grid-column:2/4}.settingsWorkspace{grid-column:2}}@media (max-width:620px){:root{--mobile-nav-height:60px}html,body,#root{height:100%}.shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh}.shell.settingsMode{grid-template-columns:minmax(0,1fr)}.rail{min-height:var(--mobile-nav-height);padding:7px max(10px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));border-top:var(--border-strong);border-right:0;flex-direction:row;grid-area:2/1;justify-content:space-around;gap:8px}.railSpacer{display:none}.railButton,.iconButton,.sendButton{width:42px;min-width:42px;height:42px}.railButton{flex:1 1 0;max-width:58px}.listPane{border-right:0;grid-area:1/1;min-width:0;min-height:0}.scrollList{height:calc(100dvh - 68px - var(--mobile-nav-height) - env(safe-area-inset-bottom));padding:6px 8px 10px}.contactTabs{padding:6px 8px}.contactTab{min-height:38px}.contactScrollList{height:calc(100dvh - 68px - var(--mobile-nav-height) - env(safe-area-inset-bottom) - 51px)}.statusBar{display:none}.chatPane{inset:0 0 calc(var(--mobile-nav-height) + env(safe-area-inset-bottom)) 0;z-index:5;grid-template-rows:64px auto minmax(0,1fr) auto;transition:transform .2s;position:fixed;transform:translate(100%)}.chatPane.mobileOpen{transform:translate(0)}.workspacePane{display:none}.workspacePane.mobileOpen{inset:0 0 calc(var(--mobile-nav-height) + env(safe-area-inset-bottom)) 0;z-index:5;padding:74px 14px 18px;display:grid;position:fixed}.settingsWorkspace{grid-area:1/1}.settingsWorkspaceHeader{min-height:64px;padding:0 14px}.settingsTabs{gap:16px;padding:0 14px}.settingsWorkspaceBody{width:calc(100% - 28px);margin:18px auto}.settingsProfileCard,.settingsContentCard,.contactProfileCard{padding:18px}.settingsProfileCard,.contactProfileHeader{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.contactProfileMeta div{grid-template-columns:minmax(0,1fr);gap:3px;padding:10px 0}.paneHeader,.chatHeader{min-height:68px;padding:10px 12px}.messageList{padding:10px 8px 8px}.scrollToBottomButton{width:40px;height:40px;bottom:14px;right:12px}.mentionUnreadJumpButton{min-width:40px;height:40px;bottom:62px;right:12px}.pinnedMessageBar{grid-template-columns:34px minmax(0,1fr);min-height:48px;padding:7px 10px}.pinnedMessageIcon{width:30px;height:30px}.chatHeader{gap:8px;min-height:64px}.chatHeader>.avatar{width:38px;height:38px}.chatTitle h2{font-size:1rem}.chatTitle p,.network{display:none}.bubble{max-width:calc(100% - 40px);padding:7px 10px 5px}.bubble.self{max-width:calc(100% - 22px)}.messageRow{gap:6px;width:100%;max-width:100%}.avatar.small{width:30px;height:30px}.messageState{height:12px}.imageMessage{width:min(280px,78vw);max-width:100%}.imagePreviewButton{height:210px;max-height:36vh}.imageMessage img{height:100%}.videoMessage,.linkPreviewCard,.linksMessageCard,.contactMessageCard,.meetingMessageCard{width:min(280px,78vw);max-width:100%}.videoMessage video{height:190px;max-height:34vh}.composer{grid-template-columns:42px minmax(0,1fr) 44px;gap:8px;padding:8px 8px 10px}.composerNotice{max-width:calc(100vw - 24px)}.dropOverlay{inset:64px 0 61px}input{height:42px;font-size:16px}.composerInput{min-height:42px;font-size:16px}.mentionSuggestionList{max-height:36dvh;bottom:calc(100% - 4px);left:58px;right:60px}.dialogBackdrop{align-items:flex-end;padding:8px}.dialog{width:100%;max-height:calc(100dvh - 16px)}.themeSegment{grid-template-columns:repeat(3,minmax(0,1fr))}.previewBlock{grid-template-columns:44px minmax(0,1fr)}.previewBlock .primaryButton{grid-column:1/-1}.remarkEditor{grid-template-columns:minmax(0,1fr)}.remarkEditor .primaryButton{width:100%}.friendSearchLine{grid-template-columns:minmax(0,1fr) 42px 42px;gap:8px;padding:12px 12px 6px}.dialog:has(.groupManagementPanel){width:100%;max-height:calc(100dvh - 16px)}.groupInfoHero,.groupMemberRow,.groupCandidateRow,.groupMuteStatusGrid{grid-template-columns:minmax(0,1fr)}.groupInfoHero{text-align:center;justify-items:center;margin-inline:8px}.groupManagementOverview,.groupManagementBlock,.groupDangerZone{margin-inline:8px}.groupMemberRow{justify-items:stretch}.groupMemberRow>.avatar,.groupMemberBadges,.groupMemberActionMenu{justify-self:center}.groupMemberActionMenu,.groupMemberActionOptions{width:100%}.groupMemberActionMenu>summary{margin:0 auto}.groupBlockHeader,.groupInlineActions{justify-content:stretch}.groupInlineActions .primaryButton,.groupInlineActions .iconButton{flex:auto}.groupCandidateRow{text-align:center;justify-items:center}.groupConfirmDialog{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.groupConfirmActions{width:100%}.groupConfirmActions>button{flex:1 1 0}.searchFeedback{padding:0 12px 12px}.imageViewerBackdrop{padding:8px}.imageViewer{width:100%;height:calc(100dvh - 16px)}.imageViewer header{grid-template-columns:minmax(0,1fr) auto 42px;gap:8px;min-height:52px;padding:6px 8px}.imageViewerStage{padding:8px}.imageViewerNav{width:42px;height:52px}.imageViewerNav.prev{left:8px}.imageViewerNav.next{right:8px}}@media (min-width:621px) and (max-width:960px){.shell,.shell.settingsMode{width:100vw;height:100dvh;display:block;overflow:hidden}.statusBar{display:none}.rail{z-index:60;border-right:var(--border-strong);background:var(--panel);width:58px;padding-inline:7px;display:flex;position:fixed;inset:0 auto 0 0}.railProfile{display:none}.railButton,.iconButton,.sendButton{width:42px;height:42px}.listPane,.settingsWorkspace{z-index:1;border-right:0;width:calc(100vw - 58px);min-width:0;max-width:calc(100vw - 58px);height:100dvh;min-height:0;position:fixed;inset:0 0 0 58px;overflow:hidden}.chatPane,.workspacePane.mobileOpen{z-index:40;background:var(--chat-background);width:calc(100vw - 58px);max-width:calc(100vw - 58px);height:100dvh;min-height:0;position:fixed;inset:0 0 0 58px}.chatPane{transition:transform .2s;transform:translate(100%)}.chatPane.mobileOpen{transform:translate(0)}.workspacePane{display:none}.workspacePane.mobileOpen{display:grid}.composer{padding-bottom:0}:is(.shell:has(.chatPane.mobileOpen) .listPane,.shell:has(.workspacePane.mobileOpen) .listPane){display:none}}@media (max-width:620px){:root{--mobile-bottom-offset:calc(64px + env(safe-area-inset-bottom))}.shell,.shell.settingsMode{width:100vw;height:100dvh;display:block;overflow:hidden}.statusBar{display:none}.rail{z-index:30;width:100vw;min-height:var(--mobile-bottom-offset);padding:7px max(10px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));border-top:var(--border-strong);background:var(--panel);border-right:0;flex-direction:row;justify-content:space-around;gap:8px;display:flex;position:fixed;inset:auto 0 0}.railButton{flex:1 1 0;max-width:58px}.listPane,.settingsWorkspace{inset:0 0 var(--mobile-bottom-offset) 0;z-index:1;border-right:0;width:100vw;min-width:0;max-width:100vw;height:100dvh;min-height:0;position:fixed;overflow:hidden}.chatPane,.workspacePane.mobileOpen{z-index:60;background:var(--chat-background);width:100vw;max-width:100vw;height:100dvh;min-height:0;position:fixed;inset:0}.chatPane{transition:transform .2s;transform:translate(100%)}.chatPane.mobileOpen{transform:translate(0)}.workspacePane{display:none}.workspacePane.mobileOpen{display:grid}.composer{padding-bottom:0}:is(.shell:has(.chatPane.mobileOpen) .rail,.shell:has(.workspacePane.mobileOpen) .rail,.shell:has(.chatPane.mobileOpen) .listPane,.shell:has(.workspacePane.mobileOpen) .listPane){display:none}}:root{--app-rail-width:88px;--app-list-width:390px;--app-header-height:64px;--app-mobile-nav-height:60px;--tg-radius-xs:8px;--tg-radius-sm:12px;--tg-radius-md:18px;--tg-radius-lg:24px;--tg-radius-pill:999px;--tg-list-item-height:66px;--tg-message-container-width:760px;--tg-message-max-width:480px;--tg-media-width:360px;--tg-media-height:246px;--tg-composer-height:58px;--tg-glass:#ffffffd1;--tg-glass-strong:#fffffff0;--tg-shadow-pane:0 10px 28px #17212b1a;--tg-shadow-float:0 14px 38px #17212b2e;--tg-shadow-soft:0 1px 2px #17212b14;--tg-highlight:#2aabee29;--group-muted-ink:#536878;--group-warning-ink:#7b4f00;--group-warning-surface:#fff3d7;--group-success-ink:#176d43;--group-success-surface:#dff6e8;--group-danger-ink:#b42318;--group-danger-surface:#fee9e7;--group-state-surface:color-mix(in srgb, var(--accent-soft) 72%, var(--panel));--profile-section-surface:color-mix(in srgb, var(--panel) 78%, var(--accent-soft));--profile-sensitive-surface:color-mix(in srgb, var(--group-warning-surface) 64%, var(--panel));--profile-danger-surface:var(--group-danger-surface);--profile-danger-ink:var(--group-danger-ink);--radius-xs:var(--tg-radius-xs);--radius-sm:var(--tg-radius-sm);--radius-md:var(--tg-radius-md);--shadow:var(--tg-shadow-pane);--shadow-small:var(--tg-shadow-soft);--shadow-hover:0 10px 24px #2aabee33;--border-thin:1px solid color-mix(in srgb, var(--line) 78%, transparent);--border-strong:1px solid color-mix(in srgb, var(--line) 88%, transparent);--chat-background:linear-gradient(180deg, #ffffff73, #edf3f8a8), repeating-linear-gradient(135deg, transparent 0 22px, #2aabee0a 22px 23px), var(--bg);--body-background:linear-gradient(180deg, #f6fbff 0%, var(--bg) 100%);--body-background-size:28px 28px, 28px 28px, auto}:root[data-theme=neo-brutal]{--app-rail-width:92px;--tg-radius-xs:6px;--tg-radius-sm:7px;--tg-radius-md:10px;--tg-radius-lg:14px;--tg-glass:#26231deb;--tg-glass-strong:#26231dfa;--tg-shadow-pane:6px 6px 0 #000;--tg-shadow-float:8px 8px 0 #000;--tg-shadow-soft:3px 3px 0 #000;--tg-highlight:color-mix(in srgb, var(--accent-soft) 36%, transparent);--group-muted-ink:var(--ink);--group-warning-ink:#fff6dd;--group-warning-surface:#735000;--group-success-ink:#fff6dd;--group-success-surface:#127048;--group-danger-ink:#fff6dd;--group-danger-surface:#a92d24;--group-state-surface:color-mix(in srgb, var(--accent-soft) 28%, var(--panel));--border-thin:2px solid var(--line);--border-strong:3px solid var(--line)}:root[data-theme=lark]{--tg-radius-xs:8px;--tg-radius-sm:10px;--tg-radius-md:16px;--tg-radius-lg:22px;--tg-glass:#ffffffe0;--tg-glass-strong:#fffffff5;--tg-shadow-pane:0 8px 26px #1f232914;--tg-shadow-float:0 14px 34px #1f232924;--tg-highlight:#3370ff24;--group-muted-ink:#565c66;--group-warning-ink:#8a5600;--group-warning-surface:#fff1d5;--group-success-ink:#167146;--group-success-surface:#e1f5e8;--group-danger-ink:#ba251a;--group-danger-surface:#feebea}:root[data-theme=dingtalk]{--tg-radius-xs:7px;--tg-radius-sm:9px;--tg-radius-md:14px;--tg-radius-lg:20px;--tg-glass:#ffffffe0;--tg-glass-strong:#fffffff5;--tg-shadow-pane:0 10px 28px #1677ff1a;--tg-shadow-float:0 16px 38px #1677ff2e;--tg-highlight:#1677ff26;--group-muted-ink:#596273;--group-warning-ink:#875400;--group-warning-surface:#fff2d9;--group-success-ink:#197044;--group-success-surface:#e0f5e8;--group-danger-ink:#b42318;--group-danger-surface:#fee9e7}:root[data-theme=wechat]{--tg-radius-xs:8px;--tg-radius-sm:10px;--tg-radius-md:14px;--tg-radius-lg:18px;--tg-glass:#f7f7f7e6;--tg-glass-strong:#f7f7f7fa;--tg-shadow-pane:0 8px 22px #00000014;--tg-shadow-float:0 14px 32px #00000024;--tg-highlight:#07c16021;--group-muted-ink:#5f5f5f;--group-warning-ink:#825100;--group-warning-surface:#fff2d7;--group-success-ink:#13723d;--group-success-surface:#ddf5e5;--group-danger-ink:#b3261e;--group-danger-surface:#ffe9e7}.shell{grid-template-columns:var(--app-rail-width) minmax(310px, var(--app-list-width)) minmax(0, 1fr);background:var(--body-background);background-size:var(--body-background-size);grid-template-rows:minmax(0,1fr);height:100dvh}.shell.settingsMode{grid-template-columns:var(--app-rail-width) minmax(0, 1fr)}.rail{border-right:var(--border-strong);background:color-mix(in srgb, var(--panel) 92%, var(--panel-strong));grid-row:1;gap:6px;padding:10px 8px}.railProfile{gap:5px;padding:6px 0 10px}.railProfile .avatar{border-radius:var(--tg-radius-pill);width:42px;height:42px}.railConnection{min-height:19px;box-shadow:none;padding-inline:7px}.railButton,.iconButton,.sendButton{border-radius:var(--tg-radius-pill);width:42px;height:42px;box-shadow:none}.railButton.active{color:var(--accent);background:var(--accent-soft)}.railButton.active:hover{color:var(--panel)}.listPane{border-right:var(--border-strong);background:var(--panel);grid-row:1;grid-template-rows:auto minmax(0,1fr);display:grid}.paneHeader,.chatHeader{min-height:var(--app-header-height);border-bottom:var(--border-thin);padding:10px 14px}.paneHeader h1{font-size:1.24rem;font-weight:850}.tenantCode{letter-spacing:.06em;font-size:.72rem}.listContent,.contactPane{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.contactPane{grid-template-rows:auto auto minmax(0,1fr)}.listSearch{border:var(--border-thin);border-radius:var(--tg-radius-pill);min-height:40px;color:var(--muted);background:var(--panel-strong);grid-template-columns:22px minmax(0,1fr) 28px;align-items:center;gap:6px;margin:8px 10px;padding:0 8px 0 12px;display:grid}.listSearch:focus-within{border-color:color-mix(in srgb, var(--accent) 46%, var(--line));background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.listSearch input{height:36px;box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;padding:0}.listSearch input:focus{box-shadow:none;background:0 0}.listSearchClear{border-radius:var(--tg-radius-pill);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.listSearchClear:hover{color:var(--ink);background:color-mix(in srgb, var(--line) 46%, transparent)}.listSearchClear.hidden{visibility:hidden}.scrollList{height:auto;min-height:0;padding:4px 8px 10px}.contactScrollList{height:auto}.listItem{min-height:var(--tg-list-item-height);border-radius:var(--tg-radius-md);grid-template-columns:46px minmax(0,1fr) auto;gap:10px;padding:7px 8px;display:grid}.listItem.hasGroupPreviewSender{min-height:86px}.conversationPreviewSender{min-width:0;color:var(--muted);align-items:center;gap:5px;display:inline-flex}.conversationPreviewSender .avatar.small{width:16px;min-width:16px;height:16px;box-shadow:none;font-size:.5rem}.conversationPreviewSender small{min-width:0}.listItem:hover,.listItem.active,.friendRow:hover{background:color-mix(in srgb, var(--panel-strong) 86%, var(--accent-soft));box-shadow:none;border-color:#0000}.listItem.active,.friendRow.active{background:var(--accent);color:var(--panel);box-shadow:none}.listItem.active .listText small,.listItem.active .listMeta small,.friendRow.active .listText small{color:color-mix(in srgb, var(--panel) 76%, transparent)}.listMeta{align-content:center;justify-items:end;gap:6px;min-width:34px;display:grid}.listMeta small{color:var(--muted);white-space:nowrap;font-size:.7rem;font-weight:750}.badge{background:var(--accent);min-width:22px;height:22px;color:var(--panel);border:0;font-size:.72rem}.listItem.active .badge{background:var(--panel);color:var(--accent)}.friendRow{min-height:var(--tg-list-item-height);border-radius:var(--tg-radius-md);padding:5px 8px}.friendRow.active .iconButton{color:var(--accent);background:var(--panel)}.contactTabs{background:var(--panel);border-bottom:0;padding:4px 10px 8px}.contactTab{border-radius:var(--tg-radius-pill);min-height:34px;box-shadow:none;background:var(--panel-strong);border:0}.contactTab.active{color:var(--panel);background:var(--accent)}.groupSection h2{margin:9px 12px 4px;font-size:.74rem}.chatPane,.workspacePane{background:var(--chat-background);grid-row:1}.chatHeader{z-index:3;width:calc(100% - 24px);max-width:calc(var(--tg-message-container-width) + 84px);border:var(--border-thin);border-radius:var(--tg-radius-pill);background:var(--tg-glass-strong);min-height:54px;box-shadow:var(--tg-shadow-pane);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);margin:10px auto 0;position:relative}.chatTitle h2{font-size:1rem;font-weight:850}.chatTitle p{font-size:.75rem}.pinnedMessageSlot{width:min(calc(100% - 28px), calc(var(--tg-message-container-width) + 84px));background:0 0;margin:8px auto 0}.pinnedMessageBar{border:var(--border-thin);border-radius:var(--tg-radius-lg);background:var(--tg-glass);min-height:44px;box-shadow:var(--tg-shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:6px 12px}.pinnedMessageIcon{border-radius:var(--tg-radius-pill);box-shadow:none}.workspaceEmptyPane,.contactDetailPane{padding:24px}.workspaceEmptyContent{border-radius:var(--tg-radius-lg);background:color-mix(in srgb, var(--panel) 68%, transparent);box-shadow:var(--tg-shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:14px 20px}.contactProfileCard,.settingsProfileCard,.settingsContentCard{border-radius:var(--tg-radius-lg);box-shadow:var(--tg-shadow-pane);border:0}.statusBar{display:none}.messageList{padding:18px 14px calc(var(--tg-composer-height) + 20px);-webkit-mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 54px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 54px),#0000 100%)}.virtualMessageCanvas{max-width:var(--tg-message-container-width);margin:0 auto}.virtualMessageItem{padding-bottom:6px}.virtualMessageItem.messageGroupItem.groupStart,.virtualMessageItem.messageGroupItem.groupMiddle{padding-bottom:2px}.virtualMessageItem.withDateSeparator{padding-top:8px}.messageRow{width:min(var(--tg-message-container-width), 100%);gap:7px;max-width:100%}.messageRow>.avatarButton{flex:0 0 34px;width:34px;height:34px}.messageDateSeparator{pointer-events:none;justify-content:center;width:100%;margin:2px 0 10px;display:flex}.messageDateSeparator time{border-radius:var(--tg-radius-pill);color:color-mix(in srgb, var(--panel) 92%, white);background:color-mix(in srgb, var(--ink) 28%, transparent);box-shadow:var(--tg-shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5px 12px;font-size:.72rem;font-weight:800;line-height:1}.avatarSpacer{visibility:hidden;pointer-events:none;display:inline-flex}.bubble{max-width:min(var(--tg-message-max-width), 100%);border-radius:var(--tg-radius-md) var(--tg-radius-md) var(--tg-radius-md) 6px;background:var(--bubble);border:0;padding:8px 10px 5px;box-shadow:0 1px 1px #17212b0f}.bubble.self{border-radius:var(--tg-radius-md) var(--tg-radius-md) 6px var(--tg-radius-md);background:var(--bubble-self);border:0}.bubble.grouped:not(.self){border-bottom-left-radius:6px}.bubble.grouped:not(.groupStart):not(.self){border-top-left-radius:6px}.bubble.self.grouped{border-bottom-right-radius:6px}.bubble.self.grouped:not(.groupStart){border-top-right-radius:6px}.bubble p{line-height:1.45}.messageRow.focused .bubble,.messageRow.focused .mediaBubble{box-shadow:0 0 0 3px var(--tg-highlight)}.systemMessage{border-radius:var(--tg-radius-pill);background:color-mix(in srgb, var(--panel) 76%, transparent);max-width:min(420px,68%);color:color-mix(in srgb, var(--muted) 86%, var(--ink));text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-self:center;padding:4px 10px;font-size:.72rem;font-weight:750;line-height:1.35;box-shadow:0 1px 1px #17212b0d}.systemMessage span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.systemMessage.focused{box-shadow:0 0 0 3px var(--tg-highlight)}.senderName{margin-bottom:4px;font-size:.76rem;font-weight:850}.messageMeta{min-height:15px;margin-top:3px;font-size:.68rem;font-weight:750}.messageState svg{width:12px;height:12px}.messageState.pending{color:color-mix(in srgb, var(--muted) 86%, var(--ink))}.messageState.failed{color:#e5484d}.messageRetryButton{appearance:none;border-radius:var(--tg-radius-pill);cursor:pointer;background:0 0;border:0;padding:1px}.messageRetryButton:hover{color:#c92a2a;background:#e5484d1f}.messageRetryButton:focus-visible{outline-offset:2px;outline:2px solid #e5484da3}.mediaBubble,.mediaBubble.self{width:min(var(--tg-media-width), 74vw);max-width:100%;position:relative}.mediaBubble .messageMeta{border-radius:var(--tg-radius-pill);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000005c;min-height:18px;margin:0;padding:3px 7px;position:absolute;bottom:8px;right:8px}.mediaBubble.self .messageMeta{color:#fff}.imageMessage,.videoMessage{width:100%}.imagePreviewButton{height:var(--tg-media-height);border-radius:var(--tg-radius-md);background:color-mix(in srgb, var(--panel-strong) 82%, transparent)}.imageMessage img,.videoMessage video{border-radius:var(--tg-radius-md);box-shadow:var(--tg-shadow-soft);border:0}.videoMessage video{height:var(--tg-media-height)}.imageMessage figcaption,.videoMessage figcaption{padding-inline:2px}.replyQuote,.attachmentCard,.linksMessageCard,.contactMessageCard{border-radius:var(--tg-radius-sm);background:color-mix(in srgb, var(--panel-strong) 72%, transparent);box-shadow:none;border:0}.bubble.self .replyQuote,.bubble.self .linksMessageCard,.bubble.self .contactMessageCard{background:color-mix(in srgb, var(--panel) 52%, transparent)}.replyQuote{grid-template-columns:3px 30px minmax(0,1fr);min-height:44px;margin-bottom:7px}.replyQuoteBar{width:3px}.linksMessageIcon,.attachmentIcon{border-radius:var(--tg-radius-pill);border:0}.linksMessageLink{border-radius:var(--tg-radius-sm);border:0}.scrollToBottomButton{right:max(18px, calc((100% - var(--tg-message-container-width)) / 2 + 12px));bottom:calc(var(--tg-composer-height) + 20px);width:44px;height:44px;box-shadow:var(--tg-shadow-float);border:0}.historyLoader{border-radius:var(--tg-radius-pill);background:var(--tg-glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:0}.messageSkeleton{width:min(var(--tg-message-container-width), 100%);gap:8px;margin:0 auto;padding:12px 0 4px}.messageSkeletonRow{width:min(var(--tg-message-container-width), 100%);gap:7px;max-width:100%}.messageSkeletonRow.self{width:min(var(--tg-message-container-width), 100%)}.messageSkeletonAvatar{border-radius:var(--tg-radius-pill);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 26%, var(--panel)), color-mix(in srgb, var(--muted) 12%, var(--panel))), var(--panel);width:34px;height:34px;box-shadow:var(--tg-shadow-soft);border:0;flex-basis:34px;position:relative;overflow:hidden}.messageSkeletonBubble{border-radius:6px var(--tg-radius-md) var(--tg-radius-md) var(--tg-radius-md);background:color-mix(in srgb, var(--bubble) 86%, var(--panel-strong));border:0;width:min(360px,72%);min-height:46px;padding:10px 12px 18px;position:relative;box-shadow:0 1px 1px #17212b0d}.messageSkeletonRow.self .messageSkeletonBubble{border-radius:var(--tg-radius-md) 6px var(--tg-radius-md) var(--tg-radius-md);background:color-mix(in srgb, var(--bubble-self) 84%, var(--panel-strong))}.messageSkeletonRow.short .messageSkeletonBubble{width:min(214px,54%)}.messageSkeletonRow.medium .messageSkeletonBubble{width:min(318px,66%)}.messageSkeletonRow.long .messageSkeletonBubble{width:min(456px,76%)}.messageSkeletonRow.media .messageSkeletonBubble{width:min(var(--tg-media-width), 74vw);min-height:calc(var(--tg-media-height) + 28px);border-radius:var(--tg-radius-md);box-shadow:none;background:0 0;padding:6px}.messageSkeletonLine,.messageSkeletonMeta,.messageSkeletonMedia{background:color-mix(in srgb, var(--muted) 14%, var(--panel));position:relative;overflow:hidden}.messageSkeletonLine{border-radius:var(--tg-radius-pill);width:78%;height:10px}.messageSkeletonLine.compact{width:52%}.messageSkeletonMeta{border-radius:var(--tg-radius-pill);width:42px;height:7px;position:absolute;bottom:6px;right:10px}.messageSkeletonMedia{width:100%;height:var(--tg-media-height);border-radius:var(--tg-radius-md);display:block}.messageSkeletonBubble:after,.messageSkeletonAvatar:after,.messageSkeletonLine:after,.messageSkeletonMeta:after,.messageSkeletonMedia:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--panel-strong) 66%, transparent), transparent);animation:1.35s ease-in-out infinite messageSkeletonSweep;position:absolute;inset:0;transform:translate(-110%)}@media (prefers-reduced-motion:reduce){.messageSkeletonAvatar:after,.messageSkeletonLine:after,.messageSkeletonMeta:after,.messageSkeletonMedia:after{animation:none}}.composer{width:min(calc(100% - 28px), calc(var(--tg-message-container-width) + 84px));border-radius:var(--tg-radius-lg);background:var(--tg-glass-strong);box-shadow:var(--tg-shadow-pane);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:0;margin:8px auto 12px;padding:6px}.composerInput{border-radius:var(--tg-radius-md);min-height:44px;box-shadow:none;background:0 0;border:0;padding:11px 12px}.composerInput:focus{background:color-mix(in srgb, var(--accent-soft) 26%, transparent);box-shadow:none}.attachmentButton{color:var(--muted);background:0 0}.attachmentButton:hover{color:var(--accent);background:var(--accent-soft)}.sendButton{box-shadow:none}.dropOverlay{inset:calc(var(--app-header-height) + 18px) 12px calc(var(--tg-composer-height) + 20px);border-radius:var(--tg-radius-lg);background:color-mix(in srgb, var(--panel) 78%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:0}input{border-radius:var(--tg-radius-md);box-shadow:none}input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}.primaryButton,.secondaryButton{border-radius:var(--tg-radius-pill);box-shadow:none;border:0}.avatar,.avatar.small,.avatar.large,.avatar img,.avatarButton{border-radius:var(--tg-radius-pill)}.dialogBackdrop{background:color-mix(in srgb, var(--ink) 36%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog{border-radius:var(--tg-radius-lg);box-shadow:var(--tg-shadow-float);border:0}.dialog header{border-bottom:var(--border-thin);min-height:58px}.previewBlock,.profilePreview,.settingsPanel{padding:14px 16px}.resultTag,.themeOption,.toggleRow,.settingsMeta,.themeSetting{border-radius:var(--tg-radius-md);box-shadow:none;border:0}.themeSegment{border-radius:var(--tg-radius-lg);background:var(--panel-strong);padding:4px}.themeOption{min-height:34px}.settingsWorkspace{background:var(--panel-strong)}.settingsWorkspaceHeader{min-height:var(--app-header-height);border-bottom:var(--border-thin)}.settingsWorkspaceHeader p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:850}.settingsTabs{border-bottom:var(--border-thin);gap:18px;min-height:50px}.settingsWorkspaceBody{width:min(820px,100% - 40px);margin:28px auto}.settingsProfileCard,.settingsContentCard{padding:20px}.contactProfileCard{width:min(420px,100%);padding:22px}.imageViewerBackdrop{background:0 0}.imageViewer{border-radius:var(--tg-radius-lg);box-shadow:var(--tg-shadow-float);border:0}.imageViewer header{border-bottom:var(--border-thin);min-height:52px}.imageViewerStage img{border-radius:var(--tg-radius-md);border:0}.imageViewerNav{border-radius:var(--tg-radius-pill);box-shadow:var(--tg-shadow-float);border:0}:root[data-theme=neo-brutal] .railButton.active,:root[data-theme=neo-brutal] .listItem.active,:root[data-theme=neo-brutal] .friendRow.active,:root[data-theme=neo-brutal] .contactTab.active,:root[data-theme=neo-brutal] .primaryButton,:root[data-theme=neo-brutal] .sendButton{color:var(--ink)}:root[data-theme=wechat] .bubble.self{color:#111}.dialogBackdrop{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:color-mix(in srgb, var(--ink) 38%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialogBackdrop[data-dialog-layer=announcement]{background:color-mix(in srgb, var(--ink) 44%, transparent)}.modalUnderlayInactive .dialogBackdrop{pointer-events:none}.dialog{grid-template-rows:auto minmax(0,1fr);max-height:min(760px,100dvh - 32px);display:grid;overflow:hidden}.dialog>header{z-index:1;position:relative}.dialog>:not(header){min-height:0;overflow:auto}.dialog:focus-visible,.dialog :focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent);outline-offset:2px}.profilePreview>details{border-top:var(--border-thin);width:100%;color:var(--group-muted-ink);text-align:left;gap:8px;margin-top:8px;padding-top:12px;display:grid}.profilePreview>details summary{cursor:pointer;color:var(--ink);font-size:.82rem;font-weight:850}.profilePreview>details p{color:var(--group-muted-ink);margin:0;font-size:.76rem}.profilePreview>details code{overflow-wrap:anywhere;color:var(--ink);font-size:.76rem;line-height:1.45}.profilePreview>details .softButton{justify-self:start;min-height:44px}:is(.dialog:has(.directConversationInfo),.dialog:has(.userProfileDialog)){width:min(560px,100vw - 32px)}.userProfileDialog,.directConversationInfo{color:var(--ink);text-align:left;align-items:stretch;gap:12px;padding:16px;display:grid}.profileHero,.directConversationHero{border-bottom:var(--border-thin);grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:13px;padding:4px 2px 12px;display:grid}.profileHero .avatar,.directConversationHero .avatar{grid-row:1/span 2}.profileHeroCopy,.directConversationHero>div{min-width:0}.profileHero h3,.directConversationHero h3{overflow-wrap:anywhere;margin:0;font-size:1.12rem}.profileHero p,.directConversationHero p{color:var(--group-muted-ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:.82rem}.profileNickname{color:var(--muted)!important}.profileTags{justify-content:flex-start}.profileBlockedTag{color:var(--profile-danger-ink);background:var(--profile-danger-surface)}.profileDataSection,.directInfoSection{border:var(--border-thin);border-radius:var(--tg-radius-md);background:var(--profile-section-surface);gap:4px;padding:12px;display:grid}.profileDataSection h4,.directInfoSection h4{min-height:28px;color:var(--ink);align-items:center;gap:7px;margin:0 0 4px;font-size:.85rem;font-weight:850;display:inline-flex}.profileSensitiveSection,.directSensitiveSection{background:var(--profile-sensitive-surface)}.profileInfoRow{border-top:var(--border-thin);grid-template-columns:minmax(92px,.72fr) minmax(0,1.28fr) auto;align-items:center;gap:10px;min-height:44px;padding:7px 0;display:grid}.profileDataSection h4+.profileInfoRow,.directInfoSection h4+.profileInfoRow{border-top:0}.profileInfoRow>span{min-width:0;color:var(--group-muted-ink);align-items:center;gap:6px;font-size:.8rem;font-weight:750;display:inline-flex}.profileInfoRow>strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;text-align:right;font-size:.84rem;font-weight:750;line-height:1.45}.profileInfoRow.multiline{align-items:start}.profileInfoRow.multiline>strong{text-align:left}.profileCopyButton{border-radius:var(--tg-radius-pill);width:44px;height:44px}.profileRelationshipSection,.profileTenantMemoSection{gap:8px}.profileRelationshipSection .remarkEditor,.profileTenantMemoSection .remarkEditor{margin-top:0}.profileGroupRow{border-top:var(--border-thin);grid-template-columns:minmax(0,1fr) minmax(126px,.82fr);align-items:center;gap:12px;min-height:44px;padding-top:8px;display:grid}.profileGroupRow>span{color:var(--group-muted-ink);align-items:center;gap:7px;font-size:.8rem;font-weight:750;display:inline-flex}.profileGroupRow strong{overflow-wrap:anywhere;text-align:right;min-width:0;font-size:.84rem}.profileGroupRow select{border:var(--border-thin);border-radius:var(--tg-radius-sm);width:100%;min-height:44px;color:var(--ink);background:var(--panel);padding:0 10px}.tenantMemoEditor textarea{resize:vertical;width:100%;min-height:82px}.profileActionSection{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.profileActionSection .profileAction{width:100%;margin:0}.profileBlockAction{min-height:44px;color:var(--profile-danger-ink);padding-inline:13px}.profileBlockAction.isBlocked{color:var(--group-success-ink)}.directProfileButton{white-space:nowrap;min-height:44px}.directSettingRow{border:0;border-top:var(--border-thin);width:100%;min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.directInfoSection h4+.directSettingRow{border-top:0}.directSettingRow:disabled{cursor:wait;opacity:.62}.directSettingRow>span:first-child{align-items:center;gap:10px;min-width:0;display:inline-flex}.directSettingRow>span:first-child>span{gap:2px;min-width:0;display:grid}.directSettingRow strong{font-size:.86rem}.directSettingRow small{color:var(--group-muted-ink);font-size:.75rem;line-height:1.35}.preferenceSwitch{border-radius:var(--tg-radius-pill);background:color-mix(in srgb, var(--group-muted-ink) 36%, var(--panel));flex:none;align-items:center;width:44px;height:26px;padding:3px;transition:background .12s;display:inline-flex;position:relative}.preferenceSwitch i{background:var(--panel);width:20px;height:20px;box-shadow:var(--tg-shadow-soft);border-radius:50%;transition:transform .12s;display:block}.preferenceSwitch.checked{background:var(--accent)}.preferenceSwitch.checked i{transform:translate(18px)}.directDangerSection{background:var(--profile-danger-surface)}.directDangerSection h4,.directDangerSection p{color:var(--profile-danger-ink)}.directDangerSection p{margin:0 0 4px;font-size:.78rem;line-height:1.45}.directClearButton{border:var(--border-thin);border-radius:var(--tg-radius-pill);justify-self:start;align-items:center;gap:7px;min-height:44px;padding:0 14px;display:inline-flex}.directTechnicalDetails{border-top:var(--border-thin);color:var(--group-muted-ink);gap:8px;padding-top:12px;display:grid}.directTechnicalDetails summary{cursor:pointer;color:var(--ink);font-size:.82rem;font-weight:850}.directTechnicalDetails p{color:var(--group-muted-ink);margin:0;font-size:.76rem}.directTechnicalDetails code{overflow-wrap:anywhere;color:var(--ink);font-size:.76rem;line-height:1.45}.directTechnicalDetails .softButton{justify-self:start;min-height:44px}.conversationMetaLine{color:var(--accent-strong);justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.listItem.active .conversationMetaLine{color:color-mix(in srgb, var(--panel) 82%, transparent)}.profileConfirmation{gap:14px;padding:20px;display:grid}.profileConfirmation>svg{color:var(--profile-danger-ink)}.profileConfirmation p{color:var(--ink);overflow-wrap:anywhere;margin:0;line-height:1.55}.profileConfirmation>div{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.profileConfirmation .dangerButton{border:var(--border-thin);border-radius:var(--tg-radius-pill);min-height:44px;color:var(--profile-danger-ink);background:var(--profile-danger-surface);justify-content:center;align-items:center;gap:7px;padding-inline:14px;display:inline-flex}@media (max-width:620px){:is(.dialog:has(.directConversationInfo),.dialog:has(.userProfileDialog)){width:100%}.userProfileDialog,.directConversationInfo{padding:14px 12px calc(14px + env(safe-area-inset-bottom));gap:10px}.profileHero,.directConversationHero{grid-template-columns:70px minmax(0,1fr)}.profileHero .avatar,.directConversationHero .avatar{grid-row:auto}.directProfileButton{grid-column:1/-1;width:100%}.profileInfoRow{grid-template-columns:minmax(80px,.7fr) minmax(0,1.3fr) 44px;gap:8px}.profileGroupRow{grid-template-columns:minmax(0,1fr);gap:7px}.profileGroupRow strong{text-align:left}.profileActionSection{grid-template-columns:minmax(0,1fr)}.profileBlockAction{width:100%}}.groupAnnouncementDialog>strong{color:var(--ink);font-size:.95rem}.groupAnnouncementDialog>small{color:var(--group-muted-ink);margin-top:-10px;font-size:.78rem}@media (max-width:620px){.dialogBackdrop{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));align-items:flex-end}.dialog{max-height:calc(100dvh - 16px)}}.dialog:has(.groupManagementPanel){width:min(980px,100vw - 32px);max-height:min(780px,100dvh - 32px)}.dialog:has(.groupManagementPanel)>header{background:var(--panel)}.dialog:has(.groupManagementPanel)>.groupManagementPanel{min-height:0;overflow:hidden}.groupManagementPanel{background:var(--panel-strong);min-height:0;padding:0}.groupManagementShell{grid-template-rows:minmax(0,1fr);grid-template-columns:168px minmax(0,1fr);height:min(690px,100dvh - 90px);min-height:0;display:grid}.groupManagementTabs{border-right:var(--border-thin);background:color-mix(in srgb, var(--panel) 82%, var(--panel-strong));align-content:start;gap:6px;min-width:0;padding:16px 12px;display:grid}.groupManagementTab{border-radius:var(--tg-radius-sm);width:100%;min-height:44px;color:var(--group-muted-ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:.86rem;font-weight:820;transition:background .16s,color .16s,transform .16s}.groupManagementTab:hover{color:var(--ink);background:color-mix(in srgb, var(--accent-soft) 62%, transparent)}.groupManagementTab:active{transform:translateY(1px)}.groupManagementTab.active{color:var(--panel);background:var(--accent)}.groupManagementTab:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent);outline-offset:2px}.groupManagementPage .primaryButton.compact,.groupManagementPage .groupMemberActionMenu>summary,.groupManagementPage .groupMemberActionOption,.groupConfirmDialog .primaryButton.compact{min-height:44px}.groupManagementSyncFeedback{z-index:3;border:var(--border-thin);border-radius:var(--tg-radius-md);max-width:min(420px,100% - 36px);color:var(--ink);background:color-mix(in srgb, var(--group-state-surface) 88%, var(--panel));box-shadow:var(--tg-shadow-float);margin:0;padding:8px 12px;font-size:.78rem;font-weight:760;position:absolute;bottom:14px;right:18px}.groupManagementShell{position:relative}.groupManagementPageViewport{overscroll-behavior:contain;min-width:0;min-height:0;padding:16px;overflow:auto}.groupManagementPage{gap:12px;min-width:0;padding-bottom:38px;display:grid}.groupManagementPage .groupInfoHero,.groupManagementPage .groupManagementOverview,.groupManagementPage .groupManagementBlock,.groupManagementPage .groupDangerZone{margin:0}.groupManagementPage .groupInfoHero,.groupManagementPage .groupManagementBlock{border-color:color-mix(in srgb, var(--line) 70%, transparent);box-shadow:none}.groupManagementPage .groupInfoHero{background:color-mix(in srgb, var(--accent-soft) 28%, var(--panel));grid-template-columns:auto minmax(0,1fr) auto;min-height:112px}.groupManagementPage .groupInfoTitle p,.groupManagementPage .groupManagementSummary span,.groupManagementPage .groupMemberMeta p,.groupManagementPage .groupBlockHeader p,.groupManagementPage .groupReadonlyText,.groupManagementPage .groupInlineActions span{color:var(--group-muted-ink)}.groupManagementPage .groupManagementSummary{gap:7px}.groupManagementPage .groupManagementSummary span{border-color:color-mix(in srgb, var(--line) 72%, transparent);background:var(--panel);overflow-wrap:anywhere}.groupManagementPage .groupMuteStatus{border-color:color-mix(in srgb, var(--line) 72%, transparent);min-height:0;box-shadow:none}.groupManagementPage .groupMuteStatus.group.active{border-color:color-mix(in srgb, var(--group-warning-ink) 52%, var(--line));background:var(--group-warning-surface)}.groupManagementPage .groupMuteStatus.group.active .groupMuteStatusIcon{color:var(--group-warning-ink);background:color-mix(in srgb, var(--group-warning-surface) 82%, var(--panel))}.groupManagementPage .groupMuteStatus.group.normal{border-color:color-mix(in srgb, var(--group-success-ink) 38%, var(--line));background:color-mix(in srgb, var(--group-success-surface) 58%, var(--panel))}.groupManagementPage .groupMuteStatus.group.normal .groupMuteStatusIcon{color:var(--group-success-ink);background:var(--group-success-surface)}.groupManagementPage .groupMuteStatus.group.unknown{background:var(--group-state-surface);border-style:dashed}.groupManagementPage .groupMuteStatus p,.groupManagementPage .groupMuteStatus small{color:var(--group-muted-ink)}.groupManagementPage .groupReadonlyText,.groupManagementPage .groupInviteLinkBox,.groupManagementPage .groupMemberMeta p,.groupManagementPage .groupCandidateRow small{overflow-wrap:anywhere;word-break:break-word}.groupManagementPage .groupRulesBlock{gap:0}.groupManagementPage .groupRulesBlock>.groupManagementBlock,.groupManagementPage .groupRulesBlock .groupPermissionsBlock{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.groupManagementPage .groupRulesBlock>.groupManagementBlock>header{display:none}.groupManagementPage .groupPermissionRow{min-height:72px}.groupManagementPage .groupPermissionRow:hover{background:color-mix(in srgb, var(--accent-soft) 28%, transparent);padding-inline:8px}.groupManagementPage .groupPermissionSwitch{border-radius:999px;width:52px;height:44px}.groupManagementPage .groupPermissionSwitch>span{width:24px;height:24px;top:10px;left:4px}.groupManagementPage .groupPermissionSwitch.checked>span{transform:translate(20px)}.groupVirtualList{overscroll-behavior:contain;scroll-behavior:auto;max-height:min(420px,48vh)}.groupManagementPage .groupCandidateList,.groupManagementPage .groupMemberList{border-color:color-mix(in srgb, var(--line) 72%, transparent)}.groupManagementPage .groupMemberSection{color:var(--group-muted-ink);background:color-mix(in srgb, var(--panel-strong) 86%, var(--panel))}.groupManagementPage .groupRoleBadge.owner{border-color:color-mix(in srgb, var(--group-warning-ink) 45%, var(--line));color:var(--group-warning-ink);background:var(--group-warning-surface)}.groupManagementPage .groupRoleBadge.assistant,.groupManagementPage .groupMemberActionOption.positive{color:var(--group-success-ink);background:color-mix(in srgb, var(--group-success-surface) 46%, transparent)}.groupManagementPage .personalMuteBadge,.groupManagementPage .groupMemberActionOption.personal-mute{border-color:color-mix(in srgb, var(--group-warning-ink) 42%, var(--line));color:var(--group-warning-ink);background:color-mix(in srgb, var(--group-warning-surface) 72%, var(--panel))}.groupManagementPage .groupMemberActionOption.danger,.groupManagementPage .dangerButton{color:var(--group-danger-ink);background:color-mix(in srgb, var(--group-danger-surface) 72%, var(--panel))}.groupManagementPage .groupDangerZone{border-color:color-mix(in srgb, var(--group-danger-ink) 36%, var(--line));background:color-mix(in srgb, var(--group-danger-surface) 42%, var(--panel));justify-content:space-between;align-items:center;gap:14px}.groupManagementPage .groupDangerZone>div{min-width:0}.groupManagementPage .groupDangerZone strong,.groupManagementPage .groupDangerZone p{display:block}.groupManagementPage .groupDangerZone p{color:var(--group-muted-ink);margin:4px 0 0;font-size:.78rem;line-height:1.4}.groupManagementPage .groupOverviewLeave{justify-content:flex-start}.groupManagementPage .groupMemberRow{min-width:0}.groupManagementPage .groupMemberActionMenu{z-index:2}.groupManagementPage .groupMemberActionOptions{border-color:color-mix(in srgb, var(--line) 74%, transparent);background:var(--panel)}.groupManagementPage .groupCandidateRow[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 66%, var(--line));background:color-mix(in srgb, var(--accent-soft) 66%, var(--panel))}.groupConfirmOverlay{z-index:120;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.groupConfirmDialog.danger{border-color:color-mix(in srgb, var(--group-danger-ink) 50%, var(--line))}.groupConfirmDialog.danger .groupConfirmIcon{color:var(--group-danger-ink);background:var(--group-danger-surface)}@media (max-width:960px){.dialog:has(.groupManagementPanel){width:min(760px,100vw - 20px)}.groupManagementShell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.groupManagementTabs{border-right:0;border-bottom:var(--border-thin);scrollbar-width:none;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.groupManagementTabs::-webkit-scrollbar{display:none}.groupManagementTab{text-align:center;flex:none;width:auto;min-width:76px}.groupManagementPage .groupMemberRow{grid-template-columns:auto minmax(0,1fr) auto auto}.groupManagementPage .groupMemberBadges{max-width:132px;display:flex;overflow:hidden}.groupManagementPage .groupMemberActionMenu{min-width:42px}.groupManagementPage .groupMemberActionMenu[open]{grid-column:1/-1;justify-self:stretch;width:100%}.groupManagementPage .groupMemberActionMenu[open]>summary{margin-left:auto}.groupManagementPage .groupMemberActionMenu[open] .groupMemberActionOptions{width:100%;min-width:0}}@media (max-width:620px){.dialog:has(.groupManagementPanel){width:100%;max-height:calc(100dvh - 16px)}.groupManagementShell{height:calc(100dvh - 84px)}.groupManagementPageViewport{padding:10px 8px 16px}.groupManagementPage{gap:10px}.groupManagementPage .groupInfoHero{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;justify-items:stretch;min-height:92px;margin:0;padding:12px}.groupManagementPage .groupInfoHero>.avatar{align-self:center}.groupManagementPage .groupInfoHero>.iconButton{align-self:start}.groupManagementPage .groupManagementSummary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.groupManagementPage .groupManagementSummary span:last-child{grid-column:1/-1}.groupManagementPage .groupMemberRow{text-align:left;grid-template-columns:34px minmax(0,1fr) 42px;grid-template-areas:"avatar meta action""avatar badges badges";align-items:center;gap:6px 9px;padding:9px 12px}.groupManagementPage .groupMemberRow>.avatar{grid-area:avatar;justify-self:start}.groupManagementPage .groupMemberMeta{grid-area:meta}.groupManagementPage .groupMemberBadges{grid-area:badges;justify-content:flex-start;display:flex}.groupManagementPage .groupMemberActionMenu{grid-area:action;justify-self:end;width:auto;display:block}.groupManagementPage .groupMemberActionMenu[open]{grid-area:auto;width:100%}.groupManagementPage .groupCandidateRow{text-align:left;grid-template-columns:34px minmax(0,1fr) auto;justify-items:stretch;min-height:58px}.groupManagementPage .groupCandidateRow>.avatar{justify-self:start}.groupManagementPage .groupCandidateRow em{align-self:center}.groupManagementPage .groupInlineActions .primaryButton,.groupManagementPage .groupInlineActions .iconButton{min-height:44px}.groupManagementPage .groupDangerZone{flex-direction:column;align-items:stretch}.groupManagementPage .groupDangerZone .primaryButton{width:100%;min-height:44px}.groupManagementSyncFeedback{max-width:calc(100% - 20px);bottom:10px;right:10px}}@media (max-width:860px){.shell,.shell.settingsMode{grid-template-columns:58px minmax(0,1fr)}.chatPane,.workspacePane.mobileOpen{inset:0 0 0 58px}.chatHeader{width:calc(100% - 18px);margin-top:8px}.composer{width:calc(100% - 18px)}}@media (max-width:620px){:root{--tg-message-max-width:86vw;--tg-media-width:78vw;--tg-media-height:210px}.shell,.shell.settingsMode{grid-template-rows:minmax(0,1fr) auto}.rail{min-height:var(--mobile-nav-height,var(--app-mobile-nav-height));padding-top:7px}.railButton{border-radius:var(--tg-radius-lg)}.paneHeader{min-height:62px}.scrollList{height:auto;min-height:0}.chatPane{inset:0 0 calc(var(--mobile-nav-height,var(--app-mobile-nav-height)) + env(safe-area-inset-bottom)) 0;grid-template-rows:auto auto minmax(0,1fr) auto}.workspacePane.mobileOpen{inset:0 0 calc(var(--mobile-nav-height,var(--app-mobile-nav-height)) + env(safe-area-inset-bottom)) 0}.chatHeader{width:calc(100% - 12px);min-height:54px;margin-top:6px;padding:6px 8px}.mobileBack{border-radius:var(--tg-radius-pill);width:38px;height:38px;box-shadow:none;border:0}.pinnedMessageSlot{width:calc(100% - 12px);margin-top:6px}.pinnedMessageBar{border-radius:var(--tg-radius-md);min-height:42px}.messageList{padding:10px 7px calc(var(--tg-composer-height) + 16px)}.messageRow{gap:5px}.messageRow>.avatarButton{flex-basis:30px;width:30px;height:30px}.bubble{max-width:calc(100vw - 58px)}.bubble.self{max-width:calc(100vw - 34px)}.systemMessage{max-width:min(340px,78%);font-size:.7rem}.messageSkeleton{gap:7px;width:100%;padding-inline:2px}.messageSkeletonAvatar{flex-basis:30px;width:30px;height:30px}.messageSkeletonBubble{max-width:calc(100vw - 58px)}.messageSkeletonRow.self .messageSkeletonBubble{max-width:calc(100vw - 34px)}.messageSkeletonRow.media .messageSkeletonBubble{width:min(var(--tg-media-width), 100%);min-height:calc(var(--tg-media-height) + 26px)}.mediaBubble,.mediaBubble.self{width:min(var(--tg-media-width), 100%)}.scrollToBottomButton{right:12px;bottom:calc(var(--tg-composer-height) + 14px)}.composer{grid-template-columns:40px minmax(0,1fr) 42px;width:calc(100% - 12px);margin:6px auto 8px;padding:5px}.composerInput{min-height:40px;padding:10px}.dialogBackdrop{align-items:flex-end;padding:8px}.dialog{border-radius:var(--tg-radius-lg) var(--tg-radius-lg) var(--tg-radius-sm) var(--tg-radius-sm)}.settingsWorkspaceBody{width:calc(100% - 24px);margin:14px auto}}.messageMenuLayer{z-index:1200;position:fixed;inset:0}.messageContextMenu{--menu-origin-x:left;--menu-origin-y:top;overscroll-behavior:contain;border:1px solid color-mix(in srgb, var(--line) 72%, transparent);min-width:216px;max-width:min(280px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);transform-origin:var(--menu-origin-x) var(--menu-origin-y);border-radius:12px;padding:6px 0;animation:.15s cubic-bezier(.2,0,.2,1) both messageMenuIn;position:fixed;overflow:hidden auto;box-shadow:0 10px 32px #17212b33,0 2px 8px #17212b1a}.messageContextMenu::-webkit-scrollbar{width:5px}.messageContextMenu::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 28%, transparent);border-radius:999px}.messageContextMenu.readersView{width:216px;min-width:216px;padding:0;overflow:hidden}.messageMenuPane{animation:.145s cubic-bezier(.2,0,.2,1) both messageMenuPaneIn}.messageMenuSection+.messageMenuSection{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);margin-top:5px;padding-top:5px}.messageMenuItem{width:calc(100% - 8px);min-height:38px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;margin:1px 4px;padding:7px 11px;transition:background .1s,transform 90ms;display:flex}.messageMenuItem>span{color:color-mix(in srgb, var(--ink) 76%, var(--muted));flex:0 0 20px;place-items:center;display:grid}.messageMenuItem strong{font-size:.875rem;font-weight:620;line-height:1.2}.messageMenuItem.staticStatus,.messageMenuItem.staticStatus:disabled{opacity:1;cursor:default}.messageMenuItem.staticStatus:hover{background:0 0}.messageMenuItemTrailing{color:color-mix(in srgb, var(--ink) 74%, var(--muted));flex:none;margin-left:auto}.messageReaderPane{background:color-mix(in srgb, var(--panel) 94%, transparent);min-height:190px}.messageReaderHeader{border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent);grid-template-columns:34px 1fr 34px;align-items:center;min-height:52px;padding:5px 8px;display:grid}.messageReaderHeader button{width:32px;height:32px;color:color-mix(in srgb, var(--ink) 78%, var(--muted));cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:background .1s,transform 90ms;display:grid}.messageReaderHeader button:hover,.messageReaderHeader button:focus-visible{background:color-mix(in srgb, var(--accent) 10%, var(--panel));outline:none}.messageReaderHeader button:active{transform:translate(-1px)scale(.96)}.messageReaderHeader>strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:680;overflow:hidden}.messageMenuReaderList{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 34%, transparent) transparent;max-height:min(286px,100dvh - 116px);padding:8px 7px 10px;overflow:hidden auto}.messageMenuReaderList::-webkit-scrollbar{width:5px}.messageMenuReaderList::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 34%, transparent);border-radius:999px}.messageMenuReader{border-radius:9px;align-items:center;gap:10px;min-height:46px;padding:5px 7px;display:flex}.messageMenuReader:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.messageMenuReader>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;font-weight:560;overflow:hidden}.messageMenuReaderState{min-height:128px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;font-size:.82rem;display:flex}.messageMenuItem:hover,.messageMenuItem:focus-visible{background:color-mix(in srgb, var(--accent) 10%, var(--panel));outline:none}.messageMenuItem:active{transform:scale(.98)}.messageMenuItem.disabled,.messageMenuItem:disabled{cursor:default;opacity:.72}.messageMenuItem.disabled:hover,.messageMenuItem:disabled:hover{background:0 0;transform:none}.messageMenuItem.danger,.messageMenuItem.danger>span{color:#df3c4b}.messageMenuSection:first-child .messageMenuItem:not(.danger){color:var(--accent-strong)}.messageActionToast{left:50%;bottom:max(82px, calc(env(safe-area-inset-bottom) + 74px));z-index:1500;border:1px solid color-mix(in srgb, var(--success) 34%, transparent);min-height:42px;color:color-mix(in srgb, var(--success) 64%, var(--ink));background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(16px)saturate(145%);backdrop-filter:blur(16px)saturate(145%);pointer-events:none;border-radius:999px;align-items:center;gap:9px;padding:9px 15px 9px 11px;animation:.18s cubic-bezier(.2,0,.2,1) both messageToastIn;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #17212b2e,0 2px 7px #17212b14}.messageActionToast strong{white-space:nowrap;font-size:.82rem;font-weight:750}.messageActionToast.danger{color:#c92f3f;border-color:#df3c4b5c}.messageRow{z-index:0;-webkit-touch-callout:none;position:relative}.messageRow.selecting{cursor:pointer}.messageRow.selected:before{z-index:-1;content:"";background:color-mix(in srgb, var(--accent) 12%, transparent);position:absolute;inset:-2px -100vw}.messageSelectCheck{border:2px solid color-mix(in srgb, var(--muted) 65%, transparent);color:#fff;background:var(--panel);border-radius:50%;place-items:center;width:21px;height:21px;display:grid;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.messageSelectCheck.selected{border-color:var(--accent);background:var(--accent)}.messageRow.selecting{padding-left:32px}.messageMultiSelectBar{z-index:8;min-height:64px;padding:9px 14px max(9px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:center;gap:10px;display:flex;position:relative;box-shadow:0 -8px 22px #17212b0f}.messageMultiSelectBar>span{flex:1}.messageMultiSelectBar strong{font-size:.9rem}.composerActionBanner{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel));border-radius:7px;grid-column:1/-1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.composerActionBanner>span:first-child{width:28px;height:28px;color:var(--accent-strong);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.composerActionBanner>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.composerActionBanner strong,.composerActionBanner small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composerActionBanner strong{color:var(--accent-strong);font-size:.8rem}.composerActionBanner small{color:var(--muted);font-size:.72rem}.composerActionBanner>button,.messageActionDialogHeader>button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.messageActionBackdrop{z-index:1300}.messageActionDialog{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);width:min(400px,100vw - 28px);max-height:min(680px,100dvh - 32px);color:var(--ink);background:var(--panel);border-radius:16px;animation:.18s cubic-bezier(.2,0,.2,1) both messageDialogIn;overflow:hidden;box-shadow:0 24px 70px #17212b3d}.messageActionDialog.wide{width:min(470px,100vw - 28px)}.messageActionDialogHeader{align-items:center;padding:16px 17px 10px;display:flex}.messageActionDialogHeader h3{flex:1;margin:0;font-size:1rem}.messageActionDialogBody{text-align:center;flex-direction:column;align-items:center;padding:12px 20px 18px;display:flex}.messageActionDialogHero{color:#df3c4b;background:color-mix(in srgb, #df3c4b 10%, var(--panel));border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.messageActionDialogBody p{margin:14px 0 10px;font-weight:650}.messageActionDialogBody small{color:var(--muted);margin-top:9px}.messageActionCheckbox{cursor:pointer;align-items:center;gap:8px;display:flex}.messageActionCheckbox input{opacity:0;position:absolute}.messageActionCheckbox>span{border:2px solid var(--line);color:#0000;border-radius:5px;place-items:center;width:19px;height:19px;display:grid}.messageActionCheckbox input:checked+span{border-color:var(--accent);color:#fff;background:var(--accent)}.messageActionDialogFooter{justify-content:flex-end;gap:9px;padding:10px 16px 16px;display:flex}.messageActionDialogFooter button,.messageMultiSelectBar button{justify-content:center;align-items:center;gap:7px;min-height:36px;display:inline-flex}.messageActionDialog .softButton,.messageMultiSelectBar .softButton{border:1px solid var(--line);color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:10px;padding:0 14px;font-weight:700}.messageActionDialog .dangerButton,.messageMultiSelectBar .dangerButton{border:1px solid color-mix(in srgb, #df3c4b 35%, var(--line));color:#fff;cursor:pointer;background:#df3c4b;border-radius:10px;padding:0 14px;font-weight:750}.messageActionDialog button:disabled,.messageMultiSelectBar button:disabled{cursor:not-allowed;opacity:.5}.messageForwardSearch{border:1px solid var(--line);color:var(--muted);background:var(--panel-strong);border-radius:10px;align-items:center;gap:8px;margin:2px 16px 10px;padding:0 12px;display:flex}.messageForwardSearch input{min-width:0;height:38px;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.messageForwardSearch span{font-size:.72rem}.messageForwardList{max-height:min(420px,52dvh);padding:0 8px;overflow:auto}.messageForwardTarget{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.messageForwardTarget:hover,.messageForwardTarget.selected{background:color-mix(in srgb, var(--accent) 9%, var(--panel))}.messageForwardTarget>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.messageForwardTarget strong,.messageForwardTarget small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messageForwardTarget small{color:var(--muted);font-size:.72rem}.messageForwardTarget i{border:2px solid var(--line);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-style:normal;display:grid}.messageForwardTarget.selected i{border-color:var(--accent);background:var(--accent)}.messageActionEmpty{min-height:120px;color:var(--muted);justify-content:center;align-items:center;gap:8px;display:flex}.messageTextContent .messageTranslation{border-top:1px solid color-mix(in srgb, var(--muted) 22%, transparent);color:color-mix(in srgb, var(--ink) 76%, var(--muted));margin-top:7px;padding-top:7px}.messageEditedLabel{opacity:.78}@keyframes messageMenuIn{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes messageDialogIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes messageMenuPaneIn{0%{opacity:0;transform:translate(7px)}to{opacity:1;transform:translate(0)}}@keyframes messageToastIn{0%{opacity:0;transform:translate(-50%,8px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (max-width:720px){.messageContextMenu{min-width:min(224px,100vw - 32px)}.messageMenuItem{min-height:42px}.messageActionBackdrop{align-items:flex-end;padding:0}.messageActionDialog,.messageActionDialog.wide{width:100%;max-height:min(82dvh,720px);padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0}.messageMultiSelectBar{min-height:70px}.messageActionToast{bottom:max(92px, calc(env(safe-area-inset-bottom) + 82px))}}@media (prefers-reduced-motion:reduce){.messageContextMenu,.messageActionDialog,.messageActionToast,.messageMenuPane{animation-duration:1ms}}:root{--rocket-ink:#17191e;--rocket-ink-soft:#23262d;--rocket-accent:#2aabee;--rocket-accent-strong:#0b6fa9;--rocket-cream:#f5fbff;--rocket-paper:#f3f8fc;--rocket-panel:#fff;--rocket-muted:#5b7181;--rocket-line:#d8e4ec;--rocket-danger:#b42318}.rocketgramMark{flex:none;display:block}.rocketgramMarkSurface{fill:var(--rocket-ink)}.rocketgramMarkTrail{fill:none;stroke:var(--rocket-cream);stroke-width:4px;stroke-linecap:round}.rocketgramMarkGlyph{fill:var(--rocket-accent)}.loginShell{width:100%;height:100dvh;min-height:0;color:var(--rocket-ink);background:var(--rocket-paper);grid-template-columns:minmax(0,1.22fr) minmax(420px,.78fr);grid-template-areas:"visual pane";display:grid;overflow:hidden}.loginVisual{min-height:0;color:var(--rocket-cream);background-color:var(--rocket-ink);isolation:isolate;background-image:linear-gradient(#fff8f009 1px,#0000 1px),linear-gradient(90deg,#fff8f009 1px,#0000 1px);background-size:48px 48px;border:0;grid-area:visual;display:block;position:relative;overflow:hidden}.loginVisual:before{z-index:-1;content:"";border:1px solid #fff8f01f;border-radius:50%;width:46rem;height:46rem;position:absolute;top:-19rem;right:-14rem;box-shadow:0 0 0 7rem #fff8f005,0 0 0 14rem #fff8f003}.loginVisual:after{z-index:-1;filter:blur(64px);content:"";background:#2aabee26;border-radius:50%;width:18rem;height:18rem;position:absolute;bottom:7%;right:8%}.loginBrandLockup{z-index:2;letter-spacing:-.035em;align-items:center;gap:13px;font-size:1.14rem;font-weight:700;display:inline-flex;position:absolute;top:clamp(30px,5vw,62px);left:clamp(34px,6vw,78px)}.loginBrandLockup .rocketgramMark{filter:drop-shadow(0 12px 24px #0000003d)}.loginHeroCopy{z-index:2;width:min(690px,100% - 96px);position:absolute;top:50%;left:clamp(34px,6vw,78px);transform:translateY(-48%)}.loginEyebrow{color:#fff8f09e;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 24px;font-size:.72rem;font-weight:650;display:flex}.loginEyebrow span{background:var(--rocket-accent);width:28px;height:2px}.loginHeroTitle{max-width:740px;color:var(--rocket-cream);letter-spacing:-.075em;text-wrap:balance;margin:0;font-size:clamp(4rem,6.8vw,7.3rem);font-weight:650;line-height:.88}.loginHeroTitle em{color:var(--rocket-accent);font-style:normal}.loginHeroDescription{color:#fff8f0a8;letter-spacing:.01em;margin:28px 0 0;font-size:clamp(.98rem,1.25vw,1.15rem);font-weight:500}.loginOrbit{z-index:1;aspect-ratio:1;border:1px solid #fff8f01a;border-radius:50%;width:clamp(270px,31vw,460px);position:absolute;top:15%;right:-8.5rem}.loginOrbit:before,.loginOrbit:after{content:"";border-radius:50%;position:absolute}.loginOrbit:before{border:1px dashed #2aabee5c;inset:15%}.loginOrbit:after{background:var(--rocket-accent);width:10px;height:10px;top:21%;left:5.6%;box-shadow:0 0 0 7px #2aabee24}.loginOrbitCore{background:#17191ee6;border:1px solid #fff8f01f;border-radius:24px;padding:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg);box-shadow:0 24px 56px #00000052}.loginTelemetry{z-index:2;border-top:1px solid #fff8f021;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,3vw,48px);padding-top:17px;display:grid;position:absolute;bottom:clamp(26px,4vw,50px);left:clamp(34px,6vw,78px);right:clamp(34px,5vw,70px)}.loginTelemetry div{gap:5px;display:grid}.loginTelemetry span{color:#fff8f06b;letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;font-weight:650}.loginTelemetry strong{color:#fff8f0e0;font-size:.84rem;font-weight:600}.loginPane{background:radial-gradient(circle at 100% 0, #2aabee14, transparent 31%), var(--rocket-paper);grid-area:pane;place-items:safe center center;min-width:0;min-height:0;display:grid;position:relative;overflow-y:auto}.loginPanel{justify-content:initial;width:min(100%,430px);min-height:0;color:var(--rocket-ink);background:0 0;gap:0;padding:clamp(32px,5vw,62px) clamp(30px,4vw,50px);display:grid}.loginMobileBrand{letter-spacing:-.035em;align-items:center;gap:11px;margin-bottom:44px;font-size:1.08rem;font-weight:700;display:none}.loginHeader{margin:0 0 34px;display:block}.loginKicker,.loginHeader .loginKicker{color:var(--rocket-accent-strong);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:700}.loginPanel h1{color:var(--rocket-ink);letter-spacing:-.055em;text-transform:none;text-wrap:balance;margin:0;font-size:clamp(2.15rem,4.1vw,3rem);font-weight:650;line-height:1}.loginIntro{max-width:32rem;color:var(--rocket-muted);text-wrap:pretty;margin:16px 0 0;font-size:.94rem;font-weight:500;line-height:1.65}.loginFields{gap:18px;display:grid}.loginPanel .loginField{color:var(--rocket-ink);gap:8px;font-size:.84rem;font-weight:650;display:grid}.loginFieldLabel{padding-left:2px}.loginInputFrame{border-radius:15px;transition:box-shadow .18s,transform .18s;display:block;position:relative}.loginInputIcon{z-index:1;color:#8296a5;pointer-events:none;transition:color .18s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.loginInputFrame input{border:1px solid var(--rocket-line);width:100%;height:54px;color:var(--rocket-ink);background:var(--rocket-panel);border-radius:15px;outline:none;padding:0 48px 0 47px;font-size:.96rem;font-weight:600;transition:border-color .18s,background .18s,box-shadow .18s;box-shadow:0 1px 1px #17191e06}.loginInputFrame input:hover:not(:disabled){border-color:#b8cad7}.loginInputFrame input:focus{border-color:var(--rocket-accent-strong);background:#fff;box-shadow:0 0 0 4px #2aabee21}.loginInputFrame input:focus-visible{box-shadow:0 0 0 2px var(--rocket-panel), 0 0 0 5px var(--rocket-accent-strong)}.loginInputFrame:focus-within .loginInputIcon{color:var(--rocket-accent-strong)}.loginInputFrame input:disabled{cursor:not-allowed;opacity:.68}.loginPasswordToggle{z-index:2;color:#768b9a;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;transition:color .18s,background .18s;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.loginPasswordToggle:hover:not(:disabled){color:var(--rocket-ink);background:#17191e0d}.loginPasswordToggle:focus-visible{outline:3px solid var(--rocket-accent-strong);outline-offset:-2px}.primaryButton.loginSubmit{width:100%;min-height:54px;color:var(--rocket-ink);background:var(--rocket-accent);cursor:pointer;border:0;border-radius:15px;justify-content:space-between;margin-top:24px;padding:0 19px 0 21px;font-size:.94rem;font-weight:750;transition:background .19s,box-shadow .19s,transform .19s;box-shadow:0 12px 28px #2aabee3b}.primaryButton.loginSubmit:hover:not(:disabled){color:var(--rocket-ink);background:#43b7f2;transform:translateY(-2px);box-shadow:0 15px 32px #2aabee47}.primaryButton.loginSubmit:active:not(:disabled){transform:translateY(0)scale(.99);box-shadow:0 8px 18px #2aabee36}.primaryButton.loginSubmit:focus-visible{outline:3px solid var(--rocket-accent-strong);outline-offset:3px}.loginPanel .formStatus{min-height:22px;color:var(--rocket-muted);align-items:center;gap:8px;margin:13px 2px 0;font-size:.79rem;font-weight:550;display:flex}.loginPanel .formStatus>span{background:#8a998c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #6078651a}.loginPanel .formStatus[data-tone=busy]>span{background:var(--rocket-accent);box-shadow:0 0 0 4px #2aabee21}.loginPanel .formStatus[data-tone=error]{color:var(--rocket-danger)}.loginPanel .formStatus[data-tone=error]>span{background:var(--rocket-danger);box-shadow:0 0 0 4px #b423181a}.loginPanelFooter{border-top:1px solid var(--rocket-line);color:var(--rocket-muted);margin-top:28px;padding-top:20px;font-size:.74rem;line-height:1.55}@media (max-width:1120px){.loginShell{grid-template-columns:minmax(0,1fr) minmax(400px,.9fr)}.loginHeroTitle{font-size:clamp(3.55rem,6.4vw,5.4rem)}.loginOrbit{right:-11rem}}@media (max-width:780px){.loginShell{grid-template-columns:minmax(0,1fr);grid-template-areas:"pane";height:100dvh;min-height:100dvh;overflow:hidden}.loginVisual{display:none}.loginPane{background:radial-gradient(circle at 106% -4%, #2aabee21, transparent 34%), var(--rocket-paper);place-items:center;min-height:100dvh}.loginPanel{width:min(100%,480px);padding:max(30px, env(safe-area-inset-top)) 34px max(28px, env(safe-area-inset-bottom))}.loginMobileBrand{display:flex}.loginHeader{margin-bottom:30px}.loginPanel h1{font-size:clamp(2.15rem,8.5vw,2.75rem)}}@media (max-width:420px){.loginPanel{padding-left:22px;padding-right:22px}.loginMobileBrand{margin-bottom:38px}.loginFields{gap:16px}.loginInputFrame input,.primaryButton.loginSubmit{min-height:52px}}@media (max-width:780px) and (max-height:700px){.loginPane{place-items:start center}.loginPanel{padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom))}.loginMobileBrand{margin-bottom:24px}.loginHeader{margin-bottom:22px}.loginPanelFooter{margin-top:18px;padding-top:16px}}@media (prefers-reduced-motion:no-preference){.loginOrbitCore{animation:7s ease-in-out infinite rocketgram-float}}@keyframes rocketgram-float{0%,to{transform:translate(-50%,-50%)rotate(-8deg)}50%{transform:translate(-50%,calc(-50% - 9px))rotate(-5deg)}}
