:root {
  --bg: #0d1117;
  --fg: #c9d1d9;
  --green: #3fb950;
  --amber: #d29922;
  --dim: #8b949e;
  --border: #30363d;
}
* { box-sizing: border-box; }
body {
  background: var(--bg);
  color: var(--fg);
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, "SF Mono",
    Menlo, monospace;
  font-size: 15px;
  line-height: 1.6;
  max-width: 80ch;
  margin: 0 auto;
  padding: 1.5rem 1rem 4rem;
}
.banner { color: var(--green); font-size: 12px; line-height: 1.2;
  overflow-x: auto; }
.prompt { color: var(--green); font-weight: bold; }
nav a, footer a { margin-right: 1.5ch; }
a { color: var(--amber); text-decoration: none; }
a:hover { text-decoration: underline; background: var(--amber);
  color: var(--bg); }
h1, h2, h3 { color: var(--green); font-size: 1.1em; margin-top: 2em; }
h1 { font-size: 1.25em; }
.date { color: var(--dim); margin-right: 2ch; }
.post-list { list-style: none; padding: 0; }
.post-list li { padding: 0.2em 0; }
img { max-width: 100%; border: 1px solid var(--border); }
pre, code { background: #161b22; }
pre { padding: 1em; overflow-x: auto; border: 1px solid var(--border); }
code { padding: 0.1em 0.4ch; }
pre code { padding: 0; }
blockquote { border-left: 3px solid var(--green); margin-left: 0;
  padding-left: 1.5ch; color: var(--dim); }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid var(--border); padding: 0.3em 1ch;
  text-align: left; }
hr { border: 0; border-top: 1px dashed var(--border); }
footer { margin-top: 4rem; color: var(--dim); font-size: 0.85em; }
.hero { display: block; width: 100%; margin: 1.5rem 0; }
