.vs-loading{position:relative;display:inline-flex;flex-direction:column;transition:all .25s ease;aspect-ratio:1/1;flex-shrink:0}.vs-loading,.vs-loading__load{align-items:center;justify-content:center}.vs-loading__load{width:100%;height:100%;position:absolute;top:0;left:0;display:flex}.vs-loading--default .vs-loading__animation{width:40px;height:40px;border-radius:50%;border:3px solid transparent;border-top:3px solid var(--vs-color);animation:vs-rotate .8s linear infinite}@keyframes vs-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vs-loading--waves .vs-loading__animation{display:flex;align-items:center;justify-content:center;gap:4px}.vs-loading--waves span{width:4px;height:20px;background:var(--vs-color);border-radius:2px;animation:vs-waves .6s ease infinite alternate}.vs-loading--waves span:nth-child(2){animation-delay:.2s}.vs-loading--waves span:nth-child(3){animation-delay:.4s}@keyframes vs-waves{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.vs-loading--corners .vs-loading__animation{width:100%;height:100%;border-left:3px solid var(--vs-color);border-right:3px solid var(--vs-color);border-radius:50%;border-top:3px solid transparent;border-bottom:3px solid transparent;animation:vs-rotate 1s ease infinite}.vs-loading--border .vs-loading__animation{width:100%;height:100%;border-radius:50%;border-top:1px solid var(--vs-color-alpha);border:1px solid var(--vs-color-alpha);border-top-color:var(--vs-color);animation:vs-rotate .6s linear infinite}.vs-loading--points .vs-loading__animation{display:flex;gap:6px}.vs-loading--points span{width:8px;height:8px;background:var(--vs-color);border-radius:50%;animation:vs-points .6s ease infinite alternate}.vs-loading--points span:nth-child(2){animation-delay:.2s}.vs-loading--points span:nth-child(3){animation-delay:.4s}@keyframes vs-points{0%{opacity:.2;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.vs-loading--square .vs-loading__animation{width:100%;height:100%;border:3px solid var(--vs-color);animation:vs-rotate 2s ease infinite;display:flex;align-items:center;justify-content:center}.vs-loading--square span{width:100%;height:100%;background:var(--vs-color);animation:vs-square 2s ease infinite}@keyframes vs-square{0%{transform:scale(0)}50%{transform:scale(1)}to{transform:scale(0)}}.vs-loading--gradient .vs-loading__animation{width:40px;height:40px;border-radius:50%;background:linear-gradient(0deg,transparent 0,var(--vs-color) 100%);animation:vs-rotate .8s linear infinite;position:relative}.vs-loading--gradient .vs-loading__animation:after{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:inherit;filter:blur(5px);border-radius:50%}.vs-loading--rectangle .vs-loading__animation{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.vs-loading--rectangle span{width:30px;height:30px;background:var(--vs-color);animation:vs-rectangle 1.2s ease infinite}@keyframes vs-rectangle{0%{transform:rotate(0deg)}50%{transform:rotate(180deg);border-radius:50%}to{transform:rotate(1turn)}}.vs-loading--circles .vs-loading__animation{width:40px;height:40px;position:relative}.vs-loading--circles span{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid var(--vs-color);animation:vs-circles 1.2s ease infinite}.vs-loading--circles span:nth-child(2){animation-delay:.3s}.vs-loading--circles span:nth-child(3){animation-delay:.6s}@keyframes vs-circles{0%{transform:scale(0);opacity:1}to{transform:scale(1.2);opacity:0}}.vs-loading--square-rotate .vs-loading__animation{width:30px;height:30px;background:var(--vs-color);animation:vs-square-rotate 1.2s ease infinite}@keyframes vs-square-rotate{0%{transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}to{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.vs-loading--scale .vs-loading__animation{display:flex;gap:4px}.vs-loading--scale span{width:8px;height:8px;background:var(--vs-color);border-radius:50%;animation:vs-scale 1s ease infinite}.vs-loading--scale span:nth-child(2){animation-delay:.2s}.vs-loading--scale span:nth-child(3){animation-delay:.4s}@keyframes vs-scale{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}