/* Consistent tactile and accessible feedback, including embedded portal pages. */
button,input[type=submit],input[type=button],[role=button]{transition:transform 100ms ease,filter 100ms ease,box-shadow 140ms ease,opacity 140ms ease;-webkit-tap-highlight-color:rgba(123,22,217,.18);touch-action:manipulation}
@media(hover:hover){button:not(:disabled):not([aria-disabled=true]):hover,input[type=submit]:not(:disabled):hover,input[type=button]:not(:disabled):hover{filter:brightness(.94);box-shadow:0 3px 10px #48106426}}
button:not(:disabled):active,button.xpss-button-pressed:not(:disabled),input[type=submit]:not(:disabled):active,input[type=button]:not(:disabled):active,[role=button]:not([aria-disabled=true]):active{transform:translateY(2px) scale(.98)!important;filter:brightness(.85)!important;box-shadow:inset 0 2px 4px #11182738!important}
button:focus-visible,input[type=submit]:focus-visible,input[type=button]:focus-visible,[role=button]:focus-visible{outline:3px solid #a66de1!important;outline-offset:3px!important}
button:disabled,input[type=submit]:disabled,input[type=button]:disabled,[aria-disabled=true]{cursor:not-allowed!important;opacity:.55}
button[data-xpss-action-state=loading],input[data-xpss-action-state=loading]{cursor:progress!important;box-shadow:0 0 0 3px #a66de166!important}
button[data-xpss-action-state=loading]::after{content:'';display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-left:9px;vertical-align:middle;animation:xpss-button-spin .7s linear infinite}
button[data-xpss-action-state=success]{box-shadow:0 0 0 3px #22a06088!important}
button[data-xpss-action-state=error]{box-shadow:0 0 0 3px #dc354588!important}
#xpssActionFeedback{position:fixed;top:calc(16px + env(safe-area-inset-top));right:16px;z-index:2147483000;max-width:min(420px,calc(100vw - 32px));box-sizing:border-box;display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid #d7c2eb;border-radius:12px;background:#faf5ff;color:#481064;box-shadow:0 8px 28px #11182724;font:600 14px/1.5 Arial,sans-serif}
#xpssActionFeedback[hidden]{display:none!important}#xpssActionFeedback[data-state=success]{border-color:#9ad4af;background:#ecf9f0;color:#176b36}#xpssActionFeedback[data-state=error]{border-color:#e8a6ab;background:#fff1f2;color:#a32131}#xpssActionFeedback button{flex:0 0 auto;margin:0!important;padding:3px 8px!important;background:transparent!important;color:inherit!important;border:0!important;box-shadow:none!important;font-size:20px!important}#xpssActionFeedback .xpss-feedback-icon{font-size:20px;line-height:1}#xpssActionFeedback[data-state=loading] .xpss-feedback-icon{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:xpss-button-spin .7s linear infinite}
@keyframes xpss-button-spin{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){button,input[type=submit],input[type=button],[role=button]{transition:none!important}button:not(:disabled):active,button.xpss-button-pressed:not(:disabled),input:active,[role=button]:active{transform:none!important}button[data-xpss-action-state=loading]::after,#xpssActionFeedback[data-state=loading] .xpss-feedback-icon{animation:none!important}}
