/* Modal dialogs belong to the viewport, independently of card/layout styles. */
dialog:modal {
    position: fixed;
    inset: 0;
    margin: auto;
    overflow: auto;
    overscroll-behavior: contain;
}

/* Native modal state also covers Escape, close(), removal and overlapping dialogs. */
html:has(dialog:modal) {
    overflow: hidden;
    scrollbar-gutter: stable;
}
