:root { color-scheme:dark; --bg:#151918; --ink:#dedfd8; --sage:#91a68f; --dim:#9ba59a; }
* { box-sizing:border-box; }
html { min-width:0; background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--ink); font:14px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; }
#terminal { min-height:100dvh; padding:clamp(16px, 3vw, 38px); overflow-wrap:anywhere; }
#transcript { white-space:pre-wrap; }
.line { margin:0; max-width:100%; }
.line + .line { margin-top:2px; }
.muted { color:var(--dim); }
.ascii-art { white-space:pre; overflow-wrap:normal; overflow-x:auto; color:var(--sage); }
.banner { font-size:clamp(10px, 2.8vw, 14px); line-height:1.15; padding:2px 0 10px; }
.line.file-heading { font-size:clamp(10px, 2.8vw, 14px); margin-top:12px; margin-bottom:5px; }
.line.directory-tree { margin-top:12px; margin-bottom:10px; }
.command-prefix, #prompt { color:var(--sage); }
.command-prefix { white-space:pre; }
#command-form { display:flex; align-items:baseline; gap:1ch; min-width:0; margin:0; }
#prompt { white-space:nowrap; flex:none; }
#command-input { flex:1; min-width:0; width:100%; border:0; border-radius:0; outline:0; padding:0; background:transparent; color:var(--ink); font:inherit; font-size:16px; line-height:1.55; caret-color:var(--ink); }
#command-input:focus-visible { outline:0; }
#command-input[readonly] { opacity:.75; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
::selection { background:#536b56; color:#fff; }
@media (max-width:480px) { body { font-size:13px; } #terminal { padding:16px 12px; } #prompt { font-size:13px; } }
