@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; } } .modal { background-color: var(--Base-Surface-Primary-light-Normal); border-radius: var(--Corner-radius-Medium); box-shadow: 0px 4px 24px 0px rgba(38, 32, 30, 0.08); display: flex; flex-direction: column; gap: var(--Spacing-x3); max-width: 560px; padding: var(--Spacing-x5) var(--Spacing-x4); } .header { display: flex; flex-direction: column; gap: var(--Spacing-x2); } .footer { display: flex; flex-direction: column-reverse; gap: var(--Spacing-x1); } @media screen and (min-width: 768px) { .footer { align-items: center; flex-direction: row; gap: var(--Spacing-x2); & > button { flex: 1; } } }