.blog-post .prose{color:var(--color-text-muted);font-size:1rem;line-height:1.9}.blog-post .prose>:first-child{margin-top:0}.blog-post .prose h2{font-family:var(--font-display);font-weight:400;font-size:1.55rem;line-height:1.35;letter-spacing:-.01em;color:var(--color-text);margin:2.75rem 0 1rem}.blog-post .prose h3{font-family:var(--font-display);font-weight:400;font-size:1.2rem;color:var(--color-text);margin:2rem 0 .75rem}.blog-post .prose h4{font-weight:700;font-size:1rem;color:var(--color-text);margin:1.75rem 0 .6rem}.blog-post .prose p{margin:1.1rem 0}.blog-post .prose a{color:var(--color-primary);font-weight:500;text-decoration:underline;text-underline-offset:2px}.blog-post .prose strong{color:var(--color-text);font-weight:600}.blog-post .prose ul,.blog-post .prose ol{margin:1.1rem 0;padding-left:1.4rem}.blog-post .prose ul{list-style:disc}.blog-post .prose ol{list-style:decimal}.blog-post .prose li{margin:.45rem 0;padding-left:.25rem}.blog-post .prose li::marker{color:var(--color-primary)}.blog-post .prose blockquote{border-left:4px solid var(--color-primary);background:var(--color-primary-light);border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;padding:.75rem 1.25rem;color:var(--color-text-muted)}.blog-post .prose blockquote p{margin:.35rem 0}.blog-post .prose code{background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:6px;padding:.1rem .4rem;font-size:.85em}.blog-post .prose pre{background:var(--color-text);color:#f4f0e8;border-radius:var(--radius);padding:1.1rem 1.25rem;overflow-x:auto;margin:1.5rem 0}.blog-post .prose pre code{background:transparent;border:none;padding:0;color:inherit}.blog-post .prose img{max-width:100%;height:auto;border-radius:var(--radius);margin:1.5rem 0;border:1px solid var(--color-border)}.blog-post .prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.blog-post .prose table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--color-border);font-size:.88rem;margin:1.5rem 0}.blog-post .prose th,.blog-post .prose td{padding:.8rem 1.15rem;text-align:left;border-bottom:1px solid var(--color-border)}.blog-post .prose th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;background:var(--color-bg-warm);color:var(--color-text-muted)}.blog-post .prose tbody tr:last-child td{border-bottom:none}@media(max-width:640px){.blog-post .prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.toc-sidebar{display:none;position:fixed;top:130px;left:max(24px,calc(50vw - 644px));width:224px;max-height:calc(100vh - 180px);overflow-y:auto;padding-right:8px}@media(min-width:1280px){.toc-sidebar{display:block}}.toc-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-light);margin-bottom:.75rem}.toc-list{list-style:none;margin:0;padding:0;border-left:2px solid var(--color-border)}.toc-list li{margin:0}.toc-link{display:block;padding:.4rem 0 .4rem .9rem;font-size:.82rem;line-height:1.5;color:var(--color-text-muted);text-decoration:none;border-left:2px solid transparent;margin-left:-2px;transition:color .15s,border-color .15s}.toc-link:hover{color:var(--color-text)}.toc-link.active{color:var(--color-primary);font-weight:600;border-left-color:var(--color-primary)}.callout-excerpt .callout-bar{background:var(--color-primary)}.blog-post .prose .tool-callout{display:flex;flex-direction:column;gap:.35rem;background:var(--color-primary-light, #eef5f1);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:0 var(--radius) var(--radius) 0;padding:1.1rem 1.4rem;margin:1.75rem 0}.blog-post .prose .tool-callout p{margin:0}.blog-post .prose .tool-callout .tool-callout-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--color-primary)}.blog-post .prose .tool-callout a{align-self:flex-start;margin-top:.35rem;font-weight:600;text-decoration:none;color:var(--color-primary)}.blog-post .prose .tool-callout a:hover{text-decoration:underline}
