dialog {
    position   : absolute;
    left       : 0;
    right      : 0;
    width      : fit-content;
    height     : fit-content;
    margin     : auto;
    border     : solid;
    padding    : 1em;
    background : white;
    color      : black;
    display    : block;
}

dialog:not([open]) {
    display : none;
}

dialog + .backdrop {
    position   : fixed;
    top        : 0;
    right      : 0;
    bottom     : 0;
    left       : 0;
    background : rgba(0, 0, 0, 0.1);
}

._dialog_overlay {
    position : fixed;
    top      : 0;
    right    : 0;
    bottom   : 0;
    left     : 0;
}

dialog.fixed {
    position  : fixed;
    top       : 50%;
    transform : translate(0, -50%);
}