.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:24px;margin:30px 0 8px}
.prose h3{font-size:18px;margin:22px 0 6px}
.prose p,.prose li{font-size:16.5px;color:var(--ink-2);line-height:1.75;margin-bottom:12px}
.prose ul,.prose ol{padding-left:22px;margin-bottom:12px}
.prose a{color:var(--brand);font-weight:700}
.prose img{max-width:100%;height:auto;border-radius:14px;margin:14px 0}
.prose blockquote{background:var(--soft);border-left:4px solid var(--brand);border-radius:10px;padding:14px 16px;margin:18px 0}
.prose blockquote p{margin:0}
.prose table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:8px;text-align:left}
.post-title{font-size:clamp(28px,4.2vw,42px)}
.meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13.5px;font-weight:600;margin-top:10px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:10px}
.crumbs a{color:var(--muted);font-weight:600}
.cover{width:100%;border-radius:18px;margin:6px 0 18px}
.share{margin:26px 0;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:15px;font-weight:600}
.cats{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.cats button{padding:8px 14px;border-radius:99px;background:#fff;border:1.5px solid var(--line);font-weight:700;font-size:13.5px}
.cats button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.gcard{display:flex;flex-direction:column;gap:8px}
.gcard .k{font-size:12px;font-weight:800;color:var(--brand);letter-spacing:.08em;text-transform:uppercase}
.gcard .thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:4px}
.prose blockquote{background:var(--yellow-soft);border-left-color:var(--yellow)}
.prose a{color:var(--brand-ink)}
.gcard .k{color:var(--brand-ink)}
