html, body, h1, h2 { margin: 0; padding: 0; } body { display: flex; min-height: 100vh; font-family: system-ui, sans-serif; } aside { display: flex; flex-direction: column; padding: 1em; gap: 1em; width: 300px; overflow: hidden; resize: horizontal; } aside h1 { display: flex; gap: 1rem; font-size: 1.5em; } aside h1 span { display: flex; } aside section { display: flex; flex-direction: column; gap: 4px; } aside section > div { display: flex; justify-content: space-between; gap: 4px; } aside button, aside label { min-width: 80px; } aside div label + label { text-align: right; } .grow { flex-grow: 1; min-width: 0; max-width: unset; } button.icon { border: none; background: none; appearance: none; font: inherit; min-width: 0; cursor: pointer; } button.icon svg { height: 0.5lh; } option.new { color: #00000080; } #plot { flex: 1 0 400px; user-select: none; }