:root {
  --bg: #0d1117;
  --fg: #c9d1d9;
  --bright: #f0f6fc;
  --green: #7ee787;
  --blue: #79c0ff;
  --grey: #8b949e;
  --dim: #484f58;
  --dimmer: #30363d;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { background: var(--bg); }

body {
  color: var(--fg);
  font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;
  font-size: 15px;
  line-height: 1.9;
  display: flex;
  justify-content: center;
  min-height: 100vh;
}

main {
  width: 100%;
  max-width: 40rem;
  padding: 14vh 1.5rem 4rem;
}

h1 {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--bright);
}

a { color: var(--blue); }
a:hover { color: var(--bright); }

.green { color: var(--green); }
.tagline { color: var(--dim); font-size: 0.75rem; }
.prompt { color: var(--green); }
.cmd { color: var(--fg); }
.comment { color: var(--grey); }
.dim { color: var(--dim); }
.dimmer { color: var(--dimmer); }

section { margin-top: 2.2rem; }
section + .prompt { margin-top: 2.4rem; }

footer {
  margin-top: 3.5rem;
  color: var(--dimmer);
  font-size: 0.7rem;
}

.cursor {
  display: inline-block;
  width: 0.6em;
  height: 1.15em;
  background: var(--green);
  vertical-align: text-bottom;
  animation: blink 1.2s steps(1) infinite;
}

@keyframes blink { 50% { opacity: 0; } }

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

@media (max-width: 480px) {
  body { font-size: 13.5px; }
  main { padding-top: 8vh; }
}
