.cursor{width:20px;height:20px;z-index:10000;opacity:0}.cursor,.cursor-follower{background:transparent;border:none;border-radius:50%;position:fixed;pointer-events:none;transition:all .3s cubic-bezier(.23,1,.32,1);transform:translate(-50%,-50%)}.cursor-follower{width:40px;height:40px;z-index:9999;opacity:1}.cursor-follower:before{content:"";position:absolute;inset:0;border-radius:50%;padding:2px;background:linear-gradient(90deg,#06b6d4,#a855f7,#06b6d4);background-size:200% auto;animation:gradientSpin 3s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@keyframes gradientSpin{0%{background-position:0 50%}to{background-position:200% 50%}}.cursor.hover-link{width:70px;height:70px;background:rgba(168,85,247,.15);border-color:#a855f7;border-width:3px;box-shadow:0 0 20px rgba(168,85,247,.5),inset 0 0 15px rgba(168,85,247,.2)}.cursor-follower.hover-link{width:100px;height:100px;box-shadow:0 0 30px rgba(168,85,247,.4)}.cursor-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:700;color:#ffffff;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5)}.cursor.hover-button{width:80px;height:80px;background:rgba(20,184,166,.2);border-color:#14b8a6;border-width:3px;box-shadow:0 0 25px rgba(20,184,166,.6),inset 0 0 20px rgba(20,184,166,.3)}.cursor-follower.hover-button{width:120px;height:120px;box-shadow:0 0 40px rgba(20,184,166,.3)}.cursor.hover-draggable{width:60px;height:60px;background:rgba(249,115,22,.2);border-color:#f97316;border-width:2px;box-shadow:0 0 20px rgba(249,115,22,.5);animation:cursorPulse 1s ease-in-out infinite}.cursor-follower.hover-draggable{width:90px;height:90px;border-color:rgba(249,115,22,.5);box-shadow:0 0 30px rgba(249,115,22,.3);animation:followerPulse 1s ease-in-out infinite}.cursor-hand-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;animation:handPulse .8s ease-in-out infinite}@keyframes cursorPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}@keyframes followerPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.05);opacity:1}}@keyframes handPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.15)}}.cursor.clicking{transform:translate(-50%,-50%) scale(.9);background:rgba(255,255,255,.3);border-color:#ffffff}.cursor-follower.clicking{transform:translate(-50%,-50%) scale(.8);opacity:1}.cursor-ripple{position:fixed;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,rgba(0,217,255,.4) 0,transparent 70%);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);animation:rippleExpand .6s cubic-bezier(.23,1,.32,1) forwards}@keyframes rippleExpand{0%{width:20px;height:20px;opacity:1}to{width:150px;height:150px;opacity:0}}.cursor.hover-text{width:30px;height:30px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}.cursor-follower.hover-text{width:50px;height:50px;border-color:rgba(255,255,255,.2)}