/* UIA-12 keyboard focus contract. Keep focus visible without changing pointer interaction. */
:where(
    a[href],
    button,
    input,
    select,
    textarea,
    summary,
    [role="button"],
    [tabindex]:not([tabindex="-1"])
):focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 2px;
    border-radius: max(4px, var(--radius-xs));
}

:where(
    a[href],
    button,
    input,
    select,
    textarea,
    summary,
    [role="button"],
    [tabindex]:not([tabindex="-1"])
):focus-visible:not(:active) {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);
}

@media (prefers-contrast: more) {
    :where(
        a[href],
        button,
        input,
        select,
        textarea,
        summary,
        [role="button"],
        [tabindex]:not([tabindex="-1"])
    ):focus-visible {
        outline-width: 4px;
    }
}
