* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; line-height: 1.7; max-width: 720px; margin: 0 auto; padding: 2rem 1.5rem; color: #2d2d2d; background: #fafafa; } /* Navigation */ header nav { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; border-bottom: 2px solid #222; margin-bottom: 2.5rem; } header nav .site-name { text-decoration: none; display: flex; align-items: center; } .site-logo { height: 28px; width: auto; } header nav .nav-links { display: flex; gap: 1.5rem; } header nav .nav-links a { text-decoration: none; color: #555; font-size: 0.95rem; } header nav .nav-links a:hover { color: #111; } /* Hero */ .hero { margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #e0e0e0; } .hero h1 { font-size: 2rem; letter-spacing: -1px; margin-bottom: 0.25rem; } .tagline { color: #666; font-size: 1.05rem; } /* Headings */ h1 { font-size: 1.75rem; margin-bottom: 1rem; letter-spacing: -0.5px; } h2 { font-size: 1.3rem; margin: 2rem 0 0.75rem; } h3 { font-size: 1.1rem; margin: 1.5rem 0 0.5rem; } /* Text */ p { margin-bottom: 1rem; } a { color: #0066cc; } a:hover { color: #004499; } /* Article cards */ .recent-posts h2 { margin-bottom: 1rem; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 1px; color: #888; font-weight: 600; } .article-card { padding: 1.25rem 0; border-bottom: 1px solid #eee; } .article-card h2 { margin: 0 0 0.25rem; font-size: 1.2rem; } .article-card a { text-decoration: none; color: #222; } .article-card a:hover { color: #0066cc; } .article-card .meta { color: #999; font-size: 0.85rem; margin-bottom: 0.25rem; } .article-card .tags { color: #888; font-size: 0.8rem; } /* Blog post */ .blog-post .post-header { margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; } .blog-post .post-header h1 { margin-bottom: 0.5rem; } .blog-post .post-content { margin-bottom: 2rem; } .blog-post .post-content p { margin-bottom: 1rem; } .blog-post .post-content ul, .blog-post .post-content ol { margin: 1rem 0; padding-left: 1.5rem; } .blog-post .post-content li { margin-bottom: 0.5rem; } .blog-post .post-footer { padding-top: 1.5rem; border-top: 1px solid #eee; } .blog-post .post-footer a { color: #555; text-decoration: none; font-size: 0.9rem; } .blog-post .post-footer a:hover { color: #111; } .meta { color: #888; font-size: 0.9rem; } /* About page */ .about-page h2 { margin-top: 2rem; } /* Contact links */ .contact-links { list-style: none; padding: 0; } .contact-links li { padding: 0.4rem 0; } .contact-links a { color: #0066cc; text-decoration: none; } .contact-links a:hover { text-decoration: underline; } /* Code */ code { background: #f0f0f0; padding: 0.15rem 0.4rem; border-radius: 3px; font-size: 0.9em; } pre { background: #f0f0f0; padding: 1rem; border-radius: 6px; overflow-x: auto; margin: 1rem 0; } pre code { background: none; padding: 0; } /* Footer */ footer { margin-top: 3rem; padding-top: 1rem; border-top: 2px solid #222; color: #999; font-size: 0.85rem; } footer a { color: #999; text-decoration: none; } footer a:hover { color: #555; }