/* Action focus follows the button colour with a quiet gap and no additional glow. */
:root {
    --button-focus-blue: var(--selected-border);
    --button-focus-orange: var(--warning-fill);
}

:is(button, .button, input[type="submit"]):not(.overlay-close):is(:focus-visible, [data-dialog-focus-ring]) {
    outline: 2px solid var(--button-focus-blue);
    outline-offset: 3px;
    box-shadow: none;
    transition-property: color, background-color, border-color, transform;
}

:is(button, .button, input[type="submit"]).button-accent:not(.overlay-close):is(:focus-visible, [data-dialog-focus-ring]) {
    outline-color: var(--button-focus-orange);
}

/* Returning to a pointer-opened status action stays quiet until deliberate keyboard navigation resumes. */
:is(button, .button, input[type="submit"])[data-dialog-restored-focus]:focus {
    outline: none;
    box-shadow: none;
}

/* Operating-system contrast colours remain authoritative in forced-colour mode. */
@media (forced-colors: active) {
    :is(button, .button, input[type="submit"]):not(.overlay-close):is(:focus-visible, [data-dialog-focus-ring]) {
        outline-color: Highlight;
    }
}
