.prose{font-family:var(--font-read);font-size:var(--text-read);overflow-wrap:break-word;min-width:0;line-height:1.72}.prose>*+*{margin-top:1.15em}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4{scroll-margin-top:96px}.prose h2{font-size:var(--text-2xl);margin-top:2.4em}.prose h3{font-size:var(--text-xl);margin-top:1.9em}.prose h4{font-size:var(--text-lg);margin-top:1.6em}.prose :is(h2,h3,h4)+*{margin-top:.7em}.prose :is(ul,ol){padding-left:1.3em}.prose li+li,.prose li>:is(ul,ol){margin-top:.4em}.prose li::marker{color:var(--color-muted)}.prose strong{font-weight:650}.prose a{-webkit-text-decoration-color:color-mix(in oklch, var(--color-accent) 45%, transparent);text-decoration-color:color-mix(in oklch, var(--color-accent) 45%, transparent)}.prose a:hover{text-decoration-color:currentColor}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--color-code-bg);color:var(--color-code-ink);border-radius:var(--radius-xs);padding:1px 4px;font-size:.86em}.prose kbd{font-size:.8em}.prose mark{background:var(--color-mark);color:var(--color-ink);border-radius:2px;padding-inline:2px}.prose blockquote{padding:0 0 0 var(--space-xl);color:var(--color-ink-2);margin-inline:0;font-style:italic;position:relative}.prose blockquote:before{content:"“";font-family:var(--font-read);color:var(--color-rule-2);font-size:2.4em;font-style:normal;line-height:1;position:absolute;top:-.12em;left:0}.prose blockquote>*+*{margin-top:.7em}.prose blockquote :is(em,i){font-style:normal}.prose hr{background:var(--color-rule);border:0;height:1px;margin-block:2.4em}.prose img,.prose video{max-width:100%;height:auto}.prose p>img,.prose p>a>img{border:1px solid var(--color-rule);border-radius:var(--radius-md);margin-inline:auto;display:block}.prose figure:not(.code){margin-inline:0}.prose .figure{gap:var(--space-sm);display:grid}.prose .figure picture,.prose .figure>img{padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-3);place-items:center;display:grid}.prose .figure img{border-radius:var(--radius-sm);width:auto;max-height:70vh}.prose figcaption{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-muted);line-height:1.5}.prose .figure>figcaption{padding-inline:var(--space-xs)}.prose .md-image-unavailable{padding:var(--space-lg);border:1px dashed var(--color-rule-2);border-radius:var(--radius-md);color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:center;display:block}.prose .table-frame{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:linear-gradient(to right, var(--color-paper-3) 40%, transparent) left / 40px 100% no-repeat local, linear-gradient(to left, var(--color-paper-3) 40%, transparent) right / 40px 100% no-repeat local, linear-gradient(to right, color-mix(in oklch, var(--color-ink) 14%, transparent), transparent) left / 14px 100% no-repeat scroll, linear-gradient(to left, color-mix(in oklch, var(--color-ink) 14%, transparent), transparent) right / 14px 100% no-repeat scroll, var(--color-paper-3);max-width:100%;overflow-x:auto}.prose .table-frame:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1.5}.prose :is(th,td){border-bottom:1px solid var(--color-rule);text-align:left;vertical-align:top;padding:10px 16px}.prose :is(th,td)[align=right]{text-align:right}.prose :is(th,td)[align=center]{text-align:center}.prose thead th{font-size:var(--text-xs);color:var(--color-ink-2);background:var(--color-paper-2);border-bottom:1.5px solid var(--color-rule-2);white-space:nowrap;font-weight:650}.prose tbody tr:last-child>*{border-bottom:0}.prose tbody td:first-child{color:var(--color-ink);font-weight:600}.prose tbody tr:hover>*{background:color-mix(in oklch, var(--color-paper-2) 70%, transparent)}.prose dt{font-weight:650}.prose dd{margin-left:var(--space-lg)}.prose :is(sup,sub){line-height:0}.prose .embed{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-3);font-family:var(--font-ui);overflow:hidden}.prose .embed__bar{align-items:center;gap:2px var(--space-md);min-height:56px;padding:var(--space-sm) var(--space-md);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kind action""title action";list-style:none;display:grid}.prose .embed__bar::-webkit-details-marker{display:none}.prose .embed__bar:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.prose .embed__kind{font-size:var(--text-xs);color:var(--color-ink-2);grid-area:kind;align-items:center;gap:6px;font-weight:700;display:inline-flex}.prose .embed__kind:before{content:"";border:1.5px solid;border-top-width:3.5px;border-radius:3px;width:14px;height:12px}.prose .embed__title{min-width:0;font-size:var(--text-sm);color:var(--color-ink);grid-area:title;font-weight:650}.prose .embed__action{border:1px solid var(--color-rule-2);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-ink);grid-area:action;align-items:center;gap:6px;padding:4px 12px;font-weight:650;display:inline-flex}.prose .embed__action:before{content:"Show"}.prose .embed__details[open] .embed__action:before{content:"Hide"}.prose .embed__bar:hover .embed__action{background:var(--color-paper-2)}.prose .embed__frame{border-top:1px solid var(--color-rule);background:var(--color-paper)}.prose .embed iframe{aspect-ratio:16/10;border:0;width:100%;min-height:360px;display:block}@media (width<=40rem){.prose .embed iframe{aspect-ratio:3/4}}.prose .embed__foot{justify-content:space-between;gap:4px var(--space-md);padding:8px var(--space-md);border-top:1px solid var(--color-rule);font-size:var(--text-xs);color:var(--color-muted);flex-wrap:wrap;display:flex}.prose .embed__host{font-family:var(--font-mono);overflow-wrap:anywhere}.prose .embed__foot a{font-weight:650}.prose .repo-card{gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-3);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.5;display:grid}.prose .repo-card__head{align-items:center;gap:var(--space-sm);display:flex}.prose .repo-card__avatar{border:1px solid var(--color-rule);border-radius:var(--radius-sm);flex:none;width:40px;height:40px;margin:0}.prose .repo-card__id{min-width:0;display:grid}.prose .repo-card__label{font-size:var(--text-xs);color:var(--color-muted);font-weight:650}.prose .repo-card__name{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-ink);overflow-wrap:anywhere;text-decoration:none}.prose .repo-card__name strong{font-weight:700}.prose .repo-card__name:hover{text-decoration:underline}.prose .repo-card__desc{color:var(--color-ink-2)}.prose .repo-card__meta{gap:4px var(--space-md);color:var(--color-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.prose .repo-card__stat{align-items:center;gap:5px;display:inline-flex}.prose .repo-card__icon{width:16px;height:16px}.prose .repo-card__langs{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.prose .repo-card__langs li{border:1px solid var(--color-rule-2);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-ink-2);margin:0;padding:2px 10px}.prose .code{font-family:var(--font-ui);margin-inline:0;position:relative}.code__bar{justify-content:space-between;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-muted);min-width:0;margin-bottom:8px;display:flex}.code__label{font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prose .code pre{background:var(--color-code-bg);color:var(--color-code-ink);border-radius:var(--radius-md);padding:var(--space-md) 0;font-family:var(--font-mono);tab-size:4;margin:0;font-size:.875rem;line-height:1.7;overflow-x:auto;container-type:scroll-state}.prose .code pre code{border-collapse:collapse;min-width:100%;font-size:inherit;background:0 0;padding:0;display:table}.code-line{display:table-row}.code-gutter{z-index:1;background:var(--color-code-bg);width:1%;padding:0 var(--space-sm) 0 var(--space-md);color:var(--color-muted);text-align:right;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;display:table-cell;position:sticky;left:0}.line-content{padding:0 var(--space-lg) 0 var(--space-xs);white-space:pre;display:table-cell}.code-line--marked{background:color-mix(in oklch, var(--color-mark) 55%, transparent)}.code-line--marked .code-gutter{color:var(--color-ink);background:linear-gradient(color-mix(in oklch, var(--color-mark) 55%, transparent), color-mix(in oklch, var(--color-mark) 55%, transparent)), var(--color-code-bg);box-shadow:inset 3px 0 0 var(--color-mark-ink)}@container scroll-state(scrollable:left){.code-gutter{box-shadow:1px 0 0 var(--color-rule-2)}.code-line--marked .code-gutter{box-shadow:inset 3px 0 0 var(--color-mark-ink), 1px 0 0 var(--color-rule-2)}}.hljs-keyword,.hljs-built_in,.hljs-selector-tag,.hljs-literal,.hljs-meta .hljs-keyword{color:var(--color-code-key);font-weight:600}.hljs-string,.hljs-number,.hljs-regexp,.hljs-symbol,.hljs-bullet,.hljs-meta .hljs-string,.hljs-template-tag,.hljs-template-variable{color:var(--color-code-str)}.hljs-comment,.hljs-quote,.hljs-doctag{color:var(--color-code-com);font-style:italic}.hljs-title,.hljs-section,.hljs-function,.hljs-class,.hljs-type,.hljs-attribute,.hljs-selector-class,.hljs-selector-id,.hljs-tag{color:var(--color-ink);font-weight:600}.hljs-variable,.hljs-params,.hljs-attr,.hljs-meta,.hljs-selector-pseudo,.hljs-link{color:var(--color-ink-2)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-addition{color:var(--color-good);background:var(--color-good-soft)}.hljs-deletion{color:var(--color-bad);background:var(--color-bad-soft)}.prose .callout{--kind:var(--color-ink-2);gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-paper-3);font-size:var(--text-md);border:1px solid #0000;line-height:1.65;display:grid}.prose .callout__head{align-items:center;gap:2px var(--space-xs);font-family:var(--font-ui);flex-wrap:wrap;line-height:1.3;display:flex}.prose .callout__icon{width:20px;height:20px;color:var(--kind);flex:none}.prose .callout__kind{font-size:var(--text-xs);color:var(--color-ink);font-weight:700}.prose .callout__title{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-ink);flex-basis:100%;font-weight:650}.prose .callout__body>*+*{margin-top:.6em}.prose .callout--info{border-color:var(--color-rule)}.prose .callout--note{--kind:var(--color-accent);background:var(--color-accent-soft)}.prose .callout--tip{--kind:var(--color-mark-ink);border-color:var(--color-rule);box-shadow:inset 4px 0 0 var(--color-mark-ink)}.prose .callout--caution{--kind:var(--color-warn);border:1.5px dashed var(--color-warn)}.prose .callout--warning{--kind:var(--color-warn);background:var(--color-warn-soft);box-shadow:inset 4px 0 0 var(--color-warn)}.prose .callout--danger{--kind:var(--color-bad);background:var(--color-bad-soft);box-shadow:inset 6px 0 0 var(--color-bad)}.prose .callout--danger .callout__kind{color:var(--color-bad)}.prose :is(.callout--tip,.callout--warning,.callout--danger){padding-left:calc(var(--space-lg) + 4px)}.prose--research{counter-reset:section figure}.prose--research>h2:not(#check-yourself){counter-increment:section;counter-reset:subsection}.prose--research>h3{counter-increment:subsection}.prose--research>h2:not(#check-yourself):before,.prose--research>h3:before{min-width:1.15em;color:var(--color-muted);font-variant-numeric:tabular-nums;margin-right:.3em;display:inline-block}.prose--research>h2:not(#check-yourself):before{content:counter(section)}.prose--research>h3:before{content:counter(section) "." counter(subsection);min-width:1.9em}.prose--research :is(.figure,.schematic-frame) figcaption:before{counter-increment:figure;content:"Figure " counter(figure) ". ";color:var(--color-ink);font-weight:700}.prose .abstract{padding-block:var(--space-md);border-block:1px solid var(--color-rule-2);font-size:var(--text-md);color:var(--color-ink-2);margin-inline:clamp(0px,4vw,2.5rem);line-height:1.6}.prose .abstract>*+*{margin-top:.6em}.prose .abstract__label{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-ink);font-weight:700}.prose :is(.theorem,.lemma,.definition){padding-left:var(--space-lg);border-left:2px solid var(--color-rule-2)}.prose :is(.theorem,.lemma){border-left-color:var(--color-accent);font-style:italic}.prose .research-block-body>*+*{margin-top:.7em}.prose .research-block-head{color:var(--color-ink);font-style:normal;font-weight:700}.prose .proof .research-block-head{font-style:italic;font-weight:400}.prose .qed{float:right;color:var(--color-ink-2);margin-left:1em}.prose--creative{-webkit-hyphens:auto;hyphens:auto;hanging-punctuation:first;font-size:1.1875rem;line-height:1.8}.prose--creative>p{margin-top:0}.prose--creative>p+p{text-indent:1.5em}.prose--creative>:is(blockquote,hr,.epigraph)+p{margin-top:1.15em}.prose .epigraph{text-align:right;max-width:24rem;color:var(--color-ink-2);margin:0 0 2.6em auto;padding:0;font-style:italic}.prose .epigraph :is(em,i){font-style:italic}.prose .epigraph:before{content:none}.prose .epigraph>p+p{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-muted);margin-top:.5em;font-style:normal}.prose--creative blockquote:not(.epigraph){text-align:center;max-width:30rem;margin:1.6em auto;padding:0}.prose--creative blockquote:not(.epigraph):before{content:none}.prose .dropcap-paragraph:first-letter{float:left;font-family:var(--font-read);color:var(--color-ink);margin:.06em .08em 0 0;font-size:3.7em;font-weight:600;line-height:.8}@supports (initial-letter:3) or (-webkit-initial-letter:3){.prose .dropcap-paragraph:first-letter{float:none;-webkit-initial-letter:3;initial-letter:3;font-size:inherit;line-height:inherit;margin:0 .1em 0 0}}.prose hr.scene-break{text-align:center;background:0 0;height:auto;margin-block:2.2em}.prose hr.scene-break:before{content:"⁂";font-size:var(--text-lg);color:var(--color-muted)}.prose .katex{font-size:1.05em}.prose .katex-display{margin-inline:0;padding-block:6px;overflow:auto hidden}.prose .katex-display:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}.prose .citation-wrapper{font-style:normal}.prose .citation-link{color:var(--color-accent);text-underline-offset:.22em;text-decoration-style:dotted}.prose .references h2{font-size:var(--text-2xl)}.prose .refs{gap:var(--space-sm);margin-top:var(--space-md);font-size:var(--text-md);padding-left:0;list-style:none;display:grid}.prose .refs>li{text-indent:-1.75em;padding-left:1.75em}.prose .reference .italic,.prose .references .italic{font-style:italic}.schematic-frame{--schematic-surface:var(--color-paper-3);--schematic-vector:var(--color-ink-2);--schematic-color-amber:var(--color-hardware);--schematic-color-blue:var(--color-aviation);--schematic-color-cyan:var(--color-writing);--schematic-color-purple:var(--color-software);--schematic-color-slate:var(--color-muted);--schematic-color-emerald:var(--color-good);contain:layout paint style;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-3);color:var(--color-ink);margin-inline:0;overflow:hidden}.schematic-frame>.schematic-svg{min-width:30rem}.schematic-frame:has(>.schematic-svg){overflow-x:auto}.schematic-frame:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.schematic-frame figcaption{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-rule);color:var(--color-ink);font:650 var(--text-sm) / 1.4 var(--font-ui);text-align:left;margin:0}.schematic-frame figcaption .schematic-summary{font-size:var(--text-xs);color:var(--color-muted);margin-top:2px;font-weight:400;display:block}.schematic-svg{isolation:isolate;width:100%;height:auto;max-height:min(60vh,480px);display:block}.schematic-surface{fill:var(--schematic-surface)}.schematic-grid{opacity:.7}.schematic-grid-line{fill:none;stroke:var(--color-rule);stroke-width:.6px;vector-effect:non-scaling-stroke}.schematic-token{fill:none;stroke:var(--schematic-vector);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.schematic-token--amber{--schematic-vector:var(--schematic-color-amber)}.schematic-token--blue{--schematic-vector:var(--schematic-color-blue)}.schematic-token--cyan{--schematic-vector:var(--schematic-color-cyan)}.schematic-token--purple{--schematic-vector:var(--schematic-color-purple)}.schematic-token--slate{--schematic-vector:var(--schematic-color-slate)}.schematic-token--emerald{--schematic-vector:var(--schematic-color-emerald)}.schematic-node-fill{fill:var(--schematic-vector)}.schematic-trace{stroke-width:1.35px}.schematic-designator,.schematic-label,.schematic-gate-symbol,.schematic-quantum-detail,.schematic-pin-label{fill:var(--color-ink);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;pointer-events:none}.schematic-designator,.schematic-label,.schematic-gate-symbol,.schematic-quantum-detail{text-anchor:middle}.schematic-designator{letter-spacing:.08em;font-size:10px;font-weight:700}.schematic-label{font-size:9px}.schematic-gate-symbol{font-size:12px;font-weight:700}.schematic-quantum-detail{font-size:7px}.schematic-pin-label{font-size:6px;font-weight:600}.schematic-component:focus{outline:none}.schematic-component:focus .schematic-token{stroke:var(--color-focus);stroke-width:3px}.schematic-bloom{display:none}.schematic-error{border:1px solid var(--color-bad);border-radius:var(--radius-md);background:var(--color-bad-soft);margin-inline:0;overflow:hidden}.schematic-error figcaption{padding:var(--space-sm) var(--space-md);color:var(--color-bad);font:600 var(--text-sm) / 1.5 var(--font-ui);text-align:left}.schematic-error pre{padding:var(--space-md);font-size:var(--text-xs);margin:0;overflow-x:auto}.prose .quiz{margin-top:var(--space-xl);font-size:var(--text-md);line-height:1.55}.prose .checks{margin-top:2.6em}.prose .checks .quiz,.prose .checks h2{margin-top:0}.prose .figure>svg{background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:var(--radius-md);width:100%;height:auto}.prose .figure .ln{fill:none;stroke:var(--color-ink-2);stroke-width:1.5px}.prose .figure .ac{stroke:var(--color-software)}.prose .figure .life{fill:none;stroke:var(--color-rule-2);stroke-dasharray:3 5}.prose .figure text{font-family:var(--font-mono);fill:var(--color-ink-2);font-size:13px}.prose .figure .lane{font-family:var(--font-ui);fill:var(--color-ink);font-size:14px;font-weight:700}.prose .figure[data-stepping] .step{opacity:.18;transition:opacity var(--dur-base) var(--ease-out)}.prose .figure[data-stepping] .step[data-seen]{opacity:.55}.prose .figure[data-stepping] .step[data-now]{opacity:1}.prose .figure[data-stepping] .step[data-now] .ln{stroke-width:2.5px}.prose .figure[data-stepping] .step[data-now] text{fill:var(--color-ink);font-weight:600}.prose .stepper{margin-top:var(--space-md);gap:var(--space-xs);font-family:var(--font-ui);display:grid}.prose .stepper__count{font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}.prose .stepper__text{font-family:var(--font-read);color:var(--color-ink-2);min-height:3.4em}.prose .admonition{padding:var(--space-md) var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-3);font-size:var(--text-md)}.prose .admonition>*+*{margin-top:.6em}.prose .admonition .title{font-family:var(--font-display);font-weight:650;display:block}.prose .admonition.github{font-family:var(--font-ui);font-size:var(--text-sm)}.prose .admonition.github img{border-radius:var(--radius-sm);width:40px;height:40px}.prose .admonition.github svg{vertical-align:-3px;width:16px;height:16px}.prose .admonition.github .repo-stats{gap:var(--space-md);color:var(--color-muted);display:flex}.prose .admonition.github .tag{color:var(--color-ink-2);margin-right:6px;display:inline-block}.prose .admonition.github .tag:before{content:none}.prose .responsive-iframe-container>input{display:none}.prose .responsive-iframe-container iframe{border:1px solid var(--color-rule);border-radius:var(--radius-md);width:100%;min-height:360px;display:block}
