/* Native Bumzu call rooms: scoped so card, login and profile layouts stay independent. */
#callRoot:not([data-mode]) .native-call-header,#callRoot:not([data-mode]) .native-call-portrait,#callRoot:not([data-mode]) .native-call-waiting,#callRoot:not([data-mode]) .native-call-error{display:none!important;}
body.native-call-active #vcOverlay{position:fixed!important;inset:0!important;padding:0!important;background:#070810!important;z-index:2147483100!important;opacity:1!important;visibility:visible!important;display:flex!important;align-items:stretch!important;}
body.native-call-active #vcOverlay>.vc-sheet{position:relative!important;inset:auto!important;transform:none!important;transition:none!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#070810!important;}
body.native-call-active #callRoot{position:absolute!important;inset:0!important;height:100%!important;max-height:none!important;width:100%!important;display:block!important;border-radius:0!important;overflow:hidden!important;background:#070810!important;color:#fff;color-scheme:dark;}
body.native-call-active .vc-header,body.native-call-active .vc-profile,body.native-call-active .vc-actions,body.native-call-active #callWait,body.native-call-active .voice-call-stage{display:none!important;}
body.native-call-active #remoteVideo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:0!important;background:#070810!important;z-index:1!important;}
.native-call-header{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:18px;right:18px;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;}
.native-call-heading{min-width:0;display:flex;flex-direction:column;gap:3px;}
.native-call-brand{font-size:10px;letter-spacing:2px;font-weight:900;color:#ef1672;line-height:1.3;}
.native-call-title{font-size:23px;font-weight:800;line-height:1.2;}
.native-call-name{font-size:32px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;}
.native-call-status{align-self:start;display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;border:1px solid #ffffff14;background:#ffffff0d;border-radius:18px;padding:8px 10px;max-width:150px;}
.native-call-status:before{content:'';width:7px;height:7px;border-radius:50%;background:#ef1672;flex:none;}
[data-phase=connected] .native-call-status:before{background:#2fcd60;}
.native-call-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.native-call-metrics>div{min-width:0;display:flex;flex-direction:column;gap:4px;background:#ffffff0d;border:1px solid #ffffff0d;border-radius:14px;padding:10px 11px;}
.native-call-metrics [data-label]{text-transform:uppercase;font-size:9px;letter-spacing:.5px;color:#ffffff90;}
.native-call-metrics [data-value]{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.native-call-portrait{position:absolute;top:calc(env(safe-area-inset-top,0px) + 174px);left:18px;right:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 111px);border-radius:28px;overflow:hidden;z-index:2;background:#1d1e26;}
.native-call-portrait>img{width:100%;height:100%;object-fit:cover;}
.native-call-shade{position:absolute;inset:0;background:linear-gradient(transparent 40%,#0003 65%,#000d);}
.native-call-clock{position:absolute;bottom:36px;left:0;right:0;text-align:center;font-size:48px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1;}
.native-call-waiting{position:absolute;inset:100px 22px 115px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;pointer-events:none;}
.native-call-waiting>img{width:126px;height:126px;object-fit:cover;border-radius:50%;border:4px solid #ef1672;box-shadow:0 0 28px #ef167240;}
.native-call-waiting>strong{font-size:29px;line-height:1.2;}
.native-call-wait-copy{font-size:15px;color:#ffffffb0;max-width:280px;}
.native-call-countdown{font-size:38px;line-height:1.2;font-variant-numeric:tabular-nums;}
body.native-call-active #localVideo{position:absolute!important;top:calc(env(safe-area-inset-top,0px) + 84px);right:16px;left:auto;bottom:auto!important;width:108px!important;min-width:0!important;max-width:none!important;height:150px!important;aspect-ratio:auto!important;border-radius:20px!important;border:1px solid #ffffff99;background:#17181f;z-index:6!important;overflow:hidden!important;box-shadow:0 6px 20px #0005;}
body.native-call-active #localVideo:empty{visibility:hidden;}
body.native-call-active #callRoot[data-mode=voice] #localVideo,body.native-call-active #callRoot[data-mode=voice] #remoteVideo,body.native-call-active #callRoot[data-mode=voice] .native-call-waiting,body.native-call-active #callRoot[data-mode=video] .native-call-portrait{display:none!important;}
body.native-call-active #callRoot[data-mode=video] .native-call-header{left:14px;right:14px;background:#0f1016b8;border:1px solid #ffffff16;border-radius:20px;padding:10px 13px;grid-template-columns:1fr auto;gap:4px 12px;}
[data-mode=video] .native-call-title{font-size:12px;}
[data-mode=video] .native-call-name{font-size:17px;margin-top:1px;}
[data-mode=video] .native-call-status{font-size:11px;padding:0;background:none;border:0;grid-column:1;grid-row:2;}
[data-mode=video] .native-call-metrics{grid-row:1/3;grid-column:2;display:flex;flex-direction:column;justify-content:center;gap:3px;text-align:right;}
[data-mode=video] .native-call-metrics>div{padding:0;border:0;background:none;}
[data-mode=video] .native-call-metrics>div:nth-child(2),[data-mode=video] .native-call-metrics [data-label]{display:none;}
[data-mode=video] .native-call-metrics [data-value=rate]{font-size:11px;color:#ffffffa8;}
[data-mode=video][data-phase=connected] .native-call-header:after{content:attr(data-clock);grid-column:1;grid-row:2;font-size:13px;font-variant-numeric:tabular-nums;}
[data-mode=video][data-phase=connected] .native-call-status{display:none;}
[data-mode=video][data-phase=connected] .native-call-waiting{display:none;}
body.native-call-active #callRoot .call-controls{position:absolute!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(env(safe-area-inset-bottom,0px) + 16px)!important;transform:translateX(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:max-content!important;max-width:calc(100% - 20px)!important;padding:10px!important;border:1px solid #ffffff20!important;border-radius:48px!important;background:#22232ad9!important;backdrop-filter:blur(18px);z-index:10!important;box-shadow:none!important;}
body.native-call-active #callRoot .call-control{flex:0 0 auto!important;width:48px!important;height:48px!important;min-width:0!important;padding:12px!important;border:1px solid #ffffff40!important;border-radius:50%!important;background:#26272ee6!important;color:#fff!important;box-shadow:0 3px 8px #0004!important;display:flex;align-items:center;justify-content:center;}
body.native-call-active #callRoot .call-control:disabled{opacity:.38;}
body.native-call-active #callRoot .call-control.is-off{background:#69262b!important;}
body.native-call-active #callRoot .call-control[hidden]{display:none!important;}
body.native-call-active #callRoot .call-control svg,body.native-call-active #callRoot .call-control img{width:24px!important;height:24px!important;max-width:100%;object-fit:contain;}
body.native-call-active #callRoot #hangup{width:64px!important;height:64px!important;background:#ff3e46!important;border-color:#ff6670!important;padding:17px!important;}
body.native-call-active #callRoot[data-mode=voice] .call-controls{background:none!important;border:0!important;gap:24px!important;padding:0!important;backdrop-filter:none;}
body.native-call-active #callRoot[data-mode=voice] .call-control{width:60px!important;height:60px!important;padding:16px!important;}
body.native-call-active #callRoot[data-mode=voice] #hangup{width:76px!important;height:76px!important;padding:21px!important;}
body.native-call-active #callRoot[data-mode=voice] #toggleMic{order:0;}
body.native-call-active #callRoot[data-mode=voice] #hangup{order:1;}
body.native-call-active #callRoot[data-mode=voice] #toggleSpeaker{order:2;}
.native-call-error{position:absolute;z-index:8;left:20px;right:20px;top:45%;padding:22px;border-radius:20px;background:#161720f5;text-align:center;border:1px solid #ffffff20;font-size:16px;line-height:1.5;}
.native-call-error[hidden]{display:none;}
#callRoot[data-phase=error] .native-call-waiting{display:none;}
body.native-call-active #connectOverlay,body.native-call-active #voiceConnectOverlay{display:none!important;}
/* The alert request itself replaces the generic unavailable message. */
#bumzuUnavailableOverlay.native-availability-alert .bumzu-unavailable-card h2{font-size:23px;line-height:1.2;}
#bumzuUnavailableOverlay.native-availability-alert .bumzu-unavailable-copy{font-size:15px;line-height:1.5;}
.native-alert-cost{display:block;font-size:13px;font-weight:700;margin:0 0 14px;color:#64646e;}
#bumzuUnavailableOverlay.native-availability-alert .bumzu-unavailable-primary{background:#ef1672!important;}
/* Full-room chat, matching the light native conversation view. */
#chatOverlay{padding:0!important;align-items:stretch!important;background:#ececee!important;}
#chatOverlay .chat-shell{width:100%!important;max-width:none!important;height:100%!important;border:0!important;border-radius:0!important;background:#ececee!important;}
#chatOverlay .chat-topbar{background:#fff!important;padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px!important;gap:8px;min-height:72px;flex:none;}
#chatOverlay .chat-host-avatar{width:48px;height:48px;}
#chatOverlay .chat-host-name{font-size:18px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw;}
#chatOverlay .chat-top-actions{display:grid;grid-template-columns:36px 36px;gap:4px 6px;}
#chatOverlay .chat-hostbox{flex:1;min-width:0;}
#chatOverlay .chat-top-actions{flex:0 0 82px;justify-content:center;}
#chatOverlay .chat-icon-btn,#chatOverlay .chat-close-btn{width:36px!important;height:36px!important;border-radius:14px!important;padding:8px!important;display:flex;align-items:center;justify-content:center;}
#chatOverlay .chat-close-btn{background:#fff!important;color:#141418!important;border:1px solid #bfc0c6!important;}
#chatOverlay #chatStreamBtn:not(:disabled){background:#23be65!important;color:#fff!important;border-color:#23be65!important;}
#chatOverlay #chatStreamBtn.is-live{background:#ed434b!important;}
#chatOverlay .chat-credits{grid-column:1/-1;font-size:9px!important;line-height:1.3;color:#1ba457!important;white-space:nowrap;padding:0!important;background:none!important;text-align:center;}
#chatOverlay .chat-footer{padding:7px 10px calc(env(safe-area-inset-bottom,0px) + 8px)!important;background:#fff!important;flex:none;}
#chatOverlay .chat-input{border-radius:22px!important;background:#f8f8f9!important;border:1px solid #cacbd0!important;color:#161619!important;min-height:48px;}
#chatOverlay .chat-send-btn{width:48px;height:48px;border-radius:50%;background:#ef1672;color:#fff;border:0;}
#chatOverlay .chat-system-state{background:transparent;border:0;padding:18px 20px;font-size:13px;text-align:center;color:#707178;}
#chatOverlay .chat-accept-countdown{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;}
#chatOverlay .chat-accept-countdown strong{background:#fff;border-radius:10px;padding:5px 8px;font-variant-numeric:tabular-nums;}
#chatOverlay .chat-messages{min-height:0;flex:1;background:#ececee;}
#chatOverlay .chat-bubble{border-radius:17px;}
@media(max-width:359px){body.native-call-active #callRoot .call-controls{gap:5px!important;padding:8px!important;}body.native-call-active #callRoot .call-control{width:42px!important;height:42px!important;padding:9px!important;}body.native-call-active #callRoot #hangup{width:58px!important;height:58px!important;}.native-call-header{left:14px;right:14px;}.native-call-name{font-size:27px;}}
@media(max-height:650px){.native-call-title{font-size:20px;}.native-call-name{font-size:27px;}.native-call-header{gap:6px;top:calc(env(safe-area-inset-top,0px) + 8px);}.native-call-portrait{top:calc(env(safe-area-inset-top,0px) + 152px);bottom:calc(env(safe-area-inset-bottom,0px) + 96px);}.native-call-clock{font-size:40px;bottom:24px;}.native-call-waiting>img{width:96px;height:96px;}.native-call-waiting>strong{font-size:25px;}.native-call-waiting{gap:10px;}body.native-call-active #callRoot[data-mode=voice] #hangup{width:68px!important;height:68px!important;}}
@media(prefers-reduced-motion:reduce){body.native-call-active *{transition:none!important;}}

/* The handset fills the red control instead of occupying a small strip. */
body.native-call-active #callRoot #hangup{padding:10px!important;}
body.native-call-active #callRoot #hangup svg{width:40px!important;height:40px!important;flex:none;}
body.native-call-active #callRoot[data-mode=voice] #hangup{padding:12px!important;}
body.native-call-active #callRoot[data-mode=voice] #hangup svg{width:46px!important;height:46px!important;}
#chatStreamPreview[data-stage=preparing]:after{content:attr(data-label);position:absolute;left:6px;right:6px;bottom:8px;background:#070810d9;color:#fff;padding:6px 8px;border-radius:8px;text-align:center;font-size:11px;z-index:5;}
#chatStreamBtn.is-loading{opacity:.7;}
@media(max-height:450px){
 body.native-call-active #callRoot[data-mode=video] .native-call-waiting{inset:122px 144px 108px 20px;display:grid;grid-template-columns:64px minmax(0,1fr);align-content:center;justify-content:center;gap:6px 14px;max-width:420px;margin:0 auto;}
 #callRoot[data-mode=video] .native-call-waiting>img{width:64px;height:64px;grid-row:1/3;}
 #callRoot[data-mode=video] .native-call-waiting>strong{display:none;}
 #callRoot[data-mode=video] .native-call-wait-copy{font-size:12px;align-self:end;}
 #callRoot[data-mode=video] .native-call-countdown{font-size:26px;align-self:start;}
 body.native-call-active #callRoot[data-mode=video][data-phase=connected] .native-call-waiting{display:none;}
}
