.u-scroll-lock { overflow: hidden; } .overlay { inset: 0; position: fixed; z-index: var(--z-modal); } .overlay-backdrop { align-items: center; backdrop-filter: var(--blur-heavy); display: flex; height: var(--percent-full); justify-content: center; padding: 0; width: var(--percent-full); } .overlay-dialog { background: var(--banes-lab-main); border: var(--border-s) solid var(--accent-subtle); border-radius: 0; display: flex; flex-direction: column; max-height: calc(var(--vh) * 100); max-width: var(--percent-full); opacity: 0; overflow: hidden; transform: scale(var(--scale-hidden)); width: var(--percent-full); } .overlay.open .overlay-dialog { animation: overlay-pop-in var(--transition-slow) var(--easing-spring) forwards; } .overlay.closing .overlay-dialog { animation: overlay-pop-out var(--transition-fast) ease-in forwards; } .overlay-header { align-items: center; background: var(--code-block); border-bottom: var(--border-s) solid var(--accent-subtle); display: flex; flex-shrink: 0; gap: var(--space-md); justify-content: space-between; padding: var(--space-sm) var(--space-md); } .overlay-title { color: var(--banes-lab-accent); font-family: var(--font-family-mono); font-size: var(--font-sm); font-weight: var(--font-weight-medium); } .overlay-close { align-items: center; background: transparent; border: none; border-radius: var(--radius-sm); color: var(--white-alpha-muted); cursor: pointer; display: flex; font-size: var(--font-lg); height: var(--touch-target-min); justify-content: center; transition: all var(--transition-fast) ease; width: var(--touch-target-min); } .overlay-close:hover { background: var(--overlay-subtle); color: var(--white); } .overlay-body { flex: 1; overflow: auto; } .overlay-body::-webkit-scrollbar { width: var(--space-xs); } .overlay-body::-webkit-scrollbar-track { background: var(--code-block); } .overlay-body::-webkit-scrollbar-thumb { background: var(--accent-subtle); border-radius: var(--radius-xs); } .overlay-body::-webkit-scrollbar-thumb:hover { background: var(--banes-lab-accent); } @media (width >= 48rem) { .overlay-backdrop { padding: var(--space-lg); } .overlay-dialog { border-radius: var(--radius-md); max-height: calc(var(--vh) * 90); max-width: var(--width-modal-lg); } }