.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:transparent;pointer-events:none}.reading-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#6d28d9,#b447eb);transition:width 50ms linear}.prose-post{color:#20283c;font-size:18px;line-height:1.75}.prose-post>*+*{margin-top:1.1rem}.prose-post>h2+*,.prose-post>h3+*{margin-top:.75rem}.prose-post p{font-size:18px;line-height:1.75}.prose-post .lede{font-size:22px;line-height:1.55;color:#364363;font-weight:500;margin-top:1.5rem}.prose-post .lede:first-letter{font-size:3.4em;float:left;line-height:.9;padding:.18em .14em 0 0;color:#6d28d9;font-weight:700}.prose-post h2{font-size:32px;font-weight:700;letter-spacing:-.022em;line-height:1.2;margin-top:3.5rem!important;color:#020817;scroll-margin-top:5rem;position:relative}.prose-post h2:before{content:"";position:absolute;left:-1.25rem;top:.45em;height:.55em;width:4px;background:linear-gradient(180deg,#6d28d9,#b447eb);border-radius:2px}.prose-post h3{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-top:2.25rem!important;color:#020817;scroll-margin-top:5rem}.prose-post h4{font-size:17px;font-weight:600;margin-top:1.5rem!important;color:#0e214e}.prose-post ul,.prose-post ol{margin:1.1rem 0;padding-left:1.5rem}.prose-post ul{list-style:disc}.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-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:#c4a8f0;transition:text-decoration-color .15s}.prose-post a:not(.btn):hover{text-decoration-color:#6122c3}.prose-post code{font-family:Geist Mono,ui-monospace,monospace;font-size:.88em;background:#f0f2f4;padding:.15em .42em;border-radius:5px;color:#4c1b98;font-weight:500}.prose-post pre{background:#020817;color:#e8eaed;padding:0;border-radius:12px;overflow:hidden;font-size:14px;line-height:1.65;margin:1.75rem 0;border:1px solid hsl(222.2 30% 18%);position:relative}.prose-post pre:before{content:"";display:block;height:30px;background:radial-gradient(circle at 14px 15px,#ff5f56 4px,transparent 4.5px),radial-gradient(circle at 36px 15px,#ffbd2e 4px,transparent 4.5px),radial-gradient(circle at 58px 15px,#27c93f 4px,transparent 4.5px),#0b1222;border-bottom:1px solid hsl(222.2 30% 18%)}.prose-post pre code{background:transparent;padding:1.1rem 1.4rem;font-size:inherit;color:inherit;font-weight:400;display:block;overflow-x:auto}.prose-post blockquote{border-left:3px solid hsl(263.4 70% 50.4%);padding:.2rem 0 .2rem 1.25rem;font-style:italic;margin:1.5rem 0;color:#3e4e74}.prose-post .pull-quote{font-size:28px;line-height:1.35;font-weight:600;letter-spacing:-.015em;color:#020817;text-align:center;margin:3rem 0!important;padding:0 1.5rem;position:relative;border:none;font-style:normal}.prose-post .pull-quote:before,.prose-post .pull-quote:after{content:"";display:block;width:64px;height:4px;background:linear-gradient(90deg,#6d28d9,#b447eb);margin:1rem auto;border-radius:2px}.prose-post table{width:100%;margin:1.75rem 0;border-collapse:collapse;font-size:15px;border:1px solid hsl(220 13% 91%);border-radius:10px;overflow:hidden}.prose-post th,.prose-post td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid hsl(220 13% 91%);vertical-align:top}.prose-post th{font-weight:600;background:#f6f7f8;color:#020817;font-size:13px;letter-spacing:.02em;text-transform:uppercase}.prose-post tbody tr:last-child td{border-bottom:0}.prose-post tbody tr:hover{background:#fcfcfd}.prose-post img{max-width:100%;height:auto;border-radius:12px;border:1px solid hsl(220 13% 88%);box-shadow:0 8px 30px -10px #0000002e;margin:1.75rem 0;display:block}.prose-post figure{margin:2rem 0}.prose-post figure img{margin:0}.prose-post figure figcaption{margin-top:.65rem;font-size:14px;color:#6b7280;text-align:center;font-style:italic}.prose-post .divider{margin:4rem 0!important;text-align:center;position:relative;height:1px;background:linear-gradient(90deg,transparent,hsl(220 13% 85%) 30%,hsl(220 13% 85%) 70%,transparent)}.prose-post .divider:after{content:"✦";position:absolute;top:-.85em;left:50%;transform:translate(-50%);background:#fff;padding:0 1rem;color:#7b3cdd;font-size:16px}.prose-post .callout{margin:1.75rem 0!important;padding:1.25rem 1.5rem 1.25rem 3.5rem;border-radius:14px;position:relative;font-size:16.5px;line-height:1.65}.prose-post .callout:before{position:absolute;left:1.2rem;top:1.25rem;font-size:22px;line-height:1}.prose-post .callout>*:first-child{margin-top:0}.prose-post .callout>*:last-child{margin-bottom:0}.prose-post .callout .callout-label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-family:Geist Mono,ui-monospace,monospace}.prose-post .callout.pain{background:linear-gradient(180deg,#fef0f0,#fdeded);border:1px solid hsl(0 80% 90%)}.prose-post .callout.pain:before{content:"⚠";color:#d92626}.prose-post .callout.pain .callout-label{color:#c32222}.prose-post .callout.solution{background:linear-gradient(180deg,#f6f2fd,#f3eefc);border:1px solid hsl(263.4 70% 90%)}.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 hsl(220 13% 88%)}.prose-post .callout.info:before{content:"i";color:#6b7280;font-style:italic;font-weight:600;font-family:Geist,sans-serif}.prose-post .callout.info .callout-label{color:#6b7280}.toc{position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;font-size:13px;line-height:1.5;padding-left:.5rem;border-left:1px solid hsl(220 13% 91%)}.toc-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6b7280;margin-bottom:.85rem}.toc a{display:block;padding:.32rem .85rem;color:#3e4e74;text-decoration:none;border-radius:6px;transition:all .12s;line-height:1.45;border-left:2px solid transparent;margin-left:-2px}.toc a:hover{color:#6122c3;background:#f9f6fd}.toc a.active{color:#6122c3;border-left-color:#6c26d9;background:#f9f6fd;font-weight:500}.prose-post .diagram{margin:2.5rem 0!important;padding:2rem;background:#030711;border-radius:16px;color:#fff;text-align:center}.prose-post .diagram svg{max-width:100%;height:auto}.prose-post .diagram-caption{font-size:13px;color:#a8afbd;margin-top:.85rem;font-style:italic}
