.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px;margin-top:32px}
.pcard{display:block}
.pcard .pimg{aspect-ratio:16/9;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(160deg,#1c1c1c,#0d0d0d);overflow:hidden}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pimg img{transform:scale(1.04)}
.pcard h3{margin:16px 0 8px;font-size:21px;line-height:1.25}
.pcard p{font-size:15px}
.pcard small{display:block;margin-top:10px;color:var(--mute);font-size:13px}
.ptype{color:var(--text);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;display:inline-block;margin-bottom:10px}
.post{max-width:720px;margin:0 auto}
.post h1{font-size:clamp(32px,5vw,52px);max-width:none;margin:12px 0 14px}
.post .meta{color:var(--mute);font-size:14px}
.post .cover{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);margin:28px 0 8px;display:block}
.prose{font-size:18px;line-height:1.7;margin-top:28px}
.prose p{margin:0 0 20px;color:#d6d6d2;max-width:none}
.prose h2{font-size:30px;margin:44px 0 14px}
.prose h3{font-size:22px;margin:32px 0 10px}
.prose a{text-decoration:underline}
.prose ul,.prose ol{margin:0 0 20px;padding-left:24px;color:#d6d6d2}
.prose li{margin-bottom:8px}
.prose blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:2px solid var(--text)}
.prose img{max-width:100%;height:auto;border-radius:12px;margin:12px 0}
.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.vid{position:relative;aspect-ratio:16/9;margin:24px 0;border-radius:12px;overflow:hidden;background:#000}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.author{display:flex;gap:18px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:48px 0 0;background:var(--panel)}
.author img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none}
.author p{font-size:15px;margin-top:4px}
.author .row2{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.author .btn{padding:10px 18px;font-size:14px}
.related{max-width:1120px;margin:72px auto 0}
@media (max-width:860px){.bgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bgrid{grid-template-columns:1fr}.author{flex-direction:column;align-items:flex-start}.prose{font-size:17px}}
