@keyframes fp-splat-float{0%{transform:translate(0,0)scale(1)}to{transform:translate(8px,-12px)scale(1.4)}}.fp-splat-dot{filter:blur(1px);border-radius:9999px;animation-name:fp-splat-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute}@keyframes fp-sheen{0%{transform:translate(-150%)skew(-20deg)}20%{transform:translate(150%)skew(-20deg)}to{transform:translate(150%)skew(-20deg)}}.fp-tilt{transform-style:preserve-3d;width:100%;height:100%;transition:transform .5s ease-out}.fp-sheen{pointer-events:none;z-index:20;opacity:0;background:linear-gradient(110deg,#0000 35%,#42c8d759 45%,#ffffff8c 50%,#42c8d759 55%,#0000 65%);position:absolute;inset:-100%}@media (hover:hover){.group:hover .fp-tilt{transform:rotateX(5deg)rotateY(-5deg)}.group:hover .fp-sheen{opacity:.45;animation:3.5s ease-in-out infinite fp-sheen}}@media (hover:none){.fp-sheen{opacity:.22;animation:6s ease-in-out infinite fp-sheen}}.fp-perspective{perspective:1000px}.fp-flip{transform-style:preserve-3d;transition:transform .7s ease-in-out,box-shadow .3s,filter .3s;transform:rotateY(0)}.fp-flip.fp-flipped{transform:rotateY(180deg)}.fp-flip:not(.fp-flipped):hover{filter:brightness(1.05);box-shadow:0 8px 25px #00000026}.fp-flip:active{filter:brightness(.95)}.fp-face{backface-visibility:hidden}.fp-back{transform:rotateY(180deg)}@media (hover:none) and (pointer:coarse){.fp-flip:hover{box-shadow:none;filter:none}}@media (prefers-reduced-motion:reduce){.fp-splat-dot{animation:none}.fp-sheen{opacity:0;animation:none}.fp-tilt{transition:none;transform:none!important}}
