/*
 * Command Prompt — terminal styling.
 *
 * Faithful to the legacy cmdprmt.php <head> CSS (lines 12-47): black background
 * (#000), silver foreground (#C0C0C0), monospace, underlined silver links. The
 * 16 colour classes below match the cmd.exe palette in color.js (indices 0-15,
 * the same order as the legacy `color` array at cmdprmt.php:504).
 *
 * No inline styles anywhere — colour/background are applied by toggling the
 * `cmd-fg-NN` / `cmd-bg-NN` classes on #terminal (see color.js / builtins.js).
 */

:root {
  /* cmd.exe 16-colour palette — index order matches color.js codes 0..F. */
  --cmd-0: #000000; /* 0 Black        */
  --cmd-1: #000080; /* 1 Darkblue     */
  --cmd-2: #008000; /* 2 Green        */
  --cmd-3: #008080; /* 3 Lightseagreen*/
  --cmd-4: #800000; /* 4 Darkred      */
  --cmd-5: #800080; /* 5 Purple       */
  --cmd-6: #808000; /* 6 Darkkhaki    */
  --cmd-7: #c0c0c0; /* 7 Silver       */
  --cmd-8: #808080; /* 8 Gray         */
  --cmd-9: #0000ff; /* 9 Blue         */
  --cmd-a: #00ff00; /* A Lime         */
  --cmd-b: #00ffff; /* B Aqua         */
  --cmd-c: #ff0000; /* C Red          */
  --cmd-d: #ff00ff; /* D Fuchsia      */
  --cmd-e: #ffff00; /* E Yellow       */
  --cmd-f: #ffffff; /* F White        */
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background-color: #000000;
}

body {
  font-family: Monaco, Consolas, "Courier New", monospace;
  font-size: 16px;
  color: #c0c0c0;
  overflow-x: hidden;
}

/* Full-screen console surface. Default fg/bg = silver-on-black (color 07). */
#terminal {
  box-sizing: border-box;
  min-height: 100vh;
  width: 100%;
  margin: 0;
  padding: 4px 6px;
  color: #c0c0c0;
  background-color: #000000;
  border: 0 solid #000000;
  font-family: Monaco, Consolas, "Courier New", monospace;
  font-size: 16px;
  line-height: 1.2;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-x: hidden;
  overflow-y: auto;
  outline: none; /* tabindex focus ring suppressed — cmd has no focus outline */
}

/* One emitted output line. Preserves runs of spaces for DIR column alignment. */
#terminal .cmd-line {
  white-space: pre-wrap;
  margin: 0;
}

/* The active input line: prompt + caret-bearing input share the cmd look. */
#terminal .cmd-input-line {
  display: flex;
  white-space: pre;
}

#terminal .cmd-prompt {
  white-space: pre;
}

#terminal .cmd-input {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  outline: none;
  caret-color: currentColor;
}

/* Links — legacy style: underlined, bold, silver; white on hover. */
#terminal a:link,
#terminal a:visited {
  color: #c0c0c0;
  text-decoration: underline;
  font-weight: bold;
}

#terminal a:visited {
  text-decoration: none;
}

#terminal a:hover {
  color: #ffffff;
  text-decoration: underline;
  font-weight: bold;
}

#terminal a img {
  border-width: 3px;
}

/* Inline EDIT / NET SEND composer. */
#terminal .term-editor {
  display: block;
  margin: 1em 0;
  max-width: 960px;
  white-space: normal;
}

#terminal .term-editor-title,
#terminal .term-editor-meta {
  margin-bottom: 0.5em;
  white-space: pre-wrap;
}

#terminal .term-editor label {
  display: block;
  margin: 0.5em 0;
}

#terminal .term-editor input,
#terminal .term-editor textarea,
#terminal .term-editor button {
  font: inherit;
  color: inherit;
  background: #000000;
  border: 1px solid currentColor;
}

#terminal .term-editor input,
#terminal .term-editor textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin-top: 0.25em;
  padding: 2px 4px;
}

#terminal .term-editor textarea {
  min-height: 14em;
  resize: vertical;
}

#terminal .term-editor-actions {
  display: flex;
  gap: 0.75em;
  margin-top: 0.5em;
}

#terminal .term-editor button {
  padding: 2px 0.75em;
  cursor: pointer;
}

#terminal .term-editor button:disabled,
#terminal .term-editor input:disabled,
#terminal .term-editor textarea:disabled {
  opacity: 0.75;
}

/* ---- 16 foreground colour classes (cmd.exe codes 0..F) ---- */
.cmd-fg-0  { color: var(--cmd-0); }
.cmd-fg-1  { color: var(--cmd-1); }
.cmd-fg-2  { color: var(--cmd-2); }
.cmd-fg-3  { color: var(--cmd-3); }
.cmd-fg-4  { color: var(--cmd-4); }
.cmd-fg-5  { color: var(--cmd-5); }
.cmd-fg-6  { color: var(--cmd-6); }
.cmd-fg-7  { color: var(--cmd-7); }
.cmd-fg-8  { color: var(--cmd-8); }
.cmd-fg-9  { color: var(--cmd-9); }
.cmd-fg-a  { color: var(--cmd-a); }
.cmd-fg-b  { color: var(--cmd-b); }
.cmd-fg-c  { color: var(--cmd-c); }
.cmd-fg-d  { color: var(--cmd-d); }
.cmd-fg-e  { color: var(--cmd-e); }
.cmd-fg-f  { color: var(--cmd-f); }

/* ---- 16 background colour classes (cmd.exe codes 0..F) ---- */
.cmd-bg-0  { background-color: var(--cmd-0); }
.cmd-bg-1  { background-color: var(--cmd-1); }
.cmd-bg-2  { background-color: var(--cmd-2); }
.cmd-bg-3  { background-color: var(--cmd-3); }
.cmd-bg-4  { background-color: var(--cmd-4); }
.cmd-bg-5  { background-color: var(--cmd-5); }
.cmd-bg-6  { background-color: var(--cmd-6); }
.cmd-bg-7  { background-color: var(--cmd-7); }
.cmd-bg-8  { background-color: var(--cmd-8); }
.cmd-bg-9  { background-color: var(--cmd-9); }
.cmd-bg-a  { background-color: var(--cmd-a); }
.cmd-bg-b  { background-color: var(--cmd-b); }
.cmd-bg-c  { background-color: var(--cmd-c); }
.cmd-bg-d  { background-color: var(--cmd-d); }
.cmd-bg-e  { background-color: var(--cmd-e); }
.cmd-bg-f  { background-color: var(--cmd-f); }

/* Small screens: shrink the glyph so 80 columns still roughly fit. */
@media (max-width: 640px) {
  body,
  #terminal {
    font-size: 13px;
  }
}
