@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce-slow{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-2px) rotate(5deg)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-shimmer{animation:shimmer 2s infinite;background:linear-gradient(to right,#f0f0f0,#e0e0e0,#f0f0f0 40%,#f0f0f0);background-size:1000px 100%}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 2s cubic-bezier(.4,0,.6,1) infinite}.animate-slide-up{animation:slide-up .5s ease-out}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.animate-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes checkmark{0%{opacity:0;transform:scale(0) rotate(-45deg)}50%{opacity:1;transform:scale(1.2) rotate(0)}to{opacity:1;transform:scale(1) rotate(0)}}.animate-checkmark{animation:checkmark .4s ease-out forwards}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-count-up{animation:countUp .6s ease-out forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .4s ease-out forwards;opacity:0}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn .3s ease-out forwards}@keyframes pulse-ring{0%{box-shadow:0 0 #14b8a666}70%{box-shadow:0 0 0 10px #14b8a600}to{box-shadow:0 0 #14b8a600}}.animate-pulse-ring{animation:pulse-ring 1.5s cubic-bezier(.455,.03,.515,.955) infinite}.strength-weak{background:linear-gradient(90deg,#ef4444,#ef4444 25%,#e5e7eb 25%)}.strength-fair{background:linear-gradient(90deg,#f59e0b,#f59e0b 50%,#e5e7eb 50%)}.strength-good{background:linear-gradient(90deg,#10b981,#10b981 75%,#e5e7eb 75%)}.strength-strong{background:linear-gradient(90deg,#10b981,#10b981)}.smooth-height{transition:max-height .3s ease-out,opacity .2s ease-out;overflow:hidden}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:5px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#14b8a6,#0d9488);border-radius:5px;border:2px solid #f1f5f9}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#0d9488,#0f766e)}*{scrollbar-width:thin;scrollbar-color:#14b8a6 #f1f5f9}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.gradient-text{background:linear-gradient(135deg,#14b8a6,#0d9488,#0f766e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffff80;opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}.ripple:focus:not(:active):after{animation:ripple 1s ease-out}.skeleton{animation:shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%}.page-transition{animation:slide-up .3s ease-out}*:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}::selection{background-color:#ccfbf1;color:#134e4a}::-moz-selection{background-color:#ccfbf1;color:#134e4a}@media print{.no-print{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
