.blog-wrap h1,.prose h1{font-size:var(--h1-sm);font-weight:var(--h-weight);line-height:var(--lh-h1-sm);color:var(--primary-color);text-wrap:balance}.blog-wrap{max-width:720px}.blog-wrap--article{max-width:1064px}.blog-wrap--list{max-width:1200px}.blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-12);font-size:14px;color:var(--color-text-tertiary);margin-bottom:var(--space-16)}.blog-meta time{white-space:nowrap}.blog-meta a{color:inherit;text-decoration:none}.blog-meta a:hover{color:var(--link-color)}.blog-article{display:grid;grid-template-columns:minmax(0,720px);justify-content:center;gap:var(--space-24)}.blog-article-main{min-width:0}@media(min-width:1100px){.blog-article{grid-template-columns:minmax(0,720px) 220px;grid-template-areas:"head toc" "main toc";column-gap:var(--space-64);row-gap:var(--space-24);align-items:start}.blog-article-head{grid-area:head}.blog-article-main{grid-area:main}.blog-toc{grid-area:toc}}.blog-toc{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-20) var(--space-24);font-size:14px}.blog-wrap .blog-toc h2{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 var(--space-12)}.blog-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc}.blog-toc li{margin:0}.blog-toc li+li{margin-top:var(--space-8)}.blog-toc a{display:block;color:var(--color-text-secondary);text-decoration:none;line-height:1.45}.blog-toc a:hover{color:var(--link-color)}@media(min-width:1100px){.blog-toc{position:sticky;top:96px;border:0;border-left:1px solid var(--color-border);border-radius:0;padding:var(--space-4) 0 var(--space-4) var(--space-20);max-height:calc(100vh - 140px);overflow-y:auto}}.prose h2[id],.prose h3[id]{scroll-margin-top:96px}.prose{font-size:17px;line-height:1.75;color:var(--color-text-primary)}.prose>*+*{margin-top:var(--space-20)}.prose h2{font-size:var(--h2-sm);line-height:var(--lh-h2-sm);font-weight:var(--h-weight);letter-spacing:-.01em;margin-top:var(--space-48);margin-bottom:var(--space-16);color:var(--color-text-primary);text-wrap:balance}.prose h3{font-size:20px;line-height:1.35;font-weight:var(--h-weight);margin-top:var(--space-32);margin-bottom:var(--space-12);text-wrap:balance}.prose p{color:var(--color-text-secondary)}.prose strong{color:var(--color-text-primary);font-weight:600}.prose a{color:var(--link-color);text-decoration:underline;text-underline-offset:2px}.prose a:hover{text-decoration-thickness:2px}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose ul ul{list-style:circle}.prose ul,.prose ol{padding-left:var(--space-24);color:var(--color-text-secondary)}.prose li+li{margin-top:var(--space-8)}.prose li::marker{color:var(--color-text-tertiary)}.prose li>ul,.prose li>ol{margin-top:var(--space-8)}.prose blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-20);color:var(--color-text-tertiary);font-style:italic}.prose hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-48) 0}.prose code{font-size:.9em;background:var(--color-bg-tertiary);border-radius:var(--border-radius-sm);padding:2px 5px}.prose img{max-width:100%;height:auto;border-radius:var(--border-radius-lg)}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px}.prose th,.prose td{border:1px solid var(--color-border);padding:var(--space-8) var(--space-12);text-align:left;min-width:124px}.prose th{background:var(--color-bg-secondary);font-weight:600}.blog-wrap .blog-faq>h2,.blog-wrap .blog-related>h2,.blog-wrap .blog-cta>h2{font-size:var(--h2-sm);line-height:var(--lh-h2-sm);font-weight:var(--h-weight);color:var(--primary-color);text-wrap:balance}.blog-faq{margin-top:var(--space-64)}.blog-faq>h2{margin:0 0 var(--space-20)}.blog-faq details{border-bottom:1px solid var(--color-border);padding:var(--space-16) 0}.blog-faq details:first-of-type{border-top:1px solid var(--color-border)}.blog-faq summary{cursor:pointer;font-weight:600;color:var(--color-text-primary);list-style:none;display:flex;justify-content:space-between;gap:var(--space-16)}.blog-faq summary:hover{color:var(--link-color)}.blog-faq summary::-webkit-details-marker{display:none}.blog-faq summary:after{content:"+";color:var(--color-text-tertiary);font-weight:400;flex-shrink:0}.blog-faq details[open] summary:after{content:"−"}.blog-faq details p{margin-top:var(--space-12);color:var(--color-text-secondary);line-height:1.7}.blog-related{margin-top:var(--space-48)}.blog-related>h2{margin:0 0 var(--space-16)}.blog-related ul{list-style:none;padding:0;margin:0}.blog-related li+li{margin-top:var(--space-8)}.blog-related a{display:inline-flex;align-items:baseline;gap:var(--space-8);color:var(--link-color);text-decoration:none}.blog-related a:after{content:"→"}.blog-related a:hover{text-decoration:underline;text-underline-offset:2px}.blog-wrap .blog-cta{margin-top:var(--space-64);padding:var(--space-32);background-color:var(--panel-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-lg)}.blog-wrap .blog-cta>h2{margin:0 0 var(--space-12)}.blog-cta p{color:var(--color-text-secondary);margin:0 0 var(--space-20)}.blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-24);margin-top:0}.blog-card{display:flex;flex-direction:column;padding:var(--space-24);border:1px solid var(--color-border-light);border-radius:var(--border-radius-lg);background:var(--card-bg);box-shadow:var(--shadow-md);text-decoration:none;color:inherit;transition:box-shadow .2s ease,transform .2s ease}.blog-card:hover{background:var(--card-bg-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.blog-card h2{font-size:20px;font-weight:var(--h-weight);line-height:1.35;margin:0 0 var(--space-8);color:var(--color-text-primary);text-wrap:balance}.blog-card p{margin:0;color:var(--color-text-secondary);font-size:15px;line-height:1.6;text-wrap:pretty}.blog-empty{padding:var(--space-32);border:1px dashed var(--color-border);border-radius:var(--border-radius-lg);color:var(--color-text-tertiary);text-align:center}@media(max-width:640px){.prose{font-size:16px}}
