/* Star Wish Bubble: a standalone chat layout, active only inside this theme. */
.voice-bubble { width:min(var(--voice-width,224px),100%);min-width:0;max-width:100%; }
.voice-bar { width:100%;min-width:0!important;min-height:44px;padding:0 12px;display:flex;align-items:center;gap:9px;color:inherit;background:transparent;border:0;border-radius:16px;cursor:pointer;font:inherit;text-align:left; }
.voice-play-icon { width:0;height:0;flex:0 0 auto;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid currentColor; }
.voice-play-icon.is-playing { width:10px;height:14px;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor; }
.voice-wave { min-width:0;flex:1;display:flex;align-items:center;justify-content:flex-end;gap:3px;height:24px;overflow:hidden; }
.voice-wave i { width:3px;height:9px;display:block;border-radius:3px;background:currentColor;opacity:.72; }
.voice-wave i:nth-child(2){height:15px}.voice-wave i:nth-child(3){height:20px}.voice-wave i:nth-child(4){height:12px}.voice-wave i:nth-child(5){height:18px}.voice-wave i:nth-child(6){height:11px}.voice-wave i:nth-child(7){height:16px}
.voice-duration { flex:0 0 auto;font-size:12px;font-variant-numeric:tabular-nums;opacity:.78; }
.voice-audio { display:none!important; }
.voice-transcript { margin-top:7px;padding:0 4px;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere; }
.wechat-app.wechat-app--chat-bubble { --bubble-purple:#8058ee;--bubble-purple-deep:#6840dd;--bubble-lilac:#a383f2;--bubble-ink:#1e1c25;--bubble-muted:#a39eae;--bubble-line:rgba(105,84,158,.08);--bubble-shell:#f7f6fd;color-scheme:light; }
.wechat-app.wechat-app--chat-bubble .wechat-header { height:122px;min-height:122px;padding:10px 18px 12px;grid-template-columns:42px minmax(0,1fr) 38px 38px;gap:6px;align-items:center;color:var(--bubble-ink)!important;background:rgba(250,249,255,.94)!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important; }
.wechat-app.wechat-app--chat-bubble .wechat-header .header-action { width:38px;height:38px;min-width:38px;padding:0;color:#24212a!important;background:transparent!important;border:0!important;border-radius:50%!important;box-shadow:none!important; }
.wechat-app.wechat-app--chat-bubble .wechat-header .header-action svg { width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8; }
.wechat-app.wechat-app--chat-bubble .wechat-header .header-action.is-more svg { width:24px;height:24px;fill:currentColor;stroke:none; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-title { min-width:0;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px;text-align:left!important; }
.wechat-app.wechat-app--chat-bubble .bubble-header-avatar { width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;overflow:hidden;color:#6c45d9;background:#ece8fb;border:2px solid #8b5cf6;border-radius:50%;box-shadow:0 0 0 2px rgba(139,92,246,.16),0 8px 20px rgba(60,45,98,.14);font-size:16px;font-weight:700; }
.wechat-app.wechat-app--chat-bubble .bubble-header-avatar img { width:100%;height:100%;display:block;object-fit:cover; }
.wechat-app.wechat-app--chat-bubble .bubble-header-copy { min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:5px; }
.wechat-app.wechat-app--chat-bubble .bubble-header-copy strong { width:100%;display:flex!important;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;color:#141218!important;font-size:19px!important;font-weight:760!important;line-height:1.1!important;white-space:nowrap; }
.wechat-app.wechat-app--chat-bubble .bubble-header-subtitle { max-width:100%;padding:0;overflow:hidden;color:#85808e;background:transparent;border:0;font:500 12px/1.15 inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer; }
.wechat-app.wechat-app--chat-bubble .bubble-header-subtitle:focus-visible { outline:2px solid rgba(121,82,232,.35);outline-offset:3px;border-radius:3px; }
.wechat-app.wechat-app--chat-bubble .bubble-verified { width:16px;height:16px;display:grid;place-items:center;color:#fff;background:#7952e8;border-radius:50%;font-style:normal;line-height:1; }
.wechat-app.wechat-app--chat-bubble .bubble-verified svg { width:11px!important;height:11px!important;display:block;fill:currentColor;stroke:none!important;transform:none; }
.wechat-app.wechat-app--chat-bubble .bubble-chat-search-btn { width:38px;height:38px;position:static;grid-column:3;display:grid;place-items:center;color:#24212a;background:transparent;border:0;border-radius:50%;cursor:pointer; }
.wechat-app.wechat-app--chat-bubble .bubble-chat-search-btn svg { width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round; }
.wechat-app.wechat-app--chat-bubble .bubble-chat-searchbar { position:absolute;inset:0;z-index:5;padding:34px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;background:#faf9ff; }
.wechat-app.wechat-app--chat-bubble .bubble-chat-searchbar[hidden] { display:none; }
.wechat-app.wechat-app--chat-bubble .bubble-chat-searchbar input { min-width:0;height:42px;padding:0 14px;color:#24212a;background:#fff;border:1px solid rgba(105,84,158,.11);border-radius:21px;outline:0;font:inherit; }
.wechat-app.wechat-app--chat-bubble .bubble-search-count { color:#8e879c;font-size:11px;white-space:nowrap; }
.wechat-app.wechat-app--chat-bubble .bubble-chat-searchbar button { min-width:44px;height:42px;padding:0 8px;color:#6c45d9;background:transparent;border:0;font-size:13px; }
.wechat-app:not(.wechat-app--chat-bubble) .bubble-chat-search-btn,.wechat-app:not(.wechat-app--chat-bubble) .bubble-chat-searchbar { display:none!important; }
.wechat-app.wechat-app--chat-bubble .bubble-language-menu { width:168px;position:absolute;z-index:9;top:92px;right:14px;padding:8px;color:#28242f;background:rgba(255,255,255,.98);border:1px solid rgba(105,84,158,.1);border-radius:8px;box-shadow:0 16px 34px rgba(56,39,104,.16); }
.wechat-app.wechat-app--chat-bubble .bubble-language-menu[hidden] { display:none; }
.wechat-app.wechat-app--chat-bubble .bubble-language-title { padding:6px 9px 7px;color:#9892a2;font-size:10px;font-weight:650; }
.wechat-app.wechat-app--chat-bubble .bubble-language-menu button { width:100%;min-height:38px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;color:#28242f;background:transparent;border:0;border-radius:6px;font:500 13px/1.2 inherit;text-align:left; }
.wechat-app.wechat-app--chat-bubble .bubble-language-menu button:hover,.wechat-app.wechat-app--chat-bubble .bubble-language-menu button:focus-visible { background:#f3f0fc;outline:0; }
.wechat-app.wechat-app--chat-bubble .bubble-language-menu button i { min-width:14px;color:#7952e8;font-style:normal;text-align:center; }
.wechat-app.wechat-app--chat-bubble .bubble-language-menu .bubble-chat-detail-entry { margin-top:5px;border-top:1px solid rgba(105,84,158,.1);border-radius:0 0 6px 6px; }
.wechat-app.wechat-app--chat-bubble .wechat-content { background-color:var(--bubble-shell)!important;background-image:linear-gradient(150deg,#fbfaff 0%,#f4f2fb 54%,#faf8ff 100%)!important;background-size:cover!important;background-position:center!important; }
.wechat-app.wechat-app--chat-bubble .chat-room { position:relative;color:var(--bubble-ink)!important;background:transparent!important; }
.wechat-app.wechat-app--chat-bubble .messages-area { gap:31px!important;padding:28px 24px 24px!important;scroll-padding-bottom:130px!important;background:transparent!important;scrollbar-color:rgba(128,88,238,.22) transparent; }
.wechat-app.wechat-app--chat-bubble .time-divider { padding:1px 0 10px!important;color:#aaa5b2!important;font-size:11px!important; }
.wechat-app.wechat-app--chat-bubble .time-divider span { padding:7px 14px!important;color:#aaa5b2!important;background:rgba(255,255,255,.7)!important;border:1px solid rgba(112,90,164,.05)!important;border-radius:999px!important;box-shadow:0 6px 18px rgba(64,46,106,.04)!important; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-carousel { padding:12px 12px 4px;overflow:hidden;background:transparent; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-carousel-track { display:flex;gap:12px;overflow-x:auto;padding:3px 3px 10px;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-carousel-track::-webkit-scrollbar { display:none; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar-card { width:86px;min-width:86px;position:relative;padding:0;display:grid;justify-items:center;gap:6px;color:#1e1c25;background:transparent;border:0;cursor:pointer;scroll-snap-align:start; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar-card::before,.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar-card::after { content:none; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar { width:66px;height:66px;display:grid;place-items:center;overflow:hidden;border:2px solid #8b5cf6;border-radius:50%;background:#eeeafd;box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 0 3px rgba(139,92,246,.18),0 4px 9px rgba(65,47,107,.14); }
.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar img,.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar-fallback { width:100%;height:100%;display:grid;place-items:center;object-fit:cover; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar-fallback { color:#6c45d9;font-size:18px;font-weight:700; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-status,.wechat-app.wechat-app--chat-bubble .bubble-contact-unread { width:8px;height:8px;position:absolute;z-index:2;right:4px;border:2px solid #faf9ff;border-radius:50%;box-shadow:0 1px 4px rgba(35,26,55,.2); }
.wechat-app.wechat-app--chat-bubble .bubble-contact-status { top:2px;background:#8b8b94; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-status.is-online { background:#38a169; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-unread { top:52px;background:#8b5cf6; }
.wechat-app.wechat-app--chat-bubble .bubble-contact-avatar-name { width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:12px;font-weight:750;line-height:1.2; }
.wechat-app.wechat-app--chat-bubble .chat-info .chat-name .bubble-msg-role { margin-right:5px;vertical-align:1px; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-carousel { padding:12px 12px 4px;overflow:hidden;background:transparent; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-carousel-track { display:flex;gap:12px;overflow-x:auto;padding:3px 3px 10px;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-carousel-track::-webkit-scrollbar { display:none; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar-card { width:86px;min-width:86px;position:relative;padding:0;display:grid;justify-items:center;gap:6px;color:#1e1c25;background:transparent;border:0;cursor:pointer;scroll-snap-align:start; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar-card::before,.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar-card::after { content:none; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar { width:66px;height:66px;display:grid;place-items:center;overflow:hidden;border:2px solid #8b5cf6;border-radius:50%;background:#eeeafd;box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 0 3px rgba(139,92,246,.18),0 4px 9px rgba(65,47,107,.14); }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar img,.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar-fallback { width:100%;height:100%;display:grid;place-items:center;object-fit:cover; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar-fallback { color:#6c45d9;font-size:18px;font-weight:700; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-status,.wechat-app[data-chat-ui="bubble"] .bubble-contact-unread { width:8px;height:8px;position:absolute;z-index:2;right:4px;border:2px solid #faf9ff;border-radius:50%;box-shadow:0 1px 4px rgba(35,26,55,.2); }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-status { top:2px;background:#8b8b94; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-status.is-online { background:#38a169; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-unread { top:52px;background:#8b5cf6; }
.wechat-app[data-chat-ui="bubble"] .bubble-contact-avatar-name { width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:12px;font-weight:750;line-height:1.2; }
.wechat-app[data-chat-ui="bubble"] .chat-info .chat-name .bubble-msg-role { display:inline-block;margin-right:5px;padding:3px 7px;color:#fff;background:#8b5cf6;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1;vertical-align:1px; }
.wechat-app.wechat-app--chat-bubble .message-wrapper { width:100%!important;max-width:100%!important;height:auto!important;min-height:46px;max-height:none!important;position:relative;display:flex!important;flex:0 0 auto!important;align-items:stretch;gap:10px!important;margin:0!important;animation:wechatBubbleIn 210ms cubic-bezier(.22,.72,.22,1) both; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.other { flex-direction:row!important;justify-content:flex-start; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self { flex-direction:row-reverse!important;justify-content:flex-start; }
.wechat-app.wechat-app--chat-bubble .msg-avatar { width:42px!important;height:42px!important;position:static;align-self:flex-start;display:block;flex:0 0 42px;border:2px solid #8b5cf6!important;border-radius:50%!important;background:#ece8f7!important;box-shadow:0 0 0 2px rgba(139,92,246,.18),0 7px 18px rgba(65,47,107,.14)!important; }
.wechat-app.wechat-app--chat-bubble .msg-avatar img,.wechat-app.wechat-app--chat-bubble .msg-avatar-fallback { width:100%;height:100%;border-radius:50%!important; }
.wechat-app.wechat-app--chat-bubble .msg-avatar-fallback { display:grid;place-items:center;color:#6c45d9!important;background:#eeeafd!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .msg-avatar { display:none!important; }
.wechat-app.wechat-app--chat-bubble .msg-body { width:fit-content!important;min-width:0;height:auto!important;max-height:none!important;position:relative;display:flex;flex:0 0 auto!important;flex-direction:column;gap:0!important;overflow:visible!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.other .msg-body { max-width:min(58vw,230px)!important;margin-left:0;align-items:flex-start!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .msg-body { max-width:min(70vw,276px)!important;margin-left:0;align-items:flex-end!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="voice"] .msg-body { max-width:min(80vw,280px)!important; }
.wechat-app.wechat-app--chat-bubble .bubble-msg-identity { min-height:20px;margin:0 0 4px 7px;display:flex;align-items:center;gap:6px;color:#4b435c;font-size:11px;font-weight:650;line-height:1.2; }
.wechat-app.wechat-app--chat-bubble .bubble-msg-role { padding:3px 7px;color:#fff;background:#8b5cf6;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1; }
.wechat-app.wechat-app--chat-bubble .bubble-msg-name { max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.wechat-app.wechat-app--chat-bubble .msg-sender { display:none!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper .msg-bubble:not(.sticker):not(.image-bubble):not(.music-card):not(.red-packet):not(.transfer):not(.voice-bubble) { width:fit-content!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:12px 15px!important;display:block!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;border:1px solid rgba(255,255,255,.82)!important;font-size:15px!important;font-weight:450!important;line-height:1.48!important;box-sizing:border-box;backdrop-filter:none!important;-webkit-backdrop-filter:none!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper .msg-bubble:not(.sticker):not(.image-bubble):not(.music-card):not(.red-packet):not(.transfer):not(.voice-bubble)>p { width:auto!important;max-width:100%;height:auto!important;max-height:none!important;margin:0!important;overflow:visible!important;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.other .msg-bubble:not(.sticker):not(.image-bubble):not(.music-card):not(.red-packet):not(.transfer):not(.voice-bubble) { color:#24212a!important;background:#fff!important;border-radius:5px 20px 20px 20px!important;box-shadow:0 10px 24px rgba(69,51,117,.07)!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .msg-bubble:not(.sticker):not(.image-bubble):not(.music-card):not(.red-packet):not(.transfer):not(.voice-bubble) { color:#fff!important;background:linear-gradient(135deg,#9b76f1 0%,#8058ee 56%,#7047e1 100%)!important;border-color:rgba(255,255,255,.25)!important;border-radius:20px 20px 5px 20px!important;box-shadow:0 11px 25px rgba(105,70,211,.22)!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .msg-bubble a,.wechat-app.wechat-app--chat-bubble .message-wrapper.self .msg-bubble code { color:#fff!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="music_share"],.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="redpacket"],.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="transfer"] { height:auto!important;max-height:none!important;flex:0 0 auto!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="music_share"] .msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="redpacket"] .msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="transfer"] .msg-body { width:fit-content!important;max-width:100%!important;flex:0 0 auto!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="music_share"] .msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="redpacket"] .msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="transfer"] .msg-body { max-width:calc(100% - 52px)!important; }
.wechat-app.wechat-app--chat-bubble .msg-body>.msg-bubble.music-card { width:252px!important;flex:0 0 auto!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:none!important;box-sizing:border-box; }
.wechat-app.wechat-app--chat-bubble .msg-body>.msg-bubble.red-packet,.wechat-app.wechat-app--chat-bubble .msg-body>.msg-bubble.transfer { width:246px!important;flex:0 0 auto!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:none!important;box-sizing:border-box; }
.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="call"] .msg-body { width:min(var(--voice-width,224px),calc(100vw - 50px))!important;max-width:min(var(--voice-width,224px),calc(100vw - 50px))!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="call"] .msg-body { width:min(var(--voice-width,224px),calc(100% - 48px))!important;max-width:min(var(--voice-width,224px),calc(100% - 48px))!important; }
.wechat-app.wechat-app--chat-bubble .msg-body>.msg-bubble.wechat-call-card { width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important; }
#wechatApp.wechat-app--chat-bubble .message-wrapper .msg-body>.msg-bubble.wechat-call-card { width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important; }
#wechatApp .wechat-call-card>button { width:auto!important;min-width:176px;min-height:54px;display:flex;align-items:center;gap:10px;padding:10px 13px!important;color:var(--app-text)!important;background:var(--card-bg)!important;border:1px solid var(--divider)!important;border-radius:5px 18px 18px 18px!important;box-shadow:none!important;text-align:left;cursor:pointer; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .wechat-call-card>button { color:#fff!important;background:#111!important;border-color:#111!important;border-radius:18px 5px 18px 18px!important; }
#wechatApp .wechat-call-card>button>* { min-width:0; }
#wechatApp .wechat-call-card-icon { width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;color:currentColor;background:transparent;font-size:0;line-height:1; }
#wechatApp .wechat-call-card-icon svg { width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
#wechatApp .wechat-call-card>button>span { min-width:0; }
#wechatApp .wechat-call-card-state { display:flex;align-items:center;gap:6px;color:var(--app-subtext);font-size:12px; }
#wechatApp .wechat-call-card-state i { width:17px;height:17px;display:grid;place-items:center;font-style:normal; }
#wechatApp .wechat-call-card-state svg { width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
#wechatApp .wechat-call-card-state[data-call-state="ended"] { color:#18794e; }
#wechatApp .wechat-call-card-state[data-call-state="rejected"],#wechatApp .wechat-call-card-state[data-call-state="cancelled"] { color:#b42318; }
#wechatApp.wechat-app--chat-bubble .msg-meta { width:100%;min-height:13px;margin-top:4px!important;position:static!important;display:flex!important;align-self:stretch!important;flex:0 0 auto;align-items:center;gap:0;color:#aaa5b2!important;font-size:10px!important;font-weight:500!important;line-height:13px;white-space:nowrap;opacity:1!important;transform:none; }
#wechatApp.wechat-app--chat-bubble .message-wrapper.other .msg-meta { align-self:flex-start!important;margin-left:7px!important;left:auto!important;right:auto!important;justify-content:flex-start; }
#wechatApp.wechat-app--chat-bubble .message-wrapper.self .msg-meta { align-self:flex-end!important;margin-right:7px!important;left:auto!important;right:auto!important;justify-content:flex-end; }
#wechatApp.wechat-app--chat-bubble .message-wrapper.other[data-message-type="call"] .msg-meta { width:fit-content!important;align-self:flex-start!important;margin-left:7px!important;justify-content:flex-start!important; }
#wechatApp.wechat-app--chat-bubble .message-wrapper.self[data-message-type="call"] .msg-meta { width:fit-content!important;align-self:flex-end!important;margin-right:7px!important;justify-content:flex-end!important; }
.wechat-app.wechat-app--chat-bubble .msg-meta .cherry-read { display:none!important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.other .msg-body::after { content:none;display:none; }
.wechat-app.wechat-app--chat-bubble .msg-sender { margin:0 0 5px 7px;padding:0;color:#786b91!important;font-size:10px!important;font-weight:650!important; }
.wechat-app.wechat-app--chat-bubble .typing-indicator .dot { background:#9b76f1!important; }
.wechat-app.wechat-app--chat-bubble .msg-quote,.wechat-app.wechat-app--chat-bubble .msg-quote-strip,.wechat-app.wechat-app--chat-bubble .quote-compose-preview,.wechat-app.wechat-app--chat-bubble .msg-inline-result { color:#695b86!important;background:rgba(248,246,255,.94)!important;border-color:rgba(118,80,232,.14)!important; }
.wechat-app.wechat-app--chat-bubble .msg-quote { border-left:3px solid rgba(118,80,232,.42)!important;font-size:7.5px!important;line-height:1.28!important; }
.wechat-app.wechat-app--chat-bubble .msg-quote span { color:#4f4174!important;font-size:inherit!important; }
.wechat-app.wechat-app--chat-bubble .msg-bubble > .message-translation { margin:10px 0 0;padding:9px 0 0;color:#7952c4!important;background:transparent!important;border:0!important;border-top:1px solid rgba(118,80,232,.18)!important;border-radius:0!important;font-size:13px!important;line-height:1.45!important; }
.wechat-app.wechat-app--chat-bubble .msg-bubble.voice-bubble { width:min(var(--voice-width,224px),100%)!important;min-width:0!important;padding:0!important;color:#332b43!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important; }
.wechat-app.wechat-app--chat-bubble .voice-bar { width:100%;min-width:0!important;min-height:48px;padding:0 13px;display:flex;align-items:center;gap:10px;color:#4b3e68;background:#fff;border:1px solid rgba(118,80,232,.1);border-radius:6px 20px 20px 20px;box-shadow:0 10px 24px rgba(69,51,117,.07);cursor:pointer; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .voice-bar { color:#fff;background:#8058ee;border-color:rgba(255,255,255,.2);border-radius:20px 20px 6px 20px;box-shadow:0 11px 25px rgba(105,70,211,.22); }
.wechat-app.wechat-app--chat-bubble .voice-play-icon { width:0;height:0;flex:0 0 auto;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid currentColor;transform:translateX(1px); }
.wechat-app.wechat-app--chat-bubble .voice-play-icon.is-playing { width:10px;height:14px;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor;transform:none; }
.wechat-app.wechat-app--chat-bubble .voice-wave { min-width:0;flex:1;display:flex;align-items:center;justify-content:flex-end;gap:3px;height:24px;overflow:hidden; }
.wechat-app.wechat-app--chat-bubble .voice-wave i { width:3px;height:9px;display:block;border-radius:3px;background:currentColor;opacity:.72; }
.wechat-app.wechat-app--chat-bubble .voice-wave i:nth-child(2){height:15px}.wechat-app.wechat-app--chat-bubble .voice-wave i:nth-child(3){height:20px}.wechat-app.wechat-app--chat-bubble .voice-wave i:nth-child(4){height:12px}.wechat-app.wechat-app--chat-bubble .voice-wave i:nth-child(5){height:18px}.wechat-app.wechat-app--chat-bubble .voice-wave i:nth-child(6){height:11px}.wechat-app.wechat-app--chat-bubble .voice-wave i:nth-child(7){height:16px}
.wechat-app.wechat-app--chat-bubble .voice-bar.is-playing .voice-wave i { animation:voiceWavePulse 900ms ease-in-out infinite alternate; }
.wechat-app.wechat-app--chat-bubble .voice-bar.is-playing .voice-wave i:nth-child(2n) { animation-delay:-280ms; }
.wechat-app.wechat-app--chat-bubble .voice-duration { flex:0 0 auto;font-size:12px;font-variant-numeric:tabular-nums;opacity:.78; }
.wechat-app.wechat-app--chat-bubble .voice-audio { display:none!important; }
.wechat-app.wechat-app--chat-bubble .voice-transcript { margin-top:7px;padding:0 4px;color:#6d6380;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .voice-transcript { color:#8b7baa;text-align:right; }
@keyframes voiceWavePulse { from { transform:scaleY(.72);opacity:.52; } to { transform:scaleY(1.08);opacity:.95; } }
.wechat-app.wechat-app--chat-bubble .input-area { min-height:112px;padding:10px 14px calc(8px + var(--safe-bottom-inset,0px))!important;display:grid!important;grid-template-columns:42px 42px minmax(0,1fr) 52px;grid-template-rows:56px 34px;gap:6px 8px;align-items:center;color:#777181!important;background:rgba(250,249,255,.94)!important;border:0!important;box-shadow:0 -8px 26px rgba(68,50,118,.035)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important; }
.wechat-app.wechat-app--chat-bubble .input-area .msg-input { width:100%!important;min-width:0;min-height:56px!important;max-height:88px;grid-column:1/-1;grid-row:1;padding:16px 65px 16px 52px!important;color:#28242f!important;caret-color:#8058ee!important;background:#fff!important;border:1px solid rgba(105,84,158,.06)!important;border-radius:28px!important;box-shadow:0 10px 28px rgba(69,51,117,.07)!important;font-size:14px!important;line-height:1.45!important; }
.wechat-app.wechat-app--chat-bubble .input-area .msg-input::placeholder { color:#bbb6c4!important; }
.wechat-app.wechat-app--chat-bubble .bubble-voice-record-btn { width:32px!important;height:32px!important;min-width:32px!important;z-index:2;grid-column:1;grid-row:1;justify-self:center;display:grid;place-items:center;padding:0!important;color:#aaa5b2!important;background:transparent!important;border:0!important;border-radius:50%!important;box-shadow:none!important;touch-action:none; }
.wechat-app.wechat-app--chat-bubble .bubble-voice-record-btn .composer-icon { width:23px;height:23px; }
.wechat-app.wechat-app--chat-bubble .bubble-voice-record-btn .composer-icon svg { fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.wechat-app.wechat-app--chat-bubble .bubble-voice-record-btn.is-recording { color:#8058ee!important;background:rgba(128,88,238,.12)!important;transform:scale(1.08); }
.wechat-app.wechat-app--chat-bubble .input-area .send-btn { width:48px!important;height:48px!important;min-width:48px;z-index:2;grid-column:4;grid-row:1;justify-self:center;color:#fff!important;background:linear-gradient(145deg,#9b76f1,#754be4)!important;border:2px solid rgba(255,255,255,.7)!important;border-radius:50%!important;box-shadow:0 8px 20px rgba(105,70,211,.25)!important; }
.wechat-app.wechat-app--chat-bubble .input-area .send-btn .composer-icon { width:23px;height:23px; }
.wechat-app.wechat-app--chat-bubble .input-area .send-btn .composer-icon svg { fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.wechat-app.wechat-app--chat-bubble .input-area .send-btn:disabled { opacity:.48!important;filter:saturate(.6); }
.wechat-app.wechat-app--chat-bubble .input-area #chatImageBtn,.wechat-app.wechat-app--chat-bubble .input-area #plusMenuBtn { width:38px!important;height:34px!important;min-width:38px!important;z-index:2;grid-row:2;padding:0!important;color:#777181!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important; }
.wechat-app.wechat-app--chat-bubble .input-area #chatImageBtn { grid-column:1; }
.wechat-app.wechat-app--chat-bubble .input-area #plusMenuBtn { grid-column:2; }
.wechat-app.wechat-app--chat-bubble .input-area #chatImageBtn .composer-icon,.wechat-app.wechat-app--chat-bubble .input-area #plusMenuBtn .composer-icon { width:27px;height:27px; }
.wechat-app.wechat-app--chat-bubble .plus-menu { position:absolute!important;z-index:8;left:10px;right:10px;bottom:110px!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;padding:14px 10px 16px;color:#2d2934!important;background:rgba(252,251,255,.98)!important;border:1px solid rgba(105,84,158,.08)!important;border-radius:8px;box-shadow:0 16px 36px rgba(65,47,107,.12)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important; }
.wechat-app.wechat-app--chat-bubble .plus-menu-item .pmi-icon { color:#7047e1!important;background:#fff!important;border-color:rgba(118,80,232,.1)!important; }
.wechat-app.wechat-app--chat-bubble .plus-menu-item>span:last-child { display:block!important;color:#4b4455!important;opacity:1!important; }
.wechat-app.wechat-app--chat-bubble[data-wechat-view="group-chat"] .wechat-header { height:56px;min-height:56px;padding:0 12px;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px; }
.wechat-app.wechat-app--chat-bubble[data-wechat-view="group-chat"] .header-title { flex-direction:column!important;justify-content:center!important;text-align:center!important; }
.wechat-app.wechat-app--chat-bubble[data-wechat-view="group-chat"] .input-area { min-height:56px;padding:7px 9px calc(7px + var(--safe-bottom-inset,0px))!important;display:flex!important;flex-wrap:wrap;gap:7px;align-items:flex-end; }
.wechat-app.wechat-app--chat-bubble[data-wechat-view="group-chat"] .input-area .msg-input { width:auto!important;min-height:36px!important;max-height:92px;flex:1 1 120px;padding:8px 11px!important;border-radius:18px!important; }
.wechat-app.wechat-app--chat-bubble[data-wechat-view="group-chat"] .input-area .input-extra,.wechat-app.wechat-app--chat-bubble[data-wechat-view="group-chat"] .input-area .send-btn { width:36px!important;height:36px!important;min-width:36px;display:inline-flex!important;flex:0 0 36px; }
.wechat-app.wechat-app--chat-bubble[data-wechat-view="group-chat"] .plus-menu { bottom:56px!important; }
@media (max-width:380px) { .wechat-app.wechat-app--chat-bubble .wechat-header{height:98px;min-height:98px;padding:7px 10px;grid-template-columns:38px minmax(0,1fr) 34px 34px;gap:3px}.wechat-app.wechat-app--chat-bubble .bubble-header-avatar{width:44px;height:44px;flex-basis:44px}.wechat-app.wechat-app--chat-bubble .bubble-header-copy strong{font-size:16px!important}.wechat-app.wechat-app--chat-bubble .bubble-language-menu{top:78px;right:7px}.wechat-app.wechat-app--chat-bubble .messages-area{gap:22px!important;padding:20px 12px 18px!important}.wechat-app.wechat-app--chat-bubble .msg-avatar{width:36px!important;height:36px!important;flex-basis:36px}.wechat-app.wechat-app--chat-bubble .message-wrapper.other .msg-body{max-width:57vw!important;margin-left:0}.wechat-app.wechat-app--chat-bubble .message-wrapper.self .msg-body{max-width:66vw!important}.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="call"] .msg-body{max-width:min(274px,calc(100vw - 38px))!important}.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="call"] .msg-body{max-width:min(274px,calc(100% - 44px))!important}.wechat-app.wechat-app--chat-bubble .wechat-call-card>button{grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;padding:22px 13px 22px 20px;min-height:100px}.wechat-app.wechat-app--chat-bubble .wechat-call-card>button::before{inset:10px}.wechat-app.wechat-app--chat-bubble .wechat-call-card-icon{width:40px;height:40px;font-size:20px}.wechat-app.wechat-app--chat-bubble .wechat-call-card strong{font-size:17px}.wechat-app.wechat-app--chat-bubble .wechat-call-card small{margin-top:5px;font-size:13px}.wechat-app.wechat-app--chat-bubble .wechat-call-card-arrow{font-size:27px}.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="music_share"] .msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="redpacket"].msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper[data-message-type="transfer"] .msg-body{max-width:100%!important}.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="music_share"] .msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="redpacket"] .msg-body,.wechat-app.wechat-app--chat-bubble .message-wrapper.other[data-message-type="transfer"] .msg-body{max-width:calc(100% - 44px)!important}.wechat-app.wechat-app--chat-bubble .message-wrapper{gap:8px!important}.wechat-app.wechat-app--chat-bubble .input-area{min-height:102px;padding-left:9px!important;padding-right:9px!important;grid-template-columns:38px 38px minmax(0,1fr) 48px;grid-template-rows:52px 32px;gap:5px}.wechat-app.wechat-app--chat-bubble .input-area .msg-input{min-height:52px!important;padding-left:45px!important;padding-right:58px!important}.wechat-app.wechat-app--chat-bubble .input-area .send-btn{width:44px!important;height:44px!important;min-width:44px}.wechat-app.wechat-app--chat-bubble .plus-menu{bottom:101px!important} }

/* 通话消息沿用语音条气泡，不使用独立白色卡片。 */
.wechat-app.wechat-app--chat-bubble .msg-body > .msg-bubble.wechat-call-card { width: min(var(--voice-width, 224px), 100%) !important; min-width: 0 !important; max-width: 100% !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.wechat-app.wechat-app--chat-bubble .wechat-call-card > button { width: 100% !important; min-width: 0 !important; min-height: 48px !important; display: flex !important; align-items: center !important; gap: 10px !important; padding: 0 13px !important; border: 1px solid rgba(118,80,232,.1) !important; border-radius: 6px 20px 20px 20px !important; color: #4b3e68 !important; background: #fff !important; box-shadow: 0 10px 24px rgba(69,51,117,.07) !important; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .wechat-call-card > button { color: #fff !important; background: #8058ee !important; border-color: rgba(255,255,255,.2) !important; border-radius: 20px 20px 6px 20px !important; box-shadow: 0 11px 25px rgba(105,70,211,.22) !important; }
.wechat-app.wechat-app--chat-bubble .wechat-call-card-icon { width: 24px !important; height: 24px !important; flex-basis: 24px !important; }
.wechat-app.wechat-app--chat-bubble .wechat-call-card-icon svg { width: 21px !important; height: 21px !important; }
.wechat-app.wechat-app--chat-bubble .wechat-call-card-state { gap: 5px; font-size: 12px; color: #76688e; }
.wechat-app.wechat-app--chat-bubble .message-wrapper.self .wechat-call-card-state { color: rgba(255,255,255,.78); }
@media (max-height:640px) { .wechat-app.wechat-app--chat-bubble .wechat-header{height:84px;min-height:84px}.wechat-app.wechat-app--chat-bubble .messages-area{gap:17px!important;padding-top:14px!important}.wechat-app.wechat-app--chat-bubble .input-area{min-height:94px;grid-template-rows:48px 30px}.wechat-app.wechat-app--chat-bubble .input-area .msg-input{min-height:48px!important}.wechat-app.wechat-app--chat-bubble .plus-menu{bottom:93px!important} }
@media (max-width:380px), (max-height:640px) {
  .wechat-app.wechat-app--chat-bubble .wechat-call-card>button { width:auto!important;min-width:164px;min-height:52px;grid-template-columns:none;gap:10px;padding:8px 13px!important;border-radius:5px 18px 18px 18px!important; }
  .wechat-app.wechat-app--chat-bubble .wechat-call-card-icon { width:24px;height:24px;flex-basis:24px;font-size:0; }
  .wechat-app.wechat-app--chat-bubble .wechat-call-card-icon svg { width:22px;height:22px; }
  .wechat-app.wechat-app--chat-bubble .wechat-call-card strong { font-size:14px; }
  .wechat-app.wechat-app--chat-bubble .wechat-call-card small { margin-top:3px;font-size:11px; }
  .wechat-app.wechat-app--chat-bubble .message-wrapper.self .wechat-call-card>button { border-radius:18px 5px 18px 18px!important; }
}
@media (prefers-reduced-motion:reduce) { .wechat-app.wechat-app--chat-bubble .message-wrapper,.wechat-app.wechat-app--chat-bubble button{animation:none!important;transition:none!important} }
.bubble-subtitle-overlay .bubble-subtitle-sheet { width:calc(100% - 36px);max-width:360px;padding:14px; }
.bubble-subtitle-overlay .bubble-subtitle-sheet input { width:100%;height:46px;margin:8px 0 14px;padding:0 13px;color:#28242f;background:#f8f7fc;border:1px solid rgba(105,84,158,.14);border-radius:8px;box-sizing:border-box;font:14px/1.2 inherit;outline:0; }
.bubble-subtitle-overlay .bubble-subtitle-sheet input:focus { border-color:rgba(121,82,232,.5);box-shadow:0 0 0 3px rgba(121,82,232,.1); }
.bubble-subtitle-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.bubble-subtitle-actions button { min-height:44px;border:0;border-radius:8px;font:600 14px/1 inherit; }
.bubble-subtitle-actions button:first-child { color:#6f687a;background:#f0eef5; }
.bubble-subtitle-actions button:last-child { color:#fff;background:#7952e8; }
