:root{--color-primary: #1e7ec0;--color-primary-dark: #15659e;--color-primary-light: #3d9ad9;--color-accent: #92c84a;--color-accent-dark: #7ab038;--color-accent-light: #a8d665}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.glass-strong{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animated{background-size:200% 200%;animation:gradientShift 8s ease infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.float{animation:float 3s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #1e7ec04d}50%{box-shadow:0 0 40px #1e7ec099}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .5s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in-scale{animation:fadeInScale .4s ease-out}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:100px;height:100px;background:#ffffff80;border-radius:50%;transform:translate(-50%,-50%) scale(0);animation:ripple .6s ease-out}@keyframes wave{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(-10px) translateY(-5px)}50%{transform:translate(0) translateY(-10px)}75%{transform:translate(10px) translateY(-5px)}}.wave{animation:wave 4s ease-in-out infinite}@keyframes bubble{0%{transform:translateY(0) scale(1);opacity:.7}to{transform:translateY(-100vh) scale(.5);opacity:0}}.bubble{animation:bubble 8s ease-in infinite}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotate-slow{animation:rotateSlow 20s linear infinite}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.hover-scale{transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.hover-scale:hover{transform:scale(1.05)}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#1e7ec0,#92c84a);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#15659e,#7ab038)}@keyframes skeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0 80px);background-size:200px 100%;animation:skeleton 1.5s infinite}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti{animation:confetti-fall 3s ease-in forwards}.text-gradient{background:linear-gradient(135deg,#1e7ec0,#92c84a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}
