.hterm { position: fixed; bottom: 0; left: 0; right: 0; z-index: 500; background: var(--t-bg); border-top: 1px solid var(--t-border); max-height: 45vh; display: flex; flex-direction: column; box-shadow: 0 -8px 32px rgba(0,0,0,0.4); transform: translateY(0); transition: transform 0.2s ease, opacity 0.2s ease; } .hterm.hidden { transform: translateY(100%); opacity: 0; pointer-events: none; } #hterm-output { flex: 1; overflow-y: auto; padding: 12px 16px; font-family: var(--t-font-content, 'JetBrains Mono', monospace); font-size: 12px; line-height: 1.7; scrollbar-width: thin; } .hterm-line { color: var(--t-text); white-space: pre-wrap; word-break: break-word; } .hterm-line.cmd { color: var(--t-bright); } .hterm-line.cmd::before { content: '> '; color: var(--t-accent); } .hterm-line.ok { color: var(--t-accent); } .hterm-line.err { color: var(--t-danger); } .hterm-line.dim { color: var(--t-dim); } .hterm-line.heading { color: var(--t-accent); font-family: var(--t-font-pixel, 'Silkscreen', cursive); font-size: 10px; margin-top: 8px; } .hterm-input-row { display: flex; align-items: center; gap: 8px; padding: 8px 16px; border-top: 1px solid var(--t-border); background: var(--t-surface); } .hterm-prompt { color: var(--t-accent); font-family: var(--t-font-pixel, 'Silkscreen', cursive); font-size: 11px; flex-shrink: 0; } #hterm-input { flex: 1; background: transparent; border: none; color: var(--t-bright); font-family: var(--t-font-content, 'JetBrains Mono', monospace); font-size: 12px; outline: none; } #hterm-input::placeholder { color: var(--t-dim); }