.article-body{max-width:720px; margin:0 auto; font-size:17px; line-height:1.8; color:var(--text-1);}
.article-body h2{font-size:26px; margin-top:44px; margin-bottom:16px;}
.article-body h3{font-size:20px; margin-top:32px; margin-bottom:12px;}
.article-body p{color:var(--text-1); margin-bottom:18px;}
.article-body ul, .article-body ol{color:var(--text-1); padding-left:22px; margin-bottom:18px;}
.article-body li{margin-bottom:8px;}
.article-body blockquote{
  border-left:3px solid var(--aurora-2); padding:4px 0 4px 20px; margin:24px 0;
  font-style:italic; color:var(--text-2);
}
.toc{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:22px 24px; margin:32px auto; max-width:720px;
}
.toc h4{font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-3); margin-bottom:12px;}
.toc a{display:block; font-size:14.5px; padding:5px 0; color:var(--text-2);}
.toc a:hover{color:var(--aurora-2);}
.post-meta{display:flex; gap:14px; align-items:center; color:var(--text-3); font-size:13.5px; flex-wrap:wrap;}
.post-card{
  border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; background:var(--surface);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.post-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lift);}
.post-card .cover{aspect-ratio:16/9; background:var(--aurora-soft);}
.post-card .body{padding:20px;}
.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:900px; margin:0 auto;}
@media (max-width:760px){ .related-grid{grid-template-columns:1fr;} }
