button{--transition-duration:200ms;--transition-timing:cubic-bezier(0.34,1.56,0.64,1);transition:background-color var(--transition-duration) ease-out,color var(--transition-duration) ease-out,border-color var(--transition-duration) ease-out,box-shadow var(--transition-duration) cubic-bezier(.34,1.56,.64,1),transform var(--transition-duration) cubic-bezier(.34,1.56,.64,1)}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(0,0,0,.15)}button:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}[class*=bg-accent]:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(212,165,116,.2)}[class*=bg-accent]:not(:disabled):active{transform:translateY(-1px);box-shadow:0 4px 8px rgba(212,165,116,.15)}[class*=ghost]:not(:disabled):hover{transform:translateY(-1px);background-color:rgba(255,255,255,.08)}[class*=border]:not(:disabled):hover{transform:translateY(-1px);border-color:currentColor}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--bg-base),0 0 0 6px var(--accent);animation:focus-ring .2s ease-out}@keyframes focus-ring{0%{box-shadow:0 0 0 0 var(--bg-base),0 0 0 2px var(--accent)}to{box-shadow:0 0 0 3px var(--bg-base),0 0 0 6px var(--accent)}}button[class*=icon]:not(:disabled):hover{transform:scale(1.05) rotate(1deg)}button[class*=link]:not(:disabled):after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width .2s ease-out}button[class*=link]:not(:disabled):hover:after{width:100%}button:has(.btn-loading){pointer-events:none}.button-group button:not(:first-child){animation:slide-in-left .3s cubic-bezier(.34,1.56,.64,1) backwards}.button-group button:first-child{animation-delay:0s}.button-group button:nth-child(2){animation-delay:50ms}.button-group button:nth-child(3){animation-delay:.1s}.button-group button:nth-child(4){animation-delay:.15s}.button-group button:nth-child(5){animation-delay:.2s}.button-content{display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease-out}.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:ripple-burst .6s ease-out forwards;pointer-events:none;width:40px;height:40px;margin-left:-20px;margin-top:-20px}@keyframes ripple-burst{to{transform:scale(4);opacity:0}}button.is-loading{min-width:120px}button.is-loading .button-content{justify-content:center;gap:4px}.spinner-dot{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dot-pulse 1.4s infinite}.spinner-dot:nth-child(2){animation-delay:.2s}.spinner-dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}button.is-success{background-color:#10b981}button.is-success .success-icon{animation:icon-bounce .5s cubic-bezier(.34,1.56,.64,1) forwards;margin-right:.25rem}@keyframes icon-bounce{0%{transform:scale(.5) rotate(-45deg);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1) rotate(0deg);opacity:1}}button.is-error{background-color:#ef4444}button.is-error .error-icon{animation:icon-shake .5s cubic-bezier(.36,0,.66,-.56) forwards;margin-right:.25rem}@keyframes icon-shake{0%{transform:scale(.5) rotate(0deg);opacity:0}10%{transform:rotate(-5deg)}20%{transform:rotate(5deg)}30%{transform:rotate(-5deg)}40%{transform:rotate(5deg)}50%{transform:rotate(0deg)}to{transform:scale(1) rotate(0deg);opacity:1}}button.is-error .button-content,button.is-success .button-content{animation:fade-in .3s ease-out}.pixel-blast-container{width:100%;height:100%;position:relative;overflow:hidden}.spinner{position:relative;display:inline-flex;align-items:center;justify-content:center}.spinner-inner{position:absolute;border:2px solid transparent;border-radius:50%;animation:spinner-rotate 1.2s linear infinite}.spinner-default .spinner-inner{border-right-color:var(--accent);border-top-color:var(--accent);opacity:.8;animation:spinner-rotate 1.2s linear infinite}.spinner-default .spinner-inner:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;border:2px solid transparent;border-top:2px solid var(--accent-light);transform:translate(-50%,-50%);opacity:.4;animation:spinner-rotate 1.8s linear infinite reverse}.spinner-accent .spinner-inner{border-left:2px solid var(--accent-muted);border-bottom:2px solid var(--accent-muted);border-right-color:var(--accent-muted);border-top-color:var(--accent-muted);border-right:2px solid var(--accent);border-top:2px solid var(--accent);animation:spinner-rotate 1s cubic-bezier(.68,-.55,.265,1.55) infinite}.spinner-minimal .spinner-inner{border-left:1.5px solid var(--border-subtle);border-bottom:1.5px solid var(--border-subtle);border-right-color:var(--border-subtle);border-top-color:var(--border-subtle);border-right:1.5px solid var(--text-secondary);border-top:1.5px solid var(--text-secondary);opacity:.6;animation:spinner-rotate 1.5s linear infinite}.spinner+p{animation:fade-in .4s ease-out}@keyframes backdrop-fade{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(4px)}}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;left:50%;top:50%;width:1em;height:1em;margin-left:-.5em;margin-top:-.5em;border-radius:50%;border-color:transparent transparent currentcolor currentcolor;border-style:solid;border-width:2px;animation:spinner-rotate .6s linear infinite}@keyframes page-fade-exit{0%{opacity:0}to{opacity:1}}@keyframes page-fade-enter{0%{opacity:1}to{opacity:0}}@keyframes page-slide-exit{0%{transform:translateX(0);opacity:0}to{transform:translateX(100%);opacity:1}}@keyframes page-slide-enter{0%{transform:translateX(-100%);opacity:1}to{transform:translateX(0);opacity:0}}.animate-page-fade-exit{animation:page-fade-exit forwards}.animate-page-fade-enter{animation:page-fade-enter forwards}.animate-page-slide-exit{animation:page-slide-exit forwards}.animate-page-slide-enter{animation:page-slide-enter forwards}@keyframes loading-bar-pulse{0%{width:10%;left:0}50%{width:70%;left:15%}to{width:10%;left:85%}}@keyframes loading-bar-complete{0%{width:100%;opacity:1}to{width:100%;opacity:0}}@keyframes shimmer-loading{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--bg-muted) 0,var(--bg-surface) 50%,var(--bg-muted) 100%);background-size:1000px 100%;animation:shimmer-loading 2s infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-pulse{animation:skeleton-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.toast{animation:toast-slide-in .3s cubic-bezier(.34,1.56,.64,1) forwards}.toast-exit{animation:toast-slide-out .2s cubic-bezier(.36,0,.66,-.56) forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100%) scale(.95)}}.toast svg{animation:icon-pop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes icon-pop{0%{opacity:0;transform:scale(.5) rotate(-45deg)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1) rotate(0deg)}}.animate-slide-in-right{animation:slide-in-right .3s cubic-bezier(.34,1.56,.64,1) forwards!important}.animate-slide-out-right{animation:slide-out-right .2s cubic-bezier(.36,0,.66,-.56) forwards!important}.animate-slide-in-left{animation:slide-in-left .3s cubic-bezier(.34,1.56,.64,1) forwards!important}.animate-slide-out-left{animation:slide-out-left .2s cubic-bezier(.36,0,.66,-.56) forwards!important}