.button-spinner{justify-content:center;align-items:center;gap:var(--spacing-xs);pointer-events:none;display:flex}.button-spinner--spinner{width:1.25rem;height:1.25rem;position:relative}.button-spinner__circle{border-radius:var(--radius-full);width:100%;height:100%;animation:spinnerRotate var(--duration-slowest,1s) linear infinite;opacity:.9;border:2px solid;border-color:currentColor currentColor #0000 #0000}.button-spinner--dots{justify-content:center;align-items:center;gap:.375rem;height:1rem;display:inline-flex}.button-spinner__dot{border-radius:var(--radius-full);will-change:transform, opacity;background-color:currentColor;width:.4375rem;height:.4375rem;animation:.9s ease-in-out infinite dotsWave}.button-spinner__dot:first-child{animation-delay:0s}.button-spinner__dot:nth-child(2){animation-delay:.14s}.button-spinner__dot:nth-child(3){animation-delay:.28s}.button-spinner--pulse{width:1.25rem;height:1.25rem;position:relative}.button-spinner__pulse{border-radius:var(--radius-full);background-color:currentColor;animation:1s ease-in-out infinite pulseScale;position:absolute;inset:0}@keyframes pulseScale{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.button-spinner--progress{height:var(--border-width-thick,2px);background-color:var(--c-primary-glow-25);border-radius:0 0 var(--radius-md) var(--radius-md);position:absolute;bottom:0;left:0;right:0;overflow:hidden}.button-spinner__progress-bar{background:linear-gradient(90deg, transparent, var(--c-primary-glow-75), transparent);width:40%;height:100%;animation:1.2s ease-in-out infinite progressShimmer;position:absolute;top:0;left:0}.button-spinner--small.button-spinner--spinner{width:1rem;height:1rem}.button-spinner--small .button-spinner__circle{border-width:1.5px}.button-spinner--small.button-spinner--dots{gap:.25rem;height:.75rem}.button-spinner--small .button-spinner__dot{width:.3125rem;height:.3125rem}.button-spinner--large.button-spinner--spinner{width:1.375rem;height:1.375rem}.button-spinner--large.button-spinner--dots{gap:.4375rem;height:1.125rem}.button-spinner--large .button-spinner__dot{width:.5rem;height:.5rem}.button.button-loading,.page-submit-button.button-loading{pointer-events:none;position:relative}.button .button-text,.page-submit-button .button-text{transition:opacity .12s}.button.button-loading .button-text,.page-submit-button.button-loading .button-text{opacity:0}.button .button-spinner,.page-submit-button .button-spinner{justify-content:center;align-items:center;width:100%;height:100%;margin:0;animation:.16s forwards buttonSpinnerFadeIn;display:flex;position:absolute;inset:0}.button .button-spinner.button-spinner--dots,.page-submit-button .button-spinner.button-spinner--dots{width:100%;height:100%}@media (prefers-reduced-motion:reduce){.button-spinner__circle,.button-spinner__dot,.button-spinner__pulse,.button-spinner__progress-bar{animation:none}.button-spinner__dot{opacity:.85}.button .button-spinner,.page-submit-button .button-spinner{animation:none}.button .button-text,.page-submit-button .button-text{transition:none}}