/* Footer divider: dashed instead of dotted, dark gray */
footer {
  border-top: 2.8px dashed #222 !important;
}
/* Lighter divider in dark mode */
@media (prefers-color-scheme: dark) {
  footer { border-top-color: #aaa; }
}

/* Use monospace for section labels and the intro line */
.section-label,
.site-description p {
  font-family: var(--font-mono, "SF Mono", Menlo, monospace);
}

/* Section label: gray, small, comment-style */
.section-label {
  color: #999;
  font-size: 1.2em;
  margin: 2.5em 0 0;
}
/* Prefix with "//" to look like a code comment */
.section-label::before { content: "// "; }

/* Tighten gap between label and first item */
.section-label + .list-item .title { margin-top: 0.6em; }

/* Less space above the first label after the intro */
.site-description + .section-label { margin-top: 2em; }


/* 404 page: center content vertically and horizontally */
.not-found {
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
/* Remove list-item default margin on 404 */
.not-found .list-item { margin: 0; }

/* Large 404 heading */
.not-found .title {
  font-size: 3em;
  margin-bottom: 0.3em;
}

/* Description text: monospace, gray */
.not-found p {
  font-family: var(--font-mono, "SF Mono", Menlo, monospace);
  color: #666;
}

/* One link per line, shrink to content width, centered */
.not-found .readmore {
  display: block;
  width: fit-content;
  margin: 0.3em auto;
}

/* Hang "#" and "//" outside so the text itself is centered */
.not-found .title,
.not-found .section-label {
  position: relative;
  display: inline-block;
}
.not-found .title::before,
.not-found .section-label::before {
  position: absolute;
  right: 100%;
  margin-right: 0.35em;
}
