/* Blog list, article pages and article body. Built on the tokens in site.css. */
.bgrid{align-items:stretch}
.bcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s}
.bcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(30,16,51,.1);border-color:var(--p200)}
.bthumb{display:block;aspect-ratio:3/2;background:linear-gradient(135deg,var(--p100),var(--p50))}
.bthumb img{width:100%;height:100%;object-fit:cover;display:block}
.bbody{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.bbody time{font-size:13px;font-weight:700;color:var(--mute);letter-spacing:.02em}
.bbody b{display:block;font-size:19px;line-height:1.3;letter-spacing:-.01em;margin-top:8px;color:var(--ink)}
.bexc{display:block;color:var(--mute);font-size:15px;line-height:1.6;margin-top:10px;flex:1}
.bbody .more-l{margin-top:16px;font-weight:700;color:var(--p500);font-size:14.5px}
.bbody .more-l:after{content:" \2192"}
.bpager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:44px}
.bpager a,.bpager span{min-width:44px;height:44px;padding:0 14px;display:inline-grid;place-items:center;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:15px;color:var(--p500)}
.bpager a:hover{border-color:var(--p200)}
.bpager a[aria-current]{background:var(--p500);border-color:var(--p500);color:#fff}
.bpager span{opacity:.45}
.phead .sub time{color:inherit}
.bpost{padding-top:56px}
.bhero{margin:0 0 36px;border-radius:var(--r);overflow:hidden;background:var(--p50);aspect-ratio:3/2}
.bhero img{width:100%;height:100%;object-fit:cover;display:block}
.prose{color:#3b3050}
.prose h2,.prose h3,.prose h4{color:var(--ink)}
.prose h4{font-size:18px;margin:22px 0 6px}
.prose ol{margin:0 0 18px 22px;font-size:17px;line-height:1.7}
.prose ul{list-style:disc}
.prose li{margin-bottom:6px}
.prose li>p{margin-bottom:6px}
.prose strong{color:var(--ink)}
.prose img{max-width:100%;height:auto;border-radius:14px;margin:12px 0}
.prose blockquote{border-left:4px solid var(--p300);background:var(--p50);padding:16px 20px;border-radius:0 14px 14px 0;margin:0 0 18px}
.prose blockquote p:last-child{margin-bottom:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.prose table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15.5px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--p50);color:var(--ink)}
.prose code{background:var(--p50);padding:2px 6px;border-radius:6px;font-size:.92em}
.prose>*:first-child{margin-top:0}
.bback{margin-top:36px}
@media (max-width:1120px){.bgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.bgrid{grid-template-columns:1fr}.bpost{padding-top:36px}.bhero{margin-bottom:26px}.prose h2{font-size:24px}}
