.call-ring{--call-ring-gap:4px;--call-ring-width:2px;--call-ring-track:color-mix(in oklab, var(--primary) 18%, transparent);--call-ring-arc:color-mix(in oklab, var(--primary) 70%, transparent);inset:calc((var(--call-ring-gap) + var(--call-ring-width)) * -1);pointer-events:none;box-shadow:inset 0 0 0 var(--call-ring-width) var(--call-ring-track);border-radius:50%;position:absolute}.call-ring-half{width:50%;position:absolute;top:0;bottom:0;overflow:hidden}.call-ring-half[data-half=start]{left:0}.call-ring-half[data-half=end]{left:50%}.call-ring-rotor{animation-duration:var(--call-ring-total);animation-timing-function:linear;animation-delay:var(--call-ring-elapsed);animation-fill-mode:both;position:absolute;inset:0;overflow:hidden}.call-ring-half[data-half=start] .call-ring-rotor{transform-origin:100%;animation-name:call-ring-start}.call-ring-half[data-half=end] .call-ring-rotor{transform-origin:0;animation-name:call-ring-end}.call-ring-rotor:before{content:"";width:200%;box-shadow:inset 0 0 0 var(--call-ring-width) var(--call-ring-arc);border-radius:50%;position:absolute;top:0;bottom:0;left:0}.call-ring-half[data-half=end] .call-ring-rotor:before{left:-100%}@keyframes call-ring-start{0%{transform:rotate(0)}50%,to{transform:rotate(-180deg)}}@keyframes call-ring-end{0%,50%{transform:rotate(0)}to{transform:rotate(-180deg)}}