/* the terminal fills the view, in berry's colors, one grid cell per character */ .terminal-view { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; height: 100%; } .terminal-screen { position: relative; overflow: hidden; margin: 8px 12px; font-family: var(--mono); font-size: var(--text-ui); line-height: 18px; font-variant-ligatures: none; outline: none; cursor: text; } /* the cells are a grid of their own, which their rows and runs inherit as a terminal's lines do */ .terminal-screen * { line-height: inherit; } /* a shell that has exited leaves its last screen, dimmed */ .terminal-screen { transition: opacity 0.3s; } .terminal-view.exited .terminal-screen { opacity: 0.45; } .terminal-grid, .terminal-rows { position: absolute; top: 0; left: 0; } .terminal-grid { pointer-events: none; user-select: none; } .terminal-rows { width: 100%; } .terminal-rows > div { position: relative; width: 100%; white-space: pre; overflow: hidden; } /* a wide character takes two cells, whatever width its font gives it */ .terminal-run, .terminal-glyph { display: inline-block; vertical-align: top; height: 100%; } .terminal-probe { position: absolute; visibility: hidden; white-space: pre; } /* typed into, but never seen: the screen is what shows */ .terminal-input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; resize: none; } .terminal-status { display: flex; align-items: center; gap: 16px; padding: 8px 12px; background: var(--panel); border-top: 1px solid var(--line); font-size: var(--text-ui); color: var(--muted); } .terminal-status-text { margin: 0; }