:root{--button-hover-duration:550ms;--button-hover-easing:linear(0,0.1176,0.3457,0.5719,0.7511,0.8746,0.9503,0.9911,1.0095,1.015,1.0141,1.0109,1.0074,1.0044,1.0023,1.001,1.0003,1);--button-click-duration:800ms;--button-click-easing:linear(0,0.0012,0.0048,0.0109,0.0194,0.0303,0.0436,0.0594,0.0776,0.0982,0.1212,0.1466,0.1745,0.2048,0.2375,0.2726,0.3102,0.3502,0.3926,0.4374,0.4847,0.5344,0.5865,0.641,0.698,0.7573,0.8191,0.8834,0.95,0.9906,0.9577,0.9271,0.8991,0.8734,0.8501,0.8293,0.8109,0.795,0.7814,0.7703,0.7616,0.7553,0.7514,0.75,0.751,0.7544,0.7603,0.7685,0.7792,0.7923,0.8078,0.8258,0.8462,0.869,0.8942,0.9219,0.9519,0.9844,0.9909,0.976,0.9635,0.9535,0.9459,0.9407,0.938,0.9377,0.9398,0.9443,0.9512,0.9606,0.9724,0.9866,0.9985,0.9914,0.9868,0.9846,0.9848,0.9874,0.9925,1);--button-glow-color:rgba(255,251,244,0.5);--button-primary-bg:#FBFBF4;--button-primary-border:#1C1C1C;--button-primary-text:#1C2433;--button-secondary-bg:#1C1C1C;--button-secondary-border:#7D7D77;--button-secondary-text:#FBFBF4;--button-ghost-hover-bg:#2D394E;--button-ghost-text:#FBFBF4}.button-enhanced{position:relative;overflow:hidden;will-change:transform;transform-origin:center;transition:all .1s ease}.button-enhanced:hover{transform:scale(1.05);filter:brightness(1.1);border-radius:6px;box-shadow:0 0 15px 2px var(--button-glow-color);transition:transform var(--button-hover-duration) var(--button-hover-easing),filter var(--button-hover-duration) var(--button-hover-easing),box-shadow var(--button-hover-duration) var(--button-hover-easing)}.button-enhanced:active{transform:scale(.95);transition:transform var(--button-click-duration) var(--button-click-easing)}.button-enhanced:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--button-primary-border),0 0 20px 5px var(--button-glow-color);transition:box-shadow .3s ease}.button-enhanced.variant-primary{background-color:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text)}.button-enhanced.variant-primary:hover{background-color:var(--button-primary-bg);background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.button-enhanced.variant-secondary{background-color:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.button-enhanced.variant-secondary:hover{background-color:var(--button-secondary-bg);background-image:linear-gradient(rgba(174,193,242,.2),rgba(174,193,242,.2))}.button-enhanced.variant-ghost{background-color:transparent;border:none;color:var(--button-ghost-text)}.button-enhanced.variant-ghost:hover{background-color:var(--button-ghost-hover-bg);border-radius:8px}.button-enhanced.variant-ghost:not(:hover){border-radius:10px}.button-enhanced.loading{position:relative;overflow:hidden}.button-enhanced.loading:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:loading-shimmer 2s infinite}@keyframes loading-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.button-enhanced .button-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);pointer-events:none;transform:scale(0);animation:ripple-animation .6s ease-out}@keyframes ripple-animation{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.button-enhanced.icon-button .button-icon{transition:transform var(--button-hover-duration) var(--button-hover-easing)}.button-enhanced.icon-button:hover .button-icon{transform:translateX(2px)}.button-enhanced.icon-button:active .button-icon{transform:translateX(0)}@media (prefers-reduced-motion:reduce){.button-enhanced,.button-enhanced:active,.button-enhanced:focus-visible,.button-enhanced:hover{transition:none!important;animation:none!important;transform:none!important}.button-enhanced .button-ripple{display:none}.button-enhanced.loading:before{animation:none}}@media (prefers-color-scheme:dark){:root{--button-glow-color:rgba(255,251,244,0.3)}}