.blog-wrap{padding:var(--space-12) 0 var(--space-16)}.blog-head{max-width:760px;margin:0 auto var(--space-9);text-align:center}.blog-head h1{font-size:var(--text-4xl);letter-spacing:-.02em;margin:var(--space-3) 0;line-height:var(--leading-tight)}.blog-head p{font-size:var(--text-lg);color:var(--text-2);margin:0}.cat-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-8)}.cat-chip{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);padding:7px 14px;border-radius:var(--radius-pill);transition:color var(--transition-fast),border-color var(--transition-fast)}.cat-chip:hover{color:var(--text);border-color:var(--border-strong)}.cat-chip.on{color:var(--primary-text);background:var(--primary-soft);border-color:var(--primary-border)}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-5);gap:var(--space-5);max-width:940px;margin:0 auto}.post-card{display:flex;flex-direction:column;height:100%}.pc-cat{display:inline-flex;width:-moz-fit-content;width:fit-content;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--primary-text);background:var(--primary-soft);padding:4px 10px;border-radius:var(--radius-pill);margin-bottom:var(--space-3)}.post-card h2{font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:-.01em;margin:0 0 var(--space-2)}.post-card h2 a:hover{color:var(--primary-text)}.post-card p{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-4);flex:1 1}.post-meta{display:flex;gap:var(--space-2);color:var(--text-3);font-size:var(--text-xs);align-items:center}.post-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-3)}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text-3);font-size:var(--text-sm);margin-bottom:var(--space-5)}.breadcrumb a:hover{color:var(--text)}.breadcrumb .sep{color:var(--border-strong)}.post{max-width:720px;margin:0 auto;padding:var(--space-10) 0 var(--space-16)}.post-header{margin-bottom:var(--space-8)}.post-header h1{font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:-.02em;margin:var(--space-3) 0}.post-header .post-meta{font-size:var(--text-sm)}.prose{color:var(--text-2);font-size:var(--text-lg);line-height:var(--leading-relaxed)}.prose>*+*{margin-top:var(--space-5)}.prose h2{font-size:var(--text-2xl);letter-spacing:-.01em;margin-top:var(--space-10);line-height:var(--leading-snug)}.prose h2,.prose h3{color:var(--text);margin-bottom:0}.prose h3{font-size:var(--text-xl);margin-top:var(--space-8)}.prose a{color:var(--primary-text);text-decoration:underline;text-underline-offset:3px}.prose a:hover{opacity:.85}.prose strong{color:var(--text);font-weight:var(--weight-semibold)}.prose ul{list-style:disc;padding-left:1.4em}.prose ol{list-style:decimal;padding-left:1.4em}.prose li+li{margin-top:8px}.prose li::marker{color:var(--text-3)}.prose blockquote{border-left:3px solid var(--primary-border);background:var(--surface-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);color:var(--text-2)}.prose blockquote>*+*{margin-top:var(--space-3)}.prose code{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px;font-size:.9em}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-sm);display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--border);padding:10px 14px;text-align:left;white-space:nowrap}.prose thead th{background:var(--surface-2);font-weight:var(--weight-semibold);color:var(--text)}.post-cta{margin-top:var(--space-10);background:var(--gradient-brand);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;color:#fff}.post-cta h3{font-size:var(--text-2xl);margin:0 0 var(--space-2)}.post-cta p{opacity:.92;margin:0 0 var(--space-5)}.post-cta .btn-primary{background:#fff;color:var(--primary);border-color:#fff}@media (max-width:760px){.post-grid{grid-template-columns:1fr}}