.voiceCallOverlay{position:fixed;inset:0;z-index:2147483000;display:none;align-items:stretch;justify-content:center;background:#111;color:#fff;font-family:inherit;overscroll-behavior:none;touch-action:manipulation}
.voiceCallOverlay.is-open{display:flex}
.voiceCallPanel{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(54px,env(safe-area-inset-top)) 24px max(38px,env(safe-area-inset-bottom));box-sizing:border-box;background:linear-gradient(180deg,#222 0%,#111 55%,#090909 100%)}
.voiceCallPeer{display:flex;flex-direction:column;align-items:center;min-width:0;width:100%}
.voiceCallAvatarTimer{--voice-call-ring-progress:0;position:relative;width:116px;height:116px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:28px;background:transparent}.voiceCallAvatarTimer.is-counting{background:conic-gradient(#58aaf7 calc(var(--voice-call-ring-progress) * 1%),rgba(255,255,255,.14) 0)}.voiceCallAvatarTimer.is-counting::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#171717;z-index:0}.voiceCallAvatar{position:relative;z-index:1;width:108px;height:108px;border-radius:50%;overflow:hidden;background:#383838;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:600;box-shadow:0 10px 38px rgba(0,0,0,.26)}
.voiceCallAvatar img{width:100%;height:100%;object-fit:cover;display:block}
.voiceCallName{margin-top:20px;max-width:88%;font-size:24px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.voiceCallStatus{margin-top:10px;font-size:15px;font-weight:400;color:rgba(255,255,255,.74)}
.voiceCallControls{width:min(100%,360px);display:flex;align-items:flex-start;justify-content:space-between;gap:0;padding:0 8px 10px;box-sizing:border-box}
.voiceCallBtn{width:64px;height:64px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:#333;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .12s ease,filter .12s ease,opacity .12s ease,box-shadow .12s ease;will-change:transform}
.voiceCallBtn:active{transform:scale(.88);filter:brightness(.88);opacity:.9;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14)}
@media (hover:hover){.voiceCallBtn:hover{filter:brightness(1.08)}}
.voiceCallBtn svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.voiceCallBtn.is-active{background:#f2f2f2;color:#111}
.voiceCallBtn--end,.voiceCallBtn--decline{background:#e5484d}
.voiceCallBtn--accept{background:#2fb344}
.voiceCallBtnLabel{display:flex;flex:0 0 84px;flex-direction:column;align-items:center;gap:9px;font-size:13px;color:rgba(255,255,255,.82);text-align:center}
.voiceCallIncomingControls{display:none;align-items:center;justify-content:center;gap:62px;width:100%}
.voiceCallOverlay.is-incoming .voiceCallIncomingControls{display:flex}
.voiceCallOverlay.is-incoming .voiceCallActiveControls{display:none}
.voiceCallRemoteAudio{position:absolute;width:1px;height:1px;opacity:.001;pointer-events:none}
@media (min-width:700px){.voiceCallPanel{max-width:460px;min-height:min(760px,100%);margin:auto;border-radius:22px}.voiceCallOverlay{padding:20px}.voiceCallAvatarTimer{margin-top:36px}}

@media (max-width:360px){.voiceCallControls{width:100%;padding-left:4px;padding-right:4px}.voiceCallBtnLabel{flex-basis:76px}.voiceCallBtn{width:60px;height:60px}}

.voiceCallPhoneIcon{width:28px;height:28px}
.voiceCallPhoneIcon--hangup{transform:rotate(135deg)}
