/* LTMG animated icon kit (vanilla). Lucide geometry (ISC). Per-icon motion ported from the lucide-animated (pqoqubbw / 21st.dev) registry components.
   Only transform / opacity / stroke-dashoffset, max 700ms. Triggers: a / button / .ai-hover on :hover and :focus-visible, or .ai-inview (added once by animated-icons.js).
   Springs and infinite loops are approximated with cubic-bezier and single iterations. */
.ai-icon{width:16px;height:16px;display:inline-block;vertical-align:-0.125em;flex:none;transform-origin:50% 50%;overflow:visible}
.ai-icon--20{width:20px;height:20px}
.ai-icon--24{width:24px;height:24px}
.ai-icon :is(.ai-a,.ai-b,.ai-c,.ai-d,.ai-s1,.ai-s2,.ai-s3,[class*="ai-r"],[class*="ai-l"]){transform-box:fill-box;transform-origin:center}
@keyframes ai-fade{from{opacity:0}to{opacity:1}}
@keyframes ai-draw{0%{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}25%{opacity:1}100%{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}}
@keyframes ai-drawr{0%{stroke-dasharray:1;stroke-dashoffset:-1;opacity:0}25%{opacity:1}100%{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}}
@keyframes ai-drawsc{0%{stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transform:scale(.5)}25%{opacity:1}100%{stroke-dasharray:1;stroke-dashoffset:0;opacity:1;transform:scale(1)}}
@keyframes ai-drawsr{0%{stroke-dasharray:1;stroke-dashoffset:-1;opacity:0;transform:scale(.5)}25%{opacity:1}100%{stroke-dasharray:1;stroke-dashoffset:0;opacity:1;transform:scale(1)}}
/* search */
@keyframes k-search{0%{transform:translate(0,0)}33%{transform:translate(0,-16.67%)}66%{transform:translate(-12.50%,0)}100%{transform:translate(0,0)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-search{animation:k-search 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-search.ai-inview{animation:k-search 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* pause */
@keyframes k-pl{0%{transform:translateY(0)}20%{transform:translateY(2px)}50%,100%{transform:translateY(0)}}
@keyframes k-pr{0%,20%{transform:translateY(0)}50%{transform:translateY(2px)}100%{transform:translateY(0)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-pause .ai-a{animation:k-pl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-pause.ai-inview .ai-a{animation:k-pl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-pause .ai-b{animation:k-pr 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-pause.ai-inview .ai-b{animation:k-pr 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* play */
@keyframes k-play{0%{transform:translateX(0) rotate(0)}20%{transform:translateX(-1px) rotate(-10deg)}50%{transform:translateX(2px) rotate(0)}100%{transform:translateX(0) rotate(0)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-play .ai-a{animation:k-play 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-play.ai-inview .ai-a{animation:k-play 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* chevron-left */
@keyframes k-cl{0%,100%{transform:translateX(0)}40%{transform:translateX(-2px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-chevron-left .ai-a{animation:k-cl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-chevron-left.ai-inview .ai-a{animation:k-cl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* chevron-right */
@keyframes k-cr{0%,100%{transform:translateX(0)}40%{transform:translateX(2px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-chevron-right .ai-a{animation:k-cr 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-chevron-right.ai-inview .ai-a{animation:k-cr 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* arrow-right */
@keyframes k-ars{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.643)}}
@keyframes k-arh{0%,100%{transform:translateX(0)}50%{transform:translateX(-3px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-arrow-right .ai-a{transform-origin:0 50%;animation:k-ars 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-arrow-right.ai-inview .ai-a{transform-origin:0 50%;animation:k-ars 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-arrow-right .ai-b{animation:k-arh 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-arrow-right.ai-inview .ai-b{animation:k-arh 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* arrow-up-right */
@keyframes k-aur{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4px,4px) scale(.85)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-arrow-up-right .ai-a{transform-origin:100% 0;animation:k-aur 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-arrow-up-right.ai-inview .ai-a{transform-origin:100% 0;animation:k-aur 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* phone */
@keyframes k-ph{0%{transform:rotate(10deg) scale(1)}25%{transform:rotate(20deg) scale(1.05)}50%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.05)}100%{transform:rotate(0) scale(1)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-phone{animation:k-ph 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-phone.ai-inview{animation:k-ph 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* phone-call */
@keyframes k-pc{0%{transform:rotate(10deg) scale(1)}25%{transform:rotate(20deg) scale(1.1)}50%{transform:rotate(-10deg) scale(1.2)}75%{transform:rotate(10deg) scale(1.1)}100%{transform:rotate(0) scale(1)}}
@keyframes k-pca{0%{opacity:1}40%,70%{opacity:0}90%,100%{opacity:1}}
@keyframes k-pcb{0%{opacity:1}40%,55%{opacity:0}75%,100%{opacity:1}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-phone-call{animation:k-pc 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-phone-call.ai-inview{animation:k-pc 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-phone-call .ai-a{animation:k-pca 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-phone-call.ai-inview .ai-a{animation:k-pca 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-phone-call .ai-b{animation:k-pcb 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-phone-call.ai-inview .ai-b{animation:k-pcb 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* message-circle */
@keyframes k-msg{0%{transform:rotate(0) scale(1)}33%{transform:rotate(-7deg) scale(1.05)}66%{transform:rotate(7deg) scale(1.05)}100%{transform:rotate(0) scale(1)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-message-circle{animation:k-msg 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-message-circle.ai-inview{animation:k-msg 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* message-square */
@keyframes k-msg{0%{transform:rotate(0) scale(1)}33%{transform:rotate(-7deg) scale(1.05)}66%{transform:rotate(7deg) scale(1.05)}100%{transform:rotate(0) scale(1)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-message-square{animation:k-msg 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-message-square.ai-inview{animation:k-msg 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* calendar-check */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-calendar-check .ai-a{animation:ai-draw 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-calendar-check.ai-inview .ai-a{animation:ai-draw 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* clock */
@keyframes k-clk{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-clock .ai-a{transform-box:view-box;transform-origin:12px 12px;animation:k-clk 600ms cubic-bezier(.4,0,.2,1) 0ms 1 both}
.ai-icon.ai-clock.ai-inview .ai-a{transform-box:view-box;transform-origin:12px 12px;animation:k-clk 600ms cubic-bezier(.4,0,.2,1) 0ms 1 both}
/* map-pin */
@keyframes k-mp{0%{transform:translateY(0)}60%{transform:translateY(-20.83%)}100%{transform:translateY(-12.50%)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-map-pin{animation:k-mp 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-map-pin.ai-inview{animation:k-mp 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-map-pin .ai-a{animation:ai-drawr 400ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
.ai-icon.ai-map-pin.ai-inview .ai-a{animation:ai-drawr 400ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
/* check */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-check .ai-a{animation:ai-drawsr 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-check.ai-inview .ai-a{animation:ai-drawsr 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* check-circle */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-check-circle .ai-a{animation:ai-draw 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-check-circle.ai-inview .ai-a{animation:ai-draw 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* x */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-x .ai-a{animation:ai-draw 300ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-x.ai-inview .ai-a{animation:ai-draw 300ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-x .ai-b{animation:ai-draw 300ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
.ai-icon.ai-x.ai-inview .ai-b{animation:ai-draw 300ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
/* plus */
@keyframes k-plus{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-plus{animation:k-plus 700ms cubic-bezier(.2,.9,.3,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-plus.ai-inview{animation:k-plus 700ms cubic-bezier(.2,.9,.3,1) 0ms 1 both}
/* upload */
@keyframes k-up{0%{transform:translateY(0)}100%{transform:translateY(-2px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-upload .ai-a{animation:k-up 450ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-upload.ai-inview .ai-a{animation:k-up 450ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
/* file-text */
@keyframes k-ft{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes k-fl{0%{stroke-dasharray:1;stroke-dashoffset:0}50%{stroke-dasharray:1;stroke-dashoffset:1}100%{stroke-dasharray:1;stroke-dashoffset:0}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-file-text{animation:k-ft 300ms cubic-bezier(0,0,.58,1) 0ms 1 both}
.ai-icon.ai-file-text.ai-inview{animation:k-ft 300ms cubic-bezier(0,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-file-text .ai-a{animation:k-fl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-file-text.ai-inview .ai-a{animation:k-fl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-file-text .ai-b{animation:k-fl 500ms cubic-bezier(.42,0,.58,1) 100ms 1 both}
.ai-icon.ai-file-text.ai-inview .ai-b{animation:k-fl 500ms cubic-bezier(.42,0,.58,1) 100ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-file-text .ai-c{animation:k-fl 500ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
.ai-icon.ai-file-text.ai-inview .ai-c{animation:k-fl 500ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
/* wrench */
@keyframes k-wr{0%{transform:rotate(0)}42%{transform:rotate(12deg)}68%{transform:rotate(-14deg)}88%{transform:rotate(4deg)}100%{transform:rotate(0)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-wrench{transform-origin:90% 10%;animation:k-wr 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-wrench.ai-inview{transform-origin:90% 10%;animation:k-wr 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* car */
@keyframes k-cb{0%,100%{transform:translateY(0)}25%{transform:translateY(-.6px)}50%{transform:translateY(0)}75%{transform:translateY(-.4px)}}
@keyframes k-cw{0%,100%{transform:scale(1,1)}25%{transform:scale(1.12,.9)}50%{transform:scale(1,1)}75%{transform:scale(1.06,.95)}}
@keyframes k-cs{0%{opacity:0;transform:translateX(0) scaleX(.2)}20%{opacity:.7;transform:translateX(-4px) scaleX(1)}60%{opacity:.5;transform:translateX(-10px) scaleX(.8)}100%{opacity:0;transform:translateX(-16px) scaleX(.3)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-car .ai-a{animation:k-cb 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-car.ai-inview .ai-a{animation:k-cb 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-car .ai-w1{transform-box:view-box;transform-origin:7px 19px;animation:k-cw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-car.ai-inview .ai-w1{transform-box:view-box;transform-origin:7px 19px;animation:k-cw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-car .ai-w2{transform-box:view-box;transform-origin:17px 19px;animation:k-cw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-car.ai-inview .ai-w2{transform-box:view-box;transform-origin:17px 19px;animation:k-cw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-car .ai-s1{animation:k-cs 540ms cubic-bezier(0,0,.58,1) 0ms 1 both}
.ai-icon.ai-car.ai-inview .ai-s1{animation:k-cs 540ms cubic-bezier(0,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-car .ai-s2{animation:k-cs 540ms cubic-bezier(0,0,.58,1) 60ms 1 both}
.ai-icon.ai-car.ai-inview .ai-s2{animation:k-cs 540ms cubic-bezier(0,0,.58,1) 60ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-car .ai-s3{animation:k-cs 540ms cubic-bezier(0,0,.58,1) 120ms 1 both}
.ai-icon.ai-car.ai-inview .ai-s3{animation:k-cs 540ms cubic-bezier(0,0,.58,1) 120ms 1 both}
/* hammer */
@keyframes k-hm{0%{transform:rotate(0)}60%{transform:rotate(-20deg)}80%{transform:rotate(25deg)}100%{transform:rotate(0)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-hammer{transform-origin:0 100%;animation:k-hm 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-hammer.ai-inview{transform-origin:0 100%;animation:k-hm 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* home */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-home .ai-a{animation:ai-draw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-home.ai-inview .ai-a{animation:ai-draw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* leaf */
@keyframes k-lf{0%{transform:none}25%{transform:translate(8.33%,-16.67%) rotate(-8deg)}50%{transform:translate(-8.33%,-8.33%) rotate(4deg)}75%{transform:translate(4.17%,-4.17%) rotate(-3deg)}100%{transform:none}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-leaf{animation:k-lf 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-leaf.ai-inview{animation:k-lf 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* sun */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r1{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 40ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r1{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 40ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r2{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r2{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r3{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 320ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r3{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 320ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r4{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 160ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r4{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 160ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r5{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 280ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r5{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 280ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r6{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 120ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r6{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 120ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r7{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 240ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r7{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 240ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun .ai-r8{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 80ms 1 both}
.ai-icon.ai-sun.ai-inview .ai-r8{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 80ms 1 both}
/* snowflake */
@keyframes k-sn{0%,100%{transform:rotate(0)}20%{transform:rotate(-5deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(5deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-snowflake{animation:k-sn 400ms linear 0ms 1 both}
.ai-icon.ai-snowflake.ai-inview{animation:k-sn 400ms linear 0ms 1 both}
/* cloud-rain */
@keyframes k-rn{0%,100%{opacity:1}50%{opacity:.2}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-cloud-rain .ai-a{animation:k-rn 550ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-cloud-rain.ai-inview .ai-a{animation:k-rn 550ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-cloud-rain .ai-b{animation:k-rn 550ms cubic-bezier(.42,0,.58,1) 70ms 1 both}
.ai-icon.ai-cloud-rain.ai-inview .ai-b{animation:k-rn 550ms cubic-bezier(.42,0,.58,1) 70ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-cloud-rain .ai-c{animation:k-rn 550ms cubic-bezier(.42,0,.58,1) 140ms 1 both}
.ai-icon.ai-cloud-rain.ai-inview .ai-c{animation:k-rn 550ms cubic-bezier(.42,0,.58,1) 140ms 1 both}
/* cloud-lightning */
@keyframes k-lt{0%,100%{opacity:1}50%{opacity:.4}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-cloud-lightning .ai-a{animation:k-lt 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-cloud-lightning.ai-inview .ai-a{animation:k-lt 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* wind */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-wind .ai-b{animation:ai-drawr 450ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-wind.ai-inview .ai-b{animation:ai-drawr 450ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-wind .ai-a{animation:ai-drawr 450ms cubic-bezier(.42,0,.58,1) 100ms 1 both}
.ai-icon.ai-wind.ai-inview .ai-a{animation:ai-drawr 450ms cubic-bezier(.42,0,.58,1) 100ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-wind .ai-c{animation:ai-drawr 450ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
.ai-icon.ai-wind.ai-inview .ai-c{animation:ai-drawr 450ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
/* sparkles */
@keyframes k-spa{0%,100%{transform:translateY(0)}30%{transform:translateY(-1px)}}
@keyframes k-spb{0%{opacity:0}17%{opacity:1}33%,83%{opacity:0}100%{opacity:1}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sparkles .ai-a{animation:k-spa 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-sparkles.ai-inview .ai-a{animation:k-spa 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sparkles .ai-b{animation:k-spb 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-sparkles.ai-inview .ai-b{animation:k-spb 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* heart */
@keyframes k-ht{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-heart{animation:k-ht 350ms cubic-bezier(.42,0,.58,1) 2}
.ai-icon.ai-heart.ai-inview{animation:k-ht 350ms cubic-bezier(.42,0,.58,1) 2}
/* users */
@keyframes k-us{0%{transform:translateX(-6px)}100%{transform:translateX(0)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-users .ai-a{animation:k-us 600ms cubic-bezier(.3,1.3,.5,1) 100ms 1 both}
.ai-icon.ai-users.ai-inview .ai-a{animation:k-us 600ms cubic-bezier(.3,1.3,.5,1) 100ms 1 both}
/* user */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-user .ai-a{animation:ai-drawsr 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-user.ai-inview .ai-a{animation:ai-drawsr 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-user .ai-b{animation:ai-drawr 400ms cubic-bezier(.42,0,.58,1) 150ms 1 both}
.ai-icon.ai-user.ai-inview .ai-b{animation:ai-drawr 400ms cubic-bezier(.42,0,.58,1) 150ms 1 both}
/* shield-check */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-shield-check .ai-a{animation:ai-drawsc 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-shield-check.ai-inview .ai-a{animation:ai-drawsc 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* bot */
@keyframes k-bt{0%,100%{transform:scaleY(1)}50%{transform:scaleY(0)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-bot .ai-a{animation:k-bt 500ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
.ai-icon.ai-bot.ai-inview .ai-a{animation:k-bt 500ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
/* sliders */
@keyframes k-sl0{0%{transform:none}100%{transform:scaleX(1.571)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l0{transform-origin:right center;animation:k-sl0 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l0{transform-origin:right center;animation:k-sl0 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl1{0%{transform:none}100%{transform:scaleX(.286)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l1{transform-origin:left center;animation:k-sl1 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l1{transform-origin:left center;animation:k-sl1 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl2{0%{transform:none}100%{transform:scaleX(.333)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l2{transform-origin:right center;animation:k-sl2 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l2{transform-origin:right center;animation:k-sl2 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl3{0%{transform:none}100%{transform:scaleX(2)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l3{transform-origin:left center;animation:k-sl3 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l3{transform-origin:left center;animation:k-sl3 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl4{0%{transform:none}100%{transform:scaleX(2.6)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l4{transform-origin:right center;animation:k-sl4 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l4{transform-origin:right center;animation:k-sl4 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl5{0%{transform:none}100%{transform:scaleX(.111)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l5{transform-origin:left center;animation:k-sl5 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l5{transform-origin:left center;animation:k-sl5 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl6{0%{transform:none}100%{transform:translateX(-5px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l6{animation:k-sl6 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l6{animation:k-sl6 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl7{0%{transform:none}100%{transform:translateX(6px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l7{animation:k-sl7 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l7{animation:k-sl7 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
@keyframes k-sl8{0%{transform:none}100%{transform:translateX(-8px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sliders .ai-l8{animation:k-sl8 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-sliders.ai-inview .ai-l8{animation:k-sl8 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
/* zap */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-zap .ai-a{animation:ai-draw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-zap.ai-inview .ai-a{animation:ai-draw 600ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* trending-up */
@keyframes k-tu{0%,100%{transform:translate(0,0)}50%{transform:translate(8.33%,-8.33%)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-trending-up{animation:k-tu 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-trending-up.ai-inview{animation:k-tu 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-trending-up .ai-a{animation:ai-drawr 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-trending-up.ai-inview .ai-a{animation:ai-drawr 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-trending-up .ai-b{animation:ai-drawr 300ms cubic-bezier(.42,0,.58,1) 300ms 1 both}
.ai-icon.ai-trending-up.ai-inview .ai-b{animation:ai-drawr 300ms cubic-bezier(.42,0,.58,1) 300ms 1 both}
/* dollar-sign */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-dollar-sign .ai-a{animation:ai-draw 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-dollar-sign.ai-inview .ai-a{animation:ai-draw 400ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-dollar-sign .ai-b{animation:ai-draw 300ms cubic-bezier(.42,0,.58,1) 300ms 1 both}
.ai-icon.ai-dollar-sign.ai-inview .ai-b{animation:ai-draw 300ms cubic-bezier(.42,0,.58,1) 300ms 1 both}
/* credit-card */
@keyframes k-cc{0%,100%{transform:translateX(0)}40%{transform:translateX(-4px)}75%{transform:translateX(1.5px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-credit-card .ai-a{animation:k-cc 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-credit-card.ai-inview .ai-a{animation:k-cc 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* moon */
@keyframes k-mn{0%,100%{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(5deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-moon{animation:k-mn 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-moon.ai-inview{animation:k-mn 700ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* sun-medium */
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r1{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 40ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r1{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 40ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r2{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 80ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r2{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 80ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r3{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 120ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r3{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 120ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r4{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 160ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r4{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 160ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r5{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r5{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 200ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r6{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 240ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r6{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 240ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r7{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 280ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r7{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 280ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-sun-medium .ai-r8{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 320ms 1 both}
.ai-icon.ai-sun-medium.ai-inview .ai-r8{animation:ai-fade 300ms cubic-bezier(.42,0,.58,1) 320ms 1 both}
/* menu */
@keyframes k-m1{0%{transform:none}100%{transform:translateY(6px) rotate(45deg)}}
@keyframes k-m2{0%{opacity:1}100%{opacity:0}}
@keyframes k-m3{0%{transform:none}100%{transform:translateY(-6px) rotate(-45deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-menu .ai-a{animation:k-m1 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-menu.ai-inview .ai-a{animation:k-m1 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-menu .ai-b{animation:k-m2 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-menu.ai-inview .ai-b{animation:k-m2 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-menu .ai-c{animation:k-m3 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-menu.ai-inview .ai-c{animation:k-m3 500ms cubic-bezier(.34,1.56,.64,1) 0ms 1 both}
/* external-link */
@keyframes k-exl{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(2px,-2px) scale(.92)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-external-link .ai-a{transform-origin:100% 0;animation:k-exl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-external-link.ai-inview .ai-a{transform-origin:100% 0;animation:k-exl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* refresh-cw */
@keyframes k-rf{0%{transform:rotate(0)}100%{transform:rotate(50deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-refresh-cw{animation:k-rf 600ms cubic-bezier(0,0,.58,1) 0ms 1 both;animation-fill-mode:forwards}
.ai-icon.ai-refresh-cw.ai-inview{animation:k-rf 600ms cubic-bezier(0,0,.58,1) 0ms 1 both}
/* bell */
@keyframes k-bl{0%,100%{transform:rotate(0)}25%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon.ai-bell{animation:k-bl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
.ai-icon.ai-bell.ai-inview{animation:k-bl 500ms cubic-bezier(.42,0,.58,1) 0ms 1 both}
/* fallback family: no lucide-animated entry */
@keyframes ai-f-wiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(4deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon:is(.ai-scissors,.ai-umbrella,.ai-ruler,.ai-mail),
.ai-icon.ai-inview:is(.ai-scissors,.ai-umbrella,.ai-ruler,.ai-mail){animation:ai-f-wiggle 600ms ease-out 1 both}
@keyframes ai-f-bounce{0%,100%{transform:translateY(0)}35%{transform:translateY(-3px)}65%{transform:translateY(0)}82%{transform:translateY(-1px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon:is(.ai-calendar,.ai-camera,.ai-image,.ai-hard-hat,.ai-calculator,.ai-clipboard-list,.ai-house-plus),
.ai-icon.ai-inview:is(.ai-calendar,.ai-camera,.ai-image,.ai-hard-hat,.ai-calculator,.ai-clipboard-list,.ai-house-plus){animation:ai-f-bounce 500ms ease-out 1 both}
@keyframes ai-f-pulse{0%,100%{transform:scale(1)}40%{transform:scale(1.2)}70%{transform:scale(.95)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon:is(.ai-star),
.ai-icon.ai-inview:is(.ai-star){animation:ai-f-pulse 500ms ease-out 1 both}
@keyframes ai-f-sway{0%,100%{transform:rotate(0)}30%{transform:rotate(-10deg)}65%{transform:rotate(8deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon:is(.ai-sprout),
.ai-icon.ai-inview:is(.ai-sprout){animation:ai-f-sway 600ms ease-out 1 both}
@keyframes ai-f-bob{0%,100%{transform:translateY(0)}35%{transform:translateY(2px)}70%{transform:translateY(-1px)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon:is(.ai-droplets),
.ai-icon.ai-inview:is(.ai-droplets){animation:ai-f-bob 600ms ease-out 1 both}
@keyframes ai-f-spin-q{0%{transform:rotate(0)}100%{transform:rotate(90deg)}}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon:is(.ai-globe),
.ai-icon.ai-inview:is(.ai-globe){animation:ai-f-spin-q 700ms ease-out 1 both}
:is(a,button,.ai-hover):is(:hover,:focus-visible) .ai-icon:is(.ai-badge-check,.ai-minus) .ai-fbd,
.ai-icon.ai-inview:is(.ai-badge-check,.ai-minus) .ai-fbd{animation:ai-draw 500ms ease-out 1 both}
@media (prefers-reduced-motion:reduce){.ai-icon,.ai-icon *{animation:none !important;transition:none !important}}
