.call-window{position:fixed;right:24px;bottom:24px;z-index:110;width:min(360px,calc(100vw - 32px));padding:20px;border:1px solid var(--line2);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 18px 60px rgb(0 0 0 / 24%)}
.call-window[hidden]{display:none}
.call-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px;min-width:0}
.call-heading>div{min-width:0;flex:1}
.call-avatar{width:48px;height:48px;flex:none;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:50%;font-size:1.35rem;font-weight:700}
.call-heading h2{margin:2px 0 4px;font-size:1.2rem;overflow-wrap:anywhere}
.call-heading p{margin:0;color:var(--muted);font-size:.875rem}
.call-window[data-phase="incoming"] .call-avatar{animation:callRing 1.4s ease-in-out infinite}
.call-window time{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums;text-align:center;margin:0 0 16px}
.call-window time[hidden]{display:none}
.call-actions{display:flex;flex-wrap:wrap;gap:8px}
.call-actions .btn{flex:1;min-height:44px}
.call-window .btn.danger{background:color-mix(in srgb,var(--red) 10%,var(--panel));border-color:color-mix(in srgb,var(--red) 40%,var(--line));color:var(--red)}
.call-window .text-btn{margin-top:12px}
@keyframes callRing{50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--accent) 12%,transparent)}}
@media(max-width:600px){.call-window{right:16px;bottom:calc(84px + env(safe-area-inset-bottom));padding:16px}}
@media(prefers-reduced-motion:reduce){.call-window .call-avatar{animation:none}}
