.call-launch{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #bde5ef;background:#e7f8fb;border-radius:12px;color:#078bb0;min-height:40px;padding:8px 10px}.call-dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;border:1px solid #c7e6ee;border-radius:24px;background:#f5fbff;color:var(--ink)}.call-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.call-heading h2{font-size:19px;margin:0}.call-heading p{color:#648498;margin:5px 0 0;font-size:12px}.call-end{border:0;background:#e05658;color:white;font-weight:700;border-radius:12px;min-height:44px;padding:10px 17px}.call-streams{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.call-tile{position:relative;aspect-ratio:16/10;background:#e2f2f8;overflow:hidden;border-radius:18px;display:grid;place-items:center;isolation:isolate}.call-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.call-tile.local video{transform:scaleX(-1)}.call-person-avatar{font-size:34px;font-weight:700;color:#4e9fba}.call-person-avatar img{width:60px;height:60px;border-radius:50%}.call-person-name{position:absolute;left:10px;bottom:10px;border-radius:9px;padding:6px 10px;background:#174c60b3;color:white;font-size:12px}.call-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 12px}.call-controls select{max-width:230px}.call-controls button[aria-pressed=true]{background:#d8f8eb;color:#147d63}.call-note{font-size:11px;color:#6b8799;margin:0}@media(max-width:600px){.call-dialog{padding:16px;border-radius:20px}.call-streams{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.call-tile:first-child{grid-column:1/-1}.call-tile{aspect-ratio:3/4}.call-tile:first-child{aspect-ratio:16/10}.call-controls button{font-size:12px;padding:9px}.call-controls select{width:100%;max-width:none}.call-controls .choice-trigger{width:100%}}
.call-dialog.is-ringing{width:min(420px,calc(100vw - 24px));height:min(720px,calc(100vh - 24px));height:min(720px,calc(100dvh - 24px));max-height:none;padding:0;border:0;border-radius:32px;overflow:hidden;color:#fff;background:radial-gradient(120% 55% at 50% 0,#ffffff38,transparent 62%),radial-gradient(90% 45% at 50% 100%,#52ddb066,transparent 72%),linear-gradient(165deg,#2088ec 0%,#27b2e0 52%,#40d2a8 100%);box-shadow:0 30px 90px #0b4a6a59}
.call-dialog.is-ringing[open]{display:flex;flex-direction:column}.call-dialog.is-ringing::backdrop{background:#0b2f42a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.call-dialog.is-ringing .form-error{margin:0 20px 20px;padding:10px 12px;border-radius:12px;background:#fff}
.call-ringing{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(28px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom));overflow-y:auto}.call-ringing>*{flex-shrink:0}
.call-ring-brand{margin:0;font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;opacity:.8}.call-ring-type{margin:10px 0 0;padding:6px 13px;border-radius:999px;border:1px solid #ffffff40;background:#ffffff26;font-size:13px;font-weight:600}
.call-ring-portrait{position:relative;flex:0 0 auto;display:grid;place-items:center;width:220px;height:220px;margin:clamp(18px,6vh,52px) 0 clamp(12px,3vh,24px)}.call-ring-portrait::before{content:'';position:absolute;inset:8px;border-radius:50%;background:conic-gradient(from 0deg,#fff0,#ffffffa6 18%,#fff0 36%);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px));animation:call-ring-spin 3.6s linear infinite}
.call-ring-wave{position:absolute;inset:44px;border-radius:50%;border:2px solid #ffffff8c;background:#ffffff17;animation:call-ring-wave 2.4s cubic-bezier(.2,.6,.3,1) infinite}.call-ring-wave+.call-ring-wave{animation-delay:1.2s}
.call-ring-avatar{position:relative;z-index:1;width:132px;height:132px;border-radius:50%;overflow:hidden;font-size:46px;border:4px solid #ffffffe0;background:#ffffff40;box-shadow:0 18px 44px #0a456638,0 0 0 10px #ffffff1f;animation:call-ring-breathe 2.4s ease-in-out infinite}.call-ring-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.call-ring-name{margin:0;max-width:100%;font-size:clamp(24px,7vw,30px);font-weight:650;line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 14px #0a3e5a38}.call-ring-handle{margin:6px 0 0;font-size:15px;font-weight:500;opacity:.9;overflow-wrap:anywhere}
.call-ring-group{margin:10px 0 0;max-width:100%;padding:5px 12px;border-radius:999px;background:#0b4c6a33;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-ring-status{margin:14px 0 0;font-size:14px;opacity:.92;animation:call-ring-fade 1.8s ease-in-out infinite}
.call-enable-sound{display:inline-flex;align-items:center;gap:7px;margin-top:16px;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid #ffffff5c;background:#ffffff26;color:#fff;font-size:13px;font-weight:600}.call-enable-sound:focus-visible{outline:3px solid #fff;outline-offset:3px}
.call-ring-actions{display:flex;justify-content:center;gap:clamp(48px,18vw,88px);width:100%;margin-top:auto;padding-top:28px}.call-ring-action{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:84px;padding:0;border:0;background:none;color:#fff;font-size:14px;font-weight:600;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.call-ring-action>span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;box-shadow:0 14px 30px #08304a40;transition:transform .15s ease}.call-ring-action .icon{width:30px;height:30px;stroke-width:2}.call-ring-action:active>span{transform:scale(.92)}.call-ring-action:focus-visible{outline:0}.call-ring-action:focus-visible>span{outline:3px solid #fff;outline-offset:4px}
.call-ring-decline>span{background:linear-gradient(150deg,#ff7474,#e3474d)}.call-ring-decline .icon{transform:rotate(135deg)}.call-ring-accept>span{background:linear-gradient(150deg,#45e396,#14b571);animation:call-ring-accept-pulse 1.6s ease-out infinite}.call-ring-accept .icon{animation:call-ring-shake 1.6s ease-in-out infinite}
.call-ring-action:disabled{opacity:.6}.call-ring-action:disabled>span,.call-ring-action:disabled .icon{animation:none}
@keyframes call-ring-wave{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.65);opacity:0}}@keyframes call-ring-breathe{50%{transform:scale(1.04)}}@keyframes call-ring-spin{to{transform:rotate(360deg)}}@keyframes call-ring-fade{50%{opacity:.6}}
@keyframes call-ring-accept-pulse{0%{box-shadow:0 14px 30px #08304a40,0 0 0 0 #45e39699}70%,100%{box-shadow:0 14px 30px #08304a40,0 0 0 18px #45e39600}}@keyframes call-ring-shake{0%,42%,100%{transform:rotate(0)}6%,18%,30%{transform:rotate(-14deg)}12%,24%,36%{transform:rotate(14deg)}}
@media(max-width:600px),(orientation:landscape) and (max-height:500px){.call-dialog.is-ringing{width:100vw;max-width:none;height:100vh;height:100dvh;margin:0;inset:0;border-radius:0}}
@media(max-height:620px){.call-ring-portrait{width:170px;height:170px;margin:14px 0 10px}.call-ring-wave{inset:35px}.call-ring-avatar{width:100px;height:100px;font-size:34px}.call-ring-actions{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.call-ring-portrait::before,.call-ring-wave,.call-ring-avatar,.call-ring-status,.call-ring-accept>span,.call-ring-accept .icon{animation:none}.call-ring-wave{transform:scale(1.15);opacity:.5}.call-ring-wave+.call-ring-wave{transform:scale(1.32);opacity:.3}}
@media(orientation:landscape) and (max-height:500px){.call-ringing{display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:center;align-content:center;column-gap:clamp(24px,6vw,64px);padding:calc(14px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left))}.call-ringing>*{grid-column:2}.call-ring-portrait{grid-column:1;grid-row:1/span 9;margin:0}.call-ring-actions{margin-top:0;padding-top:14px}}
