:root { --red: #cb0b0b; --blue: #2081c3; --large: 2em; --medium: 1em; } html, body { background: linear-gradient(300deg, var(--red), var(--blue)); background-size: 100vw 100vh; margin: 0; min-height: 100vh; height: 100vh; font-family: sans-serif; } dialog { background-color: white; border: 0; border-radius: var(--large); 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; } } header { display: flex; justify-content: space-between; } abbr[title] { text-decoration-color: var(--blue); } .flex-vcenter { display: flex; flex-direction: column; justify-content: center; width: 100%; height: 100%; } .flex-row { display: flex; flex-direction: row; } .half-width { min-width: 50%; } .half-height { min-height: 50%; } .separator-bottom { border-bottom: solid 1px #0008; } .margin-auto-top { margin-top: auto; } .margin-large-bottom { margin-bottom: var(--large); }