.prose{max-width:var(--column);padding:var(--s-7) var(--gutter) var(--s-9);box-sizing:content-box;counter-reset:fig listing table;font-size:var(--fs-body);line-height:var(--lh-body);hyphens:manual;overflow-wrap:break-word;margin:0 auto}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 var(--s-5)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:var(--s-2)}.prose ul>li::marker{color:var(--c-accent)}.prose ol>li::marker{color:var(--c-ink-muted);font-variant-numeric:tabular-nums}.prose strong{color:var(--c-ink-strong);font-weight:700}.prose h2{margin:var(--s-8) 0 var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--c-rule);font-family:var(--f-display);font-weight:400;font-size:var(--fs-h2);letter-spacing:-.01em;color:var(--c-ink-strong);text-wrap:balance;line-height:1.05;position:relative}.prose h2:before{content:"";width:3rem;height:var(--rule-heavy);background:var(--c-accent);position:absolute;top:-1px;left:0}.prose h3{margin:var(--s-7) 0 var(--s-3);font-family:var(--f-text);font-weight:700;font-size:var(--fs-h3);color:var(--c-ink-strong);line-height:1.3}.prose :is(h2,h3) a{text-decoration:none}.prose :not(pre)>code{font-family:var(--f-mono);background:var(--c-surface-2);color:var(--c-ink-strong);padding:.1em .35em;font-size:.88em}.prose blockquote{margin:var(--s-6) 0;padding:var(--s-4) var(--s-5);background:var(--c-surface);border-top:1px solid var(--c-rule-strong);color:var(--c-ink)}.prose blockquote>:last-child{margin-bottom:0}.prose hr{background:var(--c-rule);height:1px;margin:var(--s-8) 0;border:0}.prose .plate{margin:var(--s-6) 0}.prose .plate:before{margin-bottom:var(--s-2);font-family:var(--f-text);font-weight:700;font-stretch:62.5%;font-size:var(--fs-readout);letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--c-ink-muted);display:block}.prose .plate--fig{counter-increment:fig}.prose .plate--fig:before{content:"Fig. " counter(fig, decimal-leading-zero)}.prose .plate--listing{counter-increment:listing}.prose .plate--listing:before{content:"Listing " counter(listing, decimal-leading-zero)}.prose .plate--listing[data-lang]:before{content:"Listing " counter(listing, decimal-leading-zero) "  ·  " attr(data-lang)}.prose .plate--table{counter-increment:table}.prose .plate--table:before{content:"Table " counter(table, decimal-leading-zero)}.prose .plate--fig img{background:var(--c-surface);outline:1px solid var(--c-rule);max-width:100%}.prose .plate--fig img.is-enlargeable{cursor:zoom-in}.prose figcaption{margin-top:var(--s-2);font-size:var(--fs-small);color:var(--c-ink-muted);line-height:1.5}.prose pre{padding:var(--s-4) 0;font-family:var(--f-mono);border-top:2px solid var(--c-accent);tab-size:2;scrollbar-color:var(--c-rule-strong) var(--c-surface);margin:0;font-size:.875rem;line-height:1.65;overflow-x:auto}.prose pre code{min-width:max-content;display:block}.prose pre .line{width:100%;padding:0 var(--s-5);display:inline-block}.prose pre .line.highlighted{background:var(--c-surface-2);box-shadow:inset 4px 0 0 var(--c-accent)}.prose .plate__scroll{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-small);font-variant-numeric:tabular-nums;line-height:1.5}.prose th{text-align:left;font-weight:700;font-stretch:62.5%;font-size:var(--fs-readout);letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-muted);border-bottom:2px solid var(--c-accent)}.prose th,.prose td{padding:var(--s-2) var(--s-4) var(--s-2) 0;vertical-align:top}.prose td{border-bottom:1px solid var(--c-rule)}.prose .footnotes{margin-top:var(--s-8);padding-top:var(--s-4);border-top:1px solid var(--c-rule);font-size:var(--fs-small);color:var(--c-ink-muted)}.prose .footnotes h2{margin:0 0 var(--s-3);font-family:var(--f-text);font-weight:700;font-stretch:62.5%;font-size:var(--fs-readout);letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-muted);border:0;padding:0}.prose .footnotes h2:before{display:none}.prose [data-footnote-backref]{margin-left:var(--s-2);font-size:0;text-decoration:none}.prose [data-footnote-backref]:after{content:"Back";font-size:var(--fs-readout);letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent-ink);white-space:nowrap;font-weight:700;font-stretch:62.5%}.prose sup a{color:var(--c-accent-ink);padding:0 .1em;font-weight:700;text-decoration:none}.prose kbd{font-family:var(--f-text);letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-strong);border:1px solid var(--c-rule-strong);border-bottom-width:2px;padding:0 .4em;font-size:.8em;font-weight:700;font-stretch:62.5%;line-height:1.5;display:inline-block}
