:root { color-scheme: dark; --bg: #05070a; --panel: #0b1118; --fg: #c8f5d8; --accent: #4ad987; --muted: #5b6b7a; --error: #ff6b6b; font-family: "JetBrains Mono", "Fira Code", "Menlo", monospace; } * { box-sizing: border-box; } html, body, #root { height: 100%; margin: 0; background: var(--bg); color: var(--fg); } .terminal { display: flex; flex-direction: column; height: 100vh; padding: 16px; gap: 12px; } .terminal-header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #122; padding-bottom: 8px; } .terminal-title { font-weight: 700; letter-spacing: 0.1em; color: var(--accent); } .terminal-controls { display: flex; gap: 8px; align-items: center; } .terminal-controls select, .terminal-controls input, .terminal-controls button { background: var(--panel); color: var(--fg); border: 1px solid #1c2a35; padding: 6px 10px; font: inherit; border-radius: 4px; } .terminal-controls button { cursor: pointer; } .terminal-controls button:hover { border-color: var(--accent); } .terminal-output { flex: 1; overflow-y: auto; background: var(--panel); border: 1px solid #122; border-radius: 4px; padding: 12px; white-space: pre-wrap; font-size: 13px; line-height: 1.5; } .terminal-line { margin-bottom: 8px; } .terminal-line.user { color: var(--accent); } .terminal-line.error { color: var(--error); } .terminal-line.muted { color: var(--muted); } .terminal-input { display: flex; gap: 8px; } .terminal-input span { color: var(--accent); align-self: center; } .terminal-input input { flex: 1; background: var(--panel); color: var(--fg); border: 1px solid #1c2a35; padding: 8px 10px; font: inherit; border-radius: 4px; } .terminal-input input:focus { outline: none; border-color: var(--accent); }