html, body { width: 100vw; height: 100vh; } #split-pane { display: flex; flex-direction: row; width: 100vw; height: 100vh; overflow: hidden; } #left-pane { display: flex; min-width: fit-content; max-width: 20vw; height: calc(100vh); background: var(--background-secondary); border-right: 5px solid var(--background-highlight); justify-content: flex-end; position: sticky; top: 0; overflow-y: auto; flex-shrink: 0; } #right-pane { display: flex; margin: 0 auto; flex: 1; overflow: auto; } #main { order: 2; max-width: 900px; flex: 1; padding: 0 20px; box-sizing: border-box; width: 100%; } @media (min-width: 1200px) { #main { padding: 0 50px; } }