html, body {
  font-family: Helvetica, Arial, sans-serif;
}

body {
  max-width: 70ch;
  margin: 0 auto;
  padding-inline: 1.25rem;
  line-height: 1.6;
  color: #111;
  background: #fff;
}

a { color: #0645ad; }
a:visited { color: #663399; }

nav {
  padding-block: 1rem;
  border-bottom: 1px solid #ccc;
}

nav a { margin-right: 1rem; }
nav a:first-child { font-weight: bold; }

main { padding-block: 2.5rem 6rem; }
.thread-head { margin-bottom: 2rem; }
.thread-head small { color: #555; }
.thread-head h1 { font-size: 2rem; line-height: 1.2; margin-block: .5rem; }
.thread-head p { color: #555; }

.post {
  margin-left: calc(var(--depth) * 1rem);
  padding: 0 0 2.5rem 1rem;
  border-left: 1px solid #ccc;
  scroll-margin-top: 1rem;
}

.post summary { cursor: pointer; padding-bottom: .75rem; }
.post summary::marker { color: #555; }
.post-title { display: block; font-size: 1.2rem; font-weight: bold; line-height: 1.3; margin-block: .3rem; }
.post-meta { display: block; font-size: .9rem; }
.post-meta > span { display: block; color: #555; }
.node { font-size: .75rem; }

.post pre {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: 15px/1.65 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 600px) {
  .post { margin-left: calc(var(--depth) * .35rem); padding-left: .75rem; }
  .post pre { font-size: 14px; }
}
