.prose{font-family:var(--font-serif);color:var(--fg);font-size:1.18rem;line-height:1.7}.prose>*+*{margin-top:1.4em}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-serif);letter-spacing:-.012em;color:var(--fg);margin-top:2.4em;margin-bottom:.6em;font-weight:600;line-height:1.2}.prose h1{font-size:var(--step-5);margin-top:0}.prose h2{font-size:var(--step-3);border-top:1px solid var(--border);padding-top:2.2rem}.prose h3{font-size:var(--step-2)}.prose h4{font-size:var(--step-1)}.prose p{margin:0 0 1.2em}.prose strong{color:var(--fg);font-weight:600}.prose em{font-style:italic}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in oklab, var(--accent) 35%, transparent);text-underline-offset:.18em}.prose a:hover{color:var(--accent-hover);text-decoration-color:var(--accent-hover)}.prose blockquote{border-left:2px solid var(--accent);color:var(--fg-muted);margin:2em 0;padding-left:1.4em;font-style:italic}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.6em}.prose ul li,.prose ol li{margin-block:.4em}.prose ul li::marker{color:var(--fg-subtle)}.prose ol li::marker{color:var(--fg-subtle);font-variant-numeric:tabular-nums}.prose code{font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;padding:.12em .4em;font-size:.92em}.prose pre{background:var(--bg-elevated);border:1px solid var(--border);font-size:.94rem;line-height:1.55;font-family:var(--font-mono);border-radius:8px;margin:1.5em 0;padding:1.1rem 1.3rem;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}:root[data-theme=dark] .prose .astro-code,:root[data-theme=dark] .prose .astro-code span{color:var(--shiki-dark)!important;background:var(--shiki-dark-bg,var(--bg-elevated))!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .prose .astro-code,:root:not([data-theme=light]) .prose .astro-code span{color:var(--shiki-dark)!important;background:var(--shiki-dark-bg,var(--bg-elevated))!important}}.prose figure{margin:2.2em 0}.prose figcaption{color:var(--fg-muted);text-align:center;margin-top:.5em;font-size:.92rem;font-style:italic}.prose hr{border-top:1px solid var(--border);margin:3rem 0}.prose .katex{font-size:1.05em}.prose .katex-display{margin:1.6em 0;padding-block:.4em;overflow:auto hidden}.prose .katex-display>.katex{text-align:center;display:inline-block}:root[data-theme=dark] .katex,:root[data-theme=dark] .katex .mord,:root[data-theme=dark] .katex .mrel,:root[data-theme=dark] .katex .mbin,:root[data-theme=dark] .katex .mop{color:var(--fg)}.article-meta{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.article-title{font-family:var(--font-serif);font-size:clamp(var(--step-4), 5vw, var(--step-6));letter-spacing:-.022em;margin:0 0 1rem;font-weight:600;line-height:1.05}.article-subtitle{font-family:var(--font-serif);font-style:italic;font-size:var(--step-2);color:var(--fg-muted);max-width:48ch;margin:0 0 3rem;line-height:1.35}.article-header{padding-block:clamp(3rem,8vw,6rem) clamp(2rem,4vw,3rem)}.scrolly{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100vw;margin-block:clamp(3rem,6vw,5rem);margin-inline:calc(50% - 50vw);display:grid;position:relative}.scrolly:before{content:"";z-index:0;background:linear-gradient(to right, var(--bg) 0%, var(--bg) 50%, var(--manim-bg) 50%, var(--manim-bg) 100%);pointer-events:none;position:absolute;inset:0}.scrolly__steps,.scrolly__figure{z-index:1;position:relative}.scrolly__steps{flex-direction:column;padding-block:clamp(2rem,4vw,3rem);padding-inline:clamp(1.5rem,6vw,6rem) clamp(2rem,5vw,5rem);display:flex}.scrolly__step{opacity:.32;min-height:90vh;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);align-items:center;padding-block:1rem;display:flex;transform:translateY(8px)}.scrolly__step.is-active{opacity:1;transform:translateY(0)}.scrolly__step .step-body{font-family:var(--font-serif);color:var(--fg);max-width:38ch;font-size:1.22rem;line-height:1.6}.scrolly__step .step-body p{margin:0 0 1em}.scrolly__step .step-body p:last-child{margin:0}.scrolly__step .step-body .katex{font-size:1.04em}.scrolly__step .step-body .katex-display{margin:.8em 0}.scrolly__step .step-label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem;display:inline-block}.scrolly__figure-inner{top:var(--header-h);height:calc(100vh - var(--header-h));background:var(--manim-bg);place-items:center;width:100%;display:grid;position:sticky;overflow:hidden}.scrolly__figure svg{width:100%;height:100%;display:block}@media (width<=880px){.scrolly{grid-template-columns:1fr;margin-block:clamp(2rem,5vw,3rem)}.scrolly:before{display:none}.scrolly__figure{top:var(--header-h);height:calc(56vh - var(--header-h));z-index:2;background:var(--manim-bg);order:-1;position:sticky}.scrolly__figure-inner{height:100%;position:relative;top:auto}.scrolly__steps{padding:1.5rem clamp(1.25rem,4vw,2rem) 2rem}.scrolly__step{min-height:60vh}.scrolly__step .step-body{max-width:none;font-size:1.1rem}}.scrolly-intro,.scrolly-outro{width:min(var(--measure-prose), 100% - 2rem);font-family:var(--font-serif);margin:2rem auto;font-size:1.18rem;line-height:1.7}.scrolly-intro p,.scrolly-outro p{margin:0 0 1.2em}
