.draggable-video-call{--dvc-radius:16px;--dvc-accent:#10b981;--dvc-bg:#0b1220;--dvc-panel:#0f1a2e;--dvc-ink:#ecfdf5;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--dvc-radius);border:1px solid rgba(16,185,129,.38);background:radial-gradient(120% 80% at 0 0,#0f3d36 0,var(--dvc-bg) 55%);box-shadow:0 18px 48px rgba(2,8,23,.45);color:var(--dvc-ink)}.draggable-video-call--docked{width:100%;min-height:280px;max-height:min(52vh,480px)}.draggable-video-call--floating{position:fixed;z-index:9998;min-width:320px;min-height:240px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);resize:both}.draggable-video-call__header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(105deg,#064e3b,#0b1220 70%);color:var(--dvc-ink);cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;flex-shrink:0;border-bottom:1px solid rgba(16,185,129,.18)}.draggable-video-call__header:active{cursor:grabbing}.draggable-video-call__grip{opacity:.7;flex-shrink:0}.draggable-video-call__titles{flex:1;min-width:0}.draggable-video-call__title{font-size:13px;font-weight:650;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draggable-video-call__subtitle{font-size:11px;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draggable-video-call__actions{display:flex;align-items:center;gap:5px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.draggable-video-call__btn{border:none;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:650;cursor:pointer;background:hsla(0,0%,100%,.1);color:#fff;transition:background .15s ease,transform .15s ease}.draggable-video-call__btn:hover{background:hsla(0,0%,100%,.18)}.draggable-video-call__btn--active{background:rgba(16,185,129,.35)}.draggable-video-call__btn--rx{background:rgba(45,212,191,.28)}.draggable-video-call__btn--danger{background:#dc2626}.draggable-video-call__btn--danger:hover{background:#b91c1c}.draggable-video-call__frame{flex:1;min-height:180px;width:100%;border:0;background:#000}.draggable-video-call__stage{flex:1;min-height:0;display:flex;flex-direction:row}.draggable-video-call__native{position:relative;flex:1;min-width:0;min-height:180px;background:#020617;overflow:hidden}.draggable-video-call__remote{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background:#020617}.draggable-video-call__local{position:absolute;right:12px;bottom:12px;width:96px;height:128px;-o-object-fit:cover;object-fit:cover;border-radius:12px;border:2px solid rgba(236,253,245,.45);background:#1e293b;box-shadow:0 8px 24px rgba(0,0,0,.35)}.draggable-video-call__badge{position:absolute;left:12px;top:12px;z-index:3;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:650;background:rgba(2,6,23,.65);border:1px solid rgba(16,185,129,.35);backdrop-filter:blur(8px);transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}.draggable-video-call__badge--connected{background:rgba(6,78,59,.85);border-color:rgba(52,211,153,.65);color:#ecfdf5;transform:scale(1.02)}.draggable-video-call__badge--connecting{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.45);animation:dvc-badge-pulse 1.4s ease-in-out infinite}@keyframes dvc-badge-pulse{0%,to{opacity:.75}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.draggable-video-call__badge--connecting{animation:none}}.draggable-video-call--minimized .draggable-video-call__stage{display:none}.draggable-video-call--fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;z-index:10060!important;resize:none;border-radius:0}.draggable-video-call--fullscreen .draggable-video-call__local{width:148px;height:196px}.draggable-video-call__overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;text-align:center;background:rgba(2,6,23,.92);color:var(--dvc-ink)}.draggable-video-call__overlay--dim{background:rgba(2,6,23,.55);pointer-events:none}.draggable-video-call__orb{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#6ee7b7,#059669 55%,#064e3b);box-shadow:0 0 0 0 rgba(16,185,129,.45);animation:dvc-orb-pulse 1.8s ease-out infinite}.draggable-video-call__pulse-row{display:flex;gap:6px;margin-top:2px}.draggable-video-call__pulse-row span{width:7px;height:7px;border-radius:50%;background:#34d399;animation:dvc-dot 1.1s ease-in-out infinite}.draggable-video-call__pulse-row span:nth-child(2){animation-delay:.15s}.draggable-video-call__pulse-row span:nth-child(3){animation-delay:.3s}@keyframes dvc-orb-pulse{0%{transform:scale(.92);box-shadow:0 0 0 0 rgba(16,185,129,.5)}70%{transform:scale(1);box-shadow:0 0 0 18px rgba(16,185,129,0)}to{transform:scale(.92);box-shadow:0 0 0 0 rgba(16,185,129,0)}}@keyframes dvc-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.draggable-video-call__orb,.draggable-video-call__pulse-row span{animation:none}}.draggable-video-call__overlay-title{margin:0;font-size:14px;font-weight:650}.draggable-video-call__overlay-copy{margin:0;font-size:12px;line-height:1.45;opacity:.85;max-width:280px}.draggable-video-call__overlay-error{margin:0;font-size:12px;color:#fca5a5;max-width:280px}.draggable-video-call__overlay-btn{margin-top:4px;border:none;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:650;cursor:pointer;background:var(--dvc-accent);color:#fff}.draggable-video-call__overlay-btn:hover{background:#059669}.draggable-video-call__chat{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--dvc-panel);border-left:1px solid rgba(16,185,129,.2)}.draggable-video-call__chat-head{padding:10px 12px;font-size:12px;font-weight:650;border-bottom:1px solid rgba(148,163,184,.18)}.draggable-video-call__chat-list{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.draggable-video-call__chat-empty{margin:12px 0;font-size:11px;opacity:.65;text-align:center}.draggable-video-call__chat-bubble{display:flex;flex-direction:column;gap:2px;max-width:95%;padding:7px 9px;border-radius:10px;background:rgba(148,163,184,.14);align-self:flex-start}.draggable-video-call__chat-bubble--self{align-self:flex-end;background:rgba(16,185,129,.22)}.draggable-video-call__chat-name{font-size:10px;font-weight:650;opacity:.7}.draggable-video-call__chat-text{font-size:12px;line-height:1.35;word-break:break-word}.draggable-video-call__chat-form{display:flex;gap:6px;padding:8px;border-top:1px solid rgba(148,163,184,.18)}.draggable-video-call__chat-input{flex:1;min-width:0;border:1px solid rgba(148,163,184,.25);border-radius:999px;background:rgba(2,6,23,.45);color:#fff;font-size:12px;padding:7px 11px;outline:none}.draggable-video-call__chat-input:focus{border-color:rgba(16,185,129,.55)}.draggable-video-call__chat-send{border:none;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:650;cursor:pointer;background:var(--dvc-accent);color:#fff}.draggable-video-call__chat-send:disabled{opacity:.45;cursor:default}@media (max-width:640px){.draggable-video-call--chat-open .draggable-video-call__stage{flex-direction:column}.draggable-video-call__chat{width:100%;height:42%;border-left:none;border-top:1px solid rgba(16,185,129,.2)}}