:root {
  --bg: #ffffff;
  --ink: #1f1f1f;
  --muted: #6b6b6b;
  --line: #c4c4c4;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { background: var(--bg); color: var(--ink); font: 17px/1.6 Georgia, "Times New Roman", serif; }

/* Mountain lines, fixed behind everything on every page */
.mountains { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.mountains polyline { fill: none; stroke: var(--line); stroke-width: 1.2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }

main { max-width: 640px; margin: 0 auto; padding: 56px 16px; }

.site-header { text-align: center; }
.site-title { margin: 0 0 8px; font-size: 2rem; font-weight: normal; }
.site-title.small { display: inline-block; font-size: 1.3rem; color: var(--ink); text-decoration: none; }
.bio { margin: 0; color: var(--muted); }

nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; margin-top: 20px; }
nav a { color: var(--ink); text-decoration: none; border-bottom: 1px solid transparent; }
nav a:hover, nav a.active { border-bottom-color: var(--ink); }

/* Pages and posts */
.content { margin-top: 56px; }
.content h2 { font-size: 1.6rem; font-weight: normal; line-height: 1.3; margin: 0 0 8px; }
.content a { color: var(--ink); }
.content img { max-width: 100%; }
.meta { color: var(--muted); font-size: .9rem; margin: 0 0 24px; }

.post-list { list-style: none; padding: 0; margin: 24px 0 0; }
.post-list li { margin-bottom: 18px; }
.post-list a { font-size: 1.1rem; text-decoration: none; }
.post-list a:hover { text-decoration: underline; }
.post-list .meta { margin: 2px 0 0; }
