.hero{margin-top:18px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);background:var(--bg-soft)}
.hero img{width:100%;aspect-ratio:1200/630;object-fit:cover;display:block}
.art{max-width:760px}
.art h2{font-size:22px;font-weight:800;margin-top:34px;line-height:1.7}
.art p{font-size:16.5px;line-height:2.15;color:var(--text-2);margin-top:13px}
.art ul,.art ol{margin:14px 0 0;padding-inline-start:22px}
.art li{font-size:16px;line-height:2.05;color:var(--text-2);margin-bottom:9px}
.art a{color:var(--green-3);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.art table{width:100%;border-collapse:collapse;margin-top:14px;font-size:14.5px}
.art th,.art td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:start}
.art th{background:var(--bg-soft);font-weight:800;font-size:13.5px}
figure{margin:26px 0 0}
figure img{width:100%;border-radius:var(--r);border:1px solid var(--line);display:block}
figcaption{font-size:12.5px;color:var(--muted);margin-top:8px;text-align:center}
.meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);
  font-weight:700;margin-top:12px}
.toc{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r);
  padding:16px 20px;margin-top:22px}
.toc b{font-size:14px;font-weight:800}
.toc ol{margin:9px 0 0;padding-inline-start:20px}
.toc li{font-size:14.5px;line-height:1.95;margin-bottom:3px}
.toc a{color:var(--text-2);font-weight:700}
.toc a:hover{color:var(--green-3)}
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}
.posts a{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:var(--shadow);transition:transform .18s var(--ease),box-shadow .2s;display:block}
.posts a:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.posts img{width:100%;aspect-ratio:1200/630;object-fit:cover;background:var(--bg-soft)}
.posts .tx{padding:15px 17px 17px}
.posts h3{font-size:17px;font-weight:800;line-height:1.65}
.posts p{font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.9}
@media (max-width:520px){
  .art h2{font-size:19.5px;margin-top:28px}
  .art p,.art li{font-size:15.5px}
  .art table{font-size:13px}
  .art th,.art td{padding:8px 9px}
}
@media (hover:none){.posts a:hover{transform:none;box-shadow:var(--shadow)}}