.prose{color:var(--color-text-secondary);line-height:1.8;font-size:1.125rem;max-width:72ch}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;margin-top:2em;margin-bottom:.75em;line-height:1.2}.prose h1{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700}.prose h2{font-size:clamp(1.375rem,4vw,1.75rem);font-weight:700}.prose h3{font-size:clamp(1.125rem,3vw,1.375rem);font-weight:600}.prose h4{font-size:1.125rem;font-weight:600}.prose h2[id],.prose h3[id],.prose h4[id]{position:relative;scroll-margin-top:5rem}.prose h2[id]:hover:after,.prose h3[id]:hover:after,.prose h4[id]:hover:after{content:" #";color:var(--color-accent);opacity:.5;font-weight:400;font-size:.75em}.prose h2[id] a[href^="#"],.prose h3[id] a[href^="#"],.prose h4[id] a[href^="#"]{color:inherit;text-decoration:none}.prose h2[id] a[href^="#"]:hover,.prose h3[id] a[href^="#"]:hover,.prose h4[id] a[href^="#"]:hover{color:var(--color-accent)}.prose p{margin-bottom:1.5em}.prose a{color:var(--color-accent);text-decoration:underline;text-decoration-color:#f59e0b4d;text-underline-offset:3px;transition:text-decoration-color .2s ease}.prose a:hover{color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}.prose a.cta-button{color:var(--color-text-inverse);text-decoration:none}.prose a.cta-button:hover{color:var(--color-text-inverse)}.prose strong{color:var(--color-text-primary);font-weight:600}.prose em{font-style:italic}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.375rem;padding:.15em .4em;color:var(--color-accent)}.prose pre{font-family:var(--font-mono);font-size:.875rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.75rem;padding:1rem 1.25rem;overflow-x:auto;margin:2em 0;line-height:1.7}@media(min-width:640px){.prose pre{padding:1.25rem 1.5rem}}.prose pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}.prose blockquote{border-left:3px solid var(--color-accent);padding-left:1.25em;margin:2em 0;color:var(--color-text-muted);font-style:italic}.prose ul,.prose ol{margin:1.5em 0;padding-left:1.5em}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{margin-bottom:.5em}.prose li::marker{color:var(--color-accent)}.prose img{border-radius:.75rem;border:1px solid var(--color-border);margin:2em 0;max-width:100%;height:auto}.prose figure{margin:2em 0}.prose figcaption{text-align:center;font-size:.875rem;color:var(--color-text-muted);margin-top:.75em}.prose hr{border:none;height:1px;background:linear-gradient(to right,transparent,var(--color-border),transparent);margin:3em 0}.prose .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:2em 0}.prose table{width:100%;border-collapse:collapse;margin:0;font-size:.9375rem}.prose>table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:2em 0}.prose th{font-family:var(--font-mono);font-weight:600;text-align:left;padding:.75em 1em;border-bottom:2px solid var(--color-border);color:var(--color-text-primary);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.prose td{padding:.75em 1em;border-bottom:1px solid var(--color-border)}.prose tr:hover td{background:var(--color-bg-hover)}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose.prose-lead>p:first-child,.prose.prose-lead>p:first-child+p{font-size:1.25rem;line-height:1.7;color:var(--color-text-muted)}.prose.prose-pillar>p:first-child{font-size:1.1875rem;line-height:1.75;color:var(--color-text-secondary)}.prose.prose-pillar h2{margin-top:2.5em;padding-top:1em;border-top:1px solid var(--color-border)}.prose.prose-pillar>:is([class*=not-prose])+h2{border-top:none;padding-top:0;margin-top:.75em}.prose.prose-pillar>:first-child+:is([class*=not-prose])+h2,.prose.prose-pillar>p:first-child+p+:is([class*=not-prose])+h2{border-top:none;padding-top:0}.prose pre,.prose pre span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}@media(prefers-color-scheme:light){html:not(.dark) .prose pre,html:not(.dark) .prose pre span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}}
