.hamster-loader{--dur:1s;width:12em;height:12em;color:var(--color-foreground);font-size:5px;position:relative}.hamster-loader .wheel,.hamster-loader .hamster,.hamster-loader .hamster div,.hamster-loader .spoke{position:absolute}.hamster-loader .wheel,.hamster-loader .spoke{border-radius:50%;width:100%;height:100%;top:0;left:0}.hamster-loader .wheel{background:radial-gradient(100% 100% at center, color-mix(in oklch, var(--color-foreground) 0%, transparent) 47.8%, var(--color-foreground) 48%);z-index:2}.hamster-loader .hamster{animation:hamster var(--dur) ease-in-out infinite;transform-origin:50% 0;z-index:1;width:7em;height:3.75em;top:50%;left:calc(50% - 3.5em);transform:rotate(4deg)translate(-.8em,1.85em)}.hamster-loader .hamster__head{animation:hamsterHead var(--dur) ease-in-out infinite;transform-origin:100%;background:#895af6;border-radius:70% 30% 0 100%/40% 25% 25% 60%;width:2.75em;height:2.5em;top:0;left:-2em;box-shadow:inset 0 -.25em #bca3f5,inset .75em -1.55em #ddd1fa}.hamster-loader .hamster__ear{animation:hamsterEar var(--dur) ease-in-out infinite;transform-origin:50% 75%;background:#f5a3cc;border-radius:50%;width:.75em;height:.75em;top:-.25em;right:-.25em;box-shadow:inset -.25em 0 #895af6}.hamster-loader .hamster__eye{animation:hamsterEye var(--dur) linear infinite;background-color:#000;border-radius:50%;width:.5em;height:.5em;top:.375em;left:1.25em}.hamster-loader .hamster__nose{background:#f075b3;border-radius:35% 65% 85% 15%/70% 50% 50% 30%;width:.2em;height:.25em;top:.75em;left:0}.hamster-loader .hamster__body{animation:hamsterBody var(--dur) ease-in-out infinite;transform-origin:17%;width:4.5em;height:3em;transform-style:preserve-3d;background:#ddd1fa;border-radius:50% 30%/15% 60% 40% 40%;top:.25em;left:2em;box-shadow:inset .1em .75em #895af6,inset .15em -.5em #bca3f5}.hamster-loader .hamster__limb--fr,.hamster-loader .hamster__limb--fl{clip-path:polygon(0 0,100% 0,70% 80%,60% 100%,0% 100%,40% 80%);transform-origin:50% 0;width:1em;height:1.5em;top:2em;left:.5em}.hamster-loader .hamster__limb--fr{animation:hamsterFRLimb var(--dur) linear infinite;background:linear-gradient(#bca3f5 80%,#f075b3 80%);transform:rotate(15deg)translateZ(-1px)}.hamster-loader .hamster__limb--fl{animation:hamsterFLLimb var(--dur) linear infinite;background:linear-gradient(#ddd1fa 80%,#f5a3cc 80%);transform:rotate(15deg)}.hamster-loader .hamster__limb--br,.hamster-loader .hamster__limb--bl{clip-path:polygon(0 0,100% 0,100% 30%,70% 90%,70% 100%,30% 100%,40% 90%,0% 30%);transform-origin:50% 30%;border-radius:.75em .75em 0 0;width:1.5em;height:2.5em;top:1em;left:2.8em}.hamster-loader .hamster__limb--br{animation:hamsterBRLimb var(--dur) linear infinite;background:linear-gradient(#bca3f5 90%,#f075b3 90%);transform:rotate(-25deg)translateZ(-1px)}.hamster-loader .hamster__limb--bl{animation:hamsterBLLimb var(--dur) linear infinite;background:linear-gradient(#ddd1fa 90%,#f5a3cc 90%);transform:rotate(-25deg)}.hamster-loader .hamster__tail{animation:hamsterTail var(--dur) linear infinite;transform-origin:.25em .25em;background:#f5a3cc;border-radius:.25em 50% 50% .25em;width:1em;height:.5em;top:1.5em;right:-.5em;transform:rotate(30deg)translateZ(-1px);box-shadow:inset 0 -.2em #f075b3}.hamster-loader .spoke{animation:spoke var(--dur) linear infinite;background:radial-gradient(100% 100% at center, var(--color-foreground) 4.8%, color-mix(in oklch, var(--color-foreground) 0%, transparent) 5%), linear-gradient(color-mix(in oklch, var(--color-foreground) 0%, transparent) 46.9%, var(--color-foreground) 47% 52.9%, color-mix(in oklch, var(--color-foreground) 0%, transparent) 53%) 50% 50% / 99% 99% no-repeat}@keyframes hamster{0%,to{transform:rotate(4deg)translate(-.8em,1.85em)}50%{transform:rotate(0)translate(-.8em,1.85em)}}@keyframes hamsterHead{0%,25%,50%,75%,to{transform:rotate(0)}12.5%,37.5%,62.5%,87.5%{transform:rotate(8deg)}}@keyframes hamsterEye{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(0)}}@keyframes hamsterEar{0%,25%,50%,75%,to{transform:rotate(0)}12.5%,37.5%,62.5%,87.5%{transform:rotate(12deg)}}@keyframes hamsterBody{0%,25%,50%,75%,to{transform:rotate(0)}12.5%,37.5%,62.5%,87.5%{transform:rotate(-2deg)}}@keyframes hamsterFRLimb{0%,25%,50%,75%,to{transform:rotate(50deg)translateZ(-1px)}12.5%,37.5%,62.5%,87.5%{transform:rotate(-30deg)translateZ(-1px)}}@keyframes hamsterFLLimb{0%,25%,50%,75%,to{transform:rotate(-30deg)}12.5%,37.5%,62.5%,87.5%{transform:rotate(50deg)}}@keyframes hamsterBRLimb{0%,25%,50%,75%,to{transform:rotate(-60deg)translateZ(-1px)}12.5%,37.5%,62.5%,87.5%{transform:rotate(20deg)translateZ(-1px)}}@keyframes hamsterBLLimb{0%,25%,50%,75%,to{transform:rotate(20deg)}12.5%,37.5%,62.5%,87.5%{transform:rotate(-60deg)}}@keyframes hamsterTail{0%,25%,50%,75%,to{transform:rotate(30deg)translateZ(-1px)}12.5%,37.5%,62.5%,87.5%{transform:rotate(10deg)translateZ(-1px)}}@keyframes spoke{0%{transform:rotate(0)}to{transform:rotate(-1turn)}}
