.modal { position: fixed; top: 10vh; left: 50%; transform: translateX(-50%); box-sizing: border-box; width: min(880px, 90vw); min-height: min(200px, 10vh); max-height: calc(90vh - 1rem); display: flex; flex-direction: column; background-color: $gray-1250; color: $ui-white; border-radius: $component-border-radius-md; box-shadow: $box-shadow-l1; border: 1px solid $gray-1100; outline: none; } .compact { min-width: 0; width: min(680px, 90vw); } .small { min-width: 0; width: min(480px, 90vw); } .wide { top: 4vh; width: min(1800px, 98vw); height: min(88vh, calc(96vh - 1rem)); min-height: 0; } .backdrop { position: fixed; inset: 0; background-color: $backdrop-color; transition: opacity 300ms cubic-bezier(0.45, 1.005, 0, 1.005); &[data-starting-style], &[data-ending-style] { opacity: 0; } } .title { padding-block: 1rem; padding-inline: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .titleText { min-width: 0; font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; } .body { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; min-height: 0; padding: 0.5rem 1rem; overflow-y: auto; scroll-padding-block: 0.5rem; } .wide .body { overflow: hidden; } .footer { padding-block: 1rem; padding-inline: 1rem; display: flex; align-items: center; justify-content: end; gap: 1rem; flex-wrap: wrap; }