.reading-progress{z-index:100;pointer-events:none;background:0 0;height:3px;position:fixed;top:0;left:0;right:0}.reading-progress-fill{background:linear-gradient(90deg,#6d28d9,#b447eb);width:0%;height:100%;transition:width 50ms linear}.prose-post{color:#20283c;font-size:14px;line-height:1.625}.prose-post>*+*{margin-top:1rem}.prose-post>h2+*,.prose-post>h3+*{margin-top:.6rem}.prose-post p{font-size:14px;line-height:1.625}.prose-post .lede{color:#364363;margin-top:1.5rem;font-size:16px;font-weight:500;line-height:1.55}.prose-post .lede:first-letter{float:left;color:#6d28d9;padding:.18em .14em 0 0;font-size:3.4em;font-weight:700;line-height:.9}.prose-post h2{letter-spacing:-.022em;color:#020817;scroll-margin-top:5rem;font-size:24px;font-weight:700;line-height:1.2;position:relative;margin-top:3.5rem!important}.prose-post h2:before{content:"";background:linear-gradient(#6d28d9,#b447eb);border-radius:2px;width:4px;height:.55em;position:absolute;top:.45em;left:-1.25rem}.prose-post h3{letter-spacing:-.01em;color:#020817;scroll-margin-top:5rem;font-size:17px;font-weight:700;line-height:1.3;margin-top:2.25rem!important}.prose-post h4{color:#0e214e;font-size:14px;font-weight:600;margin-top:1.5rem!important}.prose-post ul,.prose-post ol{margin:1.1rem 0;padding-left:1.5rem}.prose-post ul{list-style:outside}.prose-post ol{list-style:decimal}.prose-post li{margin:.45rem 0;line-height:1.65}.prose-post li>p{margin:.3rem 0}.prose-post li::marker{color:#7b3cdd}.prose-post strong{color:#020817;font-weight:600}.prose-post a:not(.btn){color:#6122c3;text-underline-offset:3px;text-decoration:underline 1.5px #c4a8f0;transition:text-decoration-color .15s}.prose-post a:not(.btn):hover{text-decoration-color:#6122c3}.prose-post code{color:#4c1b98;background:#f0f2f4;border-radius:5px;padding:.15em .42em;font-family:Geist Mono,ui-monospace,monospace;font-size:.88em;font-weight:500}.prose-post pre{color:#e8eaed;background:#020817;border:1px solid #20283c;border-radius:12px;margin:1.75rem 0;padding:0;font-size:14px;line-height:1.65;position:relative;overflow:hidden}.prose-post pre:before{content:"";background:radial-gradient(circle at 14px 15px,#ff5f56 4px,#0000 4.5px),radial-gradient(circle at 36px 15px,#ffbd2e 4px,#0000 4.5px),radial-gradient(circle at 58px 15px,#27c93f 4px,#0000 4.5px),#0b1222;border-bottom:1px solid #20283c;height:30px;display:block}.prose-post pre code{font-size:inherit;color:inherit;background:0 0;padding:1.1rem 1.4rem;font-weight:400;display:block;overflow-x:auto}.prose-post blockquote{color:#3e4e74;border-left:3px solid #6d28d9;margin:1.5rem 0;padding:.2rem 0 .2rem 1.25rem;font-style:italic}.prose-post .pull-quote{letter-spacing:-.015em;color:#020817;text-align:center;border:none;padding:0 1.5rem;font-size:20px;font-style:normal;font-weight:600;line-height:1.35;position:relative;margin:3rem 0!important}.prose-post .pull-quote:before,.prose-post .pull-quote:after{content:"";background:linear-gradient(90deg,#6d28d9,#b447eb);border-radius:2px;width:64px;height:4px;margin:1rem auto;display:block}.prose-post table{border-collapse:collapse;border:1px solid #e5e7eb;border-radius:10px;width:100%;margin:1.75rem 0;font-size:15px;overflow:hidden}.prose-post th,.prose-post td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.prose-post th{color:#020817;letter-spacing:.02em;text-transform:uppercase;background:#f6f7f8;font-size:13px;font-weight:600}.prose-post tbody tr:last-child td{border-bottom:0}.prose-post tbody tr:hover{background:#fcfcfd}.prose-post img{border:1px solid #dcdfe4;border-radius:12px;max-width:100%;height:auto;margin:1.75rem 0;display:block;box-shadow:0 8px 30px -10px #0000002e}.prose-post figure{margin:2rem 0}.prose-post figure img{margin:0}.prose-post figure figcaption{color:#6b7280;text-align:center;margin-top:.65rem;font-size:14px;font-style:italic}.prose-post .divider{text-align:center;background:linear-gradient(90deg,#0000,#d4d7de 30% 70%,#0000);height:1px;position:relative;margin:4rem 0!important}.prose-post .divider:after{content:"✦";color:#7b3cdd;background:#fff;padding:0 1rem;font-size:16px;position:absolute;top:-.85em;left:50%;transform:translate(-50%)}.prose-post .callout{border-radius:14px;padding:1.25rem 1.5rem 1.25rem 3.5rem;font-size:16.5px;line-height:1.65;position:relative;margin:1.75rem 0!important}.prose-post .callout:before{font-size:22px;line-height:1;position:absolute;top:1.25rem;left:1.2rem}.prose-post .callout>:first-child{margin-top:0}.prose-post .callout>:last-child{margin-bottom:0}.prose-post .callout .callout-label{letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;font-weight:700;display:block}.prose-post .callout.pain{background:linear-gradient(#fef0f0,#fdeded);border:1px solid #fad1d1}.prose-post .callout.pain:before{content:"⚠";color:#d92626}.prose-post .callout.pain .callout-label{color:#c32222}.prose-post .callout.solution{background:linear-gradient(#f6f2fd,#f3eefc);border:1px solid #e2d4f7}.prose-post .callout.solution:before{content:"✓";color:#6c26d9;font-weight:800}.prose-post .callout.solution .callout-label{color:#6122c3}.prose-post .callout.info{background:#f6f7f8;border:1px solid #dcdfe4}.prose-post .callout.info:before{content:"i";color:#6b7280;font-family:Geist,sans-serif;font-style:italic;font-weight:600}.prose-post .callout.info .callout-label{color:#6b7280}.toc{border-left:1px solid #e5e7eb;max-height:calc(100vh - 6rem);padding-left:.5rem;font-size:13px;line-height:1.5;position:sticky;top:5rem;overflow-y:auto}.toc-label{letter-spacing:.14em;text-transform:uppercase;color:#6b7280;margin-bottom:.85rem;font-size:11px;font-weight:700}.toc a{color:#3e4e74;border-left:2px solid #0000;border-radius:6px;margin-left:-2px;padding:.32rem .85rem;line-height:1.45;text-decoration:none;transition:all .12s;display:block}.toc a:hover{color:#6122c3;background:#f9f6fd}.toc a.active{color:#6122c3;background:#f9f6fd;border-left-color:#6c26d9;font-weight:500}.prose-post .diagram{color:#fff;text-align:center;background:#030711;border-radius:16px;padding:2rem;margin:2.5rem 0!important}.prose-post .diagram svg{max-width:100%;height:auto}.prose-post .diagram-caption{color:#a8afbd;margin-top:.85rem;font-size:13px;font-style:italic}:root[data-theme=dark] .prose-post{color:#c5cad3}:root[data-theme=dark] .prose-post .lede{color:#d9dce3}:root[data-theme=dark] .prose-post .lede:first-letter{color:#b084f5}:root[data-theme=dark] .prose-post h2,:root[data-theme=dark] .prose-post h3,:root[data-theme=dark] .prose-post strong,:root[data-theme=dark] .prose-post .pull-quote,:root[data-theme=dark] .prose-post th{color:#f0f1f5}:root[data-theme=dark] .prose-post h4{color:#dbdfe6}:root[data-theme=dark] .prose-post li::marker{color:#a97bf4}:root[data-theme=dark] .prose-post a:not(.btn){color:#b992f6;text-decoration-color:#6434b2}:root[data-theme=dark] .prose-post a:not(.btn):hover{text-decoration-color:#b992f6}:root[data-theme=dark] .prose-post code{color:#c8aaf8;background:#1f222d}:root[data-theme=dark] .prose-post pre code{color:inherit;background:0 0}:root[data-theme=dark] .prose-post pre{background:#07080d;border-color:#292c38}:root[data-theme=dark] .prose-post pre:before{border-bottom-color:#292c38}:root[data-theme=dark] .prose-post blockquote{color:#afb5c0}@media (width<=767px){.prose-post table{display:block;overflow-x:auto}}:root[data-theme=dark] .prose-post table{border-color:#292c38}:root[data-theme=dark] .prose-post th,:root[data-theme=dark] .prose-post td{border-bottom-color:#292c38}:root[data-theme=dark] .prose-post th{background:#14161f}:root[data-theme=dark] .prose-post tbody tr:hover{background:#12141c}:root[data-theme=dark] .prose-post img{box-shadow:none;border-color:#292c38}:root[data-theme=dark] .prose-post figure figcaption{color:#9ba2b0}:root[data-theme=dark] .prose-post .divider{background:linear-gradient(90deg,#0000,#343746 30% 70%,#0000)}:root[data-theme=dark] .prose-post .divider:after{color:#a97bf4;background:#0d0f16}:root[data-theme=dark] .prose-post .callout.pain{background:#2c1111;border-color:#602424}:root[data-theme=dark] .prose-post .callout.pain:before{color:#f36868}:root[data-theme=dark] .prose-post .callout.pain .callout-label{color:#f47b7b}:root[data-theme=dark] .prose-post .callout.solution{background:#1e142e;border-color:#412b64}:root[data-theme=dark] .prose-post .callout.solution:before,:root[data-theme=dark] .prose-post .callout.solution .callout-label{color:#b68ef6}:root[data-theme=dark] .prose-post .callout.info{background:#14161f;border-color:#2e303e}:root[data-theme=dark] .prose-post .callout.info:before,:root[data-theme=dark] .prose-post .callout.info .callout-label{color:#9ba2b0}:root[data-theme=dark] .prose-post .diagram{border:1px solid #292c38}:root[data-theme=dark] .toc{border-left-color:#292c38}:root[data-theme=dark] .toc-label{color:#9ba2b0}:root[data-theme=dark] .toc a{color:#aeb4c2}:root[data-theme=dark] .toc a:hover,:root[data-theme=dark] .toc a.active{color:#b992f6;background:#201532}:root[data-theme=dark] .toc a.active{border-left-color:#935ee8}
