.is-loading:after{content:'';width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:request-spin .7s linear infinite;flex-shrink:0}
.is-loading{position:relative!important;pointer-events:none;cursor:wait!important;gap:10px}
.is-loading:after{display:inline-block;vertical-align:middle;margin-left:8px}
.form-is-loading{position:relative;cursor:progress}
.form-is-loading:before{content:'';position:absolute;left:0;top:0;width:var(--request-progress,8%);max-width:100%;height:3px;border-radius:4px;background:linear-gradient(90deg,#373580,#bb443b);transition:width .35s ease;z-index:2}
@keyframes request-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.form-is-loading:before{transition:none}.is-loading:after{animation:none;border-right-color:currentColor;border-style:dotted}}

.icon-button.is-loading>.icon{display:none}.icon-button.is-loading:after{margin:0}
/* Login uses only the submit-button spinner. */
.login-form.form-is-loading:before{display:none;content:none}
