/* Shared interaction finish. No layout shift or pointer-following work on touch. */
:where(button,.btn,[role="button"]){--magic-glow:166,128,255;transition:translate .22s cubic-bezier(.2,.8,.2,1),scale .15s ease,box-shadow .25s ease,border-color .25s ease,filter .25s ease}
@media(hover:hover) and (pointer:fine){
 :where(button,.btn,[role="button"]):not(:disabled):not([aria-disabled="true"]):hover{translate:0 -2px;filter:brightness(1.09);border-color:rgba(var(--magic-glow),.7);box-shadow:0 7px 22px rgba(var(--magic-glow),.18),inset 0 1px 0 #ffffff35}
 :where(.go,.btn:not(.ghost),.sg-go,.dgo):not(:disabled):hover{box-shadow:0 8px 30px rgba(var(--magic-glow),.3),inset 0 1px 0 #ffffff70;animation:magic-button-light 1.3s ease-in-out infinite alternate}
}
:where(button,.btn,[role="button"]):not(:disabled):active{translate:0 0;scale:.97;filter:brightness(1.03);transition-duration:.08s}
:where(button,.btn,[role="button"]):focus-visible{outline:2px solid #c6b0ff;outline-offset:4px;box-shadow:0 0 0 5px #9c73ff20}
:where(button,.btn,[role="button"]):disabled{animation:none!important;translate:none;scale:1}
@keyframes magic-button-light{from{filter:brightness(1.03)}to{filter:brightness(1.17)}}
@media(prefers-reduced-motion:reduce){:where(button,.btn,[role="button"]){transition:none!important;animation:none!important;translate:none!important;scale:1!important}}
