:root{--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--link: #2997ff;--link-hover: #6db8ff}html,body{background:#000;color:#fff;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,p,li{font-family:monospace;font-weight:300}strong,b{font-weight:700}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600}a{color:#fff;text-decoration:underline}a:hover{background:#fff;color:#000}main{width:80%;margin:0 auto;padding:2rem 0}.description{color:#fffa;font-size:small}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{scrollbar-width:thin;scrollbar-color:transparent transparent}*:hover{scrollbar-color:rgba(255,255,255,.18) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:transparent;border:2px solid transparent;background-clip:content-box;border-radius:9px}:hover::-webkit-scrollbar-thumb{background:#ffffff2e;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:content-box}*{box-sizing:border-box}.post-content{font-family:var(--font-serif);font-size:1.18rem;line-height:1.7}.post-content p,.post-content li{font-family:var(--font-serif);font-weight:400}.post-content p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}.post-content :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-serif)}.post-content a{font-family:inherit;color:var(--link);text-decoration:underline;text-decoration-color:#2997ff66;text-underline-offset:2px}.post-content a:hover{background:transparent;color:var(--link-hover);text-decoration-color:var(--link-hover)}.markdown-content ul,.markdown-content ol{margin:1rem 0;padding-left:2rem}.markdown-content li{margin:.5rem 0;color:#aaa}.markdown-content blockquote{border-left:3px solid #444;padding-left:1rem;margin:1.5rem 0;color:#aaa;font-style:italic}.post-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.92rem;line-height:1.5}.post-content thead{border-top:2px solid currentColor;border-bottom:1px solid currentColor}.post-content thead th{font-weight:600;text-align:left;padding:.5rem 1rem .5rem 0;letter-spacing:.01em}.post-content tbody tr:last-child{border-bottom:2px solid currentColor}.post-content tbody td{padding:.45rem 1rem .45rem 0;vertical-align:top}.post-content tbody tr:first-child td{padding-top:.5rem}.post-content tbody tr:last-child td{padding-bottom:.5rem}.post-content tbody tr:nth-child(2n){background:#8080800d}@media (max-width: 640px){.post-content table{font-size:.82rem}.post-content thead th,.post-content tbody td{padding-right:.5rem}}.post-content pre{background:#0d0d0d;border:1px solid #333;border-radius:6px;padding:1rem;overflow-x:auto;margin:1.5rem 0;font-family:var(--font-mono);font-size:.85rem;line-height:1.6}.post-content pre code{background:transparent;border:none;padding:0;font-size:inherit}.post-content pre.shiki{background-color:#0d0d0d!important}.post-content code{background:#1a1a1a;border:1px solid #333;padding:.1rem .3rem;border-radius:3px;font-family:var(--font-mono);font-size:.85em}.post-content img{max-width:100%;height:auto;display:block;margin:2rem auto;border-radius:6px;border:1px solid #333}.post-content figure{margin:2rem 0;text-align:center}.post-content figure img{margin-bottom:.5rem}.post-content figure.narrow{max-width:320px;margin-left:auto;margin-right:auto}.post-content img.on-white{background:#fff;padding:1rem}.post-content img.book-cover-inline,.post-margin img.book-cover-inline{display:inline-block;width:auto;height:4em;margin:.4em 0 0;vertical-align:middle;border-radius:2px;border:1px solid #333;box-shadow:0 1px 5px #00000073}.post-content .photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;margin:2rem 0}.post-content .photo-grid img{margin:0;width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover}.post-content figcaption{color:#888;font-size:.85rem;font-style:italic;margin-top:.5rem}.post-content .quote{border-left:3px solid #444;padding-left:1rem;margin:1.5rem 0;color:#aaa;font-style:italic}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size3-Regular-gV2CO0n9.woff2) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.site-header{--rail: min(544px, calc(100vw - 1rem) );width:var(--rail);margin-left:calc(50% - var(--rail) / 2);position:sticky;top:.75rem;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem;margin-bottom:2.5rem;padding:.5rem .9rem;font-family:monospace;font-size:.78rem;background:#0a0a0ac7;border:1px solid #232323;border-radius:10px;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.site-header-trail{display:flex;align-items:center;gap:.5rem;min-width:0;white-space:nowrap;overflow:hidden}.site-header-home{color:#fff;font-weight:600;letter-spacing:.04em;text-decoration:none}.site-header-sep{color:#3a3a3a;-webkit-user-select:none;user-select:none}.site-header-crumb{color:#8a8a8a;overflow:hidden;text-overflow:ellipsis}.site-header-crumb a{color:inherit;text-decoration:none}.site-header-nav{display:flex;align-items:center;gap:1.1rem;flex-shrink:0}.site-header-nav a{color:#8a8a8a;text-decoration:none;transition:color .15s ease}.site-header-nav a.active{color:#fff}.site-header-search{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .5rem;margin:-.2rem 0;font:inherit;color:#8a8a8a;background:#ffffff08;border:1px solid #2a2a2a;border-radius:7px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.site-header-search:hover{color:#eaeaea;border-color:#3a3a3a;background:#ffffff0f}.site-header-search svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.site-header-search kbd{font-family:monospace;font-size:.7rem;color:inherit;letter-spacing:.02em}@media (max-width: 540px){.site-header-search kbd{display:none}}@media (max-width: 540px){.site-header{font-size:.72rem;gap:.75rem;padding:.45rem .7rem}.site-header-nav{gap:.75rem}.site-header-crumb,.site-header-trail .site-header-sep{display:none}}.cmdk-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding:14vh 1rem 1rem;background:#0607098c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:cmdk-overlay-in .18s ease forwards}@keyframes cmdk-overlay-in{0%{opacity:0}to{opacity:1}}.cmdk-panel{width:100%;max-width:640px;background:#121214;border:1px solid #2b2b30;border-radius:14px;box-shadow:0 24px 70px #0009,0 2px 8px #0006;overflow:hidden;transform-origin:top center;animation:cmdk-panel-in .26s cubic-bezier(.2,.9,.3,1.25) forwards}@keyframes cmdk-panel-in{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cmdk-input-row{display:flex;align-items:center;gap:.7rem;padding:.95rem 1.05rem;border-bottom:1px solid #232327}.cmdk-search-icon{width:18px;height:18px;flex:none;fill:none;stroke:#6f6f78;stroke-width:2;stroke-linecap:round}.cmdk-input{flex:1;background:transparent;border:none;outline:none;color:#f0f0f2;font-size:1.05rem;font-family:inherit}.cmdk-input::placeholder{color:#6a6a72}.cmdk-esc{font-family:monospace;font-size:.68rem;color:#8a8a92;background:#1d1d21;border:1px solid #2e2e34;border-radius:5px;padding:.12rem .4rem}.cmdk-results{max-height:min(54vh,440px);overflow-y:auto;padding:.4rem;scroll-padding:.4rem}.cmdk-group-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#6a6a72;padding:.5rem .6rem .3rem}.cmdk-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;width:100%;text-align:left;background:transparent;border:none;border-radius:9px;padding:.55rem .7rem;cursor:pointer;color:#d8d8dc;font:inherit;transition:background .15s ease}.cmdk-row.active{background:#1e1f24}.cmdk-type{font-size:.66rem;letter-spacing:.02em;padding:.16rem .45rem;border-radius:999px;white-space:nowrap;border:1px solid transparent}.t-notebook{color:#7fb9ff;background:#2997ff1f;border-color:#2997ff40}.t-essay{color:#c9c9d2;background:#232329;border-color:#313139}.t-til{color:#8fd49b;background:#5bc6751f;border-color:#5bc67538}.t-find{color:#e3b877;background:#d6a0461f;border-color:#d6a04638}.t-page{color:#c39bf0;background:#a06ee61f;border-color:#a06ee638}.cmdk-row-text{min-width:0;display:flex;flex-direction:column;gap:.05rem}.cmdk-row-title{font-size:.95rem;color:#ededf0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-mark{background:transparent;color:var(--link);font-weight:600}.cmdk-row-crumb{font-size:.76rem;color:#7c7c85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-enter{color:var(--link);font-size:.9rem;opacity:0;transform:translate(-4px);transition:opacity .16s ease,transform .16s ease}.cmdk-row.active .cmdk-enter{opacity:1;transform:translate(0)}.cmdk-empty{padding:2rem 1rem;text-align:center;color:#7c7c85;font-size:.95rem}.cmdk-empty span{color:#b8b8c0}.cmdk-footer{display:flex;gap:1.1rem;padding:.6rem 1rem;border-top:1px solid #232327;color:#6a6a72;font-size:.74rem}.cmdk-footer span{display:inline-flex;align-items:center;gap:.35rem}.cmdk-footer kbd{font-family:monospace;font-size:.7rem;color:#9a9aa2;background:#1d1d21;border:1px solid #2e2e34;border-radius:4px;padding:.05rem .32rem;min-width:1.1rem;text-align:center}@media (prefers-reduced-motion: reduce){.cmdk-root,.cmdk-panel{animation-duration:.01ms}.cmdk-enter{transition:opacity .12s ease;transform:none}}@media (max-width: 560px){.cmdk-root{padding-top:8vh}.cmdk-footer{display:none}}.blog-container{max-width:1200px;margin:0 auto;padding:0 .5rem}.vector-field-container{width:100%;height:150px;position:relative}.blog-header{margin:2rem 0 1.5rem}.main-title{font-size:2.5rem;margin:0;font-family:Georgia,serif}.blog-section{margin:3rem 0 2rem;padding-top:2rem;border-top:1px solid #333}.blog-section h2{font-size:2rem;margin-bottom:.5rem;font-family:Georgia,serif;font-weight:400}.blog-tagline{color:#fffa;margin:.5rem 0;font-size:.95rem}.blog-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:.5rem;background:#111;border:1px solid #333;color:#fff;border-radius:4px;font-size:.9rem}.search-input:focus{outline:none;border-color:#666}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-buttons button{padding:.5rem 1rem;background:transparent;border:1px solid #333;color:#888;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.filter-buttons button:hover{border-color:#666;color:#fff}.filter-buttons button.active{background:#333;color:#fff;border-color:#666}.blog-layout{display:grid;grid-template-columns:1fr 300px;gap:2rem}@media (max-width: 768px){.blog-layout{grid-template-columns:1fr}}.posts-list{display:flex;flex-direction:column;gap:1rem}.post-item{border-bottom:1px solid #222;padding-bottom:1rem;transition:all .3s ease}.post-item.highlighted-post{position:relative;padding:1rem;margin-bottom:.5rem;background:#ffdd3308;box-shadow:none;z-index:0}.post-item.highlighted-post:before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;pointer-events:none;border-radius:10px;border:2px solid #ffe066;box-shadow:0 0 12px 2px #ffe066;opacity:.7;z-index:-1;background:none;animation:yellow-border-glow 20s ease-in-out infinite}@keyframes yellow-border-glow{0%,to{box-shadow:0 0 8px 1px #ffe066;opacity:.3}50%{box-shadow:0 0 10px 4px #ffe066;opacity:.6}}.post-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.post-header h3{margin:0;font-size:1.1rem}.post-header h3 a{text-decoration:none}.post-header h3 a:hover{text-decoration:underline}.til-badge{background:#2a4a2a;color:#8fc88f;padding:.15rem .4rem;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase}.post-excerpt{margin:.4rem 0}.excerpt-content{margin:0;padding:0;color:#aaa;font-size:.82rem;line-height:1.4}.excerpt-content p{margin:.5rem 0}.excerpt-content p:first-child{margin-top:0}.excerpt-content p:last-child{margin-bottom:0}.excerpt-content img{max-width:100%;height:auto;display:block;margin:1rem auto;border-radius:6px;border:1px solid #333}.excerpt-content pre{background:#0d0d0d;border:1px solid #333;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0;font-family:JetBrains Mono,SF Mono,Monaco,Courier New,monospace;font-size:.8rem;line-height:1.6}.excerpt-content pre code{background:transparent;border:none;padding:0;font-size:inherit}.excerpt-content code{background:#1a1a1a;border:1px solid #333;padding:.1rem .3rem;border-radius:3px;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.85em}.excerpt-content .excerpt-more-words{display:inline-block;margin-top:.5rem;color:#666;font-size:.75rem;font-style:italic;font-family:Georgia,serif}.excerpt-content ul,.excerpt-content ol{margin:1rem 0;padding-left:2rem}.excerpt-content li{margin:.5rem 0;color:#aaa}.excerpt-content blockquote{border-left:3px solid #444;padding-left:1rem;margin:1.5rem 0;color:#aaa;font-style:italic}.excerpt-content a{color:inherit;text-decoration:underline;text-decoration-color:#666;text-underline-offset:2px}.excerpt-content a:hover{text-decoration-color:#999}.post-meta{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:#666;flex-wrap:wrap}.meta-separator{color:#444}.post-tags{display:flex;gap:.3rem}.tag-link{background:transparent;border:none;color:#888;padding:0;cursor:pointer;font-size:.8rem;text-decoration:underline}.tag-link:hover{color:var(--link)}.blog-sidebar{position:sticky;top:1rem;height:fit-content}.sidebar-section{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #222}.sidebar-section:last-child{border-bottom:none}.sidebar-section h3{margin:0 0 1rem;font-size:1.2rem;font-family:Georgia,serif;font-weight:400;color:#fff}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-item{text-align:center}.stat-value{font-size:1.5rem;font-weight:600;color:#fff}.stat-label{font-size:.75rem;color:#666;text-transform:uppercase;margin-top:.25rem}.active-filter{display:inline-flex;align-items:center;gap:.5rem;background:#333;padding:.4rem .8rem;border-radius:4px}.clear-filter{background:transparent;border:none;color:#888;cursor:pointer;font-size:1.2rem;padding:0;line-height:1}.clear-filter:hover{color:#fff}.tags-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.tag-cloud-item{background:transparent;border:1px solid #333;color:#888;padding:.3rem .6rem;border-radius:3px;cursor:pointer;font-size:.8rem;transition:all .2s}.tag-cloud-item:hover{border-color:#666;color:#fff}.tag-cloud-item.active{background:#333;color:#fff;border-color:#666}.quick-actions{display:flex;flex-direction:column;gap:.5rem}.action-hint{font-size:.8rem;color:#666}.action-hint kbd{background:#222;border:1px solid #333;padding:.1rem .3rem;border-radius:3px;font-family:monospace;font-size:.75rem;color:#aaa}.no-posts,.loading{padding:2rem;text-align:center;color:#666}.home-intro{max-width:640px;margin:1.5rem 0 2.5rem}.home.blog-container{max-width:560px}.home-directory{display:flex;flex-direction:column;gap:2.5rem;max-width:560px}.home-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.home-section-head h2{font-size:1.5rem;font-family:Georgia,serif;font-weight:400;margin:0;color:#fff}.home-see-all{font-family:monospace;font-size:.8rem;color:#888;text-decoration:none;white-space:nowrap}.home-see-all:hover{color:#000}.home-list{list-style:none;margin:0;padding:0}.home-list li{position:relative;padding:.35rem 0 .35rem 1.4rem;line-height:1.5}.home-list li:before{content:"•";position:absolute;left:0;top:.35rem;color:#fff;font-size:1.1rem;line-height:1.4}.home-list a{color:#ddd;text-decoration:underline;text-decoration-color:#555;text-underline-offset:3px}.home-list a:hover{color:#000}.home-footer{max-width:720px;margin-top:4rem}.home-divider{color:#555;letter-spacing:.5em;margin-bottom:1.5rem}.home-footer-nav{display:flex;flex-wrap:wrap;gap:1.25rem;font-family:monospace;font-size:.85rem;margin-bottom:2rem}.home-footer-nav a{color:#888;text-decoration:none}.home-footer-nav a:hover{color:#000}.link-preview{position:fixed;top:0;left:0;z-index:100;width:260px;pointer-events:none;opacity:0;transition:opacity .16s ease,scale .18s cubic-bezier(.2,.9,.3,1.3);scale:.92;will-change:transform}.link-preview.visible{opacity:1;scale:1}.link-preview img{display:block;width:100%;height:auto;max-height:320px;object-fit:cover;border-radius:8px;border:1px solid #2e2e2e;background:#111;box-shadow:0 12px 34px #0000008c;rotate:-2deg}@media (hover: none){.link-preview{display:none}}@media (prefers-reduced-motion: reduce){.link-preview{transition:opacity .16s ease;scale:1}.link-preview img{rotate:none}}.notebook-view-container{max-width:1400px;margin:0 auto;padding:2rem 1rem}.notebook-masthead{max-width:968px;margin:0 0 2.5rem;padding-bottom:1.1rem;border-bottom:1px solid #2e2e2e}.notebook-masthead h1{font-family:var(--font-serif);font-weight:400;font-size:2.6rem;line-height:1.12;letter-spacing:-.01em;margin:0 0 1rem;color:#fff}.notebook-dateline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.6rem;font-family:monospace}.nb-stat{display:inline-flex;flex-direction:column;gap:.2rem;outline:none}.nb-stat-label{font-size:.74rem;color:#6a6a6a;transition:color .2s ease}.nb-stat:hover .nb-stat-label{color:#8a8a8a}.nb-stat-values{position:relative;font-size:.88rem;color:#cfcfcf}.nb-stat-abs{display:inline-block;white-space:nowrap;transition:opacity .22s ease,transform .22s ease}.nb-stat-rel{position:absolute;left:0;top:0;white-space:nowrap;color:var(--link);opacity:0;transform:translateY(4px);transition:opacity .22s ease,transform .22s ease}.nb-stat:hover .nb-stat-abs{opacity:0;transform:translateY(-4px)}.nb-stat:hover .nb-stat-rel{opacity:1;transform:translateY(0)}.notebook-tags{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-self:center}.notebook-tag{font-size:.72rem;color:#8c8c8c;background:#1a1a1a;border:1px solid #262626;padding:.15rem .5rem;border-radius:999px;transition:color .18s ease,border-color .18s ease}.notebook-tag:before{content:"#";opacity:.45;margin-right:.1em}.notebook-tag:hover{color:#d8d8d8;border-color:#3a3a3a}@media (prefers-reduced-motion: reduce){.nb-stat-abs,.nb-stat-rel{transition:opacity .15s ease}.nb-stat:hover .nb-stat-abs,.nb-stat:hover .nb-stat-rel{transform:none}}@media (max-width: 1024px){.notebook-masthead h1{font-size:2.1rem}.notebook-dateline{gap:1.1rem}}.notebook-layout{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,680px) 1fr;gap:3rem;position:relative;align-items:start}.notebook-content{max-width:680px}.notebook-layout .post-margin{position:relative;width:100%;max-width:360px}.notebook-toc{position:sticky;top:2rem;align-self:start;font-family:Georgia,serif;max-height:calc(100vh - 4rem);overflow-y:auto;padding-right:.5rem;scrollbar-width:none}.notebook-toc::-webkit-scrollbar{display:none}.notebook-toc-title{color:#6e6e6e;font-style:italic;font-size:.95rem;margin-bottom:.85rem}.notebook-toc-list{list-style:none;margin:0;padding:0;border-left:1px solid #242424}.notebook-toc-branch+.notebook-toc-branch{margin-top:.05rem}.notebook-toc-link{display:block;width:100%;text-align:left;background:transparent;border:none;margin-left:-1px;border-left:2px solid transparent;color:#8c8c8c;font-family:inherit;line-height:1.45;padding:.28rem 0 .28rem .85rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,transform .18s ease}.notebook-toc-link.level-1{color:#cdcdcd;font-size:.98rem;letter-spacing:.01em}.notebook-toc-link.level-2{font-size:.9rem;padding-left:1.5rem}.notebook-toc-link.level-3{font-size:.86rem;color:#7a7a7a;padding-left:2.15rem}.notebook-toc-link.level-4{font-size:.84rem;color:#7a7a7a;padding-left:2.8rem}.notebook-toc-link.level-5{font-size:.82rem;color:#6f6f6f;padding-left:3.45rem}.notebook-toc-link.level-6{font-size:.8rem;color:#6f6f6f;padding-left:4.1rem}.notebook-toc-link:hover{color:#e8e8e8;border-left-color:#444;transform:translate(2px)}.notebook-toc-link.active:before,.notebook-toc-link.current-branch:before{color:var(--link)}.notebook-toc-link.current-branch{color:#fff}.notebook-toc-link.active{color:#fff;border-left-color:var(--link)}.notebook-toc-children{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .26s ease,opacity .2s ease}.notebook-toc-children.open{grid-template-rows:1fr;opacity:1}.notebook-toc-children-inner{overflow:hidden;min-height:0}.notebook-section{margin-top:2.5rem}.notebook-section:first-of-type{margin-top:0}.notebook-heading,.notebook-content :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:5rem}.notebook-content :is(h1,h2,h3,h4,h5,h6){font-weight:600;color:#fff;line-height:1.25}.notebook-content :is(h4,h5,h6){font-weight:700}.notebook-content h1{font-size:2.1rem}.notebook-content h2{font-size:1.72rem}.notebook-content h3{font-size:1.45rem}.notebook-content h4{font-size:1.28rem}.notebook-content h5{font-size:1.18rem}.notebook-content h6{font-size:1.1rem}.notebook-top-heading{margin-top:0;padding-bottom:.4rem;border-bottom:1px solid #2e2e2e}.notebook-section-body h2{padding-bottom:.3rem;border-bottom:1px solid #1f1f1f}.notebook-top-toggle{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;font:inherit;color:inherit;-webkit-user-select:none;user-select:none}.notebook-chevron{display:inline-block;color:var(--link);font-size:.9em;line-height:1;transition:transform .2s ease,color .2s ease;transform:rotate(90deg)}.notebook-section.collapsed .notebook-chevron{transform:rotate(0);color:#666}.notebook-top-toggle:hover .notebook-chevron{color:#bcd6f0}.notebook-section-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease,opacity .2s ease;opacity:1}.notebook-section.collapsed .notebook-section-body{grid-template-rows:0fr;opacity:0}.notebook-section-body-inner{overflow:hidden;min-height:0}@media (max-width: 1200px){.notebook-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.notebook-layout .post-margin{display:none}}@media (max-width: 1024px){.notebook-layout{grid-template-columns:1fr;gap:1rem}.notebook-toc{position:static;max-height:none;overflow:visible;margin-bottom:1.5rem;padding:1rem;border:1px solid #2a2a2a;border-radius:8px}}.youtube-figure{margin:2rem 0}.youtube-embed{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;border:1px solid #333;background:#000}.youtube-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,230px);justify-content:center;gap:4rem 3.2rem;margin:3rem auto 4rem;padding:0 2.5rem}@media (max-width: 600px){.book-grid{grid-template-columns:repeat(auto-fill,150px);gap:2.6rem 1.8rem;padding:0 1rem}}.book-card{display:flex;justify-content:center;text-decoration:none;perspective:1400px}.book-card:hover{background:none;color:inherit}.book{--depth: 36px;position:relative;width:100%;aspect-ratio:5 / 7;transform-style:preserve-3d;transform:rotateY(0);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease;border-radius:2px 6px 6px 2px;background-image:linear-gradient(180deg,#0000 34%,#0000005c 60%,#000000d9),var(--cover, linear-gradient(135deg, #3a3f4b, #20242d));background-size:cover;background-position:center;filter:drop-shadow(0 16px 24px rgba(0,0,0,.5));will-change:transform}.book-card:hover .book{transform:rotateY(-20deg) translateY(-10px);filter:drop-shadow(16px 28px 30px rgba(0,0,0,.6))}.book:before,.book:after{content:"";position:absolute}.book:after{top:3px;bottom:3px;right:0;width:var(--depth);transform-origin:right center;transform:rotateY(-90deg);background:repeating-linear-gradient(90deg,#f4efe2 0,#f4efe2 1px,#d6ceb8 1px,#d6ceb8 2.5px);border-radius:1px}.book:before{top:0;bottom:0;left:0;width:var(--depth);transform-origin:left center;transform:rotateY(90deg);background:linear-gradient(90deg,#0009,#0003);border-radius:1px}.book__text{position:absolute;left:0;right:0;bottom:0;padding:1rem .9rem 1.1rem;transform:translateZ(.1px)}.book__title{display:block;color:#fff;font-family:var(--font-serif);font-weight:600;font-size:1.05rem;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.85)}.book__title:before{content:"";display:block;width:28px;height:2px;margin-bottom:.5rem;background:#ffffffb3}.book__meta{display:block;margin-top:.6rem;font-family:monospace;font-size:.7rem;color:#ffffffc7;text-shadow:0 1px 4px rgba(0,0,0,.85)}.book__updated{display:block;margin-top:.2rem;font-family:monospace;font-size:.66rem;color:#ffffff8c;text-shadow:0 1px 4px rgba(0,0,0,.85)}@media (prefers-reduced-motion: reduce){.book{transition:filter .3s ease;transform:rotateY(0)}.book-card:hover .book{transform:translateY(-6px)}}.post-view-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.loading-placeholder{min-height:60vh}.post-with-sidenotes{display:grid;grid-template-columns:minmax(0,650px) 1fr;gap:4rem;position:relative}.post-main-content{max-width:650px}.post-margin{position:relative;width:100%;max-width:400px}@media (max-width: 1024px){.post-with-sidenotes{grid-template-columns:1fr;gap:0}.post-margin{display:none}}.post-nav{margin-bottom:2rem}.post-nav a{color:#888;text-decoration:underline;text-decoration-color:#444;text-underline-offset:2px;font-size:.9rem}.post-nav a:hover{color:#aaa;text-decoration-color:#666}.post-content{font-size:1.05rem;line-height:1.65;color:#ddd}.post-header-meta{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}.post-header-meta h1{font-size:2.2rem;font-family:var(--font-serif);font-weight:400;margin:0 0 .5rem;color:#fff;line-height:1.2}.post-meta-info{display:flex;align-items:center;gap:.5rem;color:#888;font-size:.85rem;font-family:monospace;margin-bottom:.5rem}.meta-separator{color:#555}.til-indicator{background:#2a4a2a;color:#8fc88f;padding:.1rem .3rem;border-radius:3px;font-size:.75rem;text-transform:uppercase}.post-tags-list{display:flex;gap:.5rem;flex-wrap:wrap}.post-tag{background:#1a1a1a;color:#888;padding:.2rem .5rem;border-radius:3px;font-size:.8rem;font-family:monospace}.post-content h1{font-size:2rem;font-family:var(--font-serif);font-weight:400;margin:2rem 0 1rem;color:#fff;line-height:1.2}.post-content h2{font-size:1.8rem;font-family:var(--font-serif);font-weight:400;margin:2rem 0 1rem;color:#fff}.post-content h3{font-size:1.4rem;font-family:var(--font-serif);font-weight:400;margin:1.5rem 0 .5rem;color:#fff}.post-content p{margin:.8rem 0}.post-content :is(h1,h2,h3,h4){scroll-margin-top:5rem}.post-content ul,.post-content ol{margin:1rem 0;padding-left:2rem}.post-content li{margin:.5rem 0}.post-content a{color:var(--link);text-decoration:underline;text-decoration-color:#2997ff66;text-underline-offset:2px}.post-content a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}.post-content img.large{width:calc(100% + 300px);max-width:900px;margin-left:-150px;margin-right:-150px;display:block;border-radius:6px}@media (max-width: 950px){.post-content img.large{width:100vw;max-width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}}.post-content img.full-width{width:100vw;max-width:none;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);border-radius:0;border-left:none;border-right:none}.post-content pre.shiki code{counter-reset:step;counter-increment:step 0}.post-content pre.shiki code .line:before{content:counter(step);counter-increment:step;width:1rem;margin-right:1.5rem;display:inline-block;text-align:right;color:#444;font-size:.75rem}.post-footer{margin-top:3rem;padding-top:2rem;max-width:650px;border-top:1px solid #333}.post-footer a{color:#888;text-decoration:underline;text-decoration-color:#444;text-underline-offset:2px}.post-footer a:hover{color:#aaa;text-decoration-color:#666}.post-content .katex{font-size:1.1em;color:#fff}.post-content .katex-inline{padding:0 .2em}.post-content .katex-display{margin:2.5rem 0;overflow-x:auto;overflow-y:hidden;padding:1rem 0;text-align:center!important}.post-content .katex-display>.katex{font: 1.8rem KaTeX_Main,Times New Roman,serif!important;display:block!important;text-align:center!important;background:#ffffff05;padding:1.2rem;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.post-content .katex .mord{color:#fff}.post-content .katex .mbin,.post-content .katex .mrel{color:var(--link)}.post-content .katex .mop{color:#8fc88f}.sidenote-anchor{position:relative}.sidenote-anchor .sidenote-number{color:#999;font-size:.75em;font-weight:600;cursor:default;margin-left:.1em}.sidenote{position:absolute;width:100%;max-width:350px;font-family:var(--font-serif);font-size:.82rem;line-height:1.5;color:#999;padding-left:1rem}.sidenote-number-margin{color:#999;font-weight:600;margin-right:.3em;font-size:.9em}.sidenote-content{display:inline}.sidenote a{color:inherit;text-decoration:underline;text-decoration-color:#666;text-underline-offset:1px}.sidenote a:hover{text-decoration-color:#999}.sidenote-inline{position:relative;display:inline}.sidenote-toggle{background:transparent;border:none;color:#999;cursor:pointer;padding:0;font-size:inherit;vertical-align:baseline;margin:0 .2em}.sidenote-toggle:hover{color:#bbb}.sidenote-toggle .sidenote-number{font-size:.75em;font-weight:600}.sidenote-icon{display:inline-block;width:1em;height:1em;line-height:1;text-align:center;border:1px solid currentColor;border-radius:50%;font-size:.7em;margin-left:.2em;vertical-align:super}.sidenote-content-inline{display:block;margin:.5rem 0;padding:.75rem;background:#ffffff05;border-left:3px solid #666;border-radius:0 4px 4px 0;font-family:var(--font-serif);font-size:.85rem;line-height:1.5;color:#aaa}@media (min-width: 1024px){.sidenote-inline .sidenote-toggle,.sidenote-inline .sidenote-icon{display:none}.sidenote-content-inline{display:none!important}}@media (max-width: 1023px){.sidenote-anchor .sidenote-number{display:none}}.epigraph{margin:3rem 0;font-family:var(--font-serif)!important}.epigraph blockquote{margin:0;padding:0;border:none;font-family:inherit}@media (min-width: 1024px){.epigraph{width:75%;margin-left:0;margin-right:auto;padding-left:2rem}}.epigraph-content{margin:0;font-family:var(--font-serif)!important;font-size:.95rem;line-height:1.5;color:#bbb;font-style:italic}.epigraph-content p{margin:0 0 .5rem;font-family:var(--font-serif)!important;font-style:italic}.epigraph-content p:last-child{margin-bottom:0}.epigraph-footer{display:block;margin-top:.75rem;font-size:.85rem;text-align:right;color:#999;font-style:normal;font-family:var(--font-serif)}.epigraph-author{font-weight:500;font-style:normal}.epigraph-source{font-style:normal;opacity:.9}.epigraph-separator{opacity:.7;font-style:normal}.post-header-meta+.epigraph,header+.epigraph{margin-top:2rem;margin-bottom:3rem}.epigraph+.epigraph{margin-top:1.5rem}.blackhole-demo{margin:2rem 0;text-align:center}.blackhole-ascii{font-family:SF Mono,Cascadia Code,Consolas,Courier New,monospace;font-size:.5rem;line-height:.65rem;text-align:left;display:inline-block;background:#000;padding:.5rem;cursor:grab;white-space:pre;overflow:hidden;border-radius:4px;-webkit-user-select:none;user-select:none}.blackhole-ascii:active{cursor:grabbing}.blackhole-controls{font-size:.75rem;color:#666;margin-top:.5rem}.post-content img{cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:clamp(1.5rem,5vw,4rem);background:#000000eb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:lightbox-fade .18s ease-out}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:transparent;cursor:zoom-out}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-figure{position:relative;z-index:1;margin:0;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:100%;max-height:100%;pointer-events:none}.lightbox-img{max-width:min(1100px,100%);max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:6px;border:1px solid #2a2a2a;background:#fff}.lightbox-caption{max-width:640px;text-align:center;color:#cfcfcf;font-family:var(--font-serif);font-style:italic;font-size:.9rem;line-height:1.5}.lightbox-close{position:fixed;z-index:2;top:1.1rem;right:1.3rem;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid #333;border-radius:999px;color:#ddd;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.lightbox-close:hover{background:#ffffff24;color:#fff}.post-content a[href$=".pdf"],.post-margin a[href$=".pdf"]{text-decoration-style:dotted;text-underline-offset:2px}.post-content a[href$=".pdf"]:after,.post-margin a[href$=".pdf"]:after{content:"PDF";display:inline-block;margin-left:.35em;padding:.05em .35em;font-family:var(--font-mono, monospace);font-size:.62em;font-weight:700;letter-spacing:.06em;line-height:1.4;vertical-align:.15em;color:#fff;background:#e0322f;border-radius:3px;text-decoration:none;white-space:nowrap}.pdf-preview{position:fixed;z-index:1200;width:230px;pointer-events:none;transform:rotate(-3deg);animation:pdf-preview-pop .16s ease-out}@keyframes pdf-preview-pop{0%{opacity:0;transform:rotate(-3deg) scale(.92)}to{opacity:1;transform:rotate(-3deg) scale(1)}}.pdf-preview-img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid #d8d8d8;background:#fff;box-shadow:0 14px 34px #0000008c}.pdf-preview-tag{position:absolute;top:-9px;left:-9px;background:#e0322f;color:#fff;font-family:monospace;font-size:.6rem;font-weight:700;letter-spacing:.1em;padding:.15rem .4rem;border-radius:4px;box-shadow:0 2px 8px #0006}
