.blog-header{text-align:center;padding:160px 0 60px}.blog-header h1{font-size:2.75rem;margin-bottom:12px}.blog-header p{color:var(--text-secondary);font-size:1.125rem;max-width:560px;margin:0 auto}.blog-grid{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px;max-width:800px;margin:0 auto;padding-bottom:120px}.blog-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s}.blog-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand)}.blog-card-date{font-size:.8125rem;color:var(--text-tertiary);margin-bottom:8px}.blog-card h2{font-size:1.5rem;line-height:1.25;margin-bottom:8px}.blog-card-desc{color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.blog-card-tags{display:flex;gap:8px;flex-wrap:wrap}.blog-tag{font-size:.75rem;color:var(--brand);background:var(--brand-subtle);padding:3px 10px;border-radius:var(--radius-full);font-weight:500}.blog-article-header{max-width:720px;margin:0 auto;padding:160px 0 48px}.blog-back{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary);text-decoration:none;margin-bottom:32px;transition:color .15s}.blog-back:hover{color:var(--brand)}.blog-article-meta{display:flex;align-items:center;gap:12px;font-size:.8125rem;color:var(--text-tertiary);margin-bottom:16px}.blog-article-meta span:before{content:"·";margin-right:12px}.blog-article-meta span:first-child:before{content:"";margin:0}.blog-article-header h1{font-size:2.5rem;line-height:1.15;margin-bottom:16px}.blog-article-header .blog-card-desc{font-size:1.125rem;margin-bottom:0}.blog-article-content{max-width:720px;margin:0 auto;padding-bottom:120px}.blog-h2{font-size:1.75rem;margin:48px 0 16px}.blog-h3{font-size:1.25rem;margin:36px 0 12px}.blog-p{color:var(--text);line-height:1.75;margin-bottom:20px}.blog-a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;transition:color .15s}.blog-a:hover{color:var(--brand-dark)}.blog-ol,.blog-ul{margin:0 0 20px 20px;line-height:1.75}.blog-li{margin-bottom:8px}.blog-blockquote{border-left:3px solid var(--brand);padding:12px 20px;margin:24px 0;color:var(--text-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0}.blog-blockquote,.blog-code{background:var(--bg-secondary)}.blog-code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em;padding:2px 6px;border-radius:var(--radius-sm)}.blog-pre{background:#1c1917;color:#e5e1dc;padding:20px 24px;border-radius:var(--radius-lg);overflow-x:auto;margin:24px 0;font-size:.875rem;line-height:1.7}.blog-pre .blog-code{background:none;padding:0;border-radius:0;color:inherit}.blog-img{max-width:100%;height:auto;border-radius:var(--radius-lg);margin:24px 0}.blog-hr{border:none;border-top:1px solid var(--border);margin:40px 0}.blog-strong{font-weight:600}@media (max-width:768px){.blog-header{padding:120px 0 40px}.blog-header h1{font-size:2rem}.blog-card{padding:24px}.blog-article-header{padding:120px 0 32px}.blog-article-header h1{font-size:1.75rem}.blog-h2{font-size:1.375rem}}