.prose{--prose-rhythm:1.974rem}.prose .lead{color:var(--text-secondary);margin-bottom:calc(var(--prose-rhythm) * 1.5);font-size:1.3rem;line-height:1.6}.prose p{margin-bottom:var(--prose-rhythm)}.prose h2{margin-top:calc(var(--prose-rhythm) * 2.5);margin-bottom:calc(var(--prose-rhythm) * .75);font-size:1.5rem}.prose h3{margin-top:calc(var(--prose-rhythm) * 2);margin-bottom:calc(var(--prose-rhythm) * .5);font-size:1.2rem}.prose h4{margin-top:calc(var(--prose-rhythm) * 1.5);margin-bottom:calc(var(--prose-rhythm) * .4);font-size:1.05rem;font-weight:600}.prose>h2:first-child,.prose>h3:first-child,.prose>h4:first-child{margin-top:0}.prose a{text-underline-offset:3px;text-decoration-color:var(--border);transition:text-decoration-color .2s,color .2s}.prose a:hover{text-decoration-color:var(--accent)}.prose ul,.prose ol{margin-top:.6em;margin-bottom:.6em;padding-left:1.5em}.prose p+ul,.prose p+ol{margin-top:-.8em}.prose li,.prose li>p{margin-bottom:.4em}.prose li>ul,.prose li>ol{margin-top:.4em;margin-bottom:.4em}.prose ol{list-style-type:decimal}.prose ul{list-style-type:disc}.prose blockquote{margin-top:var(--prose-rhythm);margin-bottom:var(--prose-rhythm);padding-top:.25rem;padding-bottom:.25rem;font-size:1.05rem}.prose blockquote p:last-child{margin-bottom:0}.prose blockquote footer,.prose blockquote cite{color:var(--text-tertiary);margin-top:.5rem;font-size:.9rem;font-style:normal;display:block}.prose pre{margin-top:var(--prose-rhythm);margin-bottom:var(--prose-rhythm)}.prose hr{margin:calc(var(--prose-rhythm) * 2) 0;border-top-color:var(--border-subtle)}.prose img{border-radius:4px}.prose figure{margin:calc(var(--prose-rhythm) * 1.5) 0}.prose figure img{margin:0;display:block}.prose figcaption{font-family:var(--font-sans);color:var(--text-secondary);margin-top:.6rem;font-size:.85rem;line-height:1.45}.prose .prose-figure{max-width:var(--figure-width,80%);margin-left:auto;margin-right:auto}.prose .prose-figure figcaption{text-align:center}.prose .prose-figure.prose-gallery{grid-template-columns:repeat(var(--gallery-cols,2), 1fr);max-width:var(--figure-width,100%);gap:1rem;display:grid}.prose .prose-figure-item{max-width:100%;margin:0}.prose .prose-figure-item img{width:100%}.prose .prose-figure-item figcaption{text-align:center}@media (width<=480px){.prose .prose-figure.prose-gallery{grid-template-columns:1fr}}.prose table{border-collapse:collapse;width:100%;margin-top:var(--prose-rhythm);margin-bottom:var(--prose-rhythm);font-size:.95rem}.prose thead th{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);text-align:left;border-bottom:2px solid var(--border);padding:.5rem .75rem;font-size:.85rem;font-weight:600}.prose thead th .katex{text-transform:none;letter-spacing:normal}.prose tbody td{border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:.5rem .75rem}.prose tbody tr:last-child td{border-bottom:none}.prose blog-sandbox{width:100%;margin:calc(var(--prose-rhythm) * 1.5) auto;display:block}.prose blog-sandbox blog-demo{max-width:100%;margin:0}.prose blog-sandbox .sandbox-files{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.prose blog-sandbox .sandbox-file-name{font-family:var(--font-mono);color:var(--text-tertiary);margin-bottom:.3rem;font-size:.75rem}.prose blog-sandbox .sandbox-file pre{max-height:28rem;margin:0;overflow:auto}.prose blog-sandbox .sandbox-tabs{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:.25rem;margin-top:.75rem;display:flex}.prose blog-sandbox .sandbox-tab{font-family:var(--font-mono);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.35rem .6rem;font-size:.75rem}.prose blog-sandbox .sandbox-tab:hover{color:var(--text-secondary)}.prose blog-sandbox .sandbox-tab[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--accent)}.prose blog-sandbox .sandbox-actions{gap:.25rem;margin-left:auto;display:flex}.prose blog-sandbox .sandbox-action{font-family:var(--font-mono);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:.35rem .6rem;font-size:.75rem}.prose blog-sandbox .sandbox-action:hover{color:var(--text-secondary)}.prose blog-sandbox .sandbox-status{font-family:var(--font-mono);color:var(--demo-red);white-space:pre-wrap;padding:.35rem 0;font-size:.75rem}.prose blog-sandbox .sandbox-file .cm-editor{background:var(--bg-code);border:1px solid var(--border-subtle);border-radius:6px;max-height:28rem}.prose blog-sandbox .sandbox-file .cm-scroller{padding:.65rem .5rem}.prose blog-sandbox[data-tabbed] .sandbox-files{margin-top:0}.prose blog-sandbox[data-tabbed] .sandbox-file-name{display:none}.prose blog-sandbox[data-layout=tabbed][data-tabbed]{grid-template-rows:auto auto;display:grid}.prose blog-sandbox[data-layout=tabbed][data-tabbed] .sandbox-tabs{grid-row:1;margin-top:0;margin-bottom:.5rem}.prose blog-sandbox[data-layout=tabbed][data-tabbed]>blog-demo,.prose blog-sandbox[data-layout=tabbed][data-tabbed] .sandbox-files{grid-area:2/1;min-height:0;margin-top:0}.prose blog-sandbox[data-layout=tabbed][data-tabbed] .sandbox-files{pointer-events:none;position:relative}.prose blog-sandbox[data-layout=tabbed][data-tabbed] .sandbox-file{pointer-events:auto;position:absolute;inset:0}.prose blog-sandbox[data-layout=tabbed][data-tabbed] .sandbox-file pre{height:100%;max-height:none;overflow:auto}.prose blog-sandbox[data-layout=tabbed][data-tabbed] .sandbox-file .cm-editor{height:100%;max-height:none}.prose blog-sandbox[data-layout=tabbed][data-tabbed] .sandbox-status{grid-area:3/1}.prose blog-sandbox[data-layout=tabbed]>blog-demo.sandbox-inactive{visibility:hidden;pointer-events:none}@media print{.prose blog-sandbox .sandbox-tabs{display:none}.prose blog-sandbox[data-tabbed],.prose blog-sandbox[data-tabbed] .sandbox-file-name{display:block}.prose blog-sandbox[data-tabbed] .sandbox-files{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex;position:static}.prose blog-sandbox[data-tabbed] .sandbox-file{position:static}.prose blog-sandbox[data-tabbed] .sandbox-file[hidden]{display:block}.prose blog-sandbox[data-tabbed] .sandbox-file pre{height:auto;max-height:none;overflow:visible}.prose blog-sandbox .sandbox-status{display:none}.prose blog-sandbox .sandbox-file .cm-editor{max-height:none}.prose blog-sandbox>blog-demo.sandbox-inactive{visibility:visible}}.prose blog-demo{width:100%;max-width:var(--demo-width,100%);aspect-ratio:16/9;margin:calc(var(--prose-rhythm) * 1.5) auto;background:var(--demo-background);display:block}.prose blog-demo .blog-demo-stage{width:100%;height:100%;position:relative}.prose blog-demo .blog-demo-poster{border:1px dashed var(--border);background:var(--bg-subtle);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;height:100%;text-decoration:none;transition:border-color .2s,background .2s;display:flex}a.blog-demo-poster:hover{border-color:var(--accent);background:var(--bg-code)}.blog-demo-poster-name{font-family:var(--font-mono);color:var(--text-secondary);font-size:.8rem}.blog-demo-poster-cta{font-family:var(--font-sans);color:var(--accent);font-size:.85rem;font-weight:500}.prose blog-demo .blog-demo-error{border:1px solid var(--border);height:100%;font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-subtle);padding:1rem;font-size:.8rem;overflow:auto}.prose blog-demo .blog-demo-error strong{color:var(--text);margin-bottom:.5rem;display:block}.prose blog-demo .blog-demo-error pre{white-space:pre-wrap;background:0 0;border:none;margin:0;padding:0}.prose .katex{font-size:1.05em}.prose .katex-display>.katex{font-size:1.15em}.prose .katex-display{margin:calc(var(--prose-rhythm) * 1.25) 0;padding:.25rem 0;overflow:auto hidden}.prose .footnotes{margin-top:calc(var(--prose-rhythm) * 2.5);padding-top:var(--prose-rhythm);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.9rem}.prose .footnotes ol{padding-left:1.25em}.prose .footnotes li{margin-bottom:.5em}.prose .footnotes .data-footnote-backref{font-family:var(--font-sans);margin-left:.25em;text-decoration:none}.prose sup a[data-footnote-ref]{font-family:var(--font-sans);color:var(--accent);font-size:.75em;text-decoration:none}.prose strong{color:var(--text-heading);font-weight:600}.prose dt{color:var(--text-heading);margin-top:var(--prose-rhythm);font-weight:600}.prose dd{margin-bottom:.5em;margin-left:1.5em}.prose .math-block{margin-top:var(--prose-rhythm);margin-bottom:var(--prose-rhythm);border-left:3px solid var(--accent);background:var(--bg-subtle);border-radius:0 4px 4px 0;padding:.9rem 1.1rem}.prose .math-block>:last-child{margin-bottom:0}.prose .math-block-header{margin-bottom:.4rem;line-height:1.4}.prose .math-block-kind{color:var(--text-heading);letter-spacing:.02em;font-weight:600}.prose .math-block-title{color:var(--text-heading)}.prose .math-block-title:before{content:" ("}.prose .math-block-title:after{content:")"}.prose .math-block-header:after{content:".";color:var(--text-heading);font-weight:600}.prose .math-block--theorem,.prose .math-block--proposition,.prose .math-block--lemma,.prose .math-block--corollary,.prose .math-block--fact{font-style:italic}.prose .math-block--theorem .katex,.prose .math-block--proposition .katex,.prose .math-block--lemma .katex,.prose .math-block--corollary .katex,.prose .math-block--fact .katex,.prose .math-block-header{font-style:normal}.prose .math-block--proof{border-left-color:var(--border);background:0 0}.prose .math-block--proof .math-block-kind{color:var(--text-secondary);font-style:italic;font-weight:500}.prose .math-block--proof .math-block-header:after{color:var(--text-secondary);font-weight:500}.prose .math-block--proof>:last-child:after{content:"∎";color:var(--text-tertiary);margin-left:.4em}.prose .math-block--remark,.prose .math-block--example,.prose .math-block--question{border-left-color:var(--border);background:0 0}
