/* Independent WeChat-style composition. Reference coverage is recorded separately. */
:root[data-client-variant=wechat]{--ref-nav:58px;font-family:Roboto,"Noto Sans CJK SC","Microsoft YaHei","PingFang SC",Arial,sans-serif}
:root[data-client-variant=wechat] .panel-heading{height:56px;min-height:56px;padding:4px 12px 4px 18px;gap:4px}
:root[data-client-variant=wechat] .panel-heading h1{font-size:20px;font-weight:500;line-height:28px}
:root[data-client-variant=wechat] .conversation-tools{padding:3px 10px 8px}
:root[data-client-variant=wechat] .search-field{height:34px;border-radius:7px}
:root[data-client-variant=wechat] .search-field input{padding:6px 8px;font-size:14px}
:root[data-client-variant=wechat] .conversation-item{height:74px;min-height:74px;padding:11px 16px;gap:12px}
:root[data-client-variant=wechat] .conversation-item .avatar{width:48px;height:48px;border-radius:6px;font-size:21px}
:root[data-client-variant=wechat] .conversation-text{height:63px;padding:8px 0 10px;justify-content:center;gap:3px;align-self:center}
:root[data-client-variant=wechat] .conversation-line strong{font-size:16px;font-weight:400;line-height:24px}
:root[data-client-variant=wechat] .conversation-time{font-size:11px}
:root[data-client-variant=wechat] .conversation-preview{font-size:13px;line-height:20px;margin:0}
:root[data-client-variant=wechat] .unread-badge{border-radius:10px;min-width:18px;height:18px;line-height:18px;font-size:11px;padding:0 5px;background:#c83b42;color:#fff}
:root[data-client-variant=wechat] .ref-tab{font-size:11px;gap:3px;padding-top:4px}
:root[data-client-variant=wechat] .ref-tab svg{width:25px;height:25px}
:root[data-client-variant=wechat] .ref-tab[aria-current=true] svg{fill:color-mix(in srgb,var(--ref-accent) 12%,transparent)}
:root[data-client-variant=wechat] .chat-heading{height:56px;min-height:56px;padding:0 8px;gap:4px}
:root[data-client-variant=wechat] #backButton{height:48px;width:40px;min-width:40px;padding:10px}
:root[data-client-variant=wechat] .chat-heading .chat-title{padding-right:0;text-align:center}
:root[data-client-variant=wechat] .chat-heading h2{font-size:17px;font-weight:500;line-height:24px}
:root[data-client-variant=wechat] .message-view{padding:14px 12px 18px}
:root[data-client-variant=wechat] .message-list{gap:16px}
:root[data-client-variant=wechat] .message-row{max-width:94%;gap:10px}
:root[data-client-variant=wechat] .message-avatar{width:39px;height:39px;border-radius:5px;flex-shrink:0}
:root[data-client-variant=wechat] .message-bubble{padding:10px 12px;border-radius:4px;min-height:42px}
:root[data-client-variant=wechat] .message-body{line-height:1.52;overflow-wrap:anywhere}
:root[data-client-variant=wechat] .sender-name{font-size:11px;line-height:16px;padding-left:1px;margin-bottom:4px}
:root[data-client-variant=wechat] .message-meta{font-size:10px;opacity:1;margin-top:4px;line-height:13px}
:root[data-client-variant=wechat] .day-separator{padding:6px 0;font-size:11px;line-height:18px}
:root[data-client-variant=wechat] .message-quote{border-radius:3px;border-left:3px solid var(--ref-secondary);padding:7px 9px;font-size:12px;line-height:1.5;margin-bottom:6px}
:root[data-client-variant=wechat] .composer{grid-template-columns:36px minmax(0,1fr) 36px 40px;gap:4px;padding:7px 7px calc(7px + env(safe-area-inset-bottom));min-height:56px}
:root[data-client-variant=wechat] .composer textarea{min-height:40px!important;max-height:140px;line-height:24px!important;padding:8px 10px!important;border-radius:5px}
:root[data-client-variant=wechat] .composer .ref-icon{width:36px;min-width:36px;height:40px;padding:6px}
:root[data-client-variant=wechat] .composer .send-button{height:38px;min-height:38px;min-width:44px;padding:7px 9px;font-size:14px}
:root[data-client-variant=wechat] .ref-voice-hold{height:40px;min-height:40px;border-color:var(--ref-line);color:var(--ref-text);background:var(--ref-input)}
:root[data-client-variant=wechat] .ref-wechat-menu{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:7px;padding:9px 5px;gap:2px}
:root[data-client-variant=wechat] .ref-wechat-menu .ref-menu-item{font-size:12px;min-height:64px;gap:8px}
:root[data-client-variant=wechat] .ref-sheet.ref-full{border-radius:0;max-width:min(600px,100vw);width:100%;height:100dvh;max-height:100dvh;margin:0 auto}
:root[data-client-variant=wechat] .ref-full .ref-sheet-head{background:var(--ref-topbar);height:56px;border:0;padding:0 8px}
:root[data-client-variant=wechat] .ref-full .ref-sheet-head h2{font-size:17px;font-weight:500;text-align:center;padding-right:44px}
:root[data-client-variant=wechat] .ref-profile-card{padding:28px 22px;gap:16px;align-items:center;flex-wrap:wrap}
:root[data-client-variant=wechat] .ref-profile-card .ref-avatar{width:64px;height:64px;border-radius:7px}
:root[data-client-variant=wechat] .ref-profile-card h2{font-size:22px;font-weight:500}
:root[data-client-variant=wechat] .ref-profile-card .ref-info{font-size:14px;padding-left:80px}
:root[data-client-variant=wechat] .ref-contact-actions .ref-row{justify-content:center;min-height:56px;color:var(--ref-accent-ink)}
:root[data-client-variant=wechat] .ref-member-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 10px;padding:22px 16px;background:var(--ref-panel)}
:root[data-client-variant=wechat] .ref-member{max-width:100%;width:100%;font-size:11px;min-width:0}
:root[data-client-variant=wechat] .ref-member>span:last-child{max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
:root[data-client-variant=wechat] .ref-member .ref-avatar{width:46px;height:46px;border-radius:6px}
:root[data-client-variant=wechat] .settings-danger{justify-content:center;color:var(--ref-danger)}
:root[data-client-variant=wechat] .settings-danger .settings-row-copy{flex:0 1 auto;text-align:center}.wechat-shell .settings-danger .settings-chevron{display:none}
:root[data-client-variant=wechat] .auth-dialog{background:var(--ref-bg);color:var(--ref-text);width:min(520px,100%);max-width:100%;padding:0;border:0;border-radius:0;max-height:100dvh}
:root[data-client-variant=wechat] .auth-content{padding:48px 28px 26px;max-width:520px;min-width:0;background:var(--ref-bg)}
:root[data-client-variant=wechat] .auth-app-identity{text-align:left;display:block;margin:0 0 28px}
:root[data-client-variant=wechat] .auth-app-symbol{display:flex;width:58px;height:58px;background:var(--ref-accent);color:#fff;border-radius:12px;font-size:27px;align-items:center;justify-content:center;margin-bottom:20px}
:root[data-client-variant=wechat] .auth-app-name{font-size:26px;font-weight:500;line-height:1.4;margin:0}
:root[data-client-variant=wechat] .auth-style-description{font-size:13px;color:var(--ref-secondary);margin-top:10px;line-height:1.5}
:root[data-client-variant=wechat] #authTitle{font-size:18px;font-weight:500;margin-bottom:8px}
:root[data-client-variant=wechat] .auth-subtitle{font-size:13px;line-height:1.6;margin:0 0 20px}
:root[data-client-variant=wechat] .segmented-control{padding:0;background:transparent;border-radius:0;border-bottom:1px solid var(--ref-line);gap:20px;margin-bottom:16px}
:root[data-client-variant=wechat] .segmented-control button{border-radius:0;padding:9px 4px;background:transparent;color:var(--ref-secondary);box-shadow:none}
:root[data-client-variant=wechat] .segmented-control button[aria-selected=true]{color:var(--ref-accent-ink);border-bottom:2px solid var(--ref-accent-ink)}
:root[data-client-variant=wechat] #authForm label{font-size:15px;gap:8px;margin:0 0 18px}
:root[data-client-variant=wechat] #authForm input{border:0;border-bottom:1px solid var(--ref-line);border-radius:0;background:transparent;color:var(--ref-text);padding:11px 2px;font-size:16px;box-shadow:none}
:root[data-client-variant=wechat] #authForm input:focus{border-bottom-color:var(--ref-accent-ink);outline:0}
:root[data-client-variant=wechat] .auth-submit{width:100%;max-width:240px;display:block;margin:30px auto 0;min-height:46px;border-radius:5px;font-size:16px}
:root[data-client-variant=wechat] .auth-footnote{text-align:center;font-size:11px;margin-top:32px;line-height:1.7}
@media(max-width:740px){:root[data-client-variant=wechat] .auth-dialog{height:100dvh;margin:0;max-height:100dvh}:root[data-client-variant=wechat] .auth-content{min-height:100%;padding-top:max(34px,env(safe-area-inset-top))}}
@media(max-height:430px){:root[data-client-variant=wechat] .auth-content{padding:18px 25px}:root[data-client-variant=wechat] .auth-app-symbol{display:none}:root[data-client-variant=wechat] .auth-app-identity{margin-bottom:12px}:root[data-client-variant=wechat] .auth-style-description{display:none}}

:root[data-client-variant=wechat] .composer{grid-template-columns:36px minmax(0,1fr) 36px auto}
:root[data-client-variant=wechat] .composer .send-button{width:auto;min-width:56px;white-space:nowrap;padding:0 10px}
:root[data-client-variant=wechat][data-desktop-input=true] .composer{grid-template-columns:36px minmax(0,1fr) 36px 36px auto}
:root[data-client-variant=wechat][data-desktop-input=true] .composer .composer-bottom{grid-column:5}

/* Desktop-first composition. Exact original-build geometry is not yet measured. */
.wechat-desktop-toolbar{display:contents}
.wechat-desktop-toolbar [data-wechat-desktop-tool]{display:none}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .workspace{display:grid;grid-template-columns:64px clamp(240px,23vw,300px) minmax(280px,1fr);grid-template-rows:minmax(0,1fr);gap:0;min-height:0}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-panel{grid-column:2;grid-row:1;min-width:0;padding-bottom:0;height:100%}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .chat-panel{grid-column:3;grid-row:1;display:flex;position:relative;inset:auto;min-width:0;width:auto;height:100%}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .ref-tabs{grid-column:1;grid-row:1;position:relative;inset:auto;display:flex!important;flex-direction:column;align-items:center;gap:8px;width:64px;height:100%;min-height:0;padding:24px 6px 12px;border:0;border-right:1px solid var(--ref-line)}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .ref-tab{flex:0 0 44px;min-height:44px;width:48px;position:relative;padding:10px;border-radius:5px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .ref-tab>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .ref-tab svg{width:23px;height:23px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .ref-tab[data-tab=settings]{margin-top:auto}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .panel-heading{height:62px;min-height:62px;padding:10px 12px 8px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .panel-heading h1{font-size:17px;font-weight:500}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-tools{padding:2px 12px 10px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-item{height:68px;min-height:68px;padding:10px 12px;gap:10px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-item .avatar{width:42px;height:42px;font-size:18px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-line strong{font-size:14px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-text{height:auto;min-width:0;padding:0}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-preview{font-size:12px;line-height:18px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .chat-heading{height:62px;min-height:62px;padding:10px 22px;gap:12px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .chat-heading .chat-title{text-align:left;padding:0}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .chat-heading h2{font-size:18px;font-weight:500}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #backButton{display:none}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .message-view{padding:18px 26px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .message-row{max-width:80%;gap:9px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .message-avatar{width:34px;height:34px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .message-bubble{padding:8px 10px;min-height:36px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:0;padding:0 0 10px;min-height:170px;border-top:1px solid var(--ref-line);contain:layout style}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer[hidden]{display:none!important}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .wechat-desktop-toolbar{grid-column:1;grid-row:1;display:flex;align-items:center;gap:2px;padding:5px 12px;min-height:40px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .wechat-desktop-toolbar .ref-icon{display:flex;grid-area:auto;width:34px;min-width:34px;height:30px;padding:6px;border-radius:4px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .wechat-desktop-toolbar .ref-icon>span{display:none}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .wechat-desktop-toolbar .ref-icon svg{width:21px;height:21px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .wechat-desktop-toolbar [data-wechat-desktop-tool="语音通话"]{margin-left:auto}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer #messageInput{grid-column:1;grid-row:2;width:100%;min-height:92px!important;max-height:180px;height:92px;padding:4px 20px!important;border:0;border-radius:0;font-size:15px;line-height:23px!important;background:transparent;box-shadow:none;resize:none}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .composer-bottom{grid-column:1;grid-row:3;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:4px 20px 0;min-height:32px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .keyboard-hint{display:block!important;font-size:12px;color:var(--ref-secondary);line-height:18px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .send-button{min-width:88px;min-height:28px;height:28px;padding:0 18px;border-radius:4px;font-size:13px;line-height:26px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer #voiceHold{display:none!important}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer .reply-preview{grid-column:1;grid-row:auto;margin:0 16px 4px;padding:6px 9px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer.ref-readonly{min-height:48px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer.ref-readonly .ref-readonly-footer{grid-column:1;grid-row:1;min-height:46px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen:has(.wechat-desktop-settings),html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen:has(.wechat-desktop-profile){position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(780px,calc(100vw - 96px));height:min(580px,calc(100dvh - 80px));bottom:auto;z-index:90;border:1px solid var(--ref-line);border-radius:7px;box-shadow:0 16px 64px #0003;overflow:hidden;background:var(--ref-panel)}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen[hidden]{display:none!important}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen:has(.wechat-desktop-settings)>.ref-page-head,html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen:has(.wechat-desktop-profile)>.ref-page-head{height:46px;min-height:46px;padding:0 12px 0 20px;border-bottom:1px solid var(--ref-line);background:var(--ref-panel)}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen .wechat-desktop-window-close{margin-left:auto;width:32px;height:32px;padding:7px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen:has(.wechat-desktop-settings)>.ref-page-head h1,html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #referenceScreen:has(.wechat-desktop-profile)>.ref-page-head h1{font-size:15px;font-weight:500;text-align:left;padding:0}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings{display:grid;grid-template-columns:150px minmax(0,1fr);padding:0;overflow:hidden;min-height:0}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-nav{display:flex;flex-direction:column;gap:3px;padding:18px 10px;border-right:1px solid var(--ref-line);overflow:auto;background:var(--ref-field)}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-tab{background:none;border:0;padding:12px 15px;text-align:left;border-radius:4px;min-height:42px;font-size:14px;color:var(--ref-text)}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-content{overflow:auto;min-width:0;min-height:0;padding:24px 28px;background:var(--ref-panel)}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-title{font-size:17px;font-weight:500;margin:0 0 22px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-content .settings-group{margin:0 0 20px;border-radius:0}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-content .settings-group-rows{border-radius:0;background:none}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-content .settings-row{min-height:48px;padding:12px 0;font-size:14px;border-color:var(--ref-line)}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-content .settings-icon{display:none}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-content .settings-row-copy strong{font-size:14px;font-weight:400}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-settings-content .settings-row-copy small{font-size:12px}
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .wechat-desktop-profile{padding:28px;overflow:auto}
@media(max-height:600px){html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer{min-height:138px}html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] #composer #messageInput{min-height:60px!important;height:60px;max-height:120px}}

/* A settings window must not use the conversation list as its fixed containing block. */
html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-panel:has(#referenceScreen:not([hidden]) .wechat-desktop-settings),html[data-client-variant=wechat][data-platform=desktop][data-desktop-original-first=true] .conversation-panel:has(#referenceScreen:not([hidden]) .wechat-desktop-profile){contain:style;overflow:visible}
