.modern-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:12px;font-weight:600;font-size:.875rem;line-height:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:44px;min-width:44px}.modern-button:focus,.modern-button:focus-visible,.modern-button:active{outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent!important}button:focus,button:focus-visible,button:active,.btn:focus,.btn:focus-visible,.btn:active{outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent!important}.glassmorphism-button{background:rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px rgba(255,255,255,.2)}.glassmorphism-button:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);box-shadow:0 12px 40px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.3);transform:translateY(-2px)}.gradient-button{background:linear-gradient(135deg,#667eea,#764ba2);background-size:200% 200%;animation:gradientShift 3s ease infinite;border:none;color:#fff;box-shadow:0 4px 15px rgba(102,126,234,.4)}.gradient-button:hover{animation-duration:1s;box-shadow:0 8px 25px rgba(102,126,234,.6);transform:translateY(-2px) scale(1.02)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.neomorphism-button{background:#f0f0f3;border:none;box-shadow:20px 20px 60px #d1d9e6,-20px -20px 60px #fff;color:#4a5568}.neomorphism-button:hover{box-shadow:inset 20px 20px 60px #d1d9e6,inset -20px -20px 60px #fff;transform:scale(.98)}.neomorphism-button:active{box-shadow:inset 20px 20px 60px #d1d9e6,inset -20px -20px 60px #fff;transform:scale(.95)}.gamified-button{position:relative;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;color:#fff;overflow:hidden}.gamified-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.gamified-button:hover:before{left:100%}.gamified-button:hover{transform:translateY(-3px) rotate(1deg);box-shadow:0 10px 30px rgba(0,0,0,.3)}.gamified-button:active{animation:particleBurst .6s ease-out}@keyframes particleBurst{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.ai-adaptive-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;position:relative;overflow:hidden}.ai-adaptive-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ai-adaptive-button:hover:after{width:300px;height:300px}.button-3d{background:linear-gradient(145deg,#e6e6e6,#fff);border:none;box-shadow:5px 5px 10px #d1d9e6,-5px -5px 10px #fff;color:#4a5568;transform-style:preserve-3d;transition:all .3s ease}.button-3d:hover{transform:translateY(-2px) rotateX(5deg);box-shadow:8px 8px 15px #d1d9e6,-8px -8px 15px #fff}.button-3d:active{transform:translateY(0) rotateX(0);box-shadow:inset 5px 5px 10px #d1d9e6,inset -5px -5px 10px #fff}.progress-button{position:relative;background:#4f46e5;border:none;color:#fff;overflow:hidden}.progress-button:before{content:"";position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#10b981,#059669);width:0%;transition:width .3s ease;z-index:1}.progress-button:hover:before{width:100%}.progress-button span{position:relative;z-index:2}.morphing-button{background:#6366f1;border:none;color:#fff;border-radius:50px;transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}.morphing-button:hover{border-radius:8px;transform:scale(1.05);background:#8b5cf6}.glow-button{background:#1e40af;border:none;color:#fff;box-shadow:0 0 20px rgba(30,64,175,.5),inset 0 1px rgba(255,255,255,.1);transition:all .3s ease}.glow-button:hover{box-shadow:0 0 30px rgba(30,64,175,.8),0 0 60px rgba(30,64,175,.4),inset 0 1px rgba(255,255,255,.2);transform:translateY(-2px)}.interactive-button{background:#059669;border:none;color:#fff;position:relative;overflow:hidden}.interactive-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s}.interactive-button:hover:before{transform:translate(100%)}.interactive-button:active{transform:scale(.95);background:#047857}@media (prefers-reduced-motion: reduce){.modern-button,.glassmorphism-button,.gradient-button,.neomorphism-button,.gamified-button,.ai-adaptive-button,.button-3d,.progress-button,.morphing-button,.glow-button,.interactive-button{animation:none!important;transition:none!important}}@media (prefers-contrast: high){.modern-button{border:2px solid currentColor}.glassmorphism-button{background:rgba(0,0,0,.8);color:#fff;border:2px solid white}}@media (prefers-color-scheme: dark){.neomorphism-button{background:#2d3748;color:#e2e8f0;box-shadow:20px 20px 60px #1a202c,-20px -20px 60px #4a5568}.neomorphism-button:hover{box-shadow:inset 20px 20px 60px #1a202c,inset -20px -20px 60px #4a5568}}.floating-button-enhanced{position:fixed;bottom:2rem;right:2rem;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;box-shadow:0 8px 32px rgba(102,126,234,.4),0 0 rgba(102,126,234,.7);animation:pulse 2s infinite;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.floating-button-enhanced:hover{transform:translateY(-4px) scale(1.1);box-shadow:0 12px 40px rgba(102,126,234,.6),0 0 0 20px rgba(102,126,234,.1);animation:none}@keyframes pulse{0%{box-shadow:0 8px 32px rgba(102,126,234,.4),0 0 rgba(102,126,234,.7)}70%{box-shadow:0 8px 32px rgba(102,126,234,.4),0 0 0 10px rgba(102,126,234,0)}to{box-shadow:0 8px 32px rgba(102,126,234,.4),0 0 rgba(102,126,234,0)}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInScale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-slide-in-right{animation:slideInFromRight .6s cubic-bezier(.4,0,.2,1)}.animate-slide-in-bottom{animation:slideInFromBottom .6s cubic-bezier(.4,0,.2,1)}.animate-slide-in-left{animation:slideInFromLeft .6s cubic-bezier(.4,0,.2,1)}.animate-fade-in-scale{animation:fadeInScale .4s cubic-bezier(.4,0,.2,1)}.animate-bounce-in{animation:bounceIn .8s cubic-bezier(.4,0,.2,1)}.animate-pulse-slow{animation:pulse 2s cubic-bezier(.4,0,.2,1) infinite}.button-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.button-loading{position:relative;color:transparent}.button-loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*:focus,*:focus-visible,*:active{outline:none!important;-webkit-tap-highlight-color:transparent!important}button,[role=button],input[type=button],input[type=submit],input[type=reset]{outline:none!important;-webkit-tap-highlight-color:transparent!important}button:focus,button:focus-visible,button:active,[role=button]:focus,[role=button]:focus-visible,[role=button]:active,input[type=button]:focus,input[type=button]:focus-visible,input[type=button]:active,input[type=submit]:focus,input[type=submit]:focus-visible,input[type=submit]:active,input[type=reset]:focus,input[type=reset]:focus-visible,input[type=reset]:active{outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent!important}.btn,[class*=btn-]{outline:none!important;-webkit-tap-highlight-color:transparent!important}.btn:focus,.btn:focus-visible,.btn:active,[class*=btn-]:focus,[class*=btn-]:focus-visible,[class*=btn-]:active{outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent!important}
