html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

.post-content > * { margin-top: 1rem; margin-bottom: 1rem; }
.post-content h1 { font-size: 2rem; line-height: 2.4rem; font-weight: 800; }
.post-content h2 { font-size: 1.6rem; line-height: 2rem; font-weight: 800; }
.post-content h3 { font-size: 1.3rem; line-height: 1.8rem; font-weight: 700; }
.post-content p { line-height: 1.85; }
.post-content a { text-decoration: none; text-underline-offset: 3px; }
.post-content ul { list-style: disc; padding-left: 1.5rem; }
.post-content ol { list-style: decimal; padding-left: 1.5rem; }
.post-content blockquote { border-left: 4px solid #e5e7eb; padding-left: 1rem; color: #4b5563; font-style: italic; }
.post-content img { border-radius: 1rem; max-width: 100%; height: auto; }
.post-content pre { overflow-x: auto; border-radius: 1rem; padding: 1rem; background: #111827; color: #f9fafb; }
.post-content code { background: #f3f4f6; padding: 0.15rem 0.35rem; border-radius: 0.35rem; }
.post-content pre code { background: transparent; padding: 0; }

.menu-item a { display: inline-block; padding: 0.5rem 0.75rem; border-radius: 9999px; }
.menu-item a:hover { background: #f3f4f6; }
.current-menu-item a { background: #111827; color: white; }
