.glass-button-base{position:relative;overflow:hidden;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.25,.46,.45,.94);transform:translateZ(0);will-change:transform}.glass-button-primary{background:linear-gradient(135deg,rgba(30,58,138,.8),rgba(37,99,235,.6) 50%,rgba(10,10,10,.9));border:1px solid rgba(59,130,246,.3);box-shadow:0 8px 25px rgba(0,0,0,.3),0 0 20px rgba(59,130,246,.2),inset 0 1px 0 rgba(255,255,255,.1)}.glass-button-primary:hover{background:linear-gradient(135deg,rgba(37,99,235,.9),rgba(59,130,246,.7) 50%,rgba(10,10,10,.95));border-color:rgba(59,130,246,.5);box-shadow:0 12px 35px rgba(0,0,0,.4),0 0 30px rgba(59,130,246,.3),inset 0 1px 0 rgba(255,255,255,.15);transform:translateY(-2px)}.glass-button-primary:active{transform:translateY(0);box-shadow:0 4px 15px rgba(0,0,0,.3),0 0 15px rgba(59,130,246,.2),inset 0 1px 0 rgba(255,255,255,.1)}.glass-button-secondary{background:linear-gradient(135deg,rgba(75,85,99,.6),rgba(55,65,81,.5) 50%,rgba(10,10,10,.8));border:1px solid rgba(156,163,175,.2);box-shadow:0 6px 20px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08)}.glass-button-secondary:hover{background:linear-gradient(135deg,rgba(75,85,99,.7),rgba(55,65,81,.6) 50%,rgba(10,10,10,.9));border-color:rgba(156,163,175,.3);box-shadow:0 8px 25px rgba(0,0,0,.3),0 0 20px rgba(156,163,175,.1),inset 0 1px 0 rgba(255,255,255,.12);transform:translateY(-1px)}.glass-button-outline{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-button-outline:hover{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(147,51,234,.1));border-color:rgba(59,130,246,.4);box-shadow:0 8px 25px rgba(0,0,0,.2),0 0 20px rgba(59,130,246,.15),inset 0 1px 0 rgba(255,255,255,.1)}.glass-button-sm{font-size:.875rem;padding:.5rem 1rem;border-radius:.5rem}.glass-button-md{font-size:1rem;padding:.75rem 1.5rem;border-radius:.75rem}.glass-button-lg{font-size:1.125rem;padding:1rem 2rem;border-radius:.875rem}.glass-button-loading{cursor:wait;pointer-events:none}.glass-button-loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:buttonLoadingShimmer 2s ease-in-out infinite}@keyframes buttonLoadingShimmer{0%{left:-100%}to{left:100%}}.glass-button-disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important;box-shadow:none!important}.glass-button-disabled:hover{transform:none!important;box-shadow:none!important;background:inherit!important;border-color:inherit!important}.glass-button-glow{position:relative}.glass-button-glow:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(45deg,transparent,rgba(59,130,246,.3),transparent);opacity:0;transition:opacity .3s ease;z-index:-1}.glass-button-primary.glass-button-glow:hover:after{opacity:1;background:linear-gradient(45deg,rgba(59,130,246,.2),rgba(147,51,234,.3),rgba(59,130,246,.2));animation:buttonGlowRotate 3s linear infinite}@keyframes buttonGlowRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.glass-button-ripple{position:relative;overflow:hidden}.glass-button-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transition:width .6s ease,height .6s ease;transform:translate(-50%,-50%);pointer-events:none}.glass-button-ripple:active:before{width:300px;height:300px}.glass-button-icon{display:flex;align-items:center;gap:.5rem}.glass-button-icon-left{flex-direction:row}.glass-button-icon-right{flex-direction:row-reverse}.glass-button-icon svg{transition:transform .2s ease}.glass-button:hover .glass-button-icon svg{transform:scale(1.1)}.glass-button:focus-visible{outline:2px solid rgba(59,130,246,.8);outline-offset:2px}.glass-button-shine{position:relative;overflow:hidden}.glass-button-shine:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);opacity:0;transition:opacity .3s ease,transform .6s ease;transform:rotate(45deg) translate(-100%,-100%)}.glass-button-shine:hover:before{opacity:1;transform:rotate(45deg) translate(100%,100%)}@media (max-width:768px){.glass-button-base{min-height:44px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-button-sm{min-height:40px;padding:.6rem 1.2rem}.glass-button-md{min-height:44px;padding:.8rem 1.6rem}.glass-button-lg{min-height:48px;padding:1rem 2rem}}@media (prefers-contrast:high){.glass-button-primary{border:2px solid #3b82f6;background:rgba(59,130,246,.3)}.glass-button-secondary{border:2px solid rgba(156,163,175,.8);background:rgba(75,85,99,.3)}.glass-button-outline{border:2px solid rgba(255,255,255,.8)}}@media (prefers-reduced-motion:reduce){.glass-button-base{transition:none}.glass-button-glow:after,.glass-button-loading:before{animation:none}.glass-button-ripple:before,.glass-button-shine:before{transition:none}}@media print{.glass-button-base{background:#ffffff!important;color:#000000!important;border:1px solid #000000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}.piano-lesson-btn{position:relative;overflow:hidden}.piano-lesson-btn:before{height:100%;background:linear-gradient(90deg,transparent,rgba(255,100,80,.12) 30%,rgba(255,160,130,.45) 50%,rgba(255,100,80,.12) 70%,transparent);z-index:1}.piano-lesson-btn:after,.piano-lesson-btn:before{content:"";position:absolute;top:0;left:-100%;width:60%;animation:pianoBeamSweep 2.8s ease-in-out infinite;pointer-events:none}.piano-lesson-btn:after{height:1.5px;background:linear-gradient(90deg,transparent,rgba(255,130,100,.6) 30%,rgba(255,220,200,1) 50%,rgba(255,130,100,.6) 70%,transparent);z-index:2;box-shadow:0 0 6px rgba(255,160,130,.8),0 0 12px rgba(255,80,60,.5)}@keyframes pianoBeamSweep{0%{left:-60%}to{left:160%}}@media (prefers-reduced-motion:reduce){.piano-lesson-btn:after,.piano-lesson-btn:before{animation:none}}