:root { --ink:#2b2b2b; --muted:#777; --link:#3a6ea5; --rule:#e6e6e6; --bg:#fdfdfc; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
  font:18px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Georgia, serif;
  -webkit-font-smoothing:antialiased; }
.container { max-width:720px; margin:0 auto; padding:0 20px; }
a { color:var(--link); text-decoration:none; }
a:hover { text-decoration:underline; }

.site-header { border-bottom:1px solid var(--rule); padding:32px 0 24px; margin-bottom:40px; text-align:center; }
.site-title { font-size:26px; font-weight:700; color:var(--ink); }
.site-tagline { color:var(--muted); font-size:15px; margin:6px 0 0; font-style:italic; }

.post-title, .list-title { font-size:32px; line-height:1.2; margin:0 0 8px; }
.post-date { color:var(--muted); font-size:15px; }
.post-content { margin-top:28px; }
.post-content h2, .post-content h3 { line-height:1.25; margin-top:1.6em; }
.post-content img { max-width:100%; height:auto; }
.post-content figure { margin:1.5em 0; text-align:center; }
.post-content figcaption { color:var(--muted); font-size:14px; margin-top:6px; }
.post-content blockquote { border-left:3px solid var(--rule); margin:1.5em 0; padding-left:1em; color:#555; }
.post-content pre { background:#f4f4f2; padding:14px; overflow:auto; border-radius:4px; font-size:15px; }
.post-meta { color:var(--muted); font-size:14px; margin:4px 0 0; }

.post-list { list-style:none; padding:0; }
.post-list-item { display:flex; justify-content:space-between; align-items:baseline;
  gap:16px; padding:12px 0; border-bottom:1px solid var(--rule); }
.post-list-item a { font-size:19px; }
.post-list-date { color:var(--muted); font-size:14px; white-space:nowrap; }

/* Homepage cards */
.post-cards { display:flex; flex-direction:column; gap:36px; }
.post-card { border:1px solid var(--rule); border-radius:12px; overflow:hidden;
  background:#fff; transition:box-shadow .18s ease; }
.post-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.08); }
.post-card__cover-link { display:block; }
.post-card__cover { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.post-card__body { padding:20px 24px 24px; }
.post-card__title { font-size:24px; line-height:1.25; margin:0 0 8px; }
.post-card__title a { color:var(--ink); }
.post-card__title a:hover { color:var(--link); text-decoration:none; }
.post-card__date { color:var(--muted); font-size:14px; }
.post-card__excerpt { margin:14px 0 0; color:#4a4a4a; font-size:16px; line-height:1.55; }
.post-card__more { display:inline-block; margin-top:14px; font-size:15px; font-weight:600; }

/* Single-post cover */
.post-cover { display:block; width:100%; max-height:460px; object-fit:cover;
  border-radius:12px; margin-bottom:28px; }

.comments { margin-top:56px; padding-top:24px; border-top:1px solid var(--rule); }
.site-footer { border-top:1px solid var(--rule); margin-top:64px; padding:24px 0;
  text-align:center; color:var(--muted); font-size:14px; }

/* Page navigation (1, 2, 3 …) */
.pagination { list-style:none; display:flex; flex-wrap:wrap; justify-content:center;
  gap:8px; padding:0; margin:48px 0 0; }
.pagination li { display:inline-block; }
.pagination .page-link { display:inline-block; min-width:38px; text-align:center;
  padding:7px 11px; border:1px solid var(--rule); border-radius:6px; color:var(--link);
  font-size:15px; line-height:1; }
.pagination .page-link:hover { background:#f4f4f2; text-decoration:none; }
.pagination .page-item.active .page-link { background:var(--link); border-color:var(--link);
  color:#fff; font-weight:600; }
.pagination .page-item.disabled .page-link { color:var(--muted); opacity:.45;
  pointer-events:none; }
