:root {
  --bg: #000;
  --fg: #c8c8c8;
  --bright: #f2f2f2;
  --dim: #7a7a7a;
  --blue: #1793d1;
  --red: #e0443e;
  --green: #4fc04f;
  --yellow: #e5c07b;
  --sel: #1793d1;
  --font: "DejaVu Sans Mono", "Fira Mono", "Cascadia Mono", ui-monospace, Menlo, Consolas, monospace;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--fg); }
body {
  font: 15px/1.5 var(--font);
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
}
::selection { background: var(--sel); color: #000; }

.tty {
  max-width: 100ch;
  padding: 16px 16px 40vh;
  margin: 0 auto 0 0;
}
@media (min-width: 900px) { .tty { padding-left: 24px; } }

a { color: var(--blue); text-decoration: none; }
a:hover, a:focus-visible { background: var(--blue); color: #000; outline: none; }
b, strong { color: var(--bright); }
.hl { color: var(--bright); font-weight: bold; }
.dim { color: var(--dim); }
.ok { color: var(--green); }
.err { color: var(--red); }
.warn { color: var(--yellow); }
.blue { color: var(--blue); }

.line, .out { margin: 0; white-space: pre-wrap; word-break: break-word; font: inherit; }
.out { margin-bottom: 1em; }
.cmd { color: var(--bright); }

.ps1 { color: var(--fg); font-weight: bold; }
.ps1 .u { color: var(--red); }
.ps1 .d { color: var(--blue); }

/* Eingabezeile */
.prompt { display: flex; gap: 1ch; align-items: baseline; }
.prompt input {
  flex: 1; min-width: 0;
  background: transparent; border: 0; padding: 0; margin: 0;
  color: var(--bright); font: inherit; caret-color: var(--bright);
  outline: none;
}
@media (pointer: coarse) { .prompt input { font-size: 16px; } }

.cursor { display: inline-block; width: 1ch; background: var(--fg); animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { background: transparent; } }

/* Bootmenü (systemd-boot) */
.bootmenu { margin: 18vh auto 0; width: min(64ch, 100%); }
.bootmenu .entry { padding: 0 1ch; white-space: pre; overflow: hidden; text-overflow: ellipsis; }
.bootmenu .entry.sel { background: var(--fg); color: #000; }
.bootmenu .count { margin-top: 2em; text-align: center; }
.skip-hint { position: fixed; right: 16px; bottom: 12px; color: var(--dim); font-size: 13px; }

.boot .line { min-height: 1.5em; }
.st { font-weight: bold; }

/* Beiträge */
.post { max-width: 80ch; margin-bottom: 1.5em; }
.post h1, .post h2, .post h3 { color: var(--bright); font-size: 1em; margin: 1.6em 0 .6em; }
.post h1 { margin-top: .4em; color: var(--blue); }
.post h1::before { content: "# "; color: var(--dim); }
.post h2::before { content: "## "; color: var(--dim); }
.post h3::before { content: "### "; color: var(--dim); }
.post .meta { color: var(--dim); margin: 0 0 1.4em; }
.post p, .post ul, .post ol, .post blockquote { margin: 0 0 1em; }
.post ul, .post ol { padding-left: 3ch; }
.post li::marker { color: var(--blue); }
.post blockquote { border-left: 2px solid var(--blue); padding-left: 2ch; color: var(--dim); }
.post code { color: var(--yellow); font: inherit; }
.post pre {
  background: #111; border-left: 2px solid #333; padding: .8em 1.5ch;
  overflow-x: auto; margin: 0 0 1em; font: inherit;
}
.post pre code { color: var(--fg); }
.post img { max-width: 100%; height: auto; filter: grayscale(.2); }
.post hr { border: 0; border-top: 1px dashed #444; margin: 2em 0; }
.post table { border-collapse: collapse; margin: 0 0 1em; display: block; overflow-x: auto; }
.post th, .post td { border: 1px solid #333; padding: .2em 1ch; text-align: left; }

.fastfetch { display: flex; gap: 3ch; flex-wrap: wrap; }
.fastfetch .logo { color: var(--blue); margin: 0; font: inherit; line-height: 1.25; }
.fastfetch .info { margin: 0; font: inherit; white-space: pre-wrap; }
.fastfetch .k { color: var(--blue); font-weight: bold; }
.swatch { display: inline-block; width: 3ch; height: 1em; vertical-align: middle; }

@media (max-width: 560px) {
  body { font-size: 13px; }
  .fastfetch .logo { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .cursor { animation: none; }
}
