@keyframes cursorBounce{0%{transform:translate(-50%,-50%) scale(.7) rotate(-5deg)}30%{transform:translate(-50%,-50%) scale(1.15) rotate(2deg)}60%{transform:translate(-50%,-50%) scale(.95) rotate(-1deg)}to{transform:translate(-50%,-50%) scale(1) rotate(0deg)}}@keyframes textFlash{0%{filter:brightness(1) saturate(1);transform:scale(1)}50%{filter:brightness(1.5) saturate(1.3);transform:scale(1.05)}to{filter:brightness(1) saturate(1);transform:scale(1)}}@keyframes cursorAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(180deg)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(-10deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0deg)}}@keyframes cursorDisappear{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-180deg)}}@keyframes cursorTrail{0%{opacity:.6;transform:scale(1.2)}to{opacity:0;transform:scale(.8)}}.cursor-container{position:fixed;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:.25rem;z-index:100;pointer-events:none;transform:translate(-50%,-50%);transition:left .05s cubic-bezier(.25,.46,.45,.94),top .05s cubic-bezier(.25,.46,.45,.94),opacity .15s ease-in-out;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}.cursor-container.interpolating{transition:opacity .2s ease-in-out}.cursor-container.rapid-movement,.cursor-container.rapid-movement .cursor-emoji,.cursor-container.rapid-movement .cursor-name{transition:none!important}.cursor-container.appearing{animation:cursorAppear .6s cubic-bezier(.34,1.56,.64,1)}.cursor-emoji{font-size:2.5rem;filter:drop-shadow(0 6px 8px rgb(0 0 0/.15)) drop-shadow(0 2px 4px rgb(0 0 0/.1));transition:transform .15s cubic-bezier(.25,.46,.45,.94),filter .15s ease-out;position:relative;backface-visibility:hidden;transform-style:preserve-3d}.cursor-emoji:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.3) 0,transparent 70%);border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform .3s ease-out;z-index:-1}.cursor-emoji.moving:before{transform:translate(-50%,-50%) scale(1.5)}.cursor-name{font-size:.875rem;font-weight:600;color:white;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);border-radius:8px;padding:4px 8px;box-shadow:0 4px 12px -2px rgb(0 0 0/.2),0 2px 6px -1px rgb(0 0 0/.1);transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s ease-out;border:1px solid rgba(255,255,255,.1)}.cursor-click{animation:cursorBounce .5s cubic-bezier(.34,1.56,.64,1)}.cursor-flash{animation:textFlash .4s cubic-bezier(.4,0,.2,1)}.cursor-moving{filter:brightness(1.1) saturate(1.1)}.cursor-moving .cursor-name{background:var(--user-color,rgba(59,130,246,.9));transform:translateY(-2px);box-shadow:0 4px 12px -2px color-mix(in srgb,var(--user-color,rgba(59,130,246,.9)),transparent 50%),0 2px 6px -1px rgb(0 0 0/.1)}.cursor-container:after{content:"";position:absolute;top:50%;left:50%;width:3rem;height:3rem;background:radial-gradient(circle,color-mix(in srgb,var(--user-color,rgba(59,130,246,.9)),transparent 80%) 0,transparent 70%);border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s ease-out;z-index:-1;pointer-events:none}.cursor-container.cursor-moving:after{transform:translate(-50%,-50%) scale(1)}.cursor-container:hover .cursor-emoji{filter:drop-shadow(0 6px 8px rgb(0 0 0/.15)) drop-shadow(0 2px 4px rgb(0 0 0/.1)) drop-shadow(0 0 20px rgba(59,130,246,.4))}.cursor-container{opacity:1}.cursor-container.appearing{opacity:0;animation:cursorAppear .6s cubic-bezier(.34,1.56,.64,1) forwards}.cursor-container.disappearing{animation:cursorDisappear .4s cubic-bezier(.55,0,.45,1) forwards}