@nice2dev/icons 1.3.16 → 1.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +1 -1
  3. package/dist/cjs/animationSpeed.js +69 -0
  4. package/dist/cjs/createIcon.js +45 -21
  5. package/dist/cjs/iconStyles.js +1137 -1081
  6. package/dist/cjs/icons/actions.js +2 -2
  7. package/dist/cjs/icons/brand.js +4 -747
  8. package/dist/cjs/icons/business.js +59 -23
  9. package/dist/cjs/icons/files.js +54 -54
  10. package/dist/cjs/icons/food.js +75 -557
  11. package/dist/cjs/icons/fun.js +51 -33
  12. package/dist/cjs/icons/index.js +0 -7
  13. package/dist/cjs/icons/navigation.js +26 -7
  14. package/dist/cjs/icons/omniverk.js +17 -244
  15. package/dist/cjs/icons/science.js +63 -170
  16. package/dist/cjs/icons/sports.js +45 -137
  17. package/dist/cjs/index.js +0 -7
  18. package/dist/cjs/nicetodev-icons.css +1 -1
  19. package/dist/cjs/smilAnimations.js +11 -2
  20. package/dist/esm/animationSpeed.js +69 -0
  21. package/dist/esm/createIcon.js +45 -21
  22. package/dist/esm/iconStyles.js +1137 -1081
  23. package/dist/esm/icons/actions.js +2 -2
  24. package/dist/esm/icons/brand.js +5 -748
  25. package/dist/esm/icons/business.js +59 -23
  26. package/dist/esm/icons/files.js +54 -54
  27. package/dist/esm/icons/food.js +74 -556
  28. package/dist/esm/icons/fun.js +51 -33
  29. package/dist/esm/icons/index.js +3 -10
  30. package/dist/esm/icons/navigation.js +26 -7
  31. package/dist/esm/icons/omniverk.js +17 -244
  32. package/dist/esm/icons/science.js +63 -170
  33. package/dist/esm/icons/sports.js +45 -137
  34. package/dist/esm/index.js +3 -10
  35. package/dist/esm/nicetodev-icons.css +1 -1
  36. package/dist/esm/smilAnimations.js +11 -2
  37. package/dist/types/animationSpeed.d.ts +19 -0
  38. package/dist/types/createIcon.d.ts +6 -0
  39. package/dist/types/iconStyles.d.ts +6 -1
  40. package/dist/types/icons/brand.d.ts +0 -4
  41. package/dist/types/icons/food.d.ts +0 -3
  42. package/dist/types/icons/index.d.ts +3 -3
  43. package/dist/types/icons/omniverk.d.ts +0 -3
  44. package/dist/types/icons/science.d.ts +1 -1
  45. package/dist/types/smilAnimations.d.ts +4 -2
  46. package/dist/types/types.d.ts +7 -0
  47. package/package.json +2 -2
@@ -1 +1 @@
1
- .ntd-icon{display:inline-block;vertical-align:-.125em;flex-shrink:0;transition:color .2s ease,transform .2s ease}.ntd-anim-spin{animation:ntd-spin 1s linear infinite}.ntd-anim-spin-reverse{animation:ntd-spin 1s linear infinite reverse}@keyframes ntd-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ntd-anim-pulse{animation:ntd-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes ntd-pulse{0%,to{opacity:1}50%{opacity:.4}}.ntd-anim-bounce{animation:ntd-bounce 1s ease infinite}@keyframes ntd-bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0,0,.2,1)}}.ntd-anim-shake{animation:ntd-shake .6s ease-in-out infinite}@keyframes ntd-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.ntd-anim-float{animation:ntd-float 3s ease-in-out infinite}@keyframes ntd-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.ntd-anim-flip{animation:ntd-flip 1.2s ease-in-out infinite}@keyframes ntd-flip{0%{transform:perspective(400px) rotateY(0)}40%{transform:perspective(400px) rotateY(170deg)}50%{transform:perspective(400px) rotateY(190deg)}80%{transform:perspective(400px) rotateY(360deg)}to{transform:perspective(400px) rotateY(360deg)}}.ntd-anim-turn{animation:ntd-turn var(--ntd-anim-duration, 4s) infinite}@keyframes ntd-turn{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}12.5%,50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.65,0,.35,1)}62.5%,to{transform:rotate(0)}}.ntd-anim-turn .ntd-hourglass-sand{transform-box:view-box;animation-duration:var(--ntd-anim-duration, 4s);animation-timing-function:linear;animation-iteration-count:infinite}.ntd-anim-turn .ntd-hourglass-sand--top-neck{transform-origin:12px 11.4px;animation-name:ntd-hourglass-top-neck}.ntd-anim-turn .ntd-hourglass-sand--top-base{transform-origin:12px 5.8px;animation-name:ntd-hourglass-top-base}.ntd-anim-turn .ntd-hourglass-sand--bottom-neck{transform-origin:12px 12.6px;animation-name:ntd-hourglass-bottom-neck}.ntd-anim-turn .ntd-hourglass-sand--bottom-base{transform-origin:12px 18.2px;animation-name:ntd-hourglass-bottom-base}.ntd-anim-turn .ntd-hourglass-sand--stream-up{animation-name:ntd-hourglass-stream-up}.ntd-anim-turn .ntd-hourglass-sand--stream-down{animation-name:ntd-hourglass-stream-down}@keyframes ntd-hourglass-top-base{0%,12.5%{transform:scaleY(0)}50%,62.5%{transform:scaleY(1)}62.6%,to{transform:scaleY(0)}}@keyframes ntd-hourglass-top-neck{0%,50%{transform:scale(0)}50.1%,62.5%{transform:scale(1)}to{transform:scale(0)}}@keyframes ntd-hourglass-bottom-neck{0%,12.5%{transform:scale(1)}50%,to{transform:scale(0)}}@keyframes ntd-hourglass-bottom-base{0%,62.5%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ntd-hourglass-stream-up{0%,13%,49.5%,to{opacity:0}14%,48.5%{opacity:1}}@keyframes ntd-hourglass-stream-down{0%,63%,99.5%,to{opacity:0}64%,98.5%{opacity:1}}.ntd-anim-glow{animation:ntd-glow 2s ease-in-out infinite}@keyframes ntd-glow{0%,to{filter:drop-shadow(0 0 2px currentColor)}50%{filter:drop-shadow(0 0 12px currentColor) drop-shadow(0 0 20px currentColor)}}.ntd-anim-wiggle{animation:ntd-wiggle 1s ease-in-out infinite}@keyframes ntd-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.ntd-anim-rubber{animation:ntd-rubber 1s ease-in-out infinite}@keyframes ntd-rubber{0%{transform:scale(1)}30%{transform:scaleX(1.25) scaleY(.75)}40%{transform:scaleX(.75) scaleY(1.25)}50%{transform:scaleX(1.15) scaleY(.85)}65%{transform:scaleX(.95) scaleY(1.05)}75%{transform:scaleX(1.05) scaleY(.95)}to{transform:scale(1)}}.ntd-anim-swing{animation:ntd-swing 1s ease-in-out infinite;transform-origin:top center}@keyframes ntd-swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.ntd-anim-tada{animation:ntd-tada 1.2s ease-in-out infinite}@keyframes ntd-tada{0%{transform:scale(1) rotate(0)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.ntd-anim-heartbeat{animation:ntd-heartbeat 1.2s ease-in-out infinite}@keyframes ntd-heartbeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.ntd-anim-fade-in{animation:ntd-fade-in .5s ease-out forwards}@keyframes ntd-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.ntd-anim-slide-up{animation:ntd-slide-up .4s ease-out forwards}@keyframes ntd-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ntd-anim-jello{animation:ntd-jello 1s ease-in-out infinite}@keyframes ntd-jello{0%,to{transform:skew(0) skewY(0)}11.1%{transform:skew(-12.5deg) skewY(-12.5deg)}22.2%{transform:skew(6.25deg) skewY(6.25deg)}33.3%{transform:skew(-3.125deg) skewY(-3.125deg)}44.4%{transform:skew(1.5625deg) skewY(1.5625deg)}55.5%{transform:skew(-.78125deg) skewY(-.78125deg)}66.6%{transform:skew(.390625deg) skewY(.390625deg)}77.7%{transform:skew(-.1953125deg) skewY(-.1953125deg)}}.ntd-anim-pop{animation:ntd-pop .6s ease-out infinite}@keyframes ntd-pop{0%{transform:scale(1)}15%{transform:scale(1.35)}30%{transform:scale(.9)}45%{transform:scale(1.1)}60%{transform:scale(.97)}75%{transform:scale(1.03)}to{transform:scale(1)}}.ntd-anim-squeeze{animation:ntd-squeeze 1.4s ease-in-out infinite}@keyframes ntd-squeeze{0%,to{transform:scaleX(1) scaleY(1)}25%{transform:scaleX(.7) scaleY(1.3)}50%{transform:scaleX(1) scaleY(1)}75%{transform:scaleX(1.3) scaleY(.7)}}.ntd-anim-drop{animation:ntd-drop .8s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ntd-drop{0%{opacity:0;transform:translateY(-40px) scale(.8)}60%{opacity:1;transform:translateY(4px) scale(1.05)}75%{transform:translateY(-2px) scale(.98)}90%{transform:translateY(1px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-anim-rise{animation:ntd-rise .7s cubic-bezier(.16,1,.3,1) forwards}@keyframes ntd-rise{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-anim-slide-left{animation:ntd-slide-left .5s ease-out forwards}@keyframes ntd-slide-left{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.ntd-anim-slide-right{animation:ntd-slide-right .5s ease-out forwards}@keyframes ntd-slide-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.ntd-anim-slide-down{animation:ntd-slide-down .4s ease-out forwards}@keyframes ntd-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ntd-anim-roll-in{animation:ntd-roll-in .8s ease-out forwards}@keyframes ntd-roll-in{0%{opacity:0;transform:translate(-100%) rotate(-120deg)}to{opacity:1;transform:translate(0) rotate(0)}}.ntd-anim-flash{animation:ntd-flash 1s ease-in-out infinite}@keyframes ntd-flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.ntd-anim-vibrate{animation:ntd-vibrate .3s linear infinite}@keyframes ntd-vibrate{0%{transform:translate(0)}20%{transform:translate(-1px,1px)}40%{transform:translate(1px,-1px)}60%{transform:translate(-1px,-1px)}80%{transform:translate(1px,1px)}to{transform:translate(0)}}.ntd-anim-wobble{animation:ntd-wobble 1.2s ease-in-out infinite}@keyframes ntd-wobble{0%{transform:translate(0) rotate(0)}15%{transform:translate(-15%) rotate(-5deg)}30%{transform:translate(10%) rotate(3deg)}45%{transform:translate(-10%) rotate(-3deg)}60%{transform:translate(5%) rotate(2deg)}75%{transform:translate(-3%) rotate(-1deg)}to{transform:translate(0) rotate(0)}}.ntd-anim-spiral{animation:ntd-spiral 2s linear infinite}@keyframes ntd-spiral{0%{transform:rotate(0) scale(.8)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(.8)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(360deg) scale(.8)}}.ntd-anim-ping{animation:ntd-ping 1.5s ease-out infinite}@keyframes ntd-ping{0%{transform:scale(1);opacity:1}70%{transform:scale(1.6);opacity:0}71%{transform:scale(1);opacity:0}to{transform:scale(1);opacity:1}}.ntd-anim-flicker{animation:ntd-flicker 1.5s steps(1) infinite}@keyframes ntd-flicker{0%{opacity:1}4%{opacity:.3}8%{opacity:1}12%{opacity:.6}16%{opacity:1}20%{opacity:.2}22%{opacity:1}50%{opacity:1}52%{opacity:.4}54%{opacity:1}80%{opacity:1}82%{opacity:.3}85%{opacity:1}90%{opacity:.5}92%{opacity:1}}.ntd-anim-tilt{animation:ntd-tilt 2s ease-in-out infinite;transform-origin:bottom center}@keyframes ntd-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(8deg)}75%{transform:rotate(-8deg)}}.ntd-anim-breathe{animation:ntd-breathe 4s ease-in-out infinite}@keyframes ntd-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}.ntd-anim-drift{animation:ntd-drift 4s ease-in-out infinite}@keyframes ntd-drift{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(5px) rotate(1deg)}50%{transform:translate(0) rotate(0)}75%{transform:translate(-5px) rotate(-1deg)}}.ntd-anim-orbit{animation:ntd-orbit 3s linear infinite}@keyframes ntd-orbit{0%{transform:translate(0)}25%{transform:translate(4px,-4px)}50%{transform:translateY(-6px)}75%{transform:translate(-4px,-4px)}to{transform:translate(0)}}.ntd-anim-crush{animation:ntd-crush .8s ease-in-out infinite}@keyframes ntd-crush{0%,to{transform:scaleY(1) scaleX(1)}40%{transform:scaleY(.3) scaleX(1.3)}60%{transform:scaleY(1.15) scaleX(.9)}80%{transform:scaleY(.95) scaleX(1.02)}}.ntd-anim-stretch{animation:ntd-stretch 1s ease-in-out infinite}@keyframes ntd-stretch{0%,to{transform:scaleY(1) scaleX(1)}30%{transform:scaleY(1.4) scaleX(.8)}50%{transform:scaleY(.85) scaleX(1.1)}70%{transform:scaleY(1.1) scaleX(.95)}}.ntd-anim-dissolve{animation:ntd-dissolve 2s ease-in-out infinite}@keyframes ntd-dissolve{0%,to{opacity:1;filter:blur(0)}50%{opacity:.1;filter:blur(4px)}}.ntd-anim-materialize{animation:ntd-materialize .8s ease-out forwards}@keyframes ntd-materialize{0%{opacity:0;filter:blur(8px);transform:scale(.6)}60%{opacity:.8;filter:blur(1px);transform:scale(1.05)}to{opacity:1;filter:blur(0);transform:scale(1)}}.ntd-anim-sway{animation:ntd-sway 2.5s ease-in-out infinite;transform-origin:top center}@keyframes ntd-sway{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}}.ntd-anim-tremble{animation:ntd-tremble .15s linear infinite}@keyframes ntd-tremble{0%{transform:translate(0) rotate(0)}25%{transform:translate(-.5px,.5px) rotate(-.5deg)}50%{transform:translate(.5px,-.5px) rotate(.5deg)}75%{transform:translate(-.5px,-.5px) rotate(-.5deg)}to{transform:translate(0) rotate(0)}}.ntd-anim-rock{animation:ntd-rock 1.5s ease-in-out infinite;transform-origin:bottom center}@keyframes ntd-rock{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}.ntd-anim-snap{animation:ntd-snap 1.5s ease-in-out infinite}@keyframes ntd-snap{0%,30%{transform:rotate(0)}50%{transform:rotate(190deg)}55%{transform:rotate(175deg)}60%{transform:rotate(182deg)}65%,to{transform:rotate(180deg)}}.ntd-anim-warp{animation:ntd-warp 2s ease-in-out infinite}@keyframes ntd-warp{0%,to{transform:perspective(300px) rotateX(0) rotateY(0)}25%{transform:perspective(300px) rotateX(10deg) rotateY(10deg)}50%{transform:perspective(300px) rotateX(-5deg) rotateY(-10deg)}75%{transform:perspective(300px) rotateX(8deg) rotateY(-5deg)}}.ntd-anim-glitch{animation:ntd-glitch .8s steps(1) infinite}@keyframes ntd-glitch{0%{transform:translate(0)}5%{transform:translate(-3px,2px) skew(2deg)}10%{transform:translate(3px,-1px) skew(-1deg)}15%{transform:translate(0)}40%{transform:translate(0)}42%{transform:translate(2px,1px) skew(-3deg)}44%{transform:translate(-2px,-2px) skew(1deg)}46%{transform:translate(0)}70%{transform:translate(0)}72%{transform:translate(-1px,3px) skew(2deg)}74%{transform:translate(1px,-1px)}76%{transform:translate(0)}to{transform:translate(0)}}.ntd-anim-zoom-pulse{animation:ntd-zoom-pulse 1.5s ease-in-out infinite}@keyframes ntd-zoom-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.ntd-anim-ripple{animation:ntd-ripple 1.6s ease-out infinite}@keyframes ntd-ripple{0%{transform:scale(1);opacity:1}30%{transform:scale(1.15);opacity:.8}50%{transform:scale(1);opacity:1}70%{transform:scale(1.08);opacity:.9}to{transform:scale(1);opacity:1}}.ntd-anim-implode{animation:ntd-implode 1.2s ease-in-out infinite}@keyframes ntd-implode{0%,to{transform:scale(1);opacity:1}40%{transform:scale(.2) rotate(20deg);opacity:.3}60%{transform:scale(.15) rotate(25deg);opacity:.2}80%{transform:scale(1.1) rotate(0);opacity:1}}.ntd-anim-explode{animation:ntd-explode 1.4s ease-in-out infinite}@keyframes ntd-explode{0%,to{transform:scale(1);opacity:1}30%{transform:scale(1.8);opacity:.6}50%{transform:scale(2);opacity:0}51%{transform:scale(.5);opacity:0}70%{transform:scale(1.1);opacity:.8}85%{transform:scale(.95);opacity:1}}.ntd-anim-rotate-x{animation:ntd-rotate-x 1.5s ease-in-out infinite}@keyframes ntd-rotate-x{0%{transform:perspective(400px) rotateX(0)}to{transform:perspective(400px) rotateX(360deg)}}.ntd-anim-morph{animation:ntd-morph 3s ease-in-out infinite}@keyframes ntd-morph{0%,to{transform:scaleX(1) scaleY(1) rotate(0);border-radius:0}20%{transform:scaleX(1.1) scaleY(.9) rotate(2deg)}40%{transform:scaleX(.9) scaleY(1.1) rotate(-1deg)}60%{transform:scaleX(1.05) scaleY(.95) rotate(1deg)}80%{transform:scaleX(.95) scaleY(1.05) rotate(-2deg)}}.ntd-anim-levitate{animation:ntd-levitate 3s ease-in-out infinite}@keyframes ntd-levitate{0%,to{transform:translateY(0);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}50%{transform:translateY(-10px);filter:drop-shadow(0 12px 8px rgba(0,0,0,.1))}}.ntd-anim-dash{animation:ntd-dash .8s ease-in-out infinite}@keyframes ntd-dash{0%,to{transform:translate(0) scaleX(1);opacity:1}30%{transform:translate(-3px) scaleX(.9);opacity:.8}60%{transform:translate(15px) scaleX(1.15);opacity:.6}80%{transform:translate(2px) scaleX(1);opacity:.9}}.ntd-anim-twist{animation:ntd-twist 1.5s ease-in-out infinite}@keyframes ntd-twist{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(30deg) scale(.9)}50%{transform:rotate(0) scale(1.05)}75%{transform:rotate(-30deg) scale(.9)}}.ntd-anim-stomp{animation:ntd-stomp 1s ease-in-out infinite;transform-origin:bottom center}@keyframes ntd-stomp{0%,to{transform:translateY(0) scaleY(1) scaleX(1)}20%{transform:translateY(-15px) scaleY(1.1) scaleX(.95)}50%{transform:translateY(0) scaleY(.7) scaleX(1.2)}65%{transform:translateY(-3px) scaleY(1.05) scaleX(.98)}80%{transform:translateY(0) scaleY(.95) scaleX(1.03)}}.ntd-anim-flap{animation:ntd-flap .6s ease-in-out infinite}@keyframes ntd-flap{0%,to{transform:perspective(400px) rotateX(0) translateY(0)}50%{transform:perspective(400px) rotateX(25deg) translateY(-5px)}}.ntd-anim-skate{animation:ntd-skate 2s ease-in-out infinite}@keyframes ntd-skate{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(8px) rotate(2deg)}50%{transform:translate(0) rotate(0)}75%{transform:translate(-8px) rotate(-2deg)}}.ntd-anim-blink{animation:ntd-blink 1.4s steps(1) infinite}@keyframes ntd-blink{0%,49%{opacity:1}50%,99%{opacity:0}}.ntd-anim-reveal{animation:ntd-reveal 1s ease-out forwards}@keyframes ntd-reveal{0%{clip-path:circle(0% at 50% 50%);opacity:.5}to{clip-path:circle(75% at 50% 50%);opacity:1}}.ntd-anim-vortex{animation:ntd-vortex .8s ease-out forwards}@keyframes ntd-vortex{0%{transform:rotate(-540deg) scale(0);opacity:0}60%{transform:rotate(20deg) scale(1.1);opacity:1}80%{transform:rotate(-10deg) scale(.95)}to{transform:rotate(0) scale(1);opacity:1}}.ntd-anim-meteor{animation:ntd-meteor .7s ease-out forwards}@keyframes ntd-meteor{0%{transform:translate(30px,-30px) rotate(15deg) scale(.5);opacity:0}70%{transform:translate(-2px,2px) rotate(-2deg) scale(1.05);opacity:1}to{transform:translate(0) rotate(0) scale(1);opacity:1}}.ntd-anim-scale-in{animation:ntd-scale-in .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ntd-scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.ntd-anim-scale-out{animation:ntd-scale-out .4s ease-in forwards}@keyframes ntd-scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.ntd-anim-pendulum{animation:ntd-pendulum 2s ease-in-out infinite;transform-origin:top center}@keyframes ntd-pendulum{0%{transform:rotate(0)}25%{transform:rotate(25deg)}50%{transform:rotate(0)}75%{transform:rotate(-25deg)}to{transform:rotate(0)}}.ntd-anim-surge{animation:ntd-surge 1.5s ease-in-out infinite}@keyframes ntd-surge{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 currentColor)}15%{transform:scale(1.2);filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 16px currentColor)}30%{transform:scale(.95);filter:drop-shadow(0 0 2px currentColor)}45%{transform:scale(1.1);filter:drop-shadow(0 0 6px currentColor)}60%{transform:scale(1);filter:drop-shadow(0 0 0 currentColor)}}.ntd-anim-radar{animation:ntd-radar 2s linear infinite}@keyframes ntd-radar{0%{transform:rotate(0);opacity:1}50%{opacity:.4}to{transform:rotate(360deg);opacity:1}}.ntd-anim-typewriter{animation:ntd-typewriter 1s steps(12) forwards}@keyframes ntd-typewriter{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.ntd-anim-unfold{animation:ntd-unfold .7s ease-out forwards}@keyframes ntd-unfold{0%{transform:scaleY(.05) scaleX(1.3);opacity:.3}50%{transform:scaleY(1.1) scaleX(.95);opacity:.9}70%{transform:scaleY(.95) scaleX(1.02);opacity:1}to{transform:scaleY(1) scaleX(1);opacity:1}}.ntd-anim-fold{animation:ntd-fold .6s ease-in forwards}@keyframes ntd-fold{0%{transform:scaleY(1) scaleX(1);opacity:1}to{transform:scaleY(.05) scaleX(1.3);opacity:0}}.ntd-anim-scatter{animation:ntd-scatter 1.5s ease-in-out infinite}@keyframes ntd-scatter{0%,to{transform:scale(1) rotate(0);opacity:1;filter:blur(0)}20%{transform:scale(1.3) rotate(5deg);opacity:.6;filter:blur(2px)}40%{transform:scale(1.5) rotate(-3deg);opacity:.2;filter:blur(4px)}50%{transform:scale(.8) rotate(0);opacity:0;filter:blur(6px)}65%{transform:scale(.6) rotate(-5deg);opacity:.3;filter:blur(3px)}80%{transform:scale(.95) rotate(2deg);opacity:.8;filter:blur(1px)}}.ntd-anim-assemble{animation:ntd-assemble 1s ease-out forwards}@keyframes ntd-assemble{0%{transform:scale(2) rotate(15deg);opacity:0;filter:blur(8px)}30%{transform:scale(.8) rotate(-5deg);opacity:.5;filter:blur(3px)}60%{transform:scale(1.1) rotate(2deg);opacity:.9;filter:blur(1px)}80%{transform:scale(.97) rotate(-1deg);opacity:1;filter:blur(0)}to{transform:scale(1) rotate(0);opacity:1;filter:blur(0)}}.ntd-anim-neon{animation:ntd-neon 2s ease-in-out infinite}@keyframes ntd-neon{0%,to{opacity:1;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}10%{opacity:.4;filter:drop-shadow(0 0 0 currentColor)}11%{opacity:1;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}15%{opacity:.3;filter:drop-shadow(0 0 0 currentColor)}16%{opacity:1;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}50%{opacity:1;filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 16px currentColor) drop-shadow(0 0 24px currentColor)}}.ntd-anim-earthquake{animation:ntd-earthquake .5s ease-in-out infinite}@keyframes ntd-earthquake{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px) rotate(-1deg)}20%{transform:translate(3px,-3px) rotate(1deg)}30%{transform:translate(-2px,4px) rotate(-2deg)}40%{transform:translate(4px,-1px) rotate(2deg)}50%{transform:translate(-3px,3px) rotate(-1deg)}60%{transform:translate(2px,-4px) rotate(1deg)}70%{transform:translate(-4px,1px) rotate(-2deg)}80%{transform:translate(3px,2px) rotate(2deg)}90%{transform:translate(-1px,-3px) rotate(-1deg)}}.ntd-anim-signature{transform-origin:center;animation:ntd-signature-enter .65s cubic-bezier(.34,1.56,.64,1) forwards}.ntd-anim-signature path,.ntd-anim-signature line,.ntd-anim-signature polyline,.ntd-anim-signature polygon,.ntd-anim-signature circle,.ntd-anim-signature rect,.ntd-anim-signature ellipse{stroke-dasharray:150;stroke-dashoffset:150;animation:ntd-signature-stroke 1.7s ease-out .05s forwards,ntd-signature-fill .55s ease-out 1.05s forwards;filter:drop-shadow(0 0 0 currentColor)}@keyframes ntd-signature-enter{0%{opacity:.08;transform:scale(.05) rotate(-8deg)}60%{opacity:1;transform:scale(1.06) rotate(0)}to{opacity:1;transform:scale(1)}}@keyframes ntd-signature-stroke{0%{stroke-dashoffset:150;filter:drop-shadow(0 0 0 currentColor)}65%{stroke-dashoffset:0;filter:drop-shadow(0 0 6px currentColor)}to{stroke-dashoffset:0;filter:drop-shadow(0 0 2px currentColor)}}@keyframes ntd-signature-fill{0%{fill-opacity:.05}to{fill-opacity:1}}.ntd-anim-draw-sequence path,.ntd-anim-draw-sequence line,.ntd-anim-draw-sequence polyline,.ntd-anim-draw-sequence polygon,.ntd-anim-draw-sequence circle,.ntd-anim-draw-sequence rect,.ntd-anim-draw-sequence ellipse{stroke-dasharray:160;stroke-dashoffset:160;fill-opacity:0;animation:ntd-draw-sequence 1.6s ease-out forwards}.ntd-anim-draw-sequence path:nth-child(1),.ntd-anim-draw-sequence line:nth-child(1),.ntd-anim-draw-sequence polyline:nth-child(1),.ntd-anim-draw-sequence polygon:nth-child(1),.ntd-anim-draw-sequence circle:nth-child(1),.ntd-anim-draw-sequence rect:nth-child(1),.ntd-anim-draw-sequence ellipse:nth-child(1){animation-delay:0s}.ntd-anim-draw-sequence path:nth-child(2),.ntd-anim-draw-sequence line:nth-child(2),.ntd-anim-draw-sequence polyline:nth-child(2),.ntd-anim-draw-sequence polygon:nth-child(2),.ntd-anim-draw-sequence circle:nth-child(2),.ntd-anim-draw-sequence rect:nth-child(2),.ntd-anim-draw-sequence ellipse:nth-child(2){animation-delay:.2s}.ntd-anim-draw-sequence path:nth-child(3),.ntd-anim-draw-sequence line:nth-child(3),.ntd-anim-draw-sequence polyline:nth-child(3),.ntd-anim-draw-sequence polygon:nth-child(3),.ntd-anim-draw-sequence circle:nth-child(3),.ntd-anim-draw-sequence rect:nth-child(3),.ntd-anim-draw-sequence ellipse:nth-child(3){animation-delay:.4s}@keyframes ntd-draw-sequence{0%{stroke-dashoffset:160;fill-opacity:0}75%{stroke-dashoffset:0;fill-opacity:.15}to{stroke-dashoffset:0;fill-opacity:1}}.ntd-anim-stroke-order path,.ntd-anim-stroke-order line,.ntd-anim-stroke-order polyline,.ntd-anim-stroke-order polygon,.ntd-anim-stroke-order circle,.ntd-anim-stroke-order rect,.ntd-anim-stroke-order ellipse{stroke-dasharray:220;stroke-dashoffset:220;animation:ntd-stroke-order 2s linear forwards}@keyframes ntd-stroke-order{0%{stroke-dashoffset:220;opacity:.2}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.ntd-anim-glow-trace path,.ntd-anim-glow-trace line,.ntd-anim-glow-trace polyline,.ntd-anim-glow-trace polygon,.ntd-anim-glow-trace circle,.ntd-anim-glow-trace rect,.ntd-anim-glow-trace ellipse{stroke-dasharray:180;animation:ntd-glow-trace 2.8s ease-in-out infinite}@keyframes ntd-glow-trace{0%{stroke-dashoffset:180;filter:drop-shadow(0 0 0 currentColor);opacity:.3}45%{stroke-dashoffset:0;filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 14px currentColor);opacity:1}to{stroke-dashoffset:-180;filter:drop-shadow(0 0 2px currentColor);opacity:.5}}.ntd-anim-seal-stamp{transform-origin:center;animation:ntd-seal-stamp .75s cubic-bezier(.22,1,.36,1) forwards}@keyframes ntd-seal-stamp{0%{opacity:0;transform:translateY(-14px) scale(1.25) rotate(-4deg);filter:blur(2px)}45%{opacity:1;transform:translateY(2px) scale(.94) rotate(0);filter:blur(0)}70%{transform:translateY(-1px) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-anim-draw path,.ntd-anim-draw line,.ntd-anim-draw polyline,.ntd-anim-draw polygon,.ntd-anim-draw circle,.ntd-anim-draw rect,.ntd-anim-draw ellipse{stroke-dasharray:120;stroke-dashoffset:120;animation:ntd-draw-stroke 1.2s ease-out forwards,ntd-draw-fill .4s ease-out .8s forwards;fill-opacity:0}@keyframes ntd-draw-stroke{0%{stroke-dashoffset:120}to{stroke-dashoffset:0}}@keyframes ntd-draw-fill{0%{fill-opacity:0}to{fill-opacity:1}}.ntd-anim-draw-from-dot{transform-origin:center;animation:ntd-draw-dot-enter .45s cubic-bezier(.34,1.56,.64,1) forwards}.ntd-anim-draw-from-dot path,.ntd-anim-draw-from-dot line,.ntd-anim-draw-from-dot polyline,.ntd-anim-draw-from-dot polygon,.ntd-anim-draw-from-dot circle,.ntd-anim-draw-from-dot rect,.ntd-anim-draw-from-dot ellipse{stroke-dasharray:140;stroke-dashoffset:140;animation:ntd-draw-dot-stroke 1.35s ease-out .15s forwards,ntd-draw-fill .45s ease-out .95s forwards;fill-opacity:0}@keyframes ntd-draw-dot-enter{0%{opacity:.15;transform:scale(.08)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes ntd-draw-dot-stroke{0%{stroke-dashoffset:140}to{stroke-dashoffset:0}}.ntd-anim-draw-loop path,.ntd-anim-draw-loop line,.ntd-anim-draw-loop polyline,.ntd-anim-draw-loop polygon,.ntd-anim-draw-loop circle,.ntd-anim-draw-loop rect,.ntd-anim-draw-loop ellipse{stroke-dasharray:140;animation:ntd-draw-loop-stroke 2.4s ease-in-out infinite}@keyframes ntd-draw-loop-stroke{0%{stroke-dashoffset:140;opacity:0}25%{stroke-dashoffset:0;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-140;opacity:.2}}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:circle(0% at 50% 50%);transform-box:fill-box;transform-origin:center;animation:ntd-draw-shape-pop .7s cubic-bezier(.34,1.56,.64,1) .35s forwards}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(2){animation-delay:.5s}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(3){animation-delay:.65s}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(n+4){animation-delay:.8s}@keyframes ntd-draw-shape-pop{0%{fill-opacity:0;clip-path:circle(0% at 50% 50%);transform:scale(.5)}60%{fill-opacity:.9;clip-path:circle(75% at 50% 50%);transform:scale(1.08)}to{fill-opacity:1;clip-path:circle(100% at 50% 50%);transform:scale(1)}}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:circle(0% at 50% 50%);transform-box:fill-box;transform-origin:center;animation:ntd-draw-dot-shape-burst .65s cubic-bezier(.34,1.56,.64,1) .25s forwards}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(2){animation-delay:.4s}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(3){animation-delay:.55s}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(n+4){animation-delay:.7s}@keyframes ntd-draw-dot-shape-burst{0%{fill-opacity:0;clip-path:circle(0% at 50% 50%);transform:scale(.1)}50%{fill-opacity:.85;clip-path:circle(65% at 50% 50%);transform:scale(1.14)}75%{clip-path:circle(88% at 50% 50%);transform:scale(.97)}to{fill-opacity:1;clip-path:circle(100% at 50% 50%);transform:scale(1)}}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:inset(100% 0 0 0);transform-box:fill-box;transform-origin:center bottom;animation:ntd-draw-seq-shape-wipe .6s cubic-bezier(.22,1,.36,1) forwards}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(1){animation-delay:0s}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(2){animation-delay:.2s}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(3){animation-delay:.4s}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(n+4){animation-delay:.6s}@keyframes ntd-draw-seq-shape-wipe{0%{fill-opacity:0;clip-path:inset(100% 0 0 0);transform:scaleY(.6)}70%{fill-opacity:.9;clip-path:inset(5% 0 0 0);transform:scaleY(1.04)}to{fill-opacity:1;clip-path:inset(0 0 0 0);transform:scaleY(1)}}.ntd-anim-draw-loop :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;animation:ntd-draw-loop-shape-pulse 2.4s ease-in-out infinite}@keyframes ntd-draw-loop-shape-pulse{0%{clip-path:circle(0% at 50% 50%);opacity:0}25%{clip-path:circle(100% at 50% 50%);opacity:1}60%{clip-path:circle(100% at 50% 50%);opacity:1}to{clip-path:circle(0% at 50% 50%);opacity:.2}}.ntd-anim-signature :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:circle(0% at 50% 50%);transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 0 currentColor);animation:ntd-signature-shape-stamp .8s cubic-bezier(.22,1,.36,1) .5s forwards}@keyframes ntd-signature-shape-stamp{0%{fill-opacity:0;clip-path:circle(0% at 50% 50%);transform:scale(.35) rotate(-6deg);filter:drop-shadow(0 0 0 currentColor)}55%{fill-opacity:.85;clip-path:circle(70% at 50% 50%);transform:scale(1.08) rotate(0);filter:drop-shadow(0 0 8px currentColor)}to{fill-opacity:1;clip-path:circle(100% at 50% 50%);transform:scale(1);filter:drop-shadow(0 0 2px currentColor)}}.ntd-anim-stroke-order :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:inset(0 100% 0 0);animation:ntd-stroke-order-shape-wipe 1.2s ease-out .3s forwards}@keyframes ntd-stroke-order-shape-wipe{0%{fill-opacity:0;clip-path:inset(0 100% 0 0)}40%{fill-opacity:.7}to{fill-opacity:1;clip-path:inset(0 0 0 0)}}.ntd-anim-glow-trace :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;animation:ntd-glow-trace-shape 2.8s ease-in-out infinite}@keyframes ntd-glow-trace-shape{0%{clip-path:circle(0% at 50% 50%);filter:drop-shadow(0 0 0 currentColor);opacity:.3}45%{clip-path:circle(100% at 50% 50%);filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 16px currentColor);opacity:1}to{clip-path:circle(0% at 50% 50%);filter:drop-shadow(0 0 2px currentColor);opacity:.4}}.nice-icon-stacker{display:flex;flex-direction:column;gap:var(--nice-space-3, 12px);min-width:0;color:var(--nice-text-primary, inherit);font-size:var(--nice-font-size-sm, .8125rem)}.nice-icon-stacker :where(button){display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border:1px solid transparent;border-radius:var(--nice-radius-md, 6px);background:transparent;color:inherit;font:inherit;cursor:pointer}.nice-icon-stacker :where(button:hover:not(:disabled)){background:var(--nice-bg-hover, var(--nice-bg-secondary, #f1f5f9))}.nice-icon-stacker :where(button:disabled){opacity:.45;cursor:not-allowed}.nice-icon-stacker :where(input[type=text]){box-sizing:border-box;width:5em;padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-primary, #fff);color:var(--nice-text-primary, inherit);font:inherit}.nice-icon-stacker :where(input[type=range]){flex:1 1 auto;min-width:0;accent-color:var(--nice-color-primary, #3b82f6)}.nice-icon-stacker :where(button,input,summary):focus-visible{outline:none;box-shadow:var(--nice-focus-ring, 0 0 0 2px var(--nice-color-primary, #3b82f6))}.nice-icon-stacker__bar{display:flex;align-items:center;gap:var(--nice-space-1, 4px)}.nice-icon-stacker__title{flex:1 1 auto;color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem);font-weight:var(--nice-font-weight-semibold, 600);letter-spacing:.04em;text-transform:uppercase}.nice-icon-stacker :where(.nice-icon-stacker__add){border-color:var(--nice-border-color, #e2e8f0);font-weight:var(--nice-font-weight-medium, 500)}.nice-icon-stacker :where(.nice-icon-stacker__add:hover:not(:disabled)){border-color:var(--nice-color-primary, #3b82f6);color:var(--nice-color-primary, #3b82f6)}.nice-icon-stacker__empty{margin:0;padding:var(--nice-space-4, 16px);border:1px dashed var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 8px);color:var(--nice-text-secondary, #64748b);text-align:center}.nice-icon-stacker__top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--nice-space-3, 12px)}.nice-icon-stacker__preview{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:var(--nice-space-2, 8px);padding:var(--nice-space-3, 12px);border-radius:var(--nice-radius-lg, 8px);background:var(--nice-bg-secondary, #f8fafc)}.nice-icon-stacker__preview-main{display:inline-flex}.nice-icon-stacker__preview-small{display:flex;align-items:flex-end;gap:var(--nice-space-2, 8px)}.nice-icon-stacker__preview-small>span{display:inline-flex}.nice-icon-stacker__layers-wrap{display:flex;flex:1 1 180px;flex-direction:column;gap:var(--nice-space-1, 4px);min-width:0}.nice-icon-stacker__layers{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.nice-icon-stacker__layer{--nice-icon-stacker-depth: 0;display:flex;align-items:center;padding-left:calc(var(--nice-icon-stacker-depth, 0) * var(--nice-space-4, 16px));border-radius:var(--nice-radius-md, 6px)}.nice-icon-stacker__layer:hover{background:var(--nice-bg-hover, var(--nice-bg-secondary, #f1f5f9))}.nice-icon-stacker__layer.nice-icon-stacker__layer--selected{background:color-mix(in srgb,var(--nice-color-primary, #3b82f6) 14%,transparent)}.nice-icon-stacker :where(.nice-icon-stacker__layer-select){flex:1 1 auto;min-width:0;padding:var(--nice-space-1, 4px) var(--nice-space-1-5, 6px);text-align:left}.nice-icon-stacker :where(.nice-icon-stacker__layer-select:hover:not(:disabled)){background:transparent}.nice-icon-stacker__layer-icon{display:inline-flex;flex:0 0 auto}.nice-icon-stacker__layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-icon-stacker__layer--selected .nice-icon-stacker__layer-name{font-weight:var(--nice-font-weight-semibold, 600)}.nice-icon-stacker__layer-text{padding:0 var(--nice-space-1, 4px);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg-tertiary, #f1f5f9);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker__badge{margin-left:auto;padding:0 var(--nice-space-1-5, 6px);border-radius:var(--nice-radius-full, 9999px);background:var(--nice-bg-tertiary, #f1f5f9);color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker :where(.nice-icon-stacker__remove){flex:0 0 auto;padding:var(--nice-space-1, 4px);color:var(--nice-text-secondary, #64748b);opacity:0}.nice-icon-stacker__layer:hover .nice-icon-stacker__remove,.nice-icon-stacker__layer--selected .nice-icon-stacker__remove,.nice-icon-stacker .nice-icon-stacker__remove:focus-visible{opacity:1}.nice-icon-stacker__hint{color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker__inspector{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px);padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px) var(--nice-space-3, 12px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 8px)}.nice-icon-stacker__inspector-head{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);font-weight:var(--nice-font-weight-semibold, 600)}.nice-icon-stacker__inspector-head small{color:var(--nice-text-secondary, #64748b);font-weight:var(--nice-font-weight-normal, 400)}.nice-icon-stacker__inspector-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--nice-space-3, 12px)}.nice-icon-stacker__pad{display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:var(--nice-space-1-5, 6px)}.nice-icon-stacker :where(.nice-icon-stacker__pad-auto){justify-content:center;padding:2px var(--nice-space-2, 8px);border-color:var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-full, 9999px);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker :where(.nice-icon-stacker__pad-auto[aria-checked=true]){border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-color-primary, #3b82f6);color:var(--nice-text-on-primary, #fff)}.nice-icon-stacker__pad-box{display:grid;grid-template-columns:repeat(5,16px);grid-template-rows:repeat(5,16px);place-items:center;padding:var(--nice-space-1, 4px);border:1.5px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-secondary, #f8fafc)}.nice-icon-stacker :where(.nice-icon-stacker__pad-dot){width:10px;height:10px;padding:0;border:1.5px solid color-mix(in srgb,currentColor 55%,transparent);border-radius:50%}.nice-icon-stacker :where(.nice-icon-stacker__pad-dot:hover:not(:disabled)){border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-primary-tint-20, transparent)}.nice-icon-stacker :where(.nice-icon-stacker__pad-dot[aria-checked=true]){width:12px;height:12px;border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-color-primary, #3b82f6)}.nice-icon-stacker__fields{display:flex;flex:1 1 140px;flex-direction:column;gap:var(--nice-space-2, 8px);min-width:0}.nice-icon-stacker__field{display:flex;align-items:center;gap:var(--nice-space-2, 8px);min-width:0}.nice-icon-stacker__field>span{flex:0 0 auto;min-width:4.5em;color:var(--nice-text-secondary, #64748b)}.nice-icon-stacker__field output{flex:0 0 auto;min-width:3.5ch;font-variant-numeric:tabular-nums;text-align:right}.nice-icon-stacker__field :where(input[aria-invalid=true]){border-color:var(--nice-color-error, #ef4444)}.nice-icon-stacker__more>summary{width:max-content;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-secondary, #64748b);cursor:pointer}.nice-icon-stacker__more-body{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px);padding-top:var(--nice-space-2, 8px)}.nice-icon-stacker__swatches{display:flex;flex-wrap:wrap;gap:var(--nice-space-1, 4px) var(--nice-space-3, 12px)}.nice-icon-stacker__swatch{display:inline-flex;align-items:center}.nice-icon-stacker__swatch-pick{position:relative;display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);cursor:pointer}.nice-icon-stacker__swatch-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.nice-icon-stacker__swatch-pick:focus-within{border-radius:var(--nice-radius-sm, 4px);box-shadow:var(--nice-focus-ring, 0 0 0 2px var(--nice-color-primary, #3b82f6))}.nice-icon-stacker__swatch-dot{width:16px;height:16px;border:1px solid var(--nice-border-color, #e2e8f0);border-radius:50%}.nice-icon-stacker__swatch-pick--auto .nice-icon-stacker__swatch-dot{border:1.5px dashed color-mix(in srgb,currentColor 55%,transparent);background:transparent}.nice-icon-stacker :where(.nice-icon-stacker__reset){padding:2px;color:var(--nice-text-secondary, #64748b)}.nice-icon-stacker__code>summary{width:max-content;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-secondary, #64748b);cursor:pointer}.nice-icon-stacker__code pre{box-sizing:border-box;width:100%;margin:var(--nice-space-2, 8px) 0;padding:var(--nice-space-3, 12px);overflow-x:auto;border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-secondary, #f8fafc);font-family:var(--nice-font-mono, ui-monospace, monospace);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker :where(.nice-icon-stacker__code button){border-color:var(--nice-border-color, #e2e8f0)}.ntd-picker{--ntd-picker-border: var(--nice-border-color, #3a3a4a);--ntd-picker-radius: var(--nice-radius-lg, 10px);--ntd-picker-bg: var(--nice-bg-elevated, #1e1e2a);--ntd-picker-text: var(--nice-text-primary, #f0f0f5);--ntd-picker-accent: var(--nice-color-primary, #6c5ce7);--ntd-picker-accent-hover: var(--nice-color-primary-hover, #5b4cdb);--ntd-picker-accent-alpha: var(--nice-primary-tint-20, rgba(108, 92, 231, .2));--ntd-picker-muted: var(--nice-text-muted, #606078);--ntd-picker-text-secondary: var(--nice-text-secondary, #a0a0b4);--ntd-picker-input-bg: var(--nice-bg-inset, #14141c);position:relative;display:inline-block;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.ntd-picker-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:var(--ntd-picker-radius, 10px);background:var(--ntd-picker-bg, #1e1e2a);color:var(--ntd-picker-text, #f0f0f5);font-size:.875rem;font-family:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-width:160px;user-select:none}.ntd-picker-trigger:hover{border-color:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-trigger:focus-visible{outline:none;border-color:var(--ntd-picker-accent, #6c5ce7);box-shadow:0 0 0 3px var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .25))}.ntd-picker-trigger-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12))}.ntd-picker-trigger-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ntd-picker-trigger-placeholder{color:var(--ntd-picker-muted, #606078)}.ntd-picker-trigger-chevron{flex-shrink:0;transition:transform .2s;color:var(--ntd-picker-muted, #606078)}.ntd-picker.ntd-picker--open .ntd-picker-trigger-chevron{transform:rotate(180deg)}.ntd-picker-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;width:380px;max-height:460px;display:flex;flex-direction:column;background:var(--ntd-picker-bg, #1e1e2a);border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:var(--ntd-picker-radius, 10px);box-shadow:0 12px 40px #0006,0 4px 12px #0003;overflow:hidden;animation:ntd-picker-appear .2s ease-out}@keyframes ntd-picker-appear{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-picker-search{position:relative;padding:10px 12px;border-bottom:1px solid var(--ntd-picker-border, #3a3a4a);flex-shrink:0}.ntd-picker-search-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--ntd-picker-muted, #606078);pointer-events:none}.ntd-picker-search input{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:8px;background:var(--ntd-picker-input-bg, #14141c);color:var(--ntd-picker-text, #f0f0f5);font-size:.82rem;font-family:inherit;outline:none;transition:border-color .2s}.ntd-picker-search input:focus{border-color:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-search input::placeholder{color:var(--ntd-picker-muted, #606078)}.ntd-picker-tabs{display:flex;gap:2px;padding:6px 10px;border-bottom:1px solid var(--ntd-picker-border, #3a3a4a);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.ntd-picker-tabs::-webkit-scrollbar{display:none}.ntd-picker-tab{padding:5px 10px;border:none;border-radius:6px;background:transparent;color:var(--ntd-picker-muted, #606078);font-size:.72rem;font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s;text-transform:uppercase;letter-spacing:.03em}.ntd-picker-tab:hover{color:var(--ntd-picker-text, #f0f0f5);background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12))}.ntd-picker-tab.ntd-picker-tab--active{color:#fff;background:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-grid-wrap{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--ntd-picker-border, #3a3a4a) transparent}.ntd-picker-grid-wrap::-webkit-scrollbar{width:5px}.ntd-picker-grid-wrap::-webkit-scrollbar-track{background:transparent}.ntd-picker-grid-wrap::-webkit-scrollbar-thumb{background:var(--ntd-picker-border, #3a3a4a);border-radius:3px}.ntd-picker-category-label{font-size:.68rem;font-weight:600;color:var(--ntd-picker-muted, #606078);text-transform:uppercase;letter-spacing:.05em;padding:6px 4px 4px;margin-top:4px}.ntd-picker-category-label:first-child{margin-top:0}.ntd-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px}.ntd-picker-cell{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;border-radius:8px;background:transparent;color:var(--ntd-picker-text, #f0f0f5);cursor:pointer;transition:all .15s;position:relative}.ntd-picker-cell:hover{background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12));transform:scale(1.1)}.ntd-picker-cell.ntd-picker-cell--selected{background:var(--ntd-picker-accent, #6c5ce7);color:#fff;box-shadow:0 2px 8px var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .25))}.ntd-picker-cell:focus-visible{outline:2px solid var(--ntd-picker-accent, #6c5ce7);outline-offset:1px}.ntd-picker-cell:after{content:attr(data-name);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:3px 8px;border-radius:5px;background:var(--ntd-picker-text, #f0f0f5);color:var(--ntd-picker-bg, #1e1e2a);font-size:.65rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10}.ntd-picker-cell:hover:after{opacity:1}.ntd-picker-cell.ntd-picker-cell--draggable{cursor:grab}.ntd-picker-cell.ntd-picker-cell--draggable:active{cursor:grabbing}.ntd-picker-cell.ntd-picker-cell--draggable:hover:before{content:"";position:absolute;inset:0;border:2px dashed var(--ntd-picker-accent, #6c5ce7);border-radius:8px;opacity:.5;pointer-events:none}.ntd-picker-empty{padding:32px 16px;text-align:center;color:var(--ntd-picker-muted, #606078);font-size:.82rem}.ntd-picker-empty-icon{font-size:2rem;margin-bottom:8px;opacity:.4}.ntd-picker-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--ntd-picker-border, #3a3a4a);flex-shrink:0}.ntd-picker-count{font-size:.7rem;color:var(--ntd-picker-muted, #606078)}.ntd-picker-clear{padding:4px 10px;border:none;border-radius:5px;background:transparent;color:var(--ntd-picker-muted, #606078);font-size:.72rem;font-family:inherit;cursor:pointer;transition:all .15s}.ntd-picker-clear:hover{background:#ff50501f;color:#ff5050}.ntd-picker-multi-badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--ntd-picker-accent, #6c5ce7);color:#fff;font-size:.7rem;font-weight:600}.ntd-picker-cell-check{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--ntd-picker-accent, #6c5ce7);color:#fff;pointer-events:none}.ntd-picker-cell.ntd-picker-cell--multi-select{position:relative}.ntd-picker-cell-fav{position:absolute;top:2px;left:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:50%;background:transparent;color:var(--ntd-picker-muted, #606078);cursor:pointer;opacity:0;transition:all .15s;padding:0}.ntd-picker-cell-wrap{position:relative}.ntd-picker-cell-wrap:hover .ntd-picker-cell-fav,.ntd-picker-cell-fav.ntd-picker-cell-fav--active{opacity:1}.ntd-picker-cell-fav:hover{color:#feca57;transform:scale(1.2)}.ntd-picker-cell-fav.ntd-picker-cell-fav--active{color:#feca57}.ntd-picker-tab-special{display:inline-flex;align-items:center;gap:4px}.ntd-picker-tab-special svg{width:10px;height:10px}.ntd-picker-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;border-radius:8px;background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .2));font-size:.65rem;font-weight:600}.ntd-picker-tab.ntd-picker-tab--active .ntd-picker-tab-count{background:#fff3}.ntd-picker-done{padding:4px 12px;border:none;border-radius:5px;background:var(--ntd-picker-accent, #6c5ce7);color:#fff;font-size:.72rem;font-family:inherit;font-weight:500;cursor:pointer;transition:all .15s}.ntd-picker-done:hover{background:var(--ntd-picker-accent-hover, #5b4cdb);transform:translateY(-1px)}.ntd-picker.ntd-picker--disabled .ntd-picker-trigger{opacity:.5;cursor:not-allowed}.ntd-picker.ntd-picker--multi .ntd-picker-trigger{border-style:dashed}.ntd-picker.ntd-picker--icon-only .ntd-picker-trigger{min-width:0;padding:4px}.ntd-picker-views{display:flex;flex-shrink:0;gap:2px;margin:10px 12px 0;padding:3px;border-radius:8px;background:var(--ntd-picker-input-bg, #14141c)}.ntd-picker-view{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border:none;border-radius:6px;background:transparent;color:var(--ntd-picker-text-secondary, #a0a0b4);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.ntd-picker-view:hover:not(:disabled){color:var(--ntd-picker-text, #f0f0f5)}.ntd-picker-view.ntd-picker-view--active{background:var(--ntd-picker-bg, #1e1e2a);color:var(--ntd-picker-text, #f0f0f5);box-shadow:0 0 0 1px var(--ntd-picker-border, #3a3a4a)}.ntd-picker-view:disabled{opacity:.45;cursor:not-allowed}.ntd-picker-view:focus-visible,.ntd-picker-back:focus-visible{outline:2px solid var(--ntd-picker-accent, #6c5ce7);outline-offset:1px}.ntd-picker-banner{display:flex;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ntd-picker-border, #3a3a4a);background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12));color:var(--ntd-picker-text, #f0f0f5);font-size:.8rem}.ntd-picker-back{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:6px;background:var(--ntd-picker-bg, #1e1e2a);color:inherit;cursor:pointer}.ntd-picker-back:hover{border-color:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-panel{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.ntd-picker-dropdown.ntd-picker-dropdown--stack{max-height:min(620px,85vh)}.ntd-picker-dropdown.ntd-picker-dropdown--up{top:auto;bottom:calc(100% + 6px)}.ntd-picker-dropdown.ntd-picker-dropdown--end{right:0;left:auto}.ntd-picker-stack{--nice-border-color: var(--ntd-picker-border);--nice-bg-primary: var(--ntd-picker-input-bg);--nice-bg-secondary: var(--ntd-picker-input-bg);--nice-bg-tertiary: var(--ntd-picker-accent-alpha);--nice-bg-hover: var(--ntd-picker-accent-alpha);--nice-text-primary: var(--ntd-picker-text);--nice-text-secondary: var(--ntd-picker-text-secondary);--nice-color-primary: var(--ntd-picker-accent);flex:1 1 auto;min-height:0;padding:12px;overflow-y:auto;scrollbar-width:thin}.ntd-picker-stack[hidden],.ntd-picker-serializer{display:none}.ntd-picker-grid.ntd-picker-grid--names{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.ntd-picker-grid--names .ntd-picker-cell{justify-content:flex-start;gap:8px;aspect-ratio:auto;padding:6px 8px}.ntd-picker-grid--names .ntd-picker-cell:hover{transform:none}.ntd-picker-grid--names .ntd-picker-cell:after{content:none}.ntd-picker-cell-name{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.nice-desktop-icon-exporter{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--nice-space-4, 16px);min-width:0;color:var(--nice-text-primary, inherit);font-size:var(--nice-font-size-sm, .8125rem)}.nice-desktop-icon-exporter :where(h3,h4){margin:0 0 var(--nice-space-2, 8px);font-weight:var(--nice-font-weight-semibold, 600)}.nice-desktop-icon-exporter :where(h3){font-size:var(--nice-font-size-md, .875rem)}.nice-desktop-icon-exporter :where(h4){color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem)}.nice-desktop-icon-exporter :where(button){padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-primary, #fff);color:var(--nice-text-primary, inherit);font:inherit;cursor:pointer}.nice-desktop-icon-exporter :where(button:hover:not(:disabled)){background:var(--nice-bg-secondary, #f8fafc)}.nice-desktop-icon-exporter :where(button:disabled){opacity:.5;cursor:not-allowed}.nice-desktop-icon-exporter :where(input[type=text]){box-sizing:border-box;padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-primary, #fff);color:var(--nice-text-primary, inherit);font:inherit}.nice-desktop-icon-exporter :where(input[type=range]){accent-color:var(--nice-color-primary, #3b82f6)}.nice-desktop-icon-exporter :where(button,input):focus-visible{outline:none;box-shadow:var(--nice-focus-ring, 0 0 0 2px var(--nice-color-primary, #3b82f6))}.nice-desktop-icon-exporter__preview,.nice-desktop-icon-exporter__config,.nice-desktop-icon-exporter__results{min-width:0;padding:var(--nice-space-3, 12px);background:var(--nice-bg-elevated, var(--nice-bg-primary, #fff));border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 8px)}.nice-desktop-icon-exporter__preview-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--nice-space-3, 12px)}.nice-desktop-icon-exporter__preview-item{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-1, 4px);color:var(--nice-text-muted, #94a3b8);font-size:var(--nice-font-size-xs, .75rem);font-variant-numeric:tabular-nums}.nice-desktop-icon-exporter__preview-box{display:flex;align-items:center;justify-content:center;border-radius:var(--nice-radius-sm, 4px)}.nice-desktop-icon-exporter__config{display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}.nice-desktop-icon-exporter__config>label{display:flex;flex-wrap:wrap;align-items:center;gap:var(--nice-space-2, 8px);color:var(--nice-text-secondary, #64748b);font-weight:var(--nice-font-weight-medium, 500)}.nice-desktop-icon-exporter__config>label>input[type=text],.nice-desktop-icon-exporter__config>label>input[type=range]{flex:1 1 140px;min-width:0}.nice-desktop-icon-exporter__platforms,.nice-desktop-icon-exporter__sizes{display:flex;flex-wrap:wrap;gap:var(--nice-space-1-5, 6px) var(--nice-space-4, 16px)}.nice-desktop-icon-exporter__sizes>h4{flex-basis:100%;margin:0}.nice-desktop-icon-exporter__platforms label,.nice-desktop-icon-exporter__sizes label{display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);cursor:pointer}.nice-desktop-icon-exporter__actions{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:var(--nice-space-2, 8px)}.nice-desktop-icon-exporter__actions>button:first-child{border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-color-primary, #3b82f6);color:var(--nice-text-on-primary, #fff);font-weight:var(--nice-font-weight-medium, 500)}.nice-desktop-icon-exporter__results{grid-column:1 / -1}.nice-desktop-icon-exporter__results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--nice-space-2, 8px)}.nice-desktop-icon-exporter__result-item{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-2, 8px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);text-align:center}.nice-desktop-icon-exporter__result-item>img{max-width:64px;max-height:64px}.nice-desktop-icon-exporter__result-item>span{max-width:100%;overflow:hidden;color:var(--nice-text-secondary, #64748b);font-family:var(--nice-font-mono, ui-monospace, monospace);font-size:var(--nice-font-size-xxs, .625rem);text-overflow:ellipsis;white-space:nowrap}
1
+ .ntd-icon{display:inline-block;vertical-align:-.125em;flex-shrink:0;transition:color .2s ease,transform .2s ease}.ntd-anim-spin{animation:ntd-spin calc(1s * var(--ntd-anim-scale, 2)) linear infinite}.ntd-anim-spin-reverse{animation:ntd-spin calc(1s * var(--ntd-anim-scale, 2)) linear infinite reverse}@keyframes ntd-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ntd-anim-pulse{animation:ntd-pulse calc(2s * var(--ntd-anim-scale, 2)) cubic-bezier(.4,0,.6,1) infinite}@keyframes ntd-pulse{0%,to{opacity:1}50%{opacity:.4}}.ntd-anim-bounce{animation:ntd-bounce calc(1s * var(--ntd-anim-scale, 2)) ease infinite}@keyframes ntd-bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0,0,.2,1)}}.ntd-anim-shake{animation:ntd-shake calc(.6s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.ntd-anim-float{animation:ntd-float calc(3s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.ntd-anim-flip{animation:ntd-flip calc(1.2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-flip{0%{transform:perspective(400px) rotateY(0)}40%{transform:perspective(400px) rotateY(170deg)}50%{transform:perspective(400px) rotateY(190deg)}80%{transform:perspective(400px) rotateY(360deg)}to{transform:perspective(400px) rotateY(360deg)}}.ntd-anim-turn{animation:ntd-turn var(--ntd-anim-duration, calc(4s * var(--ntd-anim-scale, 2))) infinite}@keyframes ntd-turn{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}12.5%,50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.65,0,.35,1)}62.5%,to{transform:rotate(0)}}.ntd-anim-turn .ntd-hourglass-sand{transform-box:view-box;animation-duration:var(--ntd-anim-duration, calc(4s * var(--ntd-anim-scale, 2)));animation-timing-function:linear;animation-iteration-count:infinite}.ntd-anim-turn .ntd-hourglass-sand--top-neck{transform-origin:12px 11.4px;animation-name:ntd-hourglass-top-neck}.ntd-anim-turn .ntd-hourglass-sand--top-base{transform-origin:12px 5.8px;animation-name:ntd-hourglass-top-base}.ntd-anim-turn .ntd-hourglass-sand--bottom-neck{transform-origin:12px 12.6px;animation-name:ntd-hourglass-bottom-neck}.ntd-anim-turn .ntd-hourglass-sand--bottom-base{transform-origin:12px 18.2px;animation-name:ntd-hourglass-bottom-base}.ntd-anim-turn .ntd-hourglass-sand--stream-up{animation-name:ntd-hourglass-stream-up}.ntd-anim-turn .ntd-hourglass-sand--stream-down{animation-name:ntd-hourglass-stream-down}@keyframes ntd-hourglass-top-base{0%,12.5%{transform:scaleY(0)}50%,62.5%{transform:scaleY(1)}62.6%,to{transform:scaleY(0)}}@keyframes ntd-hourglass-top-neck{0%,50%{transform:scale(0)}50.1%,62.5%{transform:scale(1)}to{transform:scale(0)}}@keyframes ntd-hourglass-bottom-neck{0%,12.5%{transform:scale(1)}50%,to{transform:scale(0)}}@keyframes ntd-hourglass-bottom-base{0%,62.5%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ntd-hourglass-stream-up{0%,13%,49.5%,to{opacity:0}14%,48.5%{opacity:1}}@keyframes ntd-hourglass-stream-down{0%,63%,99.5%,to{opacity:0}64%,98.5%{opacity:1}}.ntd-anim-glow{animation:ntd-glow calc(2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-glow{0%,to{filter:drop-shadow(0 0 2px currentColor)}50%{filter:drop-shadow(0 0 12px currentColor) drop-shadow(0 0 20px currentColor)}}.ntd-anim-wiggle{animation:ntd-wiggle calc(1s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.ntd-anim-rubber{animation:ntd-rubber calc(1s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-rubber{0%{transform:scale(1)}30%{transform:scaleX(1.25) scaleY(.75)}40%{transform:scaleX(.75) scaleY(1.25)}50%{transform:scaleX(1.15) scaleY(.85)}65%{transform:scaleX(.95) scaleY(1.05)}75%{transform:scaleX(1.05) scaleY(.95)}to{transform:scale(1)}}.ntd-anim-swing{animation:ntd-swing calc(1s * var(--ntd-anim-scale, 2)) ease-in-out infinite;transform-origin:top center}@keyframes ntd-swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.ntd-anim-tada{animation:ntd-tada calc(1.2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-tada{0%{transform:scale(1) rotate(0)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.ntd-anim-heartbeat{animation:ntd-heartbeat calc(1.2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-heartbeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.ntd-anim-fade-in{animation:ntd-fade-in calc(.5s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.ntd-anim-slide-up{animation:ntd-slide-up calc(.4s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ntd-anim-jello{animation:ntd-jello calc(1s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-jello{0%,to{transform:skew(0) skewY(0)}11.1%{transform:skew(-12.5deg) skewY(-12.5deg)}22.2%{transform:skew(6.25deg) skewY(6.25deg)}33.3%{transform:skew(-3.125deg) skewY(-3.125deg)}44.4%{transform:skew(1.5625deg) skewY(1.5625deg)}55.5%{transform:skew(-.78125deg) skewY(-.78125deg)}66.6%{transform:skew(.390625deg) skewY(.390625deg)}77.7%{transform:skew(-.1953125deg) skewY(-.1953125deg)}}.ntd-anim-pop{animation:ntd-pop calc(.6s * var(--ntd-anim-scale, 2)) ease-out infinite}@keyframes ntd-pop{0%{transform:scale(1)}15%{transform:scale(1.35)}30%{transform:scale(.9)}45%{transform:scale(1.1)}60%{transform:scale(.97)}75%{transform:scale(1.03)}to{transform:scale(1)}}.ntd-anim-squeeze{animation:ntd-squeeze calc(1.4s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-squeeze{0%,to{transform:scaleX(1) scaleY(1)}25%{transform:scaleX(.7) scaleY(1.3)}50%{transform:scaleX(1) scaleY(1)}75%{transform:scaleX(1.3) scaleY(.7)}}.ntd-anim-drop{animation:ntd-drop calc(.8s * var(--ntd-anim-scale, 2)) cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ntd-drop{0%{opacity:0;transform:translateY(-40px) scale(.8)}60%{opacity:1;transform:translateY(4px) scale(1.05)}75%{transform:translateY(-2px) scale(.98)}90%{transform:translateY(1px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-anim-rise{animation:ntd-rise calc(.7s * var(--ntd-anim-scale, 2)) cubic-bezier(.16,1,.3,1) forwards}@keyframes ntd-rise{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-anim-slide-left{animation:ntd-slide-left calc(.5s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-slide-left{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.ntd-anim-slide-right{animation:ntd-slide-right calc(.5s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-slide-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.ntd-anim-slide-down{animation:ntd-slide-down calc(.4s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ntd-anim-roll-in{animation:ntd-roll-in calc(.8s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-roll-in{0%{opacity:0;transform:translate(-100%) rotate(-120deg)}to{opacity:1;transform:translate(0) rotate(0)}}.ntd-anim-flash{animation:ntd-flash calc(1s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.ntd-anim-vibrate{animation:ntd-vibrate calc(.3s * var(--ntd-anim-scale, 2)) linear infinite}@keyframes ntd-vibrate{0%{transform:translate(0)}20%{transform:translate(-1px,1px)}40%{transform:translate(1px,-1px)}60%{transform:translate(-1px,-1px)}80%{transform:translate(1px,1px)}to{transform:translate(0)}}.ntd-anim-wobble{animation:ntd-wobble calc(1.2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-wobble{0%{transform:translate(0) rotate(0)}15%{transform:translate(-15%) rotate(-5deg)}30%{transform:translate(10%) rotate(3deg)}45%{transform:translate(-10%) rotate(-3deg)}60%{transform:translate(5%) rotate(2deg)}75%{transform:translate(-3%) rotate(-1deg)}to{transform:translate(0) rotate(0)}}.ntd-anim-spiral{animation:ntd-spiral calc(2s * var(--ntd-anim-scale, 2)) linear infinite}@keyframes ntd-spiral{0%{transform:rotate(0) scale(.8)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(.8)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(360deg) scale(.8)}}.ntd-anim-ping{animation:ntd-ping calc(1.5s * var(--ntd-anim-scale, 2)) ease-out infinite}@keyframes ntd-ping{0%{transform:scale(1);opacity:1}70%{transform:scale(1.6);opacity:0}71%{transform:scale(1);opacity:0}to{transform:scale(1);opacity:1}}.ntd-anim-flicker{animation:ntd-flicker calc(1.5s * var(--ntd-anim-scale, 2)) steps(1) infinite}@keyframes ntd-flicker{0%{opacity:1}4%{opacity:.3}8%{opacity:1}12%{opacity:.6}16%{opacity:1}20%{opacity:.2}22%{opacity:1}50%{opacity:1}52%{opacity:.4}54%{opacity:1}80%{opacity:1}82%{opacity:.3}85%{opacity:1}90%{opacity:.5}92%{opacity:1}}.ntd-anim-tilt{animation:ntd-tilt calc(2s * var(--ntd-anim-scale, 2)) ease-in-out infinite;transform-origin:bottom center}@keyframes ntd-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(8deg)}75%{transform:rotate(-8deg)}}.ntd-anim-breathe{animation:ntd-breathe calc(4s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}.ntd-anim-drift{animation:ntd-drift calc(4s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-drift{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(5px) rotate(1deg)}50%{transform:translate(0) rotate(0)}75%{transform:translate(-5px) rotate(-1deg)}}.ntd-anim-orbit{animation:ntd-orbit calc(3s * var(--ntd-anim-scale, 2)) linear infinite}@keyframes ntd-orbit{0%{transform:translate(0)}25%{transform:translate(4px,-4px)}50%{transform:translateY(-6px)}75%{transform:translate(-4px,-4px)}to{transform:translate(0)}}.ntd-anim-crush{animation:ntd-crush calc(.8s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-crush{0%,to{transform:scaleY(1) scaleX(1)}40%{transform:scaleY(.3) scaleX(1.3)}60%{transform:scaleY(1.15) scaleX(.9)}80%{transform:scaleY(.95) scaleX(1.02)}}.ntd-anim-stretch{animation:ntd-stretch calc(1s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-stretch{0%,to{transform:scaleY(1) scaleX(1)}30%{transform:scaleY(1.4) scaleX(.8)}50%{transform:scaleY(.85) scaleX(1.1)}70%{transform:scaleY(1.1) scaleX(.95)}}.ntd-anim-dissolve{animation:ntd-dissolve calc(2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-dissolve{0%,to{opacity:1;filter:blur(0)}50%{opacity:.1;filter:blur(4px)}}.ntd-anim-materialize{animation:ntd-materialize calc(.8s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-materialize{0%{opacity:0;filter:blur(8px);transform:scale(.6)}60%{opacity:.8;filter:blur(1px);transform:scale(1.05)}to{opacity:1;filter:blur(0);transform:scale(1)}}.ntd-anim-sway{animation:ntd-sway calc(2.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite;transform-origin:top center}@keyframes ntd-sway{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}}.ntd-anim-tremble{animation:ntd-tremble calc(.15s * var(--ntd-anim-scale, 2)) linear infinite}@keyframes ntd-tremble{0%{transform:translate(0) rotate(0)}25%{transform:translate(-.5px,.5px) rotate(-.5deg)}50%{transform:translate(.5px,-.5px) rotate(.5deg)}75%{transform:translate(-.5px,-.5px) rotate(-.5deg)}to{transform:translate(0) rotate(0)}}.ntd-anim-rock{animation:ntd-rock calc(1.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite;transform-origin:bottom center}@keyframes ntd-rock{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}.ntd-anim-snap{animation:ntd-snap calc(1.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-snap{0%,30%{transform:rotate(0)}50%{transform:rotate(190deg)}55%{transform:rotate(175deg)}60%{transform:rotate(182deg)}65%,to{transform:rotate(180deg)}}.ntd-anim-warp{animation:ntd-warp calc(2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-warp{0%,to{transform:perspective(300px) rotateX(0) rotateY(0)}25%{transform:perspective(300px) rotateX(10deg) rotateY(10deg)}50%{transform:perspective(300px) rotateX(-5deg) rotateY(-10deg)}75%{transform:perspective(300px) rotateX(8deg) rotateY(-5deg)}}.ntd-anim-glitch{animation:ntd-glitch calc(.8s * var(--ntd-anim-scale, 2)) steps(1) infinite}@keyframes ntd-glitch{0%{transform:translate(0)}5%{transform:translate(-3px,2px) skew(2deg)}10%{transform:translate(3px,-1px) skew(-1deg)}15%{transform:translate(0)}40%{transform:translate(0)}42%{transform:translate(2px,1px) skew(-3deg)}44%{transform:translate(-2px,-2px) skew(1deg)}46%{transform:translate(0)}70%{transform:translate(0)}72%{transform:translate(-1px,3px) skew(2deg)}74%{transform:translate(1px,-1px)}76%{transform:translate(0)}to{transform:translate(0)}}.ntd-anim-zoom-pulse{animation:ntd-zoom-pulse calc(1.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-zoom-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.ntd-anim-ripple{animation:ntd-ripple calc(1.6s * var(--ntd-anim-scale, 2)) ease-out infinite}@keyframes ntd-ripple{0%{transform:scale(1);opacity:1}30%{transform:scale(1.15);opacity:.8}50%{transform:scale(1);opacity:1}70%{transform:scale(1.08);opacity:.9}to{transform:scale(1);opacity:1}}.ntd-anim-implode{animation:ntd-implode calc(1.2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-implode{0%,to{transform:scale(1);opacity:1}40%{transform:scale(.2) rotate(20deg);opacity:.3}60%{transform:scale(.15) rotate(25deg);opacity:.2}80%{transform:scale(1.1) rotate(0);opacity:1}}.ntd-anim-explode{animation:ntd-explode calc(1.4s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-explode{0%,to{transform:scale(1);opacity:1}30%{transform:scale(1.8);opacity:.6}50%{transform:scale(2);opacity:0}51%{transform:scale(.5);opacity:0}70%{transform:scale(1.1);opacity:.8}85%{transform:scale(.95);opacity:1}}.ntd-anim-rotate-x{animation:ntd-rotate-x calc(1.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-rotate-x{0%{transform:perspective(400px) rotateX(0)}to{transform:perspective(400px) rotateX(360deg)}}.ntd-anim-morph{animation:ntd-morph calc(3s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-morph{0%,to{transform:scaleX(1) scaleY(1) rotate(0);border-radius:0}20%{transform:scaleX(1.1) scaleY(.9) rotate(2deg)}40%{transform:scaleX(.9) scaleY(1.1) rotate(-1deg)}60%{transform:scaleX(1.05) scaleY(.95) rotate(1deg)}80%{transform:scaleX(.95) scaleY(1.05) rotate(-2deg)}}.ntd-anim-levitate{animation:ntd-levitate calc(3s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-levitate{0%,to{transform:translateY(0);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}50%{transform:translateY(-10px);filter:drop-shadow(0 12px 8px rgba(0,0,0,.1))}}.ntd-anim-dash{animation:ntd-dash calc(.8s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-dash{0%,to{transform:translate(0) scaleX(1);opacity:1}30%{transform:translate(-3px) scaleX(.9);opacity:.8}60%{transform:translate(15px) scaleX(1.15);opacity:.6}80%{transform:translate(2px) scaleX(1);opacity:.9}}.ntd-anim-twist{animation:ntd-twist calc(1.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-twist{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(30deg) scale(.9)}50%{transform:rotate(0) scale(1.05)}75%{transform:rotate(-30deg) scale(.9)}}.ntd-anim-stomp{animation:ntd-stomp calc(1s * var(--ntd-anim-scale, 2)) ease-in-out infinite;transform-origin:bottom center}@keyframes ntd-stomp{0%,to{transform:translateY(0) scaleY(1) scaleX(1)}20%{transform:translateY(-15px) scaleY(1.1) scaleX(.95)}50%{transform:translateY(0) scaleY(.7) scaleX(1.2)}65%{transform:translateY(-3px) scaleY(1.05) scaleX(.98)}80%{transform:translateY(0) scaleY(.95) scaleX(1.03)}}.ntd-anim-flap{animation:ntd-flap calc(.6s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-flap{0%,to{transform:perspective(400px) rotateX(0) translateY(0)}50%{transform:perspective(400px) rotateX(25deg) translateY(-5px)}}.ntd-anim-skate{animation:ntd-skate calc(2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-skate{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(8px) rotate(2deg)}50%{transform:translate(0) rotate(0)}75%{transform:translate(-8px) rotate(-2deg)}}.ntd-anim-blink{animation:ntd-blink calc(1.4s * var(--ntd-anim-scale, 2)) steps(1) infinite}@keyframes ntd-blink{0%,49%{opacity:1}50%,99%{opacity:0}}.ntd-anim-reveal{animation:ntd-reveal calc(1s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-reveal{0%{clip-path:circle(0% at 50% 50%);opacity:.5}to{clip-path:circle(75% at 50% 50%);opacity:1}}.ntd-anim-vortex{animation:ntd-vortex calc(.8s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-vortex{0%{transform:rotate(-540deg) scale(0);opacity:0}60%{transform:rotate(20deg) scale(1.1);opacity:1}80%{transform:rotate(-10deg) scale(.95)}to{transform:rotate(0) scale(1);opacity:1}}.ntd-anim-meteor{animation:ntd-meteor calc(.7s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-meteor{0%{transform:translate(30px,-30px) rotate(15deg) scale(.5);opacity:0}70%{transform:translate(-2px,2px) rotate(-2deg) scale(1.05);opacity:1}to{transform:translate(0) rotate(0) scale(1);opacity:1}}.ntd-anim-scale-in{animation:ntd-scale-in calc(.5s * var(--ntd-anim-scale, 2)) cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ntd-scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.ntd-anim-scale-out{animation:ntd-scale-out calc(.4s * var(--ntd-anim-scale, 2)) ease-in forwards}@keyframes ntd-scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.ntd-anim-pendulum{animation:ntd-pendulum calc(2s * var(--ntd-anim-scale, 2)) ease-in-out infinite;transform-origin:top center}@keyframes ntd-pendulum{0%{transform:rotate(0)}25%{transform:rotate(25deg)}50%{transform:rotate(0)}75%{transform:rotate(-25deg)}to{transform:rotate(0)}}.ntd-anim-surge{animation:ntd-surge calc(1.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-surge{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 currentColor)}15%{transform:scale(1.2);filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 16px currentColor)}30%{transform:scale(.95);filter:drop-shadow(0 0 2px currentColor)}45%{transform:scale(1.1);filter:drop-shadow(0 0 6px currentColor)}60%{transform:scale(1);filter:drop-shadow(0 0 0 currentColor)}}.ntd-anim-radar{animation:ntd-radar calc(2s * var(--ntd-anim-scale, 2)) linear infinite}@keyframes ntd-radar{0%{transform:rotate(0);opacity:1}50%{opacity:.4}to{transform:rotate(360deg);opacity:1}}.ntd-anim-typewriter{animation:ntd-typewriter calc(1s * var(--ntd-anim-scale, 2)) steps(12) forwards}@keyframes ntd-typewriter{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.ntd-anim-unfold{animation:ntd-unfold calc(.7s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-unfold{0%{transform:scaleY(.05) scaleX(1.3);opacity:.3}50%{transform:scaleY(1.1) scaleX(.95);opacity:.9}70%{transform:scaleY(.95) scaleX(1.02);opacity:1}to{transform:scaleY(1) scaleX(1);opacity:1}}.ntd-anim-fold{animation:ntd-fold calc(.6s * var(--ntd-anim-scale, 2)) ease-in forwards}@keyframes ntd-fold{0%{transform:scaleY(1) scaleX(1);opacity:1}to{transform:scaleY(.05) scaleX(1.3);opacity:0}}.ntd-anim-scatter{animation:ntd-scatter calc(1.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-scatter{0%,to{transform:scale(1) rotate(0);opacity:1;filter:blur(0)}20%{transform:scale(1.3) rotate(5deg);opacity:.6;filter:blur(2px)}40%{transform:scale(1.5) rotate(-3deg);opacity:.2;filter:blur(4px)}50%{transform:scale(.8) rotate(0);opacity:0;filter:blur(6px)}65%{transform:scale(.6) rotate(-5deg);opacity:.3;filter:blur(3px)}80%{transform:scale(.95) rotate(2deg);opacity:.8;filter:blur(1px)}}.ntd-anim-assemble{animation:ntd-assemble calc(1s * var(--ntd-anim-scale, 2)) ease-out forwards}@keyframes ntd-assemble{0%{transform:scale(2) rotate(15deg);opacity:0;filter:blur(8px)}30%{transform:scale(.8) rotate(-5deg);opacity:.5;filter:blur(3px)}60%{transform:scale(1.1) rotate(2deg);opacity:.9;filter:blur(1px)}80%{transform:scale(.97) rotate(-1deg);opacity:1;filter:blur(0)}to{transform:scale(1) rotate(0);opacity:1;filter:blur(0)}}.ntd-anim-neon{animation:ntd-neon calc(2s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-neon{0%,to{opacity:1;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}10%{opacity:.4;filter:drop-shadow(0 0 0 currentColor)}11%{opacity:1;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}15%{opacity:.3;filter:drop-shadow(0 0 0 currentColor)}16%{opacity:1;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}50%{opacity:1;filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 16px currentColor) drop-shadow(0 0 24px currentColor)}}.ntd-anim-earthquake{animation:ntd-earthquake calc(.5s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-earthquake{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px) rotate(-1deg)}20%{transform:translate(3px,-3px) rotate(1deg)}30%{transform:translate(-2px,4px) rotate(-2deg)}40%{transform:translate(4px,-1px) rotate(2deg)}50%{transform:translate(-3px,3px) rotate(-1deg)}60%{transform:translate(2px,-4px) rotate(1deg)}70%{transform:translate(-4px,1px) rotate(-2deg)}80%{transform:translate(3px,2px) rotate(2deg)}90%{transform:translate(-1px,-3px) rotate(-1deg)}}.ntd-anim-signature{transform-origin:center;animation:ntd-signature-enter calc(.65s * var(--ntd-anim-scale, 2)) cubic-bezier(.34,1.56,.64,1) forwards}.ntd-anim-signature path,.ntd-anim-signature line,.ntd-anim-signature polyline,.ntd-anim-signature polygon,.ntd-anim-signature circle,.ntd-anim-signature rect,.ntd-anim-signature ellipse{stroke-dasharray:150;stroke-dashoffset:150;animation:ntd-signature-stroke calc(1.7s * var(--ntd-anim-scale, 2)) ease-out calc(.05s * var(--ntd-anim-scale, 2)) forwards,ntd-signature-fill calc(.55s * var(--ntd-anim-scale, 2)) ease-out calc(1.05s * var(--ntd-anim-scale, 2)) forwards;filter:drop-shadow(0 0 0 currentColor)}@keyframes ntd-signature-enter{0%{opacity:.08;transform:scale(.05) rotate(-8deg)}60%{opacity:1;transform:scale(1.06) rotate(0)}to{opacity:1;transform:scale(1)}}@keyframes ntd-signature-stroke{0%{stroke-dashoffset:150;filter:drop-shadow(0 0 0 currentColor)}65%{stroke-dashoffset:0;filter:drop-shadow(0 0 6px currentColor)}to{stroke-dashoffset:0;filter:drop-shadow(0 0 2px currentColor)}}@keyframes ntd-signature-fill{0%{fill-opacity:.05}to{fill-opacity:1}}.ntd-anim-draw-sequence path,.ntd-anim-draw-sequence line,.ntd-anim-draw-sequence polyline,.ntd-anim-draw-sequence polygon,.ntd-anim-draw-sequence circle,.ntd-anim-draw-sequence rect,.ntd-anim-draw-sequence ellipse{stroke-dasharray:160;stroke-dashoffset:160;fill-opacity:0;animation:ntd-draw-sequence calc(1.6s * var(--ntd-anim-scale, 2)) ease-out forwards}.ntd-anim-draw-sequence path:nth-child(1),.ntd-anim-draw-sequence line:nth-child(1),.ntd-anim-draw-sequence polyline:nth-child(1),.ntd-anim-draw-sequence polygon:nth-child(1),.ntd-anim-draw-sequence circle:nth-child(1),.ntd-anim-draw-sequence rect:nth-child(1),.ntd-anim-draw-sequence ellipse:nth-child(1){animation-delay:calc(0s * var(--ntd-anim-scale, 2))}.ntd-anim-draw-sequence path:nth-child(2),.ntd-anim-draw-sequence line:nth-child(2),.ntd-anim-draw-sequence polyline:nth-child(2),.ntd-anim-draw-sequence polygon:nth-child(2),.ntd-anim-draw-sequence circle:nth-child(2),.ntd-anim-draw-sequence rect:nth-child(2),.ntd-anim-draw-sequence ellipse:nth-child(2){animation-delay:calc(.2s * var(--ntd-anim-scale, 2))}.ntd-anim-draw-sequence path:nth-child(3),.ntd-anim-draw-sequence line:nth-child(3),.ntd-anim-draw-sequence polyline:nth-child(3),.ntd-anim-draw-sequence polygon:nth-child(3),.ntd-anim-draw-sequence circle:nth-child(3),.ntd-anim-draw-sequence rect:nth-child(3),.ntd-anim-draw-sequence ellipse:nth-child(3){animation-delay:calc(.4s * var(--ntd-anim-scale, 2))}@keyframes ntd-draw-sequence{0%{stroke-dashoffset:160;fill-opacity:0}75%{stroke-dashoffset:0;fill-opacity:.15}to{stroke-dashoffset:0;fill-opacity:1}}.ntd-anim-stroke-order path,.ntd-anim-stroke-order line,.ntd-anim-stroke-order polyline,.ntd-anim-stroke-order polygon,.ntd-anim-stroke-order circle,.ntd-anim-stroke-order rect,.ntd-anim-stroke-order ellipse{stroke-dasharray:220;stroke-dashoffset:220;animation:ntd-stroke-order calc(2s * var(--ntd-anim-scale, 2)) linear forwards}@keyframes ntd-stroke-order{0%{stroke-dashoffset:220;opacity:.2}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.ntd-anim-glow-trace path,.ntd-anim-glow-trace line,.ntd-anim-glow-trace polyline,.ntd-anim-glow-trace polygon,.ntd-anim-glow-trace circle,.ntd-anim-glow-trace rect,.ntd-anim-glow-trace ellipse{stroke-dasharray:180;animation:ntd-glow-trace calc(2.8s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-glow-trace{0%{stroke-dashoffset:180;filter:drop-shadow(0 0 0 currentColor);opacity:.3}45%{stroke-dashoffset:0;filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 14px currentColor);opacity:1}to{stroke-dashoffset:-180;filter:drop-shadow(0 0 2px currentColor);opacity:.5}}.ntd-anim-seal-stamp{transform-origin:center;animation:ntd-seal-stamp calc(.75s * var(--ntd-anim-scale, 2)) cubic-bezier(.22,1,.36,1) forwards}@keyframes ntd-seal-stamp{0%{opacity:0;transform:translateY(-14px) scale(1.25) rotate(-4deg);filter:blur(2px)}45%{opacity:1;transform:translateY(2px) scale(.94) rotate(0);filter:blur(0)}70%{transform:translateY(-1px) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-anim-draw path,.ntd-anim-draw line,.ntd-anim-draw polyline,.ntd-anim-draw polygon,.ntd-anim-draw circle,.ntd-anim-draw rect,.ntd-anim-draw ellipse{stroke-dasharray:120;stroke-dashoffset:120;animation:ntd-draw-stroke calc(1.2s * var(--ntd-anim-scale, 2)) ease-out forwards,ntd-draw-fill calc(.4s * var(--ntd-anim-scale, 2)) ease-out calc(.8s * var(--ntd-anim-scale, 2)) forwards;fill-opacity:0}@keyframes ntd-draw-stroke{0%{stroke-dashoffset:120}to{stroke-dashoffset:0}}@keyframes ntd-draw-fill{0%{fill-opacity:0}to{fill-opacity:1}}.ntd-anim-draw-from-dot{transform-origin:center;animation:ntd-draw-dot-enter calc(.45s * var(--ntd-anim-scale, 2)) cubic-bezier(.34,1.56,.64,1) forwards}.ntd-anim-draw-from-dot path,.ntd-anim-draw-from-dot line,.ntd-anim-draw-from-dot polyline,.ntd-anim-draw-from-dot polygon,.ntd-anim-draw-from-dot circle,.ntd-anim-draw-from-dot rect,.ntd-anim-draw-from-dot ellipse{stroke-dasharray:140;stroke-dashoffset:140;animation:ntd-draw-dot-stroke calc(1.35s * var(--ntd-anim-scale, 2)) ease-out calc(.15s * var(--ntd-anim-scale, 2)) forwards,ntd-draw-fill calc(.45s * var(--ntd-anim-scale, 2)) ease-out calc(.95s * var(--ntd-anim-scale, 2)) forwards;fill-opacity:0}@keyframes ntd-draw-dot-enter{0%{opacity:.15;transform:scale(.08)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes ntd-draw-dot-stroke{0%{stroke-dashoffset:140}to{stroke-dashoffset:0}}.ntd-anim-draw-loop path,.ntd-anim-draw-loop line,.ntd-anim-draw-loop polyline,.ntd-anim-draw-loop polygon,.ntd-anim-draw-loop circle,.ntd-anim-draw-loop rect,.ntd-anim-draw-loop ellipse{stroke-dasharray:140;animation:ntd-draw-loop-stroke calc(2.4s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-draw-loop-stroke{0%{stroke-dashoffset:140;opacity:0}25%{stroke-dashoffset:0;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-140;opacity:.2}}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:circle(0% at 50% 50%);transform-box:fill-box;transform-origin:center;animation:ntd-draw-shape-pop calc(.7s * var(--ntd-anim-scale, 2)) cubic-bezier(.34,1.56,.64,1) calc(.35s * var(--ntd-anim-scale, 2)) forwards}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(2){animation-delay:calc(.5s * var(--ntd-anim-scale, 2))}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(3){animation-delay:calc(.65s * var(--ntd-anim-scale, 2))}.ntd-anim-draw :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(n+4){animation-delay:calc(.8s * var(--ntd-anim-scale, 2))}@keyframes ntd-draw-shape-pop{0%{fill-opacity:0;clip-path:circle(0% at 50% 50%);transform:scale(.5)}60%{fill-opacity:.9;clip-path:circle(75% at 50% 50%);transform:scale(1.08)}to{fill-opacity:1;clip-path:circle(100% at 50% 50%);transform:scale(1)}}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:circle(0% at 50% 50%);transform-box:fill-box;transform-origin:center;animation:ntd-draw-dot-shape-burst calc(.65s * var(--ntd-anim-scale, 2)) cubic-bezier(.34,1.56,.64,1) calc(.25s * var(--ntd-anim-scale, 2)) forwards}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(2){animation-delay:calc(.4s * var(--ntd-anim-scale, 2))}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(3){animation-delay:calc(.55s * var(--ntd-anim-scale, 2))}.ntd-anim-draw-from-dot :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(n+4){animation-delay:calc(.7s * var(--ntd-anim-scale, 2))}@keyframes ntd-draw-dot-shape-burst{0%{fill-opacity:0;clip-path:circle(0% at 50% 50%);transform:scale(.1)}50%{fill-opacity:.85;clip-path:circle(65% at 50% 50%);transform:scale(1.14)}75%{clip-path:circle(88% at 50% 50%);transform:scale(.97)}to{fill-opacity:1;clip-path:circle(100% at 50% 50%);transform:scale(1)}}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:inset(100% 0 0 0);transform-box:fill-box;transform-origin:center bottom;animation:ntd-draw-seq-shape-wipe calc(.6s * var(--ntd-anim-scale, 2)) cubic-bezier(.22,1,.36,1) forwards}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(1){animation-delay:calc(0s * var(--ntd-anim-scale, 2))}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(2){animation-delay:calc(.2s * var(--ntd-anim-scale, 2))}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(3){animation-delay:calc(.4s * var(--ntd-anim-scale, 2))}.ntd-anim-draw-sequence :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]):nth-child(n+4){animation-delay:calc(.6s * var(--ntd-anim-scale, 2))}@keyframes ntd-draw-seq-shape-wipe{0%{fill-opacity:0;clip-path:inset(100% 0 0 0);transform:scaleY(.6)}70%{fill-opacity:.9;clip-path:inset(5% 0 0 0);transform:scaleY(1.04)}to{fill-opacity:1;clip-path:inset(0 0 0 0);transform:scaleY(1)}}.ntd-anim-draw-loop :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;animation:ntd-draw-loop-shape-pulse calc(2.4s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-draw-loop-shape-pulse{0%{clip-path:circle(0% at 50% 50%);opacity:0}25%{clip-path:circle(100% at 50% 50%);opacity:1}60%{clip-path:circle(100% at 50% 50%);opacity:1}to{clip-path:circle(0% at 50% 50%);opacity:.2}}.ntd-anim-signature :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:circle(0% at 50% 50%);transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 0 currentColor);animation:ntd-signature-shape-stamp calc(.8s * var(--ntd-anim-scale, 2)) cubic-bezier(.22,1,.36,1) calc(.5s * var(--ntd-anim-scale, 2)) forwards}@keyframes ntd-signature-shape-stamp{0%{fill-opacity:0;clip-path:circle(0% at 50% 50%);transform:scale(.35) rotate(-6deg);filter:drop-shadow(0 0 0 currentColor)}55%{fill-opacity:.85;clip-path:circle(70% at 50% 50%);transform:scale(1.08) rotate(0);filter:drop-shadow(0 0 8px currentColor)}to{fill-opacity:1;clip-path:circle(100% at 50% 50%);transform:scale(1);filter:drop-shadow(0 0 2px currentColor)}}.ntd-anim-stroke-order :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;fill-opacity:0;clip-path:inset(0 100% 0 0);animation:ntd-stroke-order-shape-wipe calc(1.2s * var(--ntd-anim-scale, 2)) ease-out calc(.3s * var(--ntd-anim-scale, 2)) forwards}@keyframes ntd-stroke-order-shape-wipe{0%{fill-opacity:0;clip-path:inset(0 100% 0 0)}40%{fill-opacity:.7}to{fill-opacity:1;clip-path:inset(0 0 0 0)}}.ntd-anim-glow-trace :is(path,rect,circle,ellipse,polygon)[fill]:not([fill=none]){stroke-dasharray:0;animation:ntd-glow-trace-shape calc(2.8s * var(--ntd-anim-scale, 2)) ease-in-out infinite}@keyframes ntd-glow-trace-shape{0%{clip-path:circle(0% at 50% 50%);filter:drop-shadow(0 0 0 currentColor);opacity:.3}45%{clip-path:circle(100% at 50% 50%);filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 16px currentColor);opacity:1}to{clip-path:circle(0% at 50% 50%);filter:drop-shadow(0 0 2px currentColor);opacity:.4}}.nice-icon-stacker{display:flex;flex-direction:column;gap:var(--nice-space-3, 12px);min-width:0;color:var(--nice-text-primary, inherit);font-size:var(--nice-font-size-sm, .8125rem)}.nice-icon-stacker :where(button){display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border:1px solid transparent;border-radius:var(--nice-radius-md, 6px);background:transparent;color:inherit;font:inherit;cursor:pointer}.nice-icon-stacker :where(button:hover:not(:disabled)){background:var(--nice-bg-hover, var(--nice-bg-secondary, #f1f5f9))}.nice-icon-stacker :where(button:disabled){opacity:.45;cursor:not-allowed}.nice-icon-stacker :where(input[type=text]){box-sizing:border-box;width:5em;padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-primary, #fff);color:var(--nice-text-primary, inherit);font:inherit}.nice-icon-stacker :where(input[type=range]){flex:1 1 auto;min-width:0;accent-color:var(--nice-color-primary, #3b82f6)}.nice-icon-stacker :where(button,input,summary):focus-visible{outline:none;box-shadow:var(--nice-focus-ring, 0 0 0 2px var(--nice-color-primary, #3b82f6))}.nice-icon-stacker__bar{display:flex;align-items:center;gap:var(--nice-space-1, 4px)}.nice-icon-stacker__title{flex:1 1 auto;color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem);font-weight:var(--nice-font-weight-semibold, 600);letter-spacing:.04em;text-transform:uppercase}.nice-icon-stacker :where(.nice-icon-stacker__add){border-color:var(--nice-border-color, #e2e8f0);font-weight:var(--nice-font-weight-medium, 500)}.nice-icon-stacker :where(.nice-icon-stacker__add:hover:not(:disabled)){border-color:var(--nice-color-primary, #3b82f6);color:var(--nice-color-primary, #3b82f6)}.nice-icon-stacker__empty{margin:0;padding:var(--nice-space-4, 16px);border:1px dashed var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 8px);color:var(--nice-text-secondary, #64748b);text-align:center}.nice-icon-stacker__top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--nice-space-3, 12px)}.nice-icon-stacker__preview{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:var(--nice-space-2, 8px);padding:var(--nice-space-3, 12px);border-radius:var(--nice-radius-lg, 8px);background:var(--nice-bg-secondary, #f8fafc)}.nice-icon-stacker__preview-main{display:inline-flex}.nice-icon-stacker__preview-small{display:flex;align-items:flex-end;gap:var(--nice-space-2, 8px)}.nice-icon-stacker__preview-small>span{display:inline-flex}.nice-icon-stacker__layers-wrap{display:flex;flex:1 1 180px;flex-direction:column;gap:var(--nice-space-1, 4px);min-width:0}.nice-icon-stacker__layers{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.nice-icon-stacker__layer{--nice-icon-stacker-depth: 0;display:flex;align-items:center;padding-left:calc(var(--nice-icon-stacker-depth, 0) * var(--nice-space-4, 16px));border-radius:var(--nice-radius-md, 6px)}.nice-icon-stacker__layer:hover{background:var(--nice-bg-hover, var(--nice-bg-secondary, #f1f5f9))}.nice-icon-stacker__layer.nice-icon-stacker__layer--selected{background:color-mix(in srgb,var(--nice-color-primary, #3b82f6) 14%,transparent)}.nice-icon-stacker :where(.nice-icon-stacker__layer-select){flex:1 1 auto;min-width:0;padding:var(--nice-space-1, 4px) var(--nice-space-1-5, 6px);text-align:left}.nice-icon-stacker :where(.nice-icon-stacker__layer-select:hover:not(:disabled)){background:transparent}.nice-icon-stacker__layer-icon{display:inline-flex;flex:0 0 auto}.nice-icon-stacker__layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-icon-stacker__layer--selected .nice-icon-stacker__layer-name{font-weight:var(--nice-font-weight-semibold, 600)}.nice-icon-stacker__layer-text{padding:0 var(--nice-space-1, 4px);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg-tertiary, #f1f5f9);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker__badge{margin-left:auto;padding:0 var(--nice-space-1-5, 6px);border-radius:var(--nice-radius-full, 9999px);background:var(--nice-bg-tertiary, #f1f5f9);color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker :where(.nice-icon-stacker__remove){flex:0 0 auto;padding:var(--nice-space-1, 4px);color:var(--nice-text-secondary, #64748b);opacity:0}.nice-icon-stacker__layer:hover .nice-icon-stacker__remove,.nice-icon-stacker__layer--selected .nice-icon-stacker__remove,.nice-icon-stacker .nice-icon-stacker__remove:focus-visible{opacity:1}.nice-icon-stacker__hint{color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker__inspector{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px);padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px) var(--nice-space-3, 12px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 8px)}.nice-icon-stacker__inspector-head{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);font-weight:var(--nice-font-weight-semibold, 600)}.nice-icon-stacker__inspector-head small{color:var(--nice-text-secondary, #64748b);font-weight:var(--nice-font-weight-normal, 400)}.nice-icon-stacker__inspector-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--nice-space-3, 12px)}.nice-icon-stacker__pad{display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:var(--nice-space-1-5, 6px)}.nice-icon-stacker :where(.nice-icon-stacker__pad-auto){justify-content:center;padding:2px var(--nice-space-2, 8px);border-color:var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-full, 9999px);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker :where(.nice-icon-stacker__pad-auto[aria-checked=true]){border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-color-primary, #3b82f6);color:var(--nice-text-on-primary, #fff)}.nice-icon-stacker__pad-box{display:grid;grid-template-columns:repeat(5,16px);grid-template-rows:repeat(5,16px);place-items:center;padding:var(--nice-space-1, 4px);border:1.5px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-secondary, #f8fafc)}.nice-icon-stacker :where(.nice-icon-stacker__pad-dot){width:10px;height:10px;padding:0;border:1.5px solid color-mix(in srgb,currentColor 55%,transparent);border-radius:50%}.nice-icon-stacker :where(.nice-icon-stacker__pad-dot:hover:not(:disabled)){border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-primary-tint-20, transparent)}.nice-icon-stacker :where(.nice-icon-stacker__pad-dot[aria-checked=true]){width:12px;height:12px;border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-color-primary, #3b82f6)}.nice-icon-stacker__fields{display:flex;flex:1 1 140px;flex-direction:column;gap:var(--nice-space-2, 8px);min-width:0}.nice-icon-stacker__field{display:flex;align-items:center;gap:var(--nice-space-2, 8px);min-width:0}.nice-icon-stacker__field>span{flex:0 0 auto;min-width:4.5em;color:var(--nice-text-secondary, #64748b)}.nice-icon-stacker__field output{flex:0 0 auto;min-width:3.5ch;font-variant-numeric:tabular-nums;text-align:right}.nice-icon-stacker__field :where(input[aria-invalid=true]){border-color:var(--nice-color-error, #ef4444)}.nice-icon-stacker__more>summary{width:max-content;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-secondary, #64748b);cursor:pointer}.nice-icon-stacker__more-body{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px);padding-top:var(--nice-space-2, 8px)}.nice-icon-stacker__swatches{display:flex;flex-wrap:wrap;gap:var(--nice-space-1, 4px) var(--nice-space-3, 12px)}.nice-icon-stacker__swatch{display:inline-flex;align-items:center}.nice-icon-stacker__swatch-pick{position:relative;display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);cursor:pointer}.nice-icon-stacker__swatch-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.nice-icon-stacker__swatch-pick:focus-within{border-radius:var(--nice-radius-sm, 4px);box-shadow:var(--nice-focus-ring, 0 0 0 2px var(--nice-color-primary, #3b82f6))}.nice-icon-stacker__swatch-dot{width:16px;height:16px;border:1px solid var(--nice-border-color, #e2e8f0);border-radius:50%}.nice-icon-stacker__swatch-pick--auto .nice-icon-stacker__swatch-dot{border:1.5px dashed color-mix(in srgb,currentColor 55%,transparent);background:transparent}.nice-icon-stacker :where(.nice-icon-stacker__reset){padding:2px;color:var(--nice-text-secondary, #64748b)}.nice-icon-stacker__code>summary{width:max-content;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-secondary, #64748b);cursor:pointer}.nice-icon-stacker__code pre{box-sizing:border-box;width:100%;margin:var(--nice-space-2, 8px) 0;padding:var(--nice-space-3, 12px);overflow-x:auto;border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-secondary, #f8fafc);font-family:var(--nice-font-mono, ui-monospace, monospace);font-size:var(--nice-font-size-xs, .75rem)}.nice-icon-stacker :where(.nice-icon-stacker__code button){border-color:var(--nice-border-color, #e2e8f0)}.ntd-picker{--ntd-picker-border: var(--nice-border-color, #3a3a4a);--ntd-picker-radius: var(--nice-radius-lg, 10px);--ntd-picker-bg: var(--nice-bg-elevated, #1e1e2a);--ntd-picker-text: var(--nice-text-primary, #f0f0f5);--ntd-picker-accent: var(--nice-color-primary, #6c5ce7);--ntd-picker-accent-hover: var(--nice-color-primary-hover, #5b4cdb);--ntd-picker-accent-alpha: var(--nice-primary-tint-20, rgba(108, 92, 231, .2));--ntd-picker-muted: var(--nice-text-muted, #606078);--ntd-picker-text-secondary: var(--nice-text-secondary, #a0a0b4);--ntd-picker-input-bg: var(--nice-bg-inset, #14141c);position:relative;display:inline-block;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.ntd-picker-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:var(--ntd-picker-radius, 10px);background:var(--ntd-picker-bg, #1e1e2a);color:var(--ntd-picker-text, #f0f0f5);font-size:.875rem;font-family:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-width:160px;user-select:none}.ntd-picker-trigger:hover{border-color:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-trigger:focus-visible{outline:none;border-color:var(--ntd-picker-accent, #6c5ce7);box-shadow:0 0 0 3px var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .25))}.ntd-picker-trigger-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12))}.ntd-picker-trigger-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ntd-picker-trigger-placeholder{color:var(--ntd-picker-muted, #606078)}.ntd-picker-trigger-chevron{flex-shrink:0;transition:transform .2s;color:var(--ntd-picker-muted, #606078)}.ntd-picker.ntd-picker--open .ntd-picker-trigger-chevron{transform:rotate(180deg)}.ntd-picker-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;width:380px;max-height:460px;display:flex;flex-direction:column;background:var(--ntd-picker-bg, #1e1e2a);border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:var(--ntd-picker-radius, 10px);box-shadow:0 12px 40px #0006,0 4px 12px #0003;overflow:hidden;animation:ntd-picker-appear .2s ease-out}@keyframes ntd-picker-appear{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ntd-picker-search{position:relative;padding:10px 12px;border-bottom:1px solid var(--ntd-picker-border, #3a3a4a);flex-shrink:0}.ntd-picker-search-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--ntd-picker-muted, #606078);pointer-events:none}.ntd-picker-search input{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:8px;background:var(--ntd-picker-input-bg, #14141c);color:var(--ntd-picker-text, #f0f0f5);font-size:.82rem;font-family:inherit;outline:none;transition:border-color .2s}.ntd-picker-search input:focus{border-color:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-search input::placeholder{color:var(--ntd-picker-muted, #606078)}.ntd-picker-tabs{display:flex;gap:2px;padding:6px 10px;border-bottom:1px solid var(--ntd-picker-border, #3a3a4a);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.ntd-picker-tabs::-webkit-scrollbar{display:none}.ntd-picker-tab{padding:5px 10px;border:none;border-radius:6px;background:transparent;color:var(--ntd-picker-muted, #606078);font-size:.72rem;font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s;text-transform:uppercase;letter-spacing:.03em}.ntd-picker-tab:hover{color:var(--ntd-picker-text, #f0f0f5);background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12))}.ntd-picker-tab.ntd-picker-tab--active{color:#fff;background:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-grid-wrap{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--ntd-picker-border, #3a3a4a) transparent}.ntd-picker-grid-wrap::-webkit-scrollbar{width:5px}.ntd-picker-grid-wrap::-webkit-scrollbar-track{background:transparent}.ntd-picker-grid-wrap::-webkit-scrollbar-thumb{background:var(--ntd-picker-border, #3a3a4a);border-radius:3px}.ntd-picker-category-label{font-size:.68rem;font-weight:600;color:var(--ntd-picker-muted, #606078);text-transform:uppercase;letter-spacing:.05em;padding:6px 4px 4px;margin-top:4px}.ntd-picker-category-label:first-child{margin-top:0}.ntd-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px}.ntd-picker-cell{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;border-radius:8px;background:transparent;color:var(--ntd-picker-text, #f0f0f5);cursor:pointer;transition:all .15s;position:relative}.ntd-picker-cell:hover{background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12));transform:scale(1.1)}.ntd-picker-cell.ntd-picker-cell--selected{background:var(--ntd-picker-accent, #6c5ce7);color:#fff;box-shadow:0 2px 8px var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .25))}.ntd-picker-cell:focus-visible{outline:2px solid var(--ntd-picker-accent, #6c5ce7);outline-offset:1px}.ntd-picker-cell:after{content:attr(data-name);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:3px 8px;border-radius:5px;background:var(--ntd-picker-text, #f0f0f5);color:var(--ntd-picker-bg, #1e1e2a);font-size:.65rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10}.ntd-picker-cell:hover:after{opacity:1}.ntd-picker-cell.ntd-picker-cell--draggable{cursor:grab}.ntd-picker-cell.ntd-picker-cell--draggable:active{cursor:grabbing}.ntd-picker-cell.ntd-picker-cell--draggable:hover:before{content:"";position:absolute;inset:0;border:2px dashed var(--ntd-picker-accent, #6c5ce7);border-radius:8px;opacity:.5;pointer-events:none}.ntd-picker-empty{padding:32px 16px;text-align:center;color:var(--ntd-picker-muted, #606078);font-size:.82rem}.ntd-picker-empty-icon{font-size:2rem;margin-bottom:8px;opacity:.4}.ntd-picker-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--ntd-picker-border, #3a3a4a);flex-shrink:0}.ntd-picker-count{font-size:.7rem;color:var(--ntd-picker-muted, #606078)}.ntd-picker-clear{padding:4px 10px;border:none;border-radius:5px;background:transparent;color:var(--ntd-picker-muted, #606078);font-size:.72rem;font-family:inherit;cursor:pointer;transition:all .15s}.ntd-picker-clear:hover{background:#ff50501f;color:#ff5050}.ntd-picker-multi-badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--ntd-picker-accent, #6c5ce7);color:#fff;font-size:.7rem;font-weight:600}.ntd-picker-cell-check{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--ntd-picker-accent, #6c5ce7);color:#fff;pointer-events:none}.ntd-picker-cell.ntd-picker-cell--multi-select{position:relative}.ntd-picker-cell-fav{position:absolute;top:2px;left:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:50%;background:transparent;color:var(--ntd-picker-muted, #606078);cursor:pointer;opacity:0;transition:all .15s;padding:0}.ntd-picker-cell-wrap{position:relative}.ntd-picker-cell-wrap:hover .ntd-picker-cell-fav,.ntd-picker-cell-fav.ntd-picker-cell-fav--active{opacity:1}.ntd-picker-cell-fav:hover{color:#feca57;transform:scale(1.2)}.ntd-picker-cell-fav.ntd-picker-cell-fav--active{color:#feca57}.ntd-picker-tab-special{display:inline-flex;align-items:center;gap:4px}.ntd-picker-tab-special svg{width:10px;height:10px}.ntd-picker-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;border-radius:8px;background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .2));font-size:.65rem;font-weight:600}.ntd-picker-tab.ntd-picker-tab--active .ntd-picker-tab-count{background:#fff3}.ntd-picker-done{padding:4px 12px;border:none;border-radius:5px;background:var(--ntd-picker-accent, #6c5ce7);color:#fff;font-size:.72rem;font-family:inherit;font-weight:500;cursor:pointer;transition:all .15s}.ntd-picker-done:hover{background:var(--ntd-picker-accent-hover, #5b4cdb);transform:translateY(-1px)}.ntd-picker.ntd-picker--disabled .ntd-picker-trigger{opacity:.5;cursor:not-allowed}.ntd-picker.ntd-picker--multi .ntd-picker-trigger{border-style:dashed}.ntd-picker.ntd-picker--icon-only .ntd-picker-trigger{min-width:0;padding:4px}.ntd-picker-views{display:flex;flex-shrink:0;gap:2px;margin:10px 12px 0;padding:3px;border-radius:8px;background:var(--ntd-picker-input-bg, #14141c)}.ntd-picker-view{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border:none;border-radius:6px;background:transparent;color:var(--ntd-picker-text-secondary, #a0a0b4);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.ntd-picker-view:hover:not(:disabled){color:var(--ntd-picker-text, #f0f0f5)}.ntd-picker-view.ntd-picker-view--active{background:var(--ntd-picker-bg, #1e1e2a);color:var(--ntd-picker-text, #f0f0f5);box-shadow:0 0 0 1px var(--ntd-picker-border, #3a3a4a)}.ntd-picker-view:disabled{opacity:.45;cursor:not-allowed}.ntd-picker-view:focus-visible,.ntd-picker-back:focus-visible{outline:2px solid var(--ntd-picker-accent, #6c5ce7);outline-offset:1px}.ntd-picker-banner{display:flex;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ntd-picker-border, #3a3a4a);background:var(--ntd-picker-accent-alpha, rgba(108, 92, 231, .12));color:var(--ntd-picker-text, #f0f0f5);font-size:.8rem}.ntd-picker-back{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--ntd-picker-border, #3a3a4a);border-radius:6px;background:var(--ntd-picker-bg, #1e1e2a);color:inherit;cursor:pointer}.ntd-picker-back:hover{border-color:var(--ntd-picker-accent, #6c5ce7)}.ntd-picker-panel{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.ntd-picker-dropdown.ntd-picker-dropdown--stack{max-height:min(620px,85vh)}.ntd-picker-dropdown.ntd-picker-dropdown--up{top:auto;bottom:calc(100% + 6px)}.ntd-picker-dropdown.ntd-picker-dropdown--end{right:0;left:auto}.ntd-picker-stack{--nice-border-color: var(--ntd-picker-border);--nice-bg-primary: var(--ntd-picker-input-bg);--nice-bg-secondary: var(--ntd-picker-input-bg);--nice-bg-tertiary: var(--ntd-picker-accent-alpha);--nice-bg-hover: var(--ntd-picker-accent-alpha);--nice-text-primary: var(--ntd-picker-text);--nice-text-secondary: var(--ntd-picker-text-secondary);--nice-color-primary: var(--ntd-picker-accent);flex:1 1 auto;min-height:0;padding:12px;overflow-y:auto;scrollbar-width:thin}.ntd-picker-stack[hidden],.ntd-picker-serializer{display:none}.ntd-picker-grid.ntd-picker-grid--names{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.ntd-picker-grid--names .ntd-picker-cell{justify-content:flex-start;gap:8px;aspect-ratio:auto;padding:6px 8px}.ntd-picker-grid--names .ntd-picker-cell:hover{transform:none}.ntd-picker-grid--names .ntd-picker-cell:after{content:none}.ntd-picker-cell-name{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.nice-desktop-icon-exporter{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--nice-space-4, 16px);min-width:0;color:var(--nice-text-primary, inherit);font-size:var(--nice-font-size-sm, .8125rem)}.nice-desktop-icon-exporter :where(h3,h4){margin:0 0 var(--nice-space-2, 8px);font-weight:var(--nice-font-weight-semibold, 600)}.nice-desktop-icon-exporter :where(h3){font-size:var(--nice-font-size-md, .875rem)}.nice-desktop-icon-exporter :where(h4){color:var(--nice-text-secondary, #64748b);font-size:var(--nice-font-size-xs, .75rem)}.nice-desktop-icon-exporter :where(button){padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-primary, #fff);color:var(--nice-text-primary, inherit);font:inherit;cursor:pointer}.nice-desktop-icon-exporter :where(button:hover:not(:disabled)){background:var(--nice-bg-secondary, #f8fafc)}.nice-desktop-icon-exporter :where(button:disabled){opacity:.5;cursor:not-allowed}.nice-desktop-icon-exporter :where(input[type=text]){box-sizing:border-box;padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-primary, #fff);color:var(--nice-text-primary, inherit);font:inherit}.nice-desktop-icon-exporter :where(input[type=range]){accent-color:var(--nice-color-primary, #3b82f6)}.nice-desktop-icon-exporter :where(button,input):focus-visible{outline:none;box-shadow:var(--nice-focus-ring, 0 0 0 2px var(--nice-color-primary, #3b82f6))}.nice-desktop-icon-exporter__preview,.nice-desktop-icon-exporter__config,.nice-desktop-icon-exporter__results{min-width:0;padding:var(--nice-space-3, 12px);background:var(--nice-bg-elevated, var(--nice-bg-primary, #fff));border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 8px)}.nice-desktop-icon-exporter__preview-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--nice-space-3, 12px)}.nice-desktop-icon-exporter__preview-item{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-1, 4px);color:var(--nice-text-muted, #94a3b8);font-size:var(--nice-font-size-xs, .75rem);font-variant-numeric:tabular-nums}.nice-desktop-icon-exporter__preview-box{display:flex;align-items:center;justify-content:center;border-radius:var(--nice-radius-sm, 4px)}.nice-desktop-icon-exporter__config{display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}.nice-desktop-icon-exporter__config>label{display:flex;flex-wrap:wrap;align-items:center;gap:var(--nice-space-2, 8px);color:var(--nice-text-secondary, #64748b);font-weight:var(--nice-font-weight-medium, 500)}.nice-desktop-icon-exporter__config>label>input[type=text],.nice-desktop-icon-exporter__config>label>input[type=range]{flex:1 1 140px;min-width:0}.nice-desktop-icon-exporter__platforms,.nice-desktop-icon-exporter__sizes{display:flex;flex-wrap:wrap;gap:var(--nice-space-1-5, 6px) var(--nice-space-4, 16px)}.nice-desktop-icon-exporter__sizes>h4{flex-basis:100%;margin:0}.nice-desktop-icon-exporter__platforms label,.nice-desktop-icon-exporter__sizes label{display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);cursor:pointer}.nice-desktop-icon-exporter__actions{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:var(--nice-space-2, 8px)}.nice-desktop-icon-exporter__actions>button:first-child{border-color:var(--nice-color-primary, #3b82f6);background:var(--nice-color-primary, #3b82f6);color:var(--nice-text-on-primary, #fff);font-weight:var(--nice-font-weight-medium, 500)}.nice-desktop-icon-exporter__results{grid-column:1 / -1}.nice-desktop-icon-exporter__results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--nice-space-2, 8px)}.nice-desktop-icon-exporter__result-item{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-1, 4px);padding:var(--nice-space-2, 8px);border:1px solid var(--nice-border-color, #e2e8f0);border-radius:var(--nice-radius-md, 6px);text-align:center}.nice-desktop-icon-exporter__result-item>img{max-width:64px;max-height:64px}.nice-desktop-icon-exporter__result-item>span{max-width:100%;overflow:hidden;color:var(--nice-text-secondary, #64748b);font-family:var(--nice-font-mono, ui-monospace, monospace);font-size:var(--nice-font-size-xxs, .625rem);text-overflow:ellipsis;white-space:nowrap}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
+ const animationSpeed = require("./animationSpeed.js");
4
5
  const DEFAULT_CONFIG = {
5
6
  duration: 1,
6
7
  repeatCount: "indefinite",
@@ -315,7 +316,8 @@ function generateSmilAnimation(config, center = { x: 12, y: 12 }) {
315
316
  }
316
317
  function SmilAnimationWrapper({
317
318
  animation,
318
- duration = 1,
319
+ duration,
320
+ animationSpeed: animationSpeed$1,
319
321
  repeatCount = "indefinite",
320
322
  easing = "ease-in-out",
321
323
  delay = 0,
@@ -323,7 +325,14 @@ function SmilAnimationWrapper({
323
325
  children
324
326
  }) {
325
327
  const animationElements = generateSmilAnimation(
326
- { type: animation, duration, repeatCount, easing, delay },
328
+ {
329
+ type: animation,
330
+ // 1 s before 1.3.17; a given duration keeps its length
331
+ duration: (duration ?? 1) * animationSpeed.durationScale(duration !== void 0, animationSpeed$1),
332
+ repeatCount,
333
+ easing,
334
+ delay
335
+ },
327
336
  center
328
337
  );
329
338
  const needsOriginTransform = [
@@ -0,0 +1,69 @@
1
+ import React from "react";
2
+ const ANIMATION_SLOWDOWN = 2;
3
+ function animationScale(speed) {
4
+ const s = typeof speed === "number" && speed > 0 && Number.isFinite(speed) ? speed : 1;
5
+ return ANIMATION_SLOWDOWN / s;
6
+ }
7
+ function durationScale(durationGiven, speed) {
8
+ return durationGiven ? animationScale(speed) / ANIMATION_SLOWDOWN : animationScale(speed);
9
+ }
10
+ const SMIL_ELEMENTS = /* @__PURE__ */ new Set([
11
+ "animate",
12
+ "animateTransform",
13
+ "animateMotion",
14
+ "animateColor",
15
+ "set"
16
+ ]);
17
+ const TIME_PROPS = ["dur", "begin", "end"];
18
+ const CLOCK = /^(\d*\.?\d+)(ms|s|min|h)?$/;
19
+ function scaleTime(value, scale) {
20
+ if (typeof value === "number") {
21
+ return Number((value * scale).toFixed(4));
22
+ }
23
+ return value.split(";").map((part) => {
24
+ const m = CLOCK.exec(part.trim());
25
+ if (!m) {
26
+ return part;
27
+ }
28
+ return `${Number((Number(m[1]) * scale).toFixed(4))}${m[2] ?? "s"}`;
29
+ }).join(";");
30
+ }
31
+ function retimeTree(node, scale) {
32
+ if (scale === 1) {
33
+ return node;
34
+ }
35
+ const walk = (n) => {
36
+ if (Array.isArray(n)) {
37
+ return n.map(walk);
38
+ }
39
+ if (!React.isValidElement(n)) {
40
+ return n;
41
+ }
42
+ const props = n.props;
43
+ const isHost = typeof n.type === "string";
44
+ const isFragment = n.type === React.Fragment;
45
+ if (!isHost && !isFragment) {
46
+ return n;
47
+ }
48
+ const next = {};
49
+ if (isHost && SMIL_ELEMENTS.has(n.type)) {
50
+ for (const key of TIME_PROPS) {
51
+ const v = props[key];
52
+ if (typeof v === "string" || typeof v === "number") {
53
+ next[key] = scaleTime(v, scale);
54
+ }
55
+ }
56
+ }
57
+ if (props.children !== void 0) {
58
+ next.children = React.Children.map(props.children, walk);
59
+ }
60
+ return Object.keys(next).length > 0 ? React.cloneElement(n, next) : n;
61
+ };
62
+ return walk(node);
63
+ }
64
+ export {
65
+ ANIMATION_SLOWDOWN,
66
+ animationScale,
67
+ durationScale,
68
+ retimeTree
69
+ };
@@ -1,5 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { forwardRef, useId, useSyncExternalStore } from "react";
3
+ import { durationScale, retimeTree, animationScale } from "./animationSpeed.js";
3
4
  import { sharpenTree, roundTree, wireTree, MINI_SCALE } from "./sharpen.js";
4
5
  import { generateSmilAnimation } from "./smilAnimations.js";
5
6
  import { BOX_PERFECT_STACK, renderStackChildren, NTD_ICON_MARK, PERFECT_STACK } from "./stacking.js";
@@ -24,11 +25,12 @@ function useColorScheme() {
24
25
  return useSyncExternalStore(subscribeColorScheme, getColorScheme, () => "light");
25
26
  }
26
27
  const BOX_CENTER = [12, 12];
27
- function renderGradientDef(id, preset, type, angle, animation) {
28
+ function renderGradientDef(id, preset, type, angle, animation, timeScale = 1) {
28
29
  const stops = GRADIENT_PRESETS[preset];
29
30
  if (!stops) {
30
31
  return null;
31
32
  }
33
+ const loop = `${Number((3 * timeScale).toFixed(4))}s`;
32
34
  const stopEls = stops.map((color, i) => {
33
35
  const offset = `${Math.round(i / (stops.length - 1) * 100)}%`;
34
36
  const nextColor = stops[(i + 1) % stops.length];
@@ -38,7 +40,7 @@ function renderGradientDef(id, preset, type, angle, animation) {
38
40
  {
39
41
  attributeName: "stop-color",
40
42
  values: `${color};${nextColor};${color}`,
41
- dur: "3s",
43
+ dur: loop,
42
44
  repeatCount: "indefinite"
43
45
  }
44
46
  ) }, i);
@@ -58,7 +60,7 @@ function renderGradientDef(id, preset, type, angle, animation) {
58
60
  type: "rotate",
59
61
  from: "0 12 12",
60
62
  to: "360 12 12",
61
- dur: "3s",
63
+ dur: loop,
62
64
  repeatCount: "indefinite"
63
65
  },
64
66
  "spin"
@@ -72,7 +74,7 @@ function renderGradientDef(id, preset, type, angle, animation) {
72
74
  {
73
75
  attributeName: "x1",
74
76
  values: "-24;24;-24",
75
- dur: "3s",
77
+ dur: loop,
76
78
  repeatCount: "indefinite"
77
79
  },
78
80
  "shift-x1"
@@ -82,7 +84,7 @@ function renderGradientDef(id, preset, type, angle, animation) {
82
84
  {
83
85
  attributeName: "x2",
84
86
  values: "0;48;0",
85
- dur: "3s",
87
+ dur: loop,
86
88
  repeatCount: "indefinite"
87
89
  },
88
90
  "shift-x2"
@@ -165,7 +167,13 @@ function renderCutoutShape(shape, fill, maskId) {
165
167
  }
166
168
  }
167
169
  function createIcon(options) {
168
- const { displayName, viewBox = "0 0 24 24", paths, textCenter = BOX_CENTER } = options;
170
+ const {
171
+ displayName,
172
+ viewBox = "0 0 24 24",
173
+ paths,
174
+ textCenter = BOX_CENTER,
175
+ animated = false
176
+ } = options;
169
177
  const solidDuotone = (props) => paths.solid({ ...props, accentColor: props.secondaryColor, accentOpacity: 1 });
170
178
  const perfect = {
171
179
  x: options.perfectStackX ?? textCenter[0],
@@ -192,8 +200,9 @@ function createIcon(options) {
192
200
  strokeLinejoin: propLinejoin,
193
201
  animation,
194
202
  animationDuration,
203
+ animationSpeed,
195
204
  smilAnimation,
196
- smilDuration = 1,
205
+ smilDuration,
197
206
  smilRepeatCount = "indefinite",
198
207
  smilEasing = "ease-in-out",
199
208
  smilDelay = 0,
@@ -269,9 +278,12 @@ function createIcon(options) {
269
278
  }
270
279
  const transformString = transforms.length > 0 ? transforms.join(" ") : void 0;
271
280
  const transitionValue = transition === true ? "transform 0.3s ease" : typeof transition === "string" ? `transform ${transition}` : void 0;
281
+ const timeScale = animationScale(animationSpeed);
272
282
  const animStyle = {
273
283
  // the variable carries the duration to the parts an icon animates inside itself
274
284
  ...animationDuration ? { animationDuration, "--ntd-anim-duration": animationDuration } : {},
285
+ // animations.css multiplies its times by it (default 2 there, the slowdown)
286
+ ...animationSpeed !== void 0 ? { "--ntd-anim-scale": String(timeScale) } : {},
275
287
  ...transformString ? { transform: transformString } : {},
276
288
  ...transformString ? { transformOrigin } : {},
277
289
  ...transitionValue ? { transition: transitionValue } : {},
@@ -280,7 +292,8 @@ function createIcon(options) {
280
292
  const smilAnimationElements = smilAnimation ? generateSmilAnimation(
281
293
  {
282
294
  type: smilAnimation,
283
- duration: smilDuration,
295
+ // 1 s before 1.3.17 by default; a given smilDuration keeps its length
296
+ duration: (smilDuration ?? 1) * durationScale(smilDuration !== void 0, animationSpeed),
284
297
  repeatCount: smilRepeatCount,
285
298
  easing: smilEasing,
286
299
  delay: smilDelay
@@ -289,6 +302,7 @@ function createIcon(options) {
289
302
  ) : null;
290
303
  const needsSmilScaleWrapper = smilAnimation && ["heartbeat", "scale-pulse", "grow", "shrink", "rubber", "pop"].includes(smilAnimation);
291
304
  const rendered = isCutout ? renderCutoutShape(cutoutShape, gradient ? effectivePrimary : resolvedSecondary, maskId) : variant === "sharp" ? sharpenTree(renderer(renderProps)) : variant === "rounded" ? roundTree(renderer(renderProps)) : variant === "wireframe" ? wireTree(renderer(renderProps), effectivePrimary) : renderer(renderProps);
305
+ const paced = animated ? retimeTree(rendered, timeScale) : rendered;
292
306
  const stacked = renderStackChildren(children, {
293
307
  variant,
294
308
  primaryColor: effectivePrimary,
@@ -300,9 +314,9 @@ function createIcon(options) {
300
314
  textSize
301
315
  });
302
316
  const drawn = stacked ? /* @__PURE__ */ jsxs(Fragment, { children: [
303
- rendered,
317
+ paced,
304
318
  stacked
305
- ] }) : rendered;
319
+ ] }) : paced;
306
320
  const iconContent = variant === "mini" ? /* @__PURE__ */ jsx(
307
321
  "g",
308
322
  {
@@ -329,20 +343,30 @@ function createIcon(options) {
329
343
  ...rest,
330
344
  children: [
331
345
  title && /* @__PURE__ */ jsx("title", { children: title }),
332
- gradient && /* @__PURE__ */ jsx("defs", { children: renderGradientDef(gradId, gradient, gradientType, gradientAngle, gradientAnimation) }),
346
+ gradient && /* @__PURE__ */ jsx("defs", { children: renderGradientDef(
347
+ gradId,
348
+ gradient,
349
+ gradientType,
350
+ gradientAngle,
351
+ gradientAnimation,
352
+ timeScale
353
+ ) }),
333
354
  is3d && /* @__PURE__ */ jsx("defs", { children: render3dFilterDef(filterId) }),
334
355
  isCutout && /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("mask", { id: maskId, children: [
335
356
  /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: "24", height: "24", fill: "white" }),
336
- /* @__PURE__ */ jsx("g", { transform: "translate(12,12) scale(0.8) translate(-12,-12)", children: paths.solid({
337
- ...renderProps,
338
- primaryColor: "black",
339
- secondaryColor: "black",
340
- accentColor: "white",
341
- primaryOpacity: 1,
342
- secondaryOpacity: 1,
343
- accentOpacity: 1,
344
- uid: `${uid}m`
345
- }) })
357
+ /* @__PURE__ */ jsx("g", { transform: "translate(12,12) scale(0.8) translate(-12,-12)", children: (() => {
358
+ const mask = paths.solid({
359
+ ...renderProps,
360
+ primaryColor: "black",
361
+ secondaryColor: "black",
362
+ accentColor: "white",
363
+ primaryOpacity: 1,
364
+ secondaryOpacity: 1,
365
+ accentOpacity: 1,
366
+ uid: `${uid}m`
367
+ });
368
+ return animated ? retimeTree(mask, timeScale) : mask;
369
+ })() })
346
370
  ] }) }),
347
371
  smilAnimation ? needsSmilScaleWrapper ? /* @__PURE__ */ jsxs(
348
372
  "g",