/* Reset & Base */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Inter', sans-serif; background:#fff; color:#1a1a1a; line-height:1.6; padding:2rem 1.5rem; }
.container { max-width:720px; margin:0 auto; }

/* Progress bar */
#progress-bar { position:fixed; top:0; left:0; height:3px; background:#000; z-index:9999; width:0%; transition:width 0.1s; }

/* Header */
.site-header { padding:2rem 0 3rem; border-bottom:1px solid #eaeaea; margin-bottom:3rem; }
.site-title { font-size:1.75rem; font-weight:500; }
.site-title a { color:#1a1a1a; text-decoration:none; }
.blog-logo { height:2rem; vertical-align:middle; margin-right:0.5rem; }
.site-nav { margin-top:1rem; display:flex; gap:2rem; font-size:0.95rem; }
.site-nav a { color:#555; text-decoration:none; }
.site-nav a:hover { color:#000; }

/* Post list */
.post-list { list-style:none; display:flex; flex-direction:column; gap:2.5rem; }
.post-item { border-bottom:1px solid #f0f0f0; padding-bottom:2.5rem; }
.post-meta { font-size:0.85rem; color:#888; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:0.4rem; }
.post-title { font-size:1.6rem; font-weight:500; letter-spacing:-0.01em; line-height:1.3; margin-bottom:0.5rem; }
.post-title a { color:#1a1a1a; text-decoration:none; }
.post-title a:hover { text-decoration:underline; text-underline-offset:3px; }
.post-excerpt { color:#444; font-weight:300; line-height:1.7; }
.read-more { display:inline-block; margin-top:0.6rem; font-weight:500; color:#1a1a1a; text-decoration:none; border-bottom:1.5px solid #ccc; padding-bottom:2px; }
.read-more:hover { border-bottom-color:#000; }

/* Single post */
.single-post .post-title { font-size:2.2rem; margin-bottom:0.75rem; }
.single-post .post-content { font-size:1.05rem; font-weight:300; line-height:1.8; color:#222; }
.single-post .post-content p { margin-bottom:1.25rem; }
.single-post .post-content h2 { font-weight:500; font-size:1.4rem; margin:2rem 0 0.75rem; }
.single-post .post-content blockquote { border-left:3px solid #ccc; padding-left:1.25rem; margin:1.5rem 0; color:#555; font-style:italic; }

/* Author box */
.author-box { display:flex; gap:1rem; margin:2rem 0; padding:1.5rem; background:#f9f9f9; border-radius:4px; }
.author-image { width:60px; height:60px; border-radius:50%; object-fit:cover; }

/* Related posts */
.related-posts { margin:2rem 0; }
.related-posts ul { list-style:disc; padding-left:1.5rem; }

/* Footer */
.site-footer { margin-top:4rem; padding-top:2rem; border-top:1px solid #eaeaea; font-size:0.85rem; color:#999; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; }
.footer-menu { display:flex; gap:1.5rem; }
.footer-menu a { color:#555; text-decoration:none; }
.footer-menu a:hover { color:#000; }

/* Responsive */
@media (max-width:500px) {
    body { padding:1.25rem 1rem; }
    .site-header { padding:1.25rem 0 2rem; margin-bottom:2rem; }
    .site-title { font-size:1.5rem; }
    .site-nav { gap:1.25rem; flex-wrap:wrap; }
    .post-title { font-size:1.3rem; }
    .single-post .post-title { font-size:1.7rem; }
    .site-footer { flex-direction:column; align-items:center; text-align:center; }
    .footer-menu { flex-wrap:wrap; justify-content:center; }
}