.prose-content{color:#111827;transition:color .5s}.dark .prose-content{color:#f3f4f6}.prose-content p{font-size:16px;line-height:175%;margin-bottom:1.25em}.prose-content h2{font-size:17px;font-weight:600;letter-spacing:-.02em;margin-top:2.5em;margin-bottom:.75em;color:#000;transition:color .5s}.dark .prose-content h2{color:#fff}.prose-content h3{font-size:15.5px;font-weight:550;letter-spacing:-.015em;margin-top:2em;margin-bottom:.5em;color:#000;transition:color .5s}.dark .prose-content h3{color:#fff}.prose-content a{color:#00000073;text-decoration:underline;text-decoration-color:#0003;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.prose-content a:hover{color:#2891df;text-decoration-color:#2891df}.dark .prose-content a{color:#fff6;text-decoration-color:#ffffff26}.dark .prose-content a:hover{color:#2891df;text-decoration-color:#2891df}.prose-content ul,.prose-content ol{font-size:16px;line-height:175%;padding-left:1.25em;margin-bottom:1.25em}.prose-content li{margin-bottom:.25em}.prose-content blockquote{border-left:2px solid rgba(0,0,0,.15);padding-left:1em;margin:1.25em 0;font-family:GeistPixelSquare,sans-serif;font-style:italic;color:#0009;transition:color .5s,border-color .5s}.dark .prose-content blockquote{border-color:#ffffff26;color:#fff9}.prose-content code{font-size:13px;background:#0000000d;padding:2px 5px;border-radius:3px;transition:background .5s}.dark .prose-content code{background:#ffffff1a}.prose-content pre{font-size:13px;padding:1em;border-radius:6px;overflow-x:auto;margin-bottom:1.25em}.prose-content pre code{background:none;padding:0}.prose-content hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:2em 0;transition:border-color .5s}.dark .prose-content hr{border-color:#ffffff1a}.prose-content img{border-radius:6px;margin:1.25em 0;cursor:zoom-in;transition:opacity .2s}.prose-content img:hover{opacity:.9}.img-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0000;cursor:zoom-out;pointer-events:none;transition:background .3s ease}.img-overlay.active{background:#000000d9;pointer-events:auto}.img-overlay img{max-width:90vw;max-height:90vh;border-radius:8px;transform:scale(.95);opacity:0;transition:transform .3s ease,opacity .3s ease}.img-overlay.active img{transform:scale(1);opacity:1}.toc-sidebar{position:fixed;top:0;bottom:0;right:48px;display:none;align-items:center;z-index:40;pointer-events:none;opacity:0;transition:opacity .4s ease}.toc-sidebar.visible{opacity:1}@media(min-width:1280px){.toc-sidebar{display:flex}}.toc-inner{pointer-events:auto;display:flex;flex-direction:column;position:relative;padding-left:16px}.toc-indicator{position:absolute;left:0;width:2px;border-radius:1px;background:#00000073;transition:top .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1)}.dark .toc-indicator{background:#ffffff80}.toc-link{display:block;font-size:13px;font-weight:400;letter-spacing:-.01em;line-height:1.4;padding:5px 0;color:#00000038;text-decoration:none;transition:color .2s ease;max-width:220px}.toc-link:hover{color:#00000080}.toc-link.active{color:#000000bf;font-weight:500}.dark .toc-link{color:#ffffff2e}.dark .toc-link:hover{color:#fff6}.dark .toc-link.active{color:#ffffffb3}.toc-link-sub{padding-left:12px;font-size:12px}.prose-content h2,.prose-content h3{scroll-margin-top:2rem}.progress-bar{position:fixed;top:0;left:0;height:2px;width:0%;background:#0000001f;z-index:50;pointer-events:none}.dark .progress-bar{background:#ffffff26}.share-btn{flex-shrink:0;padding:4px;color:#0003;border:none;background:none;cursor:pointer;border-radius:4px;transition:color .15s ease,background .15s ease;margin-top:1px}.share-btn:hover{color:#00000080;background:#0000000d}.dark .share-btn{color:#fff3}.dark .share-btn:hover{color:#ffffff73;background:#ffffff14}.scroll-top-btn{position:fixed;bottom:32px;right:32px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:#fff;color:#00000059;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease,color .15s ease,border-color .15s ease;z-index:40;box-shadow:0 1px 4px #0000000f}.scroll-top-btn.visible{opacity:1;pointer-events:auto}.scroll-top-btn:hover{color:#0009;border-color:#00000026}.dark .scroll-top-btn{background:#262626;border-color:#ffffff14;color:#ffffff59;box-shadow:0 1px 4px #0000004d}.dark .scroll-top-btn:hover{color:#fff9;border-color:#ffffff26}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(16px);background:#171717;color:#ffffffe6;font-size:13px;letter-spacing:-.01em;padding:8px 16px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:60;white-space:nowrap}.toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.dark .toast{background:#f0f0f0;color:#171717}.heading-anchor{opacity:0;margin-left:6px;color:#0003;cursor:pointer;transition:opacity .15s ease,color .15s ease;text-decoration:none}.prose-content h2:hover .heading-anchor,.prose-content h3:hover .heading-anchor{opacity:1}.heading-anchor:hover{color:#2891df!important}.dark .heading-anchor{color:#fff3}.sidenote-ref{font-size:12px;font-weight:500;color:#00000059;vertical-align:super;line-height:0;cursor:default;margin-left:1px;transition:color .2s}.dark .sidenote-ref{color:#ffffff4d}.sidenote{position:absolute;left:-220px;width:180px;font-size:13px;line-height:1.5;color:#0006;transition:color .5s}.dark .sidenote{color:#ffffff59}.sidenote-number{font-size:12px;font-weight:500;color:#00000059;margin-right:4px;transition:color .5s}.dark .sidenote-number{color:#ffffff4d}@media(max-width:1024px){.sidenote{position:relative;right:auto;width:100%;margin:.5em 0 1em;padding-left:1em;border-left:2px solid rgba(0,0,0,.08);font-size:13px}.dark .sidenote{border-color:#ffffff14}}.prose-content .image-caption{text-align:center;font-size:13px;color:#00000059;margin-top:-.75em;margin-bottom:1.75em;line-height:1.5;font-style:normal}.dark .prose-content .image-caption{color:#ffffff4d}.link-preview{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#171717;color:#ffffffb3;font-size:11px;padding:3px 8px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:10}.prose-content a:hover .link-preview{opacity:1}.dark .link-preview{background:#f0f0f0;color:#0009}
