:root{--ref-accent:#07c160;--ref-bg:#ededed;--ref-panel:#fff;--ref-text:#181818;--ref-secondary:#8d8d8d;--ref-line:#e5e5e5;--ref-nav:58px;--primary:var(--ref-accent);--ink:var(--ref-text);color:var(--ref-text);background:var(--ref-bg);font:16px "Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Roboto,Arial,system-ui,sans-serif}*{scrollbar-width:thin}svg{width:24px;height:24px;flex-shrink:0}button{transition:background-color .12s}body{background:var(--ref-bg)}.app-shell{padding:0!important;max-width:1600px;height:var(--chat-viewport-height,100dvh)}.app-header,.workspace-note,.eyebrow,.extension-panel,.composer-tools,.keyboard-hint,#sidebarMenuButton,#membersButton,#pluginToggle{display:none!important}.workspace{grid-template-columns:350px minmax(0,1fr);border:0;border-radius:0;box-shadow:none;position:relative}.conversation-panel{position:relative;background:var(--ref-panel);padding-bottom:calc(var(--ref-nav) + env(safe-area-inset-bottom));border-right:1px solid var(--ref-line)}.panel-heading{height:58px;min-height:58px;padding:7px 12px 7px 18px;gap:8px;background:var(--ref-bg)}.panel-heading h1{font-size:21px;line-height:1.2;margin:0;letter-spacing:0}.panel-heading>div{flex:1}.ref-icon,#newConversationButton{display:inline-flex;align-items:center;justify-content:center;background:none;width:44px;height:44px;min-width:44px;padding:9px;color:var(--ref-text);border-radius:50%}.ref-icon span{display:none}.ref-icon:hover{background:#80808012}#newConversationButton{background:none;color:var(--ref-text)}.conversation-tools{padding:4px 12px 8px;background:var(--ref-bg)}.search-field{background:var(--ref-panel);border:0;border-radius:7px;color:var(--ref-secondary)}.search-field input{font-size:14px;padding:8px}.conversation-list{padding:0;display:flex;flex-direction:column}.conversation-list-row{flex-shrink:0;position:relative;contain-intrinsic-size:auto 76px}.conversation-item{border-radius:0;gap:12px;margin:0;padding:12px 15px;height:76px}.conversation-item:hover{background:#8888880a}.conversation-item.active{background:#ededed}.conversation-text{height:52px;display:flex;flex-direction:column;justify-content:center;position:relative;border-bottom:1px solid var(--ref-line);padding-bottom:3px}.conversation-line strong{font-size:16px;font-weight:500;color:var(--ref-text)}.conversation-time{font-size:11px;color:#aaa}.conversation-preview{font-size:13px;margin-top:6px;color:var(--ref-secondary)}.conversation-item .avatar{width:49px;height:49px;font-size:20px}.conversation-list-row[data-pinned=true]{background:#f5f5f5}.conversation-list-row[data-pinned=true] .conversation-time:before{content:'⌁ ';font-size:14px}.conversation-list-row[data-muted=true] .conversation-preview:after{content:'♧';color:#999;margin-left:5px}.conversation-list-row[data-manual-unread=true]:after{content:'';position:absolute;left:52px;top:9px;width:9px;height:9px;background:#f24c4c;border-radius:50%}.ref-tabs{position:absolute;bottom:0;left:0;right:0;height:calc(var(--ref-nav) + env(safe-area-inset-bottom));padding:2px 6px env(safe-area-inset-bottom);background:#f7f7f7;border-top:1px solid #d9d9d9;display:flex;z-index:25}.ref-tab{background:none;color:var(--ref-text);flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;padding:3px}.ref-tab svg{width:27px;height:27px}.ref-tab[aria-current=true]{color:var(--ref-accent)}.ref-screen{position:absolute;inset:0 0 calc(var(--ref-nav) + env(safe-area-inset-bottom)) 0;background:var(--ref-bg);z-index:20;display:flex;flex-direction:column}.ref-page-head{height:58px;min-height:58px;display:flex;align-items:center;padding:0 16px;gap:8px;background:var(--ref-bg)}.ref-page-head h1{font-size:21px;font-weight:600;flex:1}.ref-page-body{min-height:0;overflow:auto;padding-bottom:20px;flex:1}.ref-page-body>.ref-row{margin-bottom:1px}.ref-page-body>.ref-row:nth-child(3n){margin-bottom:9px}.ref-row{display:flex;align-items:center;gap:14px;min-height:58px;width:100%;padding:12px 16px;text-align:left;background:var(--ref-panel);border-bottom:1px solid var(--ref-line);font-size:16px}.ref-row>svg{color:var(--ref-accent)}.ref-row-label{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.ref-row-label strong{font-size:16px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-row-label small{font-size:12px;color:var(--ref-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-row-after{color:#b2b2b2;font-size:20px}.ref-avatar{width:46px;height:46px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#6ea4c1;font-size:20px;flex-shrink:0}.ref-profile-card{padding:30px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:var(--ref-panel);margin-bottom:10px}.ref-profile-card .ref-avatar{width:64px;height:64px;font-size:28px}.ref-profile-card h2{font-size:23px}.ref-profile-card .ref-info{width:100%;margin:0;padding:0 0 0 78px}.ref-contact-letter{background:var(--ref-bg);font-size:13px;color:#999;padding:6px 16px}.ref-request{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ref-line)}.ref-request>div{flex:1;font-size:14px;line-height:1.6}.ref-info{font-size:13px;color:var(--ref-secondary);line-height:1.8;padding:14px 16px;overflow-wrap:anywhere}.ref-button,.ref-small{background:none;padding:10px 12px;border-radius:5px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ref-small{padding:6px 9px;font-size:13px;color:var(--ref-accent)}.ref-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ref-accent);color:#fff;border:0;border-radius:7px;padding:12px 22px;font-size:15px;min-height:44px}.ref-danger{background:#fa5151;color:white;border-radius:7px;padding:12px 22px}.ref-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 16px}.ref-form-error{color:#e54343;padding:8px;font-size:13px;white-space:pre-wrap}.ref-sheet{border:0;background:var(--ref-panel);color:var(--ref-text);padding:0;max-width:min(520px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 24px);border-radius:12px;box-shadow:0 12px 60px #0003;margin:auto;overflow:auto}.ref-sheet::backdrop{background:#0005}.ref-sheet-head{height:58px;position:sticky;top:0;background:var(--ref-panel);z-index:2;display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--ref-line)}.ref-sheet-head h2{font-size:17px;flex:1;font-weight:500}.ref-sheet-body{min-height:0;padding-bottom:12px}.ref-full{height:calc(100dvh - 32px)}.ref-form{padding:10px 20px 20px;display:flex;flex-direction:column;gap:18px}.ref-form label{font-size:14px;color:var(--ref-secondary);display:flex;flex-direction:column;gap:8px}.ref-form input,.ref-form textarea,.ref-search{font-size:16px;background:var(--ref-bg);color:var(--ref-text);padding:12px;border:0;border-radius:6px}.ref-form textarea{min-height:150px;resize:vertical}.ref-form .ref-primary{align-self:flex-end}.ref-search{margin:12px;width:calc(100% - 24px)}.ref-favorite{padding:18px;border-bottom:1px solid var(--ref-line);font-size:15px}.ref-favorite p{margin-top:9px;white-space:pre-wrap;line-height:1.65}.ref-person-name{color:#576b95}.ref-moments-cover{height:180px;background:linear-gradient(145deg,#9db3a4,#637c73);display:flex;align-items:flex-end;justify-content:flex-end;gap:16px;padding:15px 18px;color:#fff}.ref-moments-cover .ref-avatar{width:64px;height:64px;border:2px solid #fff}.ref-feed{padding-top:20px}.ref-moment{display:flex;gap:12px;padding:18px 16px;border-bottom:1px solid var(--ref-line)}.ref-moment>div{flex:1;min-width:0}.ref-moment-text{font-size:16px;line-height:1.7;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.ref-moment-tools{display:flex;align-items:center;gap:6px}.ref-moment-tools time{font-size:11px;flex:1;color:#999}.ref-moment-comment,.ref-moment-likes{font-size:13px;line-height:1.8;background:var(--ref-bg);padding:4px 8px}.ref-moment-likes{color:#576b95}.ref-member-grid{display:flex;flex-wrap:wrap;gap:8px;padding:14px}.ref-member{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;max-width:65px;font-size:11px}.ref-folders{display:flex;overflow:auto;flex-shrink:0;background:var(--ref-bg);gap:5px;padding:0 12px;border-bottom:1px solid var(--ref-line)}.ref-folder{flex-shrink:0;background:none;font-size:13px;padding:12px 8px;position:relative;color:#999}.ref-folder[aria-selected=true]{color:var(--ref-accent)}.ref-folder[aria-selected=true]:after{content:'';height:3px;border-radius:2px;position:absolute;bottom:0;left:5px;right:5px;background:var(--ref-accent)}.ref-connection{display:flex!important;justify-content:center;height:20px;min-height:20px;font-size:10px;background:var(--ref-bg);color:#999}.ref-connection.connected{height:0;min-height:0;overflow:hidden}.chat-heading{height:58px;min-height:58px;padding:4px 12px;gap:8px;background:var(--ref-bg);border-bottom:1px solid #ddd}.chat-title h2{font-size:17px;font-weight:500}.chat-title p{font-size:11px;margin-top:2px}.mobile-back{display:inline-flex;width:38px;min-width:38px;height:44px}.chat-panel{background:var(--ref-bg)}.message-view{background:var(--ref-bg);padding:15px 12px;flex:1}.message-list{gap:13px}.message-row{max-width:92%;gap:9px}.message-avatar{width:39px;height:39px;font-size:16px;border-radius:5px}.message-bubble{box-shadow:none;border:0;padding:10px 12px}.message-body{font-size:16px;line-height:1.55;color:var(--ref-text);white-space:pre-wrap}.message-meta{font-size:9px;color:#a5a5a5;margin-top:3px;gap:4px;justify-content:flex-end}.message-meta button{display:none}.sender-name{font-size:11px;color:#999;margin-bottom:4px}.message-plugin-actions{margin-top:3px}.message-plugin-actions .plugin-reactions button[aria-label$="当前 0 人"]{display:none}.message-quote{max-width:300px;font-size:12px;background:#00000008;cursor:pointer}.day-separator{font-size:11px;color:#999}.composer{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 40px 44px;align-items:center;gap:3px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #ddd;background:#f7f7f7;min-height:58px;contain:layout style}.composer textarea{grid-column:2;grid-row:2;min-height:38px!important;max-height:160px;padding:8px 10px!important;font-size:16px;line-height:1.45!important;background:var(--ref-panel);border:0;border-radius:5px;resize:none;color:var(--ref-text);width:100%}.composer-bottom{grid-row:2;grid-column:4;display:flex;margin:0;padding:0}.composer .send-button{background:var(--ref-accent);border-radius:5px;color:#fff;min-width:44px;min-height:38px;padding:8px 10px;font-size:14px}.composer .reply-preview{grid-column:1/-1;grid-row:1;margin:0 0 5px;min-width:0;padding:6px 8px;background:#fff7}.reply-preview strong{color:var(--ref-accent);font-size:12px}.reply-preview p{font-size:12px}.reply-preview>div{max-width:calc(100% - 44px)}#referenceVoice{grid-row:2;grid-column:1}#referenceEmoji{grid-row:2;grid-column:3}#referenceAttach{grid-row:2;grid-column:4}.ref-voice-hold{grid-row:2;grid-column:2;min-height:38px;font-size:15px;background:#fff;border:1px solid #e5e5e5;border-radius:5px;touch-action:none;user-select:none}.ref-voice-hold.recording{background:#e2e2e2}.ref-attachments,.ref-emoji-sheet{align-self:end;margin:auto auto 12px}.ref-attachment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 6px;padding:22px 12px}.ref-attachment{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;background:none}.ref-attachment svg{width:56px;height:56px;border-radius:12px;padding:15px;background:var(--ref-bg);color:#333}.ref-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:15px}.ref-emoji{background:none;font-size:26px;padding:8px 0}.ref-message-menu{position:fixed;z-index:5000;border-radius:10px;box-shadow:0 4px 24px #0003;max-height:calc(100dvh - 24px);overflow:auto}.ref-menu-item{display:flex;align-items:center;gap:12px;min-height:44px;background:none;font-size:15px}.ref-menu-item svg{width:21px;height:21px}.ref-selection-bar{position:absolute;left:0;right:0;bottom:0;z-index:20;min-height:60px;display:flex;align-items:center;justify-content:space-around;gap:8px;padding:6px 8px;background:var(--ref-panel);box-shadow:0 -2px 12px #0001}.ref-selected .message-bubble{outline:2px solid var(--ref-accent);outline-offset:3px}.ref-selecting .composer{visibility:hidden}.ref-swiping{transform:translateX(25px)}.ref-revoked .message-bubble{background:transparent!important}.ref-revoked .message-body{color:#999;font-size:12px}.ref-revoked .message-meta,.ref-revoked .message-avatar,.ref-revoked .message-plugin-actions{display:none}.ref-pin-bar{display:flex;align-items:center;gap:12px;min-height:42px;flex-shrink:0;background:var(--ref-panel);color:var(--ref-accent);padding:7px 16px;text-align:left;font-size:13px;border-bottom:1px solid var(--ref-line)}.ref-pin-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}.ref-forward-preview{padding:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ref-forward-preview p{width:100%;font-size:14px;white-space:pre-wrap;max-height:120px;overflow:hidden}.ref-sheet-body>input{width:calc(100% - 32px);margin:8px 16px}.ref-sheet-body>.ref-primary{margin:12px 16px}.ref-rich-message{display:flex;align-items:center;gap:10px;padding:8px;background:none;text-align:left;min-height:52px;max-width:270px;overflow-wrap:anywhere;font-size:14px}.ref-rich-message svg{width:32px;height:32px;color:var(--ref-accent)}.ref-media-image{display:block;max-width:100%;max-height:60dvh;object-fit:contain;margin:auto}.ref-media-player{display:block;max-width:100%;max-height:60dvh;margin:16px auto}.ref-sheet progress{display:block;width:calc(100% - 32px);margin:16px}.ref-record-hint{position:absolute;bottom:80px;left:15px;right:15px;background:#222e;color:white;border-radius:12px;padding:25px;text-align:center;font-size:16px;z-index:40}.ref-record-hint button{color:white}.ref-call{background:#26323d;color:white}.ref-call .ref-sheet-head{background:#26323d;color:white;border:0}.ref-call .ref-icon{color:white}.ref-call .ref-sheet-body{display:flex;align-items:center;flex-direction:column;padding:20px;height:calc(100% - 58px);position:relative}.ref-call .ref-avatar{width:80px;height:80px;font-size:30px;margin:20px}.ref-call-controls{display:flex;gap:25px;align-items:center;margin-top:auto;position:relative;z-index:2}.ref-call-controls button{display:flex;flex-direction:column;gap:10px;color:white;background:#ffffff25;border-radius:50%;width:64px;height:64px;align-items:center;justify-content:center;font-size:11px}.ref-call-controls .ref-hangup{background:#f34b56}.ref-remote-video{max-width:100%;max-height:45dvh;object-fit:contain}.ref-local-video{position:absolute;right:15px;top:10px;width:90px;max-height:140px;border-radius:9px}.ref-poll-options{display:flex;flex-direction:column;padding:20px;gap:12px}.ref-poll-option{display:flex;align-items:center;gap:10px;min-height:42px;font-size:15px}.ref-poll-option input{width:20px;height:20px;accent-color:var(--ref-accent)}.ref-poll-option span{flex:1}.ref-poll-option small{color:var(--ref-secondary)}.chat-empty{background:var(--ref-bg)}.chat-empty h2{font-size:20px;font-weight:500;margin:10px 0}.ref-empty-symbol{width:90px;height:75px;border-radius:20px;background:#d4ded9;display:flex;align-items:center;justify-content:center;font-size:45px;color:#fff}.ref-dark{--ref-bg:#17212b;--ref-panel:#202e3b;--ref-text:#e6edf2;--ref-secondary:#8a9aaa;--ref-line:#30404d;background:var(--ref-bg)}.ref-dark .ref-tabs,.ref-dark .composer,.ref-dark .panel-heading,.ref-dark .chat-heading{background:var(--ref-panel);border-color:var(--ref-line)}.ref-dark .conversation-item.active,.ref-dark .conversation-list-row[data-pinned=true]{background:#2d3b47}.ref-dark input,.ref-dark textarea{color:var(--ref-text)!important;background:var(--ref-bg)!important}.auth-dialog{max-width:450px;border-radius:12px;background:var(--ref-panel)}.auth-story{display:none!important}.auth-dialog[open]{display:block}.auth-content{padding:32px 26px}.auth-content h1{font-size:24px}.auth-submit{background:var(--ref-accent);font-size:16px}.auth-subtitle{font-size:14px}.auth-footnote{font-size:12px}.auth-dialog label,.auth-dialog input{font-size:15px!important}.new-dialog,.member-dialog{background:var(--ref-panel);color:var(--ref-text);border-radius:12px}.new-dialog input,.member-dialog input{font-size:16px}.toast{font-size:14px;background:#222d;border:0;max-width:330px}.session-guard{z-index:10000}
@media(max-width:740px){.workspace{display:block;position:relative}.conversation-panel{height:100%;border:0}.chat-panel{display:none;position:absolute;inset:0;height:100%;width:100%}.workspace.chat-open .chat-panel{display:flex}.workspace.chat-open .conversation-panel{display:none}.ref-sheet.ref-full{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.ref-sheet:not(.ref-full){width:calc(100% - 24px);max-width:520px}.chat-heading{padding-left:4px}.message-view{padding:14px 10px}.chat-title h2{font-size:17px}.conversation-item{height:76px}.ref-full .ref-sheet-head{padding-top:env(safe-area-inset-top);height:calc(58px + env(safe-area-inset-top))}}
@media(max-height:400px){.composer{padding-top:2px;padding-bottom:2px;min-height:46px}.chat-heading,.panel-heading{height:46px;min-height:46px}.ref-folder{padding:8px}.chat-title p{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
:root[data-platform=ios]{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}:root[data-platform=ios] .ref-sheet:not(.ref-full){border-radius:16px}:root[data-platform=ios] .ref-full .ref-sheet-head h2{font-weight:600;text-align:center;margin-right:40px}

.message-meta button.retry-pending-button{display:inline-flex}.ref-highlight .message-bubble{outline:3px solid var(--ref-accent);outline-offset:3px}.message-row[data-edited=true] .message-meta:before{content:'已编辑';font-size:9px}.ref-power-saving *{backdrop-filter:none!important;animation:none!important;transition:none!important}

.ref-readonly>:not(.ref-readonly-footer){display:none!important}.ref-readonly-footer{grid-column:1/-1;grid-row:2;min-height:44px;width:100%;color:var(--ref-accent);font-size:16px;background:none}.ref-member{width:66px;max-width:66px;overflow:hidden;text-overflow:ellipsis}.ref-member span{max-width:66px;overflow:hidden;text-overflow:ellipsis}

.ref-pagination{display:flex;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--ref-line);position:sticky;bottom:0;background:var(--ref-panel);z-index:3}.ref-pagination button{min-height:44px;color:var(--ref-accent);padding:8px;background:none;font-size:14px}.ref-pagination button:disabled{opacity:.35}.ref-paged-rows>.ref-row{min-height:64px}.ref-paged-rows>.ref-row:disabled{opacity:.45}.ref-sheet-head .ref-icon{flex-shrink:0}

/* Compose belongs to the chat tab; it must not cover contact pagination. */
:root[data-reference-tab]:not([data-reference-tab=chats]) .ref-new-chat{display:none!important}

/* Native theme call dialog contrast */
:root[data-client-variant] dialog.ref-sheet.ref-call{background:#26323d;color:#fff}:root[data-client-variant] dialog.ref-sheet.ref-call .ref-sheet-head{background:#26323d;color:#fff}:root[data-client-variant] dialog.ref-sheet.ref-call .ref-info{color:#e6edf3}:root[data-client-variant] dialog.ref-sheet.ref-call button{color:inherit}
.checkin-calendar{max-width:480px;margin:auto}.checkin-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.checkin-calendar table{table-layout:fixed;width:100%;border-collapse:collapse;text-align:center;margin-top:12px}.checkin-calendar th{font-weight:500;padding:8px 0}.checkin-calendar td{height:52px;vertical-align:middle}.checkin-calendar td span{display:block}.checkin-calendar td small{font-size:11px;display:block}.checkin-calendar [aria-current=date]{text-decoration:underline;font-weight:700}.checkin-calendar .checkin-done{background:color-mix(in srgb,var(--ref-accent,#248bd0) 12%,transparent);border-radius:8px}
