.blog-prose{color:var(--muted-foreground);font-size:1.05rem;line-height:1.8;overflow-wrap:break-word}.blog-prose>*+*{margin-top:1.5rem}.blog-prose h2,.blog-prose h3{scroll-margin-top:6rem;color:var(--foreground);font-family:var(--font-brand-display),sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.25}.blog-prose h2{margin-top:3rem;font-size:1.75rem}.blog-prose h3{margin-top:2.25rem;font-size:1.3rem}.blog-prose>:first-child{margin-top:0}.blog-prose strong{color:var(--foreground)}.blog-prose a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.blog-prose ol,.blog-prose ul{padding-left:1.5rem}.blog-prose ul{list-style:disc}.blog-prose ol{list-style:decimal}.blog-prose li+li{margin-top:.6rem}.blog-prose blockquote{border-left:2px solid var(--primary);padding-left:1.25rem;font-style:italic}.blog-prose :not(pre)>code{color:var(--foreground);background:color-mix(in srgb,var(--foreground) 8%,transparent);border-radius:.25rem;padding:.1rem .3rem}.blog-callout,.blog-exercise{margin:2rem 0;border:1px solid var(--border);border-radius:1.25rem;background:color-mix(in srgb,var(--card) 80%,transparent);overflow:hidden}.blog-exercise-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.blog-callout,.blog-exercise-body{padding:1.5rem}.blog-callout-body>*+*,.blog-exercise-body>*+*{margin-top:1rem}.blog-callout{border-left:3px solid var(--primary)}.blog-callout-warning{border-left-color:#e8aa59}.blog-callout-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--foreground);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.blog-tab{margin:1.25rem 0;overflow:hidden;border:1px solid var(--border);border-radius:.75rem;background:#0a0b0b}.blog-tab-label{border-bottom:1px solid var(--border);padding:.5rem 1rem;color:var(--muted-foreground);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.blog-tab-scroll,.blog-table-scroll{overflow-x:auto}.blog-tab pre{min-width:max-content;padding:1rem;font-size:.8rem;line-height:1.5}.blog-tab-fret,.blog-tab-string{color:var(--primary)}.blog-prose table{width:100%;border-collapse:collapse}.blog-prose td,.blog-prose th{border:1px solid var(--border);padding:.6rem .8rem;text-align:left}