.blog-prose{font-size:17px;line-height:2.05}.blog-prose>:first-child{margin-block-start:0}.blog-prose p{margin-block:0 22px;color:var(--text-secondary)}.blog-prose>p:first-of-type{font-size:19.5px;color:var(--text-primary);font-weight:500;line-height:2}.blog-prose h2,.blog-prose h3,.blog-prose h4,.blog-prose h5,.blog-prose h6{color:var(--text-primary);font-weight:800;scroll-margin-block-start:90px}.blog-prose h2{font-size:26px;line-height:1.5;margin-block:44px 16px}.blog-prose h3{font-size:20px;font-weight:700;line-height:1.6;margin-block:30px 12px}.blog-prose h4{font-size:17px;margin-block:24px 10px}.blog-prose b,.blog-prose strong{color:var(--text-primary);font-weight:700}.blog-prose a{color:var(--primary);font-weight:600;text-decoration:none;border-block-end:1px solid rgba(59,130,246,.4);transition:border-color var(--dur-fast) var(--ease-out)}.blog-prose a:hover{border-block-end-color:var(--primary)}.blog-prose a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:2px}.blog-prose ol,.blog-prose ul{margin-block:0 22px;padding-inline-start:24px;color:var(--text-secondary);display:flex;flex-direction:column;gap:10px}.blog-prose ul{list-style:disc}.blog-prose ol{list-style:decimal}.blog-prose ul li::marker{color:var(--primary)}.blog-prose blockquote{margin-block:32px;padding:22px 26px;border-radius:14px;background:var(--surface);border:1px solid var(--border);border-inline-start:3px solid var(--primary);color:var(--text-primary);font-weight:500;line-height:1.9}.blog-prose blockquote p{margin:0;font-size:19px;color:var(--text-primary)}.blog-prose code{background:var(--surface);border:1px solid var(--border-subtle);border-radius:6px;padding:.1em .4em;font-size:.9em}.blog-prose pre{margin-block:28px;padding:18px;border-radius:12px;overflow-x:auto;border:1px solid var(--border);background:var(--elevated);direction:ltr;text-align:left}.blog-prose pre code{background:transparent;border:0;padding:0;font-size:13.5px;line-height:1.9}.blog-prose hr{border:0;border-block-start:1px solid var(--border);margin-block:1.5em}.blog-toc a{display:block;padding:7px 12px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:13.5px;line-height:1.6;border-inline-start:2px solid transparent;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.blog-toc a:hover{background:var(--surface);color:var(--text-primary)}.blog-toc a[aria-current=location]{color:var(--primary);background:rgba(59,130,246,.08);border-inline-start-color:var(--primary);font-weight:600}.blog-toc a.blog-toc-sub{padding-inline-start:26px;font-size:12.5px}.blog-ring svg{transform:rotate(-90deg)}.blog-ring circle{fill:none;stroke-width:5}.blog-ring .blog-ring-track{stroke:var(--border)}.blog-ring .blog-ring-bar{stroke:url(#blogRingGrad);stroke-linecap:round;transition:stroke-dashoffset 80ms linear}.blog-meta-line{display:flex;align-items:center;gap:10px;padding-block:9px;border-block-end:1px solid var(--border-subtle);font-size:13.5px}.blog-meta-line:last-child{border-block-end:none}.blog-meta-line .blog-meta-key{color:var(--text-tertiary)}.blog-meta-line .blog-meta-value{color:var(--text-primary);font-weight:600;margin-inline-start:auto}@media (prefers-reduced-motion:reduce){.blog-ring .blog-ring-bar{transition:none}}