/* WeChat owns this surface. Never use the phone desktop's --sea-* tokens. */
#video-call-page.wechat-phone {background:var(--theme-panel-bg,var(--wx-bg)) !important;color:var(--theme-text-main,var(--wx-text));}
.wechat-phone .call-overlay {height:100%;background:transparent;color:inherit;padding-top:env(safe-area-inset-top);}
.wechat-phone .call-top-bar {position:relative;flex-shrink:0;height:52px;background:transparent;color:inherit;padding:0 20px;}
.wechat-phone .call-minimize-btn,.wechat-phone .call-timer {color:inherit;}
.phone-heading {display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 20px 12px;flex-shrink:0;text-align:center;z-index:2;}
.phone-heading strong {font-size:21px;font-weight:600;}
#phone-status {font-size:12px;line-height:1.5;color:var(--wx-text-sub);max-width:100%;overflow-wrap:anywhere;}
.wechat-phone .call-content-area {min-height:90px;}
.wechat-phone .video-bg-placeholder {opacity:.2 !important;pointer-events:none;}
#phone-sky {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
#phone-camera {position:absolute;right:16px;top:8px;width:84px;height:112px;object-fit:cover;border-radius:20px;border:1px solid var(--theme-panel-border,var(--wx-sep));z-index:3;box-shadow:var(--wx-shadow-sm);background:var(--wx-card);}
#phone-camera[hidden],#phone-screen,.wechat-phone [hidden] {display:none !important;}
.wechat-phone .call-text-stream {padding:128px 18px 20px;gap:16px;}
.wechat-phone .call-bubble {text-shadow:none;border:1px solid var(--theme-panel-border,var(--wx-sep));padding:12px 16px;max-width:88%;font-size:15px;line-height:1.65;backdrop-filter:none;}
.wechat-phone .call-bubble.ai {background:var(--phone-them-bg,var(--bubble-them-bg,var(--nim-them-bg,var(--wx-card))));color:var(--phone-them-color,var(--bubble-them-color,var(--nim-them-color,var(--wx-text))));border-radius:var(--phone-them-radius,var(--bubble-them-radius-first,20px 20px 20px 8px));box-shadow:var(--bubble-them-shadow,var(--wx-shadow-sm));}
.wechat-phone .call-bubble.user {background:var(--phone-me-bg,var(--bubble-me-bg,var(--nim-me-bg,var(--wx-active))));color:var(--phone-me-color,var(--bubble-me-color,var(--nim-me-color,var(--wx-text))));border-radius:var(--phone-me-radius,var(--bubble-me-radius-first,20px 20px 8px 20px));box-shadow:var(--bubble-me-shadow,var(--wx-shadow-sm));}
.wechat-phone .call-sys-msg {background:var(--wx-card);color:var(--wx-text-sub);font-size:12px;text-align:center;}
.wechat-phone .call-bottom-area {background:var(--theme-panel-bg,var(--wx-bg));gap:12px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--theme-panel-border,var(--wx-sep));}
#phone-controls {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
#phone-controls button {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:56px;padding:8px 2px;border:1px solid var(--theme-panel-border,var(--wx-sep));border-radius:18px;background:var(--wx-card);color:inherit;cursor:pointer;transition:transform .2s,background .2s;}
#phone-controls i {font-size:17px;}#phone-controls span {font-size:10px;white-space:nowrap;}
#phone-controls button[aria-pressed=true] {background:var(--phone-me-bg,var(--bubble-me-bg,var(--wx-active)));color:var(--bubble-me-color,var(--wx-text));}
#phone-controls button:active,#phone-hold:active {transform:scale(.94);}#phone-controls button:disabled {opacity:.5;}
#phone-hold {touch-action:none;user-select:none;min-height:44px;border:1px solid var(--theme-panel-border,var(--wx-sep));border-radius:18px;background:var(--wx-card);color:inherit;font-size:14px;transition:transform .2s;}
.phone-model {display:flex;align-items:center;gap:12px;font-size:11px;color:var(--wx-text-sub);}
#phone-model {min-width:0;flex:1;border:1px solid var(--theme-panel-border,var(--wx-sep));border-radius:12px;padding:8px 12px;background:var(--wx-input-bg);color:var(--wx-text);font-size:12px;}
.wechat-phone .call-input-wrapper {background:var(--wx-input-bg);border:1px solid var(--theme-panel-border,var(--wx-sep));border-radius:18px;}
.wechat-phone #call-input-text {color:var(--wx-text);background:transparent;}
.wechat-phone #call-send-btn {background:var(--wx-active);color:var(--wx-text);border:0;border-radius:12px;padding:8px 12px;}
.wechat-phone .call-hangup-btn {width:48px;height:48px;border-radius:50%;background:var(--wx-red);color:var(--wx-card);display:flex;align-items:center;justify-content:center;}
.wechat-phone .call-action-wrapper>span {color:var(--wx-text-sub) !important;}
#mini-call-float {background:var(--theme-panel-bg,var(--wx-card));color:var(--theme-text-main,var(--wx-text));border:1px solid var(--theme-panel-border,var(--wx-sep));border-radius:24px;box-shadow:var(--wx-shadow-md);}
#mini-call-timer {color:inherit;}
@media(max-width:360px){#phone-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}#phone-controls button{min-height:42px;flex-direction:row;} .wechat-phone .call-bottom-area{padding-top:10px;gap:8px;} .phone-heading{padding:4px 16px;}}
@media(prefers-reduced-motion:reduce){#phone-sky{display:none;}#phone-controls button,#phone-hold{transition:none;}}

/* Official WeChat 8.0.77 incoming-call layout; connected call remains WeChat-theme driven. */
#incoming-call-modal.wechat-official-incoming {background:#2c3035 !important;color:#fff !important;}
#incoming-call-modal.wechat-official-incoming .incoming-call-content {height:100%;justify-content:flex-start;padding:calc(88px + env(safe-area-inset-top)) 32px calc(52px + env(safe-area-inset-bottom));color:#fff !important;}
#incoming-call-modal.wechat-official-incoming .incoming-avatar {width:88px !important;height:88px !important;border-radius:12px !important;margin-bottom:24px !important;background:#4a4e53;overflow:hidden;box-shadow:none;}
#incoming-call-modal.wechat-official-incoming .incoming-name {max-width:100%;font-size:24px;font-weight:500;line-height:1.4;text-align:center;overflow-wrap:anywhere;color:#fff !important;}
#incoming-call-modal.wechat-official-incoming .incoming-type {margin-top:12px;margin-bottom:0;font-size:15px;line-height:1.5;text-align:center;color:rgba(255,255,255,.68) !important;}
#incoming-call-modal.wechat-official-incoming .incoming-actions {width:min(100%,320px);margin-top:auto;padding-top:40px;display:flex;justify-content:space-between;gap:40px;}
#incoming-call-modal.wechat-official-incoming .action-btn-group {display:flex;flex-direction:column;align-items:center;gap:14px;}
#incoming-call-modal.wechat-official-incoming .action-btn-group button {width:64px;height:64px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:none;transition:transform .18s;}
#incoming-call-modal.wechat-official-incoming #reject-call-btn {background:#fa5151 !important;color:#fff !important;}
#incoming-call-modal.wechat-official-incoming #accept-call-btn {background:#07c160 !important;color:#fff !important;animation:none;}
#incoming-call-modal.wechat-official-incoming .action-btn-group i,#incoming-call-modal.wechat-official-incoming .action-btn-group span {color:#fff !important;}
#incoming-call-modal.wechat-official-incoming .action-btn-group span {font-size:14px;}
#incoming-call-modal.wechat-official-incoming .action-btn-group button:active {transform:scale(.93);}
