.blog-prose{color:var(--color-body);font-size:16.5px;line-height:1.85}.blog-prose h2{font-size:1.5625rem;font-weight:700;letter-spacing:-.025em;color:var(--color-ink);margin-top:3.5rem;margin-bottom:1rem;padding-bottom:.65rem;border-bottom:2px solid var(--color-hairline-strong);line-height:1.3}.blog-prose h3{font-size:1.15rem;font-weight:650;color:var(--color-ink);margin-top:2.5rem;margin-bottom:.75rem;padding-left:.85rem;border-left:3px solid var(--color-link);line-height:1.4}.blog-prose h4{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-mute);text-transform:uppercase;letter-spacing:.07em;margin-top:2rem;margin-bottom:.5rem}.blog-prose h2:first-child,.blog-prose h3:first-child{margin-top:0}.blog-prose p{margin-bottom:1.5rem}.blog-prose strong{font-weight:700;color:var(--color-ink)}.blog-prose em{font-style:italic}.blog-prose strong em,.blog-prose em strong{font-style:italic;font-weight:700;color:var(--color-ink)}.blog-prose ul,.blog-prose ol{margin-bottom:1.5rem;padding-left:1.5rem}.blog-prose ul{list-style:none;padding-left:1.4rem}.blog-prose ul>li{position:relative;padding-left:.25rem;margin-bottom:.6rem}.blog-prose ul>li:before{content:"";position:absolute;left:-1.05rem;top:.68em;width:5px;height:5px;border-radius:50%;background:var(--color-link)}.blog-prose ol{list-style:decimal}.blog-prose ol>li{margin-bottom:.6rem;padding-left:.25rem}.blog-prose ol>li::marker{color:var(--color-link);font-weight:700;font-size:.9em}.blog-prose li>ul,.blog-prose li>ol{margin-top:.4rem;margin-bottom:.25rem}.blog-prose li>ul>li:before{width:4px;height:4px;background:var(--color-hairline-strong)}.blog-prose a{color:var(--color-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--color-link) 45%,transparent);transition:text-decoration-color .15s}.blog-prose a:hover{text-decoration-color:var(--color-link)}.blog-prose code{font-family:var(--font-mono);font-size:.83em;background:var(--color-violet-soft);color:var(--color-violet);padding:.15em .42em;border-radius:4px;border:1px solid color-mix(in srgb,var(--color-violet) 20%,transparent)}.blog-prose pre{background:var(--color-canvas-soft-2);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-md);padding:1.25rem 1.5rem;overflow-x:auto;margin:1.5rem 0 1.75rem;font-size:.875rem;line-height:1.75}.blog-prose pre code{background:none;border:none;padding:0;color:var(--color-ink);font-size:inherit}.blog-prose blockquote{background:var(--color-warning-soft);border-left:4px solid var(--color-warning);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1rem 1.25rem;margin:2rem 0;color:var(--color-body);font-style:normal}.blog-prose blockquote p{margin-bottom:.45rem;font-size:.9375rem;line-height:1.7}.blog-prose blockquote p:last-child{margin-bottom:0}.blog-prose blockquote strong{color:var(--color-warning-deep);font-weight:700}.blog-prose mark{background:color-mix(in srgb,var(--color-error) 13%,var(--color-canvas));color:var(--color-error-deep);padding:.1em .35em;border-radius:3px;font-style:normal}.blog-prose table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.75rem 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-hairline-strong);display:table}.blog-prose thead{background:var(--color-canvas-soft-2)}.blog-prose thead tr{border-bottom:2px solid var(--color-hairline-strong)}.blog-prose th{text-align:left;padding:10px 16px;font-weight:700;color:var(--color-ink);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.blog-prose td{padding:9px 16px;border-bottom:1px solid var(--color-hairline);vertical-align:top;line-height:1.55}.blog-prose tr:last-child td{border-bottom:none}.blog-prose tbody tr:nth-child(2n){background:var(--color-canvas-soft)}.blog-prose tbody tr:hover{background:var(--color-canvas-soft-2)}.blog-prose table{overflow-x:auto;display:block;max-width:100%}.blog-prose table thead,.blog-prose table tbody{display:table;width:100%;table-layout:fixed}.blog-prose hr{border:none;border-top:1px solid var(--color-hairline-strong);margin:3rem 0}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
