@keyframes modal-fade { from { opacity: 0; } to { opacity: 1; } } .overlay { align-items: center; background: rgba(0, 0, 0, 0.5); display: flex; height: var(--visual-viewport-height); justify-content: center; left: 0; position: fixed; top: 0; width: 100vw; z-index: 100; &[data-entering] { animation: modal-fade 200ms; } &[data-exiting] { animation: modal-fade 150ms reverse ease-in; } } .dialog { outline: none; } .modal { background-color: var(--Base-Surface-Primary-light-Normal); border-radius: var(--Corner-Radius-md); box-shadow: var(--modal-box-shadow); display: flex; flex-direction: column; gap: var(--Space-x3); max-width: 560px; padding: var(--Space-x5) var(--Space-x4); } .header { display: flex; flex-direction: column; gap: var(--Space-x2); align-items: center; } .footer { display: flex; flex-direction: column-reverse; gap: var(--Space-x1); } @media screen and (min-width: 768px) { .footer { align-items: center; flex-direction: row; gap: var(--Space-x2); & > button { flex: 1; } } }