@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;600&family=Pixelify+Sans&display=swap";

:root {
  --bg: #050505;
  --ink: #ffffff;
  --cyan: #70fdff;
  --lilac: #b6aaee;
  --pink: #ffade2;
  --ink-on-pink: #0c0623;
  --bar: #ffffff;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  height: 100%;
  background: var(--bg);
  color: var(--ink);
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 16px;
  font-weight: 300;
}

body { padding: 16px; }

main {
  height: 100%;
  border: 2px solid var(--bar);
  border-radius: 2px;
  overflow: auto;
  scrollbar-width: none;
}

main::-webkit-scrollbar { display: none; }

#bars {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--bg);
  font-family: "Pixelify Sans", sans-serif;
  font-size: 20px;
}

#bar-1 {
  height: 36px;
  line-height: 36px;
  padding-left: 10px;
  background: var(--bar);
  color: var(--bg);
}

#bar-2, #bar-3, #bar-4, #bar-5 { background: var(--bar); }
#bar-2 { height: 4px; margin-top: 1px; }
#bar-3 { height: 3px; margin-top: 2px; }
#bar-4 { height: 2px; margin-top: 3px; }
#bar-5 { height: 1px; margin-top: 4px; }

#terminal, #input-line, .article { margin: 8px 20px 0; }

p, .line { margin: 0; line-height: 22px; }

pre {
  margin: 0;
  line-height: 18px;
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 13px;
  white-space: pre;
}

pre.banner {
  margin: 10px 0 2px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

pre.banner .mark { color: var(--cyan); }

.prompt, .user, .host { color: var(--cyan); }

.command {
  color: var(--lilac);
  text-shadow: 0 0 7px #fff;
}

.keys { color: #ff9951; }

a { color: var(--lilac); text-decoration: none; }
a:hover { background: var(--pink); color: var(--ink-on-pink); }

input {
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--lilac);
  caret-color: var(--cyan);
  font: inherit;
  width: min(70vw, 640px);
}

.article { max-width: 820px; padding-bottom: 48px; }
.article h1 { font-size: 28px; font-weight: 400; line-height: 1.3; margin: 18px 0 8px; }
.article .meta { color: var(--cyan); margin-bottom: 18px; }
.article p { margin: 0 0 14px; line-height: 1.7; white-space: normal; }
.article ul { margin: 0 0 14px; padding-left: 18px; }
.article li { line-height: 1.7; margin: 4px 0; }

@media (max-width: 700px) {
  body { padding: 6px; font-size: 13px; }
  pre.banner { font-size: 13px; line-height: 1; }
  #terminal, #input-line, .article { margin-left: 10px; margin-right: 10px; }
  #bar-1 { font-size: 16px; }
}
