.terminal {
  max-width: 860px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 4rem;
  min-height: 100vh;
}

.banner {
  color: var(--accent);
  white-space: pre;
  overflow-x: auto;
  overflow-y: hidden;     /* overflow-x:auto makes overflow-y compute as auto;
                             pin it to hidden so the wide ASCII can't spawn a
                             spurious vertical scrollbar */
  scrollbar-width: none;  /* hide the horizontal bar (Firefox) */
  margin: 0 0 0.5rem;
  line-height: 1.1;
}

.banner::-webkit-scrollbar { display: none; }  /* hide the horizontal bar (WebKit) */

.banner .tagline {
  display: block;
  color: var(--text-dim);
  white-space: normal;
  margin-top: 0.75rem;
  font-size: 0.95rem;
}

.hint {
  color: var(--text-dim);
  margin-bottom: 1.5rem;
}

.line {
  white-space: pre-wrap;
  word-break: break-word;
}

.line-echo .prompt { color: var(--accent); }
.line-error { color: var(--error); }
.muted { color: var(--text-dim); }

.prompt {
  color: var(--accent);
  user-select: none;
}

.input-line {
  display: flex;
  align-items: baseline;
}

.input-line .prompt { margin-right: 0.5ch; }

.cmd-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--text);
  font: inherit;
  padding: 0;
  caret-color: var(--accent);
}
