html, body { background: linear-gradient(300deg, #cb0b0b, #2081c3); background-size: 100vw 100vh; margin: 0; min-height: 100vh; height: 100vh; } dialog { background-color: white; border: 0; border-radius: 2em; opacity: 0; transition: opacity 0.125s ease-out; } dialog::backdrop { backdrop-filter: blur(5px); background-color: #0008; transition: background-color 0.125s ease-out; @starting-style { /* This might not work on Firefox because Firefox being behind moment */ background-color: #0000; } } dialog[open] { opacity: 1; @starting-style { /* This might not work on Firefox because Firefox being behind moment */ opacity: 0; } } .flex-vcenter { display: flex; flex-direction: column; justify-content: center; width: 100%; height: 100%; }