.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; } } .drawer { box-sizing: border-box; position: fixed; top: 0; right: 0; bottom: 0; width: 40rem; max-width: 100vw; height: 100vh; height: 100dvh; display: flex; flex-direction: column; background-color: $ui-black; color: $ui-white; border-left: 1px solid $gray-1100; box-shadow: $box-shadow-l1; &[data-open] { transform: translateX(0%); transition: transform 300ms cubic-bezier(0.45, 1.005, 0, 1.005); } &[data-starting-style], &[data-ending-style] { transform: translateX(100%); transition: transform 500ms cubic-bezier(0.45, 1.005, 0, 1.005); } // take the whole screen in mobile devices @media (max-width: $min-tablet) { width: 100vw; } } .header { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4rem; padding: 0.75rem 1rem; } .headerText { display: flex; flex-direction: column; min-width: 0; } .title { font-weight: 600; font-size: 1.25rem; line-height: 1.2; } .target { font-size: $aux-text-size; color: $gray-600; } .body { flex: 1; padding: 1rem; overflow-y: auto; } .footer { flex: 0 0 auto; display: flex; padding: 0.75rem 1rem; gap: 1rem; align-items: center; justify-content: flex-end; background-color: $ui-black; border-top: 1px solid $white-10; } .sectionList { display: flex; flex-direction: column; gap: 0.75rem; } .info { margin-bottom: 1rem; }