/* PromoPilot icons. Generated by scripts/build-icons.mjs — do not edit by hand. */
:root{--ppi-g1:#7C5CFF;--ppi-g2:#25C2E0;--ppi-a2:#25C2E0}
:root[data-theme="light"]{--ppi-g1:#5B3EF0;--ppi-g2:#0891B2;--ppi-a2:#0891B2}
.ppi{width:1.25em;height:1.25em;flex:none;display:inline-block;vertical-align:-.22em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ppi .a{stroke:url(#ppi-g) var(--ppi-a2,#25C2E0)}
.ppi .af{fill:url(#ppi-g) var(--ppi-a2,#25C2E0);stroke:none}
.ppi .m{transform-box:fill-box;transform-origin:center}
.ppi .o-center{transform-box:view-box;transform-origin:12px 12px}
.ppi .o-speed{transform-box:view-box;transform-origin:12px 15.2px}
.ppi .o-flame{transform-origin:50% 0}
.ppi .o-flag{transform-origin:0 50%}
.ppi .o-base{transform-origin:50% 100%}
.ppi .o-bow{transform-origin:50% 100%}
@media (prefers-reduced-motion:no-preference){
@keyframes ppi-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@keyframes ppi-draw-i{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-draw{animation:ppi-draw .75s ease-out 1}
.ppi--in .m-draw{animation:ppi-draw-i .75s ease-out 1 .15s both}
@keyframes ppi-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}70%{transform:scale(.92)}100%{transform:scale(1)}}
@keyframes ppi-pop-i{0%{transform:scale(1)}40%{transform:scale(1.28)}70%{transform:scale(.92)}100%{transform:scale(1)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-pop{animation:ppi-pop .55s ease-out 1}
.ppi--in .m-pop{animation:ppi-pop-i .55s ease-out 1 .15s both}
@keyframes ppi-beat{0%,100%{transform:scale(1)}25%{transform:scale(1.16)}50%{transform:scale(1)}70%{transform:scale(1.09)}}
@keyframes ppi-beat-i{0%,100%{transform:scale(1)}25%{transform:scale(1.16)}50%{transform:scale(1)}70%{transform:scale(1.09)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-beat{animation:ppi-beat .8s ease-in-out 1}
.ppi--in .m-beat{animation:ppi-beat-i .8s ease-in-out 1 .15s both}
@keyframes ppi-spin{to{transform:rotate(360deg)}}
@keyframes ppi-spin-i{to{transform:rotate(360deg)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-spin{animation:ppi-spin 1s ease-in-out 1}
.ppi--in .m-spin{animation:ppi-spin-i 1s ease-in-out 1 .15s both}
@keyframes ppi-needle{0%,100%{transform:rotate(0)}40%{transform:rotate(34deg)}70%{transform:rotate(-24deg)}}
@keyframes ppi-needle-i{0%,100%{transform:rotate(0)}40%{transform:rotate(34deg)}70%{transform:rotate(-24deg)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-needle{animation:ppi-needle .9s ease-in-out 1}
.ppi--in .m-needle{animation:ppi-needle-i .9s ease-in-out 1 .15s both}
@keyframes ppi-fly{0%,100%{transform:translate(0,0)}45%{transform:translate(1.5px,-4px)}}
@keyframes ppi-fly-i{0%,100%{transform:translate(0,0)}45%{transform:translate(1.5px,-4px)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-fly{animation:ppi-fly .7s ease-in-out 1}
.ppi--in .m-fly{animation:ppi-fly-i .7s ease-in-out 1 .15s both}
@keyframes ppi-flick{0%,100%{transform:scaleY(1)}35%{transform:scaleY(1.7)}65%{transform:scaleY(.8)}}
@keyframes ppi-flick-i{0%,100%{transform:scaleY(1)}35%{transform:scaleY(1.7)}65%{transform:scaleY(.8)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-flick{animation:ppi-flick .5s ease-in-out 1}
.ppi--in .m-flick{animation:ppi-flick-i .5s ease-in-out 1 .15s both}
@keyframes ppi-bob{0%,100%{transform:translateY(0)}40%{transform:translateY(-3px)}}
@keyframes ppi-bob-i{0%,100%{transform:translateY(0)}40%{transform:translateY(-3px)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-bob{animation:ppi-bob .6s ease-in-out 1}
.ppi--in .m-bob{animation:ppi-bob-i .6s ease-in-out 1 .15s both}
@keyframes ppi-dip{0%,100%{transform:translateY(0)}40%{transform:translateY(3px)}}
@keyframes ppi-dip-i{0%,100%{transform:translateY(0)}40%{transform:translateY(3px)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-dip{animation:ppi-dip .6s ease-in-out 1}
.ppi--in .m-dip{animation:ppi-dip-i .6s ease-in-out 1 .15s both}
@keyframes ppi-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-2px)}50%{transform:translateX(2px)}80%{transform:translateX(-1px)}}
@keyframes ppi-shake-i{0%,100%{transform:translateX(0)}20%{transform:translateX(-2px)}50%{transform:translateX(2px)}80%{transform:translateX(-1px)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-shake{animation:ppi-shake .5s ease-in-out 1}
.ppi--in .m-shake{animation:ppi-shake-i .5s ease-in-out 1 .15s both}
@keyframes ppi-twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.4) rotate(90deg)}}
@keyframes ppi-twinkle-i{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.4) rotate(90deg)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-twinkle{animation:ppi-twinkle .7s ease-in-out 1}
.ppi--in .m-twinkle{animation:ppi-twinkle-i .7s ease-in-out 1 .15s both}
@keyframes ppi-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
@keyframes ppi-wiggle-i{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-wiggle{animation:ppi-wiggle .6s ease-in-out 1}
.ppi--in .m-wiggle{animation:ppi-wiggle-i .6s ease-in-out 1 .15s both}
@keyframes ppi-slide-l{0%,100%{transform:translateX(0)}45%{transform:translateX(-2.5px)}}
@keyframes ppi-slide-l-i{0%,100%{transform:translateX(0)}45%{transform:translateX(-2.5px)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-slide-l{animation:ppi-slide-l .55s ease-in-out 1}
.ppi--in .m-slide-l{animation:ppi-slide-l-i .55s ease-in-out 1 .15s both}
@keyframes ppi-slide-r{0%,100%{transform:translateX(0)}45%{transform:translateX(2.5px)}}
@keyframes ppi-slide-r-i{0%,100%{transform:translateX(0)}45%{transform:translateX(2.5px)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-slide-r{animation:ppi-slide-r .55s ease-in-out 1}
.ppi--in .m-slide-r{animation:ppi-slide-r-i .55s ease-in-out 1 .15s both}
@keyframes ppi-squeeze{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.3)}}
@keyframes ppi-squeeze-i{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.3)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-squeeze{animation:ppi-squeeze .8s ease-in-out 1}
.ppi--in .m-squeeze{animation:ppi-squeeze-i .8s ease-in-out 1 .15s both}
@keyframes ppi-wave{0%,100%{transform:skewY(0)}35%{transform:skewY(-9deg)}70%{transform:skewY(7deg)}}
@keyframes ppi-wave-i{0%,100%{transform:skewY(0)}35%{transform:skewY(-9deg)}70%{transform:skewY(7deg)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-wave{animation:ppi-wave .8s ease-in-out 1}
.ppi--in .m-wave{animation:ppi-wave-i .8s ease-in-out 1 .15s both}
@keyframes ppi-glow{0%,100%{opacity:.16}45%{opacity:.6}}
@keyframes ppi-glow-i{0%,100%{opacity:.16}45%{opacity:.6}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-glow{animation:ppi-glow .9s ease-in-out 1}
.ppi--in .m-glow{animation:ppi-glow-i .9s ease-in-out 1 .15s both}
@keyframes ppi-blip{0%,100%{transform:scale(1)}40%{transform:scale(1.7)}}
@keyframes ppi-blip-i{0%,100%{transform:scale(1)}40%{transform:scale(1.7)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-blip{animation:ppi-blip .7s ease-out 1}
.ppi--in .m-blip{animation:ppi-blip-i .7s ease-out 1 .15s both}
@keyframes ppi-flame{0%,100%{transform:scaleY(1)}30%{transform:scaleY(1.9)}60%{transform:scaleY(1.2)}}
@keyframes ppi-flame-i{0%,100%{transform:scaleY(1)}30%{transform:scaleY(1.9)}60%{transform:scaleY(1.2)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-flame{animation:ppi-flame .7s ease-in-out 1}
.ppi--in .m-flame{animation:ppi-flame-i .7s ease-in-out 1 .15s both}
@keyframes ppi-trail{0%{transform:translateY(-2px);opacity:0}30%{opacity:.9}100%{transform:translateY(5px);opacity:0}}
@keyframes ppi-trail-i{0%{transform:translateY(-2px);opacity:0}30%{opacity:.9}100%{transform:translateY(5px);opacity:0}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-trail{animation:ppi-trail .7s ease-out 1}
.ppi--in .m-trail{animation:ppi-trail-i .7s ease-out 1 .15s both}
@keyframes ppi-grow{0%{transform:scaleY(.25)}60%{transform:scaleY(1.15)}100%{transform:scaleY(1)}}
@keyframes ppi-grow-i{0%{transform:scaleY(.25)}60%{transform:scaleY(1.15)}100%{transform:scaleY(1)}}
:is(.ppi:hover,.ppi.is-play,.ppi-host:hover .ppi,a:hover>.ppi,button:hover>.ppi) .m-grow{animation:ppi-grow .6s ease-out 1}
.ppi--in .m-grow{animation:ppi-grow-i .6s ease-out 1 .15s both}
}
