.btn-loader{--duration:4s;--active:var(--foreground);--track:color-mix(in oklab, var(--foreground) 50%, transparent);animation:1s linear infinite btn-spin}@keyframes btn-spin{0%{rotate:none}to{rotate:360deg}}.btn-loader.btn-loader-enter{animation:1s linear infinite btn-spin,.3s btn-loader-enter}@keyframes btn-loader-enter{0%{opacity:0;width:0;height:0;margin-right:0;scale:0}}.btn-loader.variant-default{--active:var(--primary-foreground);--track:color-mix(in oklab, var(--primary-foreground) 50%, transparent)}.btn-loader.variant-secondary{--active:var(--secondary-foreground);--track:color-mix(in oklab, var(--secondary-foreground) 50%, transparent)}.btn-loader.variant-destructive{--active:var(--destructive);--track:color-mix(in oklab, var(--destructive) 50%, transparent)}.btn-loader.variant-primary{--active:var(--primary);--track:color-mix(in oklab, var(--primary) 50%, transparent)}.btn-loader.variant-link{--active:var(--primary-text);--track:color-mix(in oklab, var(--primary-text) 50%, transparent)}.active{stroke:var(--active);stroke-linecap:round;stroke-dashoffset:360px;animation:active-animation var(--duration) ease-in-out infinite}.track{stroke:var(--track);stroke-linecap:round;stroke-dashoffset:360px;animation:track-animation var(--duration) ease-in-out infinite}@keyframes active-animation{0%{stroke-dasharray:0 0 0 360 0 360}12.5%{stroke-dasharray:0 0 270 90 270 90}25%{stroke-dasharray:0 270 0 360 0 360}37.5%{stroke-dasharray:0 270 270 90 270 90}50%{stroke-dasharray:0 540 0 360 0 360}50.001%{stroke-dasharray:0 180 0 360 0 360}62.5%{stroke-dasharray:0 180 270 90 270 90}75%{stroke-dasharray:0 450 0 360 0 360}87.5%{stroke-dasharray:0 450 270 90 270 90}87.501%{stroke-dasharray:0 90 270 90 270 90}to{stroke-dasharray:0 360 1 360 0 360}}@keyframes track-animation{0%{stroke-dasharray:0 20 320 40 320 40}12.5%{stroke-dasharray:0 290 50 310 50 310}25%{stroke-dasharray:0 290 320 40 320 40}37.5%{stroke-dasharray:0 560 50 310 50 310}37.501%{stroke-dasharray:0 200 50 310 50 310}50%{stroke-dasharray:0 200 320 40 320 40}62.5%{stroke-dasharray:0 470 50 310 50 310}62.501%{stroke-dasharray:0 110 50 310 50 310}75%{stroke-dasharray:0 110 320 40 320 40}87.5%{stroke-dasharray:0 380 50 310 50 310}to{stroke-dasharray:0 380 320 40 320 40}}
