@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes ripple{0%{transform:scale(0,0);opacity:.5}100%{transform:scale(40,40);opacity:0}}@keyframes valuePop{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s cubic-bezier(.22, 1, .36, 1);will-change:transform,opacity}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.tool-grid .tool-card{--i:0}.tool-grid .tool-card:first-child{--i:1}.tool-grid .tool-card:nth-child(2){--i:2}.tool-grid .tool-card:nth-child(3){--i:3}.tool-grid .tool-card:nth-child(4){--i:4}.tool-grid .tool-card:nth-child(5){--i:5}.tool-grid .tool-card:nth-child(6){--i:6}.tool-grid .tool-card:nth-child(7){--i:7}.tool-grid .tool-card.is-visible{transition-delay:calc(var(--i) * 0.05s)}.result-value.updating{opacity:.5;transform:scale(.98)}