.tap-effects{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;pointer-events:none!important;z-index:2147483647;contain:strict}
.tap-effects::backdrop{background:transparent;pointer-events:none}
.tap-paw{position:absolute;display:block;height:auto;opacity:0;pointer-events:none;user-select:none;filter:hue-rotate(var(--hue)) drop-shadow(0 2px 4px #f795c03b);transform-origin:center;animation:paw-burst 850ms cubic-bezier(.18,.75,.25,1) var(--delay) both;will-change:transform,opacity}
.tap-ring{position:absolute;width:40px;height:40px;border:2px solid #c8b2ff;border-radius:50%;pointer-events:none;animation:paw-ring 650ms ease-out both}
@keyframes paw-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.28) rotate(var(--tilt))}16%{opacity:.72;transform:translate(-50%,-58%) scale(1.18) rotate(var(--tilt))}42%{opacity:.58;transform:translate(calc(-50% + var(--dx)*.5),calc(-50% + var(--dy)*.4)) scale(1) rotate(var(--tilt))}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.83) rotate(calc(var(--tilt) + 12deg))}}
@keyframes paw-ring{from{opacity:.5;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}
@media(prefers-reduced-motion:reduce){.tap-ring{display:none}.tap-paw{animation:paw-soft 220ms ease-out both;transform:translate(-50%,-50%);will-change:opacity}.tap-paw:not(:first-child){display:none}@keyframes paw-soft{from{opacity:.4}to{opacity:0}}}
