.prose{color:color-mix(in oklab, var(--color-bone) 90%, var(--color-silver));font-size:var(--text-body);line-height:1.75}.prose>*+*{margin-top:1.35em}.prose>p,.prose>ul,.prose>ol,.prose>blockquote,.prose>h2,.prose>h3,.prose>h4{max-width:var(--measure)}.prose h2,.prose h3,.prose h4{color:var(--color-bone);scroll-margin-top:calc(var(--nav-h) + 1.5rem)}.prose h2,.prose h3{font-family:var(--font-display);letter-spacing:-.015em;font-weight:800;line-height:1.05}.prose h2{border-top:1px solid var(--color-line);font-size:var(--text-title);margin-top:2.4em;padding-top:1.4rem}.prose h3{font-size:var(--text-lead);margin-top:2em}.prose h4{font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.12em;color:var(--color-silver);margin-top:1.8em}.prose>h2:first-child,.prose>h3:first-child{margin-top:0}.prose h1{color:var(--color-bone);font-family:var(--font-display);letter-spacing:-.015em;font-weight:800;line-height:1.04;font-size:var(--text-display);scroll-margin-top:calc(var(--nav-h) + 1.5rem);margin-top:2.2em}.prose>h1{max-width:var(--measure)}.prose>h1:first-child{margin-top:0}.prose h1 .heading-anchor:before{content:"#";color:var(--color-accent);font-family:var(--font-mono);opacity:0;transition:opacity var(--dur-1) var(--ease);font-weight:400;position:absolute;left:-1.15ch}.prose h1 .heading-anchor:hover:before,.prose h1 .heading-anchor:focus-visible:before{opacity:1}.prose .heading-anchor{color:inherit;text-decoration:none;position:relative}.prose h2 .heading-anchor:before,.prose h3 .heading-anchor:before{content:"#";color:var(--color-accent);font-family:var(--font-mono);opacity:0;transition:opacity var(--dur-1) var(--ease);font-weight:400;position:absolute;left:-1.15ch}.prose .heading-anchor:hover:before,.prose .heading-anchor:focus-visible:before{opacity:1}.prose p{color:inherit}.prose strong{color:var(--color-bone);font-weight:700}.prose em{font-style:italic}.prose hr{border:0;border-top:1px solid var(--color-line);max-width:none;margin:2.5em 0}.prose a:not(.heading-anchor){color:var(--color-accent);background-image:linear-gradient(var(--color-accent), var(--color-accent));transition:background-size var(--dur-2) var(--ease), color var(--dur-1) var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;text-decoration:none}.prose a:not(.heading-anchor):hover,.prose a:not(.heading-anchor):focus-visible{color:var(--color-accent-strong);background-size:100% 1px}.prose ul,.prose ol{padding-left:1.4em}.prose li,.prose li>ul,.prose li>ol{margin-top:.5em}.prose ul{padding-left:0;list-style:none}.prose ul>li{padding-left:1.4em;position:relative}.prose ul>li:before{content:"";background:var(--color-accent);width:.7em;height:1px;position:absolute;top:.72em;left:0}.prose ol{list-style:decimal}.prose ol>li::marker{font-family:var(--font-mono);color:var(--color-fog);font-size:.85em}.prose blockquote{border-left:2px solid var(--color-accent);border-radius:0 var(--radius-sharp) var(--radius-sharp) 0;background:var(--color-surface-2);color:color-mix(in oklab, var(--color-bone) 78%, var(--color-silver));padding:.85rem 1.25rem;font-style:italic}.prose blockquote p{color:inherit}.prose img{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);max-width:100%;height:auto;box-shadow:var(--shadow-sm);margin:2em auto;display:block}.prose table{border-collapse:collapse;border:1px solid var(--color-line);border-radius:var(--radius-sharp);width:max-content;max-width:100%;font-size:var(--text-meta);display:block;overflow-x:auto}.prose thead th{background:var(--color-surface-2);color:var(--color-bone);font-family:var(--font-mono);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.1em;text-align:left}.prose th,.prose td{border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);padding:.6rem .9rem}.prose th:last-child,.prose td:last-child{border-right:0}.prose tbody tr:nth-child(odd){background:var(--color-surface)}.prose tbody tr:nth-child(2n){background:var(--color-surface-2)}.prose tbody tr:last-child td{border-bottom:0}.prose figure[data-rehype-pretty-code-figure]{border-radius:var(--radius-card);box-shadow:var(--shadow-md);background:#141210;border:1px solid #262019;margin:2em 0;overflow:hidden}.prose figcaption[data-rehype-pretty-code-title]{color:#c8c2b4;font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.06em;background:#1b1712;border-bottom:1px solid #262019;padding:.55rem 1.15rem}.prose figure[data-rehype-pretty-code-figure] pre{color:#e4dece;font-family:var(--font-mono);font-size:var(--text-meta);background:#141210;border-radius:0;margin:0;padding:1rem 0;line-height:1.7;overflow-x:auto}.prose pre code{font-family:inherit;font-size:inherit;counter-reset:line;background:0 0;display:grid}.prose pre code [data-line]{border-left:2px solid #0000;padding-inline:1.15rem}.prose pre code [data-highlighted-line]{background:color-mix(in oklab, var(--color-accent) 24%, transparent);border-left-color:var(--color-accent)}.prose [data-highlighted-chars]{border-radius:var(--radius-sharp);background:color-mix(in oklab, var(--color-accent) 34%, transparent);padding:.1em .15em}.prose pre code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);text-align:right;color:#e4dece6b;color:lab(88.6233% .0986159 8.64205/.42);width:1.6rem;margin-right:1rem;display:inline-block}.prose :not(pre)>code{font-family:var(--font-mono);color:var(--color-bone);background:color-mix(in oklab, var(--color-accent) 8%, var(--color-surface-2));border:1px solid color-mix(in oklab, var(--color-accent) 18%, var(--color-line));border-radius:var(--radius-sharp);overflow-wrap:break-word;padding:.12em .4em;font-size:.85em}.prose a:not(.heading-anchor) code{color:inherit;background:color-mix(in oklab, var(--color-accent) 12%, var(--color-surface-2))}.prose .mermaid{text-align:center;border-radius:var(--radius-card);box-shadow:var(--shadow-md);background:#0e1424;border:1px solid #1c2740;margin:2em 0;padding:1.25rem;overflow-x:auto}.prose .mermaid:not([data-processed]){font-family:var(--font-mono);font-size:var(--text-micro);color:#7d8aa3;text-align:left;white-space:pre}.prose .mermaid svg{max-width:100%;height:auto}
