@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleInCenter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:0 0 8px rgba(59,130,246,.2),0 0 16px rgba(59,130,246,.1)}50%{box-shadow:0 0 16px rgba(59,130,246,.4),0 0 32px rgba(59,130,246,.2)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes focusRing{0%{box-shadow:0 0 0 3px rgba(59,130,246,0)}50%{box-shadow:0 0 0 5px rgba(59,130,246,.5)}to{box-shadow:0 0 0 3px rgba(59,130,246,.25)}}@keyframes expandBackground{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.animate-fadeInUp{animation:fadeInUp .5s cubic-bezier(.34,1.56,.64,1)}.animate-fadeInDown{animation:fadeInDown .5s cubic-bezier(.34,1.56,.64,1)}.animate-slideInLeft{animation:slideInLeft .5s cubic-bezier(.34,1.56,.64,1)}.animate-slideInRight{animation:slideInRight .5s cubic-bezier(.34,1.56,.64,1)}.animate-scaleInCenter{animation:scaleInCenter .4s cubic-bezier(.34,1.56,.64,1)}.animate-pulse-subtle{animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite}.animate-glow-subtle{animation:glow 3s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-spin-slow{animation:spinSlow 3s linear infinite}.animate-bounce-soft{animation:bounce 2s ease-in-out infinite}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-smooth-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-smooth-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.glass-effect{background:hsla(0,0%,100%,.05);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.1);border-radius:12px}.glass-effect-strong{background:hsla(0,0%,100%,.08);backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.15);border-radius:16px}.glass-effect-light{background:hsla(0,0%,100%,.02);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.05);border-radius:8px}.elevation-1{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.elevation-2{box-shadow:0 3px 6px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.12)}.elevation-3{box-shadow:0 10px 20px rgba(0,0,0,.15),0 3px 6px rgba(0,0,0,.1)}.elevation-4{box-shadow:0 15px 35px rgba(0,0,0,.2),0 5px 15px rgba(0,0,0,.1)}.accent-glow{box-shadow:0 0 20px rgba(59,130,246,.3),0 0 40px rgba(59,130,246,.1)}.accent-glow-sm{box-shadow:0 0 12px rgba(59,130,246,.2),0 0 24px rgba(59,130,246,.05)}.accent-glow-lg{box-shadow:0 0 30px rgba(59,130,246,.4),0 0 60px rgba(59,130,246,.15)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.5);transform:translate(-50%,-50%);pointer-events:none}.btn-ripple:active:before{animation:ripple .6s ease-out}.hover-lift{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}.hover-lift-sm:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.1)}.skeleton{background:linear-gradient(90deg,hsla(0,0%,100%,.05) 25%,hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,.05) 75%);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:8px}.page-enter{animation:fadeInUp .4s ease-out}.page-exit{animation:fadeDown .4s ease-in}@keyframes successCheck{0%{transform:scale(0) rotate(-45deg)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.animate-success{animation:successCheck .5s cubic-bezier(.34,1.56,.64,1)}.animate-error{animation:shake .4s ease-in-out}html{scroll-behavior:smooth;scroll-padding-top:80px}:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-motion:no-preference){.will-animate{will-change:transform,opacity}}