.eucent-loader{flex-direction:column;gap:.75rem;position:relative}.eucent-loader--xs .eucent-loader__logo{width:24px;height:24px}.eucent-loader--sm .eucent-loader__logo{width:32px;height:32px}.eucent-loader--md .eucent-loader__logo{width:48px;height:48px}.eucent-loader--lg .eucent-loader__logo{width:64px;height:64px}.eucent-loader--xl .eucent-loader__logo{width:96px;height:96px}.eucent-loader__text{color:var(--muted-foreground,#648786);font-size:.875rem;font-weight:500;animation:1.5s ease-in-out infinite textPulse}.eucent-loader--xs .eucent-loader__text{font-size:.625rem}.eucent-loader--sm .eucent-loader__text{font-size:.75rem}.eucent-loader--lg .eucent-loader__text,.eucent-loader--xl .eucent-loader__text{font-size:1rem}.eucent-loader .eucent-loader__logo{animation:2.5s cubic-bezier(.4,0,.2,1) infinite logoFloat}.eucent-loader .eucent-loader__main-path{fill:none;stroke:url(#eucent-gradient-animated);stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:500;stroke-dashoffset:500px;animation:2.5s cubic-bezier(.4,0,.2,1) infinite strokeDash}.eucent-loader .eucent-loader__dot--1{transform-origin:50%;animation:2s cubic-bezier(.4,0,.2,1) infinite dotPulse1}.eucent-loader .eucent-loader__dot--2{transform-origin:50%;animation:2s cubic-bezier(.4,0,.2,1) .4s infinite dotPulse2}.eucent-loader--pulse .eucent-loader__logo{animation:1.2s ease-in-out infinite logoPulse}.eucent-loader--pulse .eucent-loader__main-path{animation:1.2s ease-in-out infinite fillPulse}.eucent-loader--spin .eucent-loader__logo{animation:1.5s linear infinite logoSpin}.eucent-loader--spin .eucent-loader__dot--1,.eucent-loader--spin .eucent-loader__dot--2{animation:none}.eucent-loader--bounce .eucent-loader__logo{animation:.8s ease-in-out infinite logoBounce}.eucent-loader--bounce .eucent-loader__dot--1{animation:.8s ease-in-out .1s infinite dotBounce}.eucent-loader--bounce .eucent-loader__dot--2{animation:.8s ease-in-out .2s infinite dotBounce}.eucent-loader--draw .eucent-loader__main-path{fill:none;stroke:url(#eucent-gradient-animated);stroke-width:.5px;stroke-dasharray:500;stroke-dashoffset:500px;animation:2.5s ease-in-out infinite drawPath}.eucent-loader--draw .eucent-loader__dot--1,.eucent-loader--draw .eucent-loader__dot--2{animation:2.5s ease-in-out infinite dotFadeIn}.eucent-loader--flip .eucent-loader__logo{perspective:1000px;animation:none}.eucent-loader--flip .eucent-loader__main-path{transform-origin:50%;animation:1.5s ease-in-out infinite verticalFlip}.eucent-loader--flip .eucent-loader__dot--1,.eucent-loader--flip .eucent-loader__dot--2{animation:1.5s ease-in-out infinite dotPulse1}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes verticalFlip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}@keyframes strokeDash{0%{stroke-dasharray:0 1 499 0;fill:#0000}50%{stroke-dasharray:0 499 1 0;fill:#0000}to{stroke-dasharray:499 1 0 0;fill:url(#eucent-gradient-animated)}}@keyframes logoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes logoSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logoBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-12px)scale(1.05)}}@keyframes dotPulse1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes dotPulse2{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes dotBounce{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}@keyframes fillPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes drawPath{0%{stroke-dashoffset:500px;fill:#0000}50%{stroke-dashoffset:0;fill:#0000}75%,to{stroke-dashoffset:0;fill:url(#eucent-gradient-animated)}}@keyframes dotFadeIn{0%,45%{opacity:0;transform:scale(0)}55%,to{opacity:1;transform:scale(1)}}@keyframes textPulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.eucent-loader .eucent-loader__logo,.eucent-loader .eucent-loader__dot--1,.eucent-loader .eucent-loader__dot--2,.eucent-loader .eucent-loader__main-path,.eucent-loader .eucent-loader__text{animation:none}.eucent-loader--pulse .eucent-loader__logo{animation:2s ease-in-out infinite logoPulse}}
