.prose{color:var(--color-text-secondary);max-width:72ch;font-size:1.125rem;line-height:1.8}.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]{scroll-margin-top:5rem;position:relative}.prose h2[id]:hover:after,.prose h3[id]:hover:after,.prose h4[id]:hover:after{content:" #";color:var(--color-accent);opacity:.5;font-size:.75em;font-weight:400}.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-underline-offset:3px;text-decoration:underline #f59e0b4d;transition:text-decoration-color .2s}.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);background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-accent);border-radius:.375rem;padding:.15em .4em;font-size:.875em}.prose pre{font-family:var(--font-mono);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.75rem;margin:2em 0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.7;overflow-x:auto}@media (width>=640px){.prose pre{padding:1.25rem 1.5rem}}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.prose blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-muted);margin:2em 0;padding-left:1.25em;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:1px solid var(--color-border);border-radius:.75rem;max-width:100%;height:auto;margin:2em 0}.prose figure{margin:2em 0}.prose figcaption{text-align:center;color:var(--color-text-muted);margin-top:.75em;font-size:.875rem}.prose hr{background:linear-gradient(to right, transparent, var(--color-border), transparent);border:none;height:1px;margin:3em 0}.prose .table-wrap{-webkit-overflow-scrolling:touch;margin:2em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;margin:0;font-size:.9375rem}.prose>table{-webkit-overflow-scrolling:touch;margin:2em 0;display:block;overflow-x:auto}.prose th{font-family:var(--font-mono);text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;padding:.75em 1em;font-size:.8125rem;font-weight:600}.prose td{border-bottom:1px solid var(--color-border);padding:.75em 1em}.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{color:var(--color-text-muted);font-size:1.25rem;line-height:1.7}.prose.prose-pillar>p:first-child{color:var(--color-text-secondary);font-size:1.1875rem;line-height:1.75}.prose.prose-pillar h2{border-top:1px solid var(--color-border);margin-top:2.5em;padding-top:1em}.prose.prose-pillar>[class*=not-prose]+h2{border-top:none;margin-top:.75em;padding-top:0}.prose.prose-pillar>:first-child+[class*=not-prose]+h2,.prose.prose-pillar>p:first-child+p+[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)}}
