.post{max-width:760px}
.post .meta a{color:var(--ink-2)}
.prose{font-size:18px;line-height:1.7}
.prose h2{margin:44px 0 12px}
.prose h3{margin:30px 0 8px}
.prose img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.prose blockquote{margin:22px 0;padding:4px 0 4px 18px;border-left:3px solid var(--ink);color:var(--ink-2)}
.prose code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);padding:2px 5px;border-radius:5px}
.prose pre{background:var(--surface-2);padding:14px;border-radius:10px;overflow-x:auto}
.prose pre code{background:none;padding:0}
.prose table{margin:18px 0}
.prose li{margin:4px 0}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 20px;margin:0 0 26px}
.toc .meta{margin:0 0 6px}
.toc ol{margin:0;padding-left:20px}
.toc a{color:var(--ink)}
.next{margin:40px 0 0}
.next h2{margin:0 0 12px;font-size:22px}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.cats a{text-decoration:none;border:1.5px solid var(--line);border-radius:999px;padding:6px 14px;font-size:15px;color:var(--ink)}
.cats a:hover{border-color:var(--ink)}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:900px){.post-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr}}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column}
.post-card-img{display:block;margin:-18px -18px 14px;border-radius:14px 14px 0 0;overflow:hidden;background:var(--surface-2)}
.post-card-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.post-card h3{margin:6px 0 8px;font-size:20px;line-height:1.25}
.post-card h3 a{text-decoration:none}
.post-card h3 a:hover{text-decoration:underline}
.post-card p{margin:0;color:var(--ink-2);font-size:15.5px}
.post-card .meta{margin:0;font-size:11.5px}
.post-card .meta a{color:var(--ink-2)}
.post-head{margin:0 calc(50% - 50vw);background:#E4EAE1;border-bottom:1px solid var(--line);padding:6px 20px 30px}
@media (prefers-color-scheme:dark){.post-head{background:#232a22}}
.post-head-in{max-width:760px;margin:0 auto}
.post-head h1{margin:14px 0 12px}
.post-head .lead{font-size:20px;line-height:1.5;color:var(--ink-2);margin:0 0 14px;max-width:760px}
.post-head .meta{margin:0}
.post{margin:0 auto}
.hero-fig{margin:30px 0 28px}
.hero-fig img,.fig img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}
.hero-fig img{aspect-ratio:16/9;object-fit:cover}
.fig{margin:28px 0}
.hero-fig figcaption,.fig figcaption{font-size:14px;color:var(--ink-2);margin-top:8px}
.prose .tbl{overflow-x:auto;margin:18px 0}
.prose .tbl table{display:table;margin:0;min-width:520px}
.prose table{display:table}
.prose th{background:var(--surface-2)}
