button[data-submit-busy="true"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    white-space: nowrap;
}

/* The theme stretches a button's only span to 100%; keep this spinner square. */
button[data-submit-busy="true"] > [data-submit-spinner] {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 1em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: submit-feedback-spin .7s linear infinite;
}

@keyframes submit-feedback-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    [data-submit-spinner] { animation-duration: 1.5s; }
}
