.jl-badge{position:relative;display:block;width:clamp(56px,6.5vw,88px);aspect-ratio:1/1;transform:rotate(-8deg);transition:transform .35s cubic-bezier(.2,1.6,.4,1);pointer-events:none}
.jl-badge__star,.jl-badge__text{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none}
.jl-badge__star polygon{transform-box:fill-box;transform-origin:50% 50%;animation:jl-spin 24s linear infinite}
.jl-on .jl-badge:not(.jl-in){opacity:0}
.jl-badge.jl-in{animation:jl-stamp .7s cubic-bezier(.2,1.6,.4,1) backwards}
.card-wrapper:hover .jl-badge,.card-wrapper:focus-within .jl-badge{transform:rotate(4deg) scale(1.14)}
.card-wrapper:hover .jl-badge__star{animation:jl-spin .8s cubic-bezier(.3,.7,.3,1)}
.card-wrapper:hover .jl-badge__text{animation:jl-wiggle .5s ease-in-out}
@keyframes jl-stamp{0%{opacity:0;transform:rotate(-40deg) scale(2.2)}60%{opacity:1;transform:rotate(-4deg) scale(.88)}100%{opacity:1;transform:rotate(-8deg) scale(1)}}
@keyframes jl-spin{to{transform:rotate(360deg)}}
@keyframes jl-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}
@media (prefers-reduced-motion:reduce){.jl-badge,.jl-badge *{animation:none!important;transition:none!important}.jl-on .jl-badge:not(.jl-in){opacity:1}}
