:root {
  color-scheme: dark;
  --background: #000000;
  --foreground: #00ff00;
  font-family: "Andale Mono", "Lucida Console", "Courier New", monospace;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--foreground);
  background: var(--background);
  font-synthesis: none;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; }
::selection { color: var(--background); background: var(--foreground); }
.page { min-height: 100svh; padding: 6px; }
.masthead { display: flex; align-items: flex-start; justify-content: flex-end; margin-bottom: 16px; }
.site-name { padding-top: 2px; white-space: nowrap; }
.terminal, .history { min-width: 0; }
.entry { margin: 0; }
.command-line { display: flex; align-items: flex-start; gap: 1ch; margin: 0; }
.prompt { white-space: nowrap; flex-shrink: 0; }
.prompt-symbol { margin-left: 1ch; }
.command-text { white-space: pre-wrap; overflow-wrap: anywhere; min-width: 0; }
.boot-input { display: flex; align-items: baseline; }
.cursor { display: inline-block; width: 1ch; height: 1.2em; }
.cursor::before { content: "_"; }
.directory-list { display: flex; flex-wrap: wrap; gap: 0 2ch; list-style: none; margin: 0; padding: 0; }
.text-output { margin: 0; font: inherit; white-space: pre-wrap; overflow-wrap: anywhere; }
.input-wrap { position: relative; flex: 1; min-width: 0; }
.command-input {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  color: inherit;
  background: transparent;
  font: inherit;
  line-height: inherit;
  caret-color: var(--foreground);
}
.command-input:placeholder-shown { caret-color: transparent; }
.input-cursor { position: absolute; top: 0; left: 0; opacity: 0.65; pointer-events: none; }
.command-input:focus + .input-cursor { opacity: 1; animation: cursor-blink 1s step-end infinite; }
.command-input:not(:placeholder-shown) + .input-cursor { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@keyframes cursor-blink { 0%, 49.99% { opacity: 1; } 50%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; } }
