/* VI getaway pointer: the arrow tip is the exact click target. */
#cursor{width:44px;height:51px;filter:drop-shadow(0 2px 2px #000b) drop-shadow(0 0 5px #ff70be44);will-change:transform;contain:layout style}
#cursor svg,#cursor.hover svg{width:100%;height:100%;transform:none;overflow:visible}
#cursor .cursor-coin{transform-origin:34px 41px;transition:transform .18s ease,filter .18s ease}
#cursor .cursor-arrow{transition:fill .18s ease}
#cursor .cursor-ticks{opacity:0;transition:opacity .18s ease}
#cursor.hover .cursor-coin{transform:scale(1.18);filter:drop-shadow(0 0 5px #ff70be99)}
#cursor.hover .cursor-ticks{opacity:1}
#cursor.hover .cursor-arrow{fill:#ff70be}
#cursor.pressed .cursor-coin{transform:scale(.85)}
.spark{width:7px;height:2px;border-radius:1px;opacity:.65;animation:vice-trail .42s ease-out forwards;box-shadow:0 0 4px #ff70be66}
.cursor-flash{position:fixed;pointer-events:none;z-index:78;width:15px;height:15px;border:1.5px solid var(--pink);border-radius:50%;animation:vice-click .45s ease-out forwards}
@keyframes vice-trail{to{opacity:0;transform:translate(-10px,6px) scaleX(.2)}}
@keyframes vice-click{from{opacity:.8;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){html.custom-cursor,html.custom-cursor *{cursor:none!important}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){#cursor,.spark,.cursor-flash{display:none!important}}
