@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.0p1vbqd84i2~o.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.0b~8ki5y928w2.woff)format("woff"),url(../media/KaTeX_AMS-Regular.173t6ktr7uf-w.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.01-pzluls4zgb.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.0x2v1lwn~880f.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.16zv5fax0h0ka.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.0rysu1t-ncjq8.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.10927swgekwun.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.02i3z7wig438t.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.0w23i72~hprpq.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.0e-16u10iuyyf.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.0et27v~3~4uhe.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.0rekyoa-52fj_.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.0b.riegzdfue2.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.0vjwa15znhk~4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.16pfc63_du6mx.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.09lmynrorhcbw.woff)format("woff"),url(../media/KaTeX_Main-Bold.09i7~607shf-h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.0d54rk08rx11s.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.0cp37g7x1q8h6.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.15j6k~hix2t_0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.06o5nq0_91v60.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.0382gqciexmbu.woff)format("woff"),url(../media/KaTeX_Main-Italic.0su4i6mm18-wo.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.0kaf-ag2_wkm-.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.0diheg01zyoph.woff)format("woff"),url(../media/KaTeX_Main-Regular.08zh8z.7shijf.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0ja97dn.cpc87.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.0ck1myuerwyqw.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0ajzxypnbx1h1.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.0zrha2c4sl2je.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.09xkhecjcn5r9.woff)format("woff"),url(../media/KaTeX_Math-Italic.0x23a-bmp-5tg.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.05a9.pc1j_zx9.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.0jcl-ayi1uun0.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.0re8y.dm7.mt5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.0a0234dc3s62j.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.0judofdln9731.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.10z1iap9pfus8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.0v6gcj32-czft.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.0h9yjlugq4q_e.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.0zm18kga42ebc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.0c4.h-mer83d_.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.0ze6v4r_-99oy.woff)format("woff"),url(../media/KaTeX_Script-Regular.0q14y6zkzlpob.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.013x6a4ierotp.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.0kidw0oi.m68o.woff)format("woff"),url(../media/KaTeX_Size1-Regular.0m6y-i6wfokni.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.0d5inmyp-tyv3.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.0blpmluwilgbg.woff)format("woff"),url(../media/KaTeX_Size2-Regular.0wnhnvj-.k9d5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.0iukctyhw5j56.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.01h0xm_sfctj3.woff)format("woff"),url(../media/KaTeX_Size3-Regular.0jl8mqyf4gzpn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.0w3.rb_c4stzk.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.12tvaesf3.zl3.woff)format("woff"),url(../media/KaTeX_Size4-Regular.0wr_9l81-mu06.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.0c4zdxz~8frhm.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.0cgrzn5l3kao5.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.128~qc3858otl.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.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;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.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{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.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;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.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:.833333em}.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.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.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.66667em}.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.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.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.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.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:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.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.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.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.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.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:.416667em}.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:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.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:.833333em}.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.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.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:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.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.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.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.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.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.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.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{width:.12em;display:inline-block}.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{min-width:1px;display:inline-block}.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;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.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{box-sizing:border-box;border:.04em solid}.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{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;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{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.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{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
:root{--color-primary:#e00450;--color-secondary:#fd6a31;--color-bg:#fefefc;--color-text:#030303;--color-muted:#595959;--color-surface:#f6f6f6;--color-border:#03030314;--shadow-soft:0 18px 50px #00000014;--max-width:1120px;--font-sans:"Noto Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Noto Sans Display", "Noto Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"Noto Sans Mono", Consolas, Monaco, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-optical-sizing:auto;margin:0;font-weight:400}h1,h2,h3,h4,h5,h6,.brand{font-family:var(--font-display);font-optical-sizing:auto}h1{letter-spacing:-.02em;font-weight:800}h2{letter-spacing:-.03em;font-weight:750}h3{letter-spacing:-.02em;font-weight:700}h4{letter-spacing:-.015em;font-weight:650}h5,h6{letter-spacing:-.01em;font-weight:600}code,pre,kbd,samp{font-family:var(--font-mono);font-optical-sizing:auto}code{font-size:.9em}a{color:inherit;text-decoration:none}.site-shell{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.container{width:min(calc(100% - 2rem), var(--max-width));margin:0 auto}.site-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#fefefce0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:72px;display:flex}.brand{align-items:center;font-weight:800;display:inline-flex}.brand img{width:auto;height:3.875rem;display:block}.brand-accent{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));color:#0000;-webkit-background-clip:text;background-clip:text}.nav{color:var(--color-muted);align-items:center;gap:1rem;display:flex}.nav a:hover,.inline-link:hover{color:var(--color-primary)}.header-search{flex:320px;max-width:420px;position:relative}.search-form{margin:0}.search-input-wrap{position:relative}.search-input,.search-select{border:1px solid var(--color-border);width:100%;min-height:46px;color:var(--color-text);font:inherit;background:#ffffffe6;border-radius:14px;transition:border-color .18s,box-shadow .18s}.search-input{padding:.8rem 3rem .8rem 1rem}.search-select{appearance:none;padding:.8rem 2.5rem .8rem 1rem}.search-input::placeholder{color:var(--color-muted)}.search-input::-webkit-search-cancel-button{-webkit-appearance:none;cursor:pointer;background-color:var(--color-primary);width:.95rem;height:.95rem;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"black\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M5 5l10 10M15 5 5 15\"/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"black\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M5 5l10 10M15 5 5 15\"/></svg>");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.search-input:focus,.search-select:focus{border-color:#e0045052;outline:none;box-shadow:0 0 0 4px #e0045014}.search-input-icon-button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;display:inline-flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.search-input-icon-image{width:18px;height:18px;display:block}.search-dropdown{z-index:40;border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;position:absolute;top:calc(100% + .6rem);left:0;right:0;overflow:hidden}.search-dropdown-list{display:grid}.search-result-link,.search-show-more,.search-empty{padding:.95rem 1rem}.search-result-link{gap:.25rem;display:grid}.search-result-link+.search-result-link{border-top:1px solid var(--color-border)}.search-result-link:hover,.search-show-more:hover{background:#e004500a}.search-result-link-active{background:#e0045014}.search-result-title{font-weight:700}.search-result-meta,.search-empty,.search-pending{color:var(--color-muted);font-size:.92rem}.search-show-more{border-top:1px solid var(--color-border);color:var(--color-primary);font-weight:700;display:block}.hero{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:2rem;padding:6rem 0 3rem;display:grid}.hero-logo-wrap{justify-content:center;align-items:center;display:flex}.hero-logo{width:150px;height:150px;display:block}.hero-copy-wrap{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);background:#e0045014;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.8rem;font-weight:700;display:inline-flex}.section-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);margin:0 0 .35rem;font-size:.78rem;font-weight:700;display:inline-block}.hero h1,.section h1{margin:1rem 0;font-size:clamp(2.6rem,6vw,5rem);line-height:.95}.hero-copy,.section-copy,.article-description,.surface-card p,.not-found p{max-width:800px;color:var(--color-muted);font-size:1.075rem;line-height:1.7}.gradient-text{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));color:#0000;-webkit-background-clip:text;background-clip:text}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.65rem;min-height:46px;padding:.8rem 1.15rem;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));box-shadow:var(--shadow-soft)}.button-secondary{border-color:var(--color-border);background:#fff}.back-home-button{width:fit-content;margin-top:1rem}.button-icon{background-color:#fff;flex-shrink:0;width:1.15rem;height:1.15rem;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.button-icon-posts{-webkit-mask-image:url(/images/icons/article-filled.svg);mask-image:url(/images/icons/article-filled.svg)}.button-icon-projects{-webkit-mask-image:url(/images/icons/briefcase-filled.svg);mask-image:url(/images/icons/briefcase-filled.svg)}.button-icon-home{-webkit-mask-image:url(/images/icons/home-filled.svg);mask-image:url(/images/icons/home-filled.svg)}.button-icon-dark{background-color:var(--color-text)}.section{padding:3rem 0}.section-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-header-stack{align-items:start}.section-header h2,.article-header h1{margin:.5rem 0;font-size:clamp(2rem,4vw,3rem);line-height:1}.inline-link{color:var(--color-muted);font-weight:700}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.post-card,.contact-card{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;padding:1.25rem;transition:border-color .18s;position:relative}.post-card:hover,.contact-card:hover{border-color:#e0045047}.card-link-overlay{z-index:2;border-radius:inherit;position:absolute;inset:0}.post-meta{color:var(--color-muted);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;font-size:.9rem;display:flex}.post-card h3{margin:0 0 .7rem;font-size:1.35rem;line-height:1.2}.post-card-heading{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;margin-bottom:.7rem;display:grid}.post-card-thumb-link,.post-card-thumb{display:block}.post-card-thumb{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;width:72px;height:72px}.post-card p{color:var(--color-muted);margin:0;line-height:1.65}.post-card-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag{min-height:28px;color:var(--color-primary);background:#e0045014;border-radius:999px;align-items:center;padding:.2rem .7rem;font-size:.8rem;display:inline-flex}.interactive-tag{z-index:3;position:relative}.interactive-tag:hover{background:#e0045024}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.home-projects-section{padding-top:1rem}.home-projects-header{margin-bottom:1.5rem}.contact-page{padding-bottom:2rem}.contact-hero{padding-top:4.5rem}.contact-hero h1{margin:1rem 0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.95}.contact-card h2{margin:.45rem 0 0;font-size:1.45rem;line-height:1.15}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.contact-card{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;padding:1.5rem}.contact-card p{color:var(--color-muted);margin:0;line-height:1.7}.contact-value{color:var(--color-text);word-break:break-word;margin-top:1rem;font-weight:700;transition:color .18s;display:inline-flex}.contact-card:hover .contact-value,.contact-card:focus-visible .contact-value,.contact-value:hover{color:var(--color-primary)}.contact-button{margin-top:1.25rem}.projects-page{padding-bottom:2rem}.project-grid{gap:1.5rem;display:grid}.project-card{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:28px;grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:stretch;gap:1.5rem;padding:1.5rem;transition:border-color .18s,transform .18s;display:grid;position:relative}.project-card:hover{border-color:#e0045047;transform:translateY(-1px)}.project-card-thumb{aspect-ratio:2/3;object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface);border-radius:22px;width:100%}.project-card-thumb-placeholder{display:block}.project-card-copy{align-content:start;gap:.9rem;min-width:0;display:grid}.project-card-meta{color:var(--color-muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex}.project-card h2{margin:0;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.05}.project-card p{color:var(--color-muted);margin:0;font-size:1.03rem;line-height:1.75}.project-card-section{gap:.55rem;display:grid}.project-stack-tag{color:var(--color-text);background:#0303030f}.project-results-list{color:var(--color-muted);margin:0;padding-left:1.2rem;line-height:1.7}.project-results-list li+li{margin-top:.25rem}.projects-empty-state{max-width:760px}.search-page{padding-bottom:2rem}.search-tag-suggestions{flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;display:flex}.search-tag-link{font-weight:700}.search-page-controls{grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:1rem;display:grid}.search-control{gap:.45rem;display:grid}.search-control-label{color:var(--color-muted);font-size:.85rem;font-weight:700}.search-input-page{background:#ffffffe6;padding-right:1rem}.search-results-header{justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0;display:flex}.search-results-list{gap:1.25rem;display:grid}.search-result-card-title{margin:0;font-size:1.5rem;line-height:1.2}.search-result-card{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.search-result-card:hover{border-color:#e0045047}.search-result-card-thumb{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface);border-radius:24px;width:200px;height:200px}.search-result-card-thumb-placeholder{display:block}.search-result-card-copy{min-width:0}.search-result-meta-row{margin-bottom:.7rem}.search-result-card-heading{gap:.65rem;display:grid}.search-result-card-footer{justify-content:start;margin-top:1.1rem}.search-empty-state h2{margin:0 0 .75rem}.feature-list{color:var(--color-muted);margin:1rem 0 0;padding-left:1.1rem;line-height:1.8}.article-shell{padding:4rem 0}.about-page{padding-bottom:2rem}.profile-hero{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:50px;padding-top:4.5rem;display:grid}.profile-photo-wrap{width:200px;height:200px}.profile-photo{object-fit:cover;border:1px solid var(--color-border);border-radius:999px;width:100%;height:100%;display:block}.profile-intro h1{margin:.5rem 0 1rem;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.95}.profile-summary{max-width:65ch;font-size:1.075rem;line-height:1.8}.placeholder-copy{color:var(--color-muted)}.interest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.interest-card{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;padding:1.4rem}.interest-card h3{margin:0;font-size:1.2rem}.interest-card p{color:var(--color-muted);margin:0;line-height:1.7}.interest-header{align-items:center;gap:.9rem;margin-bottom:1rem;display:flex}.interest-icon{width:52px;height:52px;color:var(--color-primary);background:#e0045014;border:1px solid #e0045024;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.interest-icon-svg{width:36px;height:36px}.interest-icon-image{object-fit:contain;width:36px;height:36px;display:block}.interest-icon-image-rotated{transform:rotate(90deg)}.timeline{gap:1.5rem;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(#e0045033,#03030314);width:1px;position:absolute;top:0;bottom:0;left:50px}.timeline-item{grid-template-columns:100px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid;position:relative}.timeline-logo{z-index:1;width:100px;height:100px;color:var(--color-primary);font-family:var(--font-display);background:#fff;border:1px solid #e0045029;border-radius:24px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex;position:relative;overflow:hidden}.timeline-logo-image{object-fit:contain;width:100%;height:100%;display:block}.timeline-logo-academic{color:var(--color-secondary);border-color:#fd6a3138}.timeline-content{padding:0 1.35rem 1.35rem}.timeline-meta{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.8rem;display:flex}.timeline-meta h3{margin:.15rem 0 0;font-size:1.3rem}.timeline-role-list{gap:1rem;margin-top:1rem;display:grid}.timeline-role{border-top:1px solid var(--color-border);padding-top:1rem}.timeline-role-meta{margin-bottom:.5rem}.timeline-role h4{margin:0;font-size:1.05rem}.timeline-group-description{margin-bottom:.25rem}.timeline-activity-list{margin:0;padding-left:1.2rem;line-height:1.75}.timeline-activity-list li+li{margin-top:.35rem}.timeline-company,.timeline-period{color:var(--color-muted);margin:0}.timeline-company{font-size:.95rem}.timeline-company.timeline-company-heading{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.02em;margin:.15rem 0 0;font-size:1.3rem;font-weight:700}.timeline-period{white-space:nowrap;font-size:.95rem}.timeline-content p{margin:0;line-height:1.75}.timeline-extra-block{margin-top:1rem}.timeline-extra-title{color:var(--color-text);margin-bottom:.25rem;font-weight:700}.article-header{max-width:840px;margin-bottom:2rem}.article-header-main{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.article-header-copy{grid-template-rows:auto auto auto auto;align-content:start;gap:.35rem;min-width:0;display:grid}.article-thumb{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface);border-radius:24px;width:200px;height:200px}.markdown-body{max-width:840px;font-size:1.05rem;line-height:1.8}.markdown-body h1,.markdown-body h2,.markdown-body h3{scroll-margin-top:100px}.markdown-body h2{margin-top:2.4rem;margin-bottom:.8rem;font-size:1.9rem}.markdown-body h3{margin-top:1.75rem;margin-bottom:.5rem;font-size:1.35rem}.markdown-body h4,.markdown-body h5,.markdown-body h6{scroll-margin-top:100px}.markdown-body h4{margin-top:1.5rem;margin-bottom:.45rem;font-size:1.18rem}.markdown-body h5{margin-top:1.25rem;margin-bottom:.4rem;font-size:1.08rem}.markdown-body h6{margin-top:1.1rem;margin-bottom:.4rem;font-size:1.05rem}.markdown-body p,.markdown-body li{color:#222}.markdown-body a{color:var(--color-primary);text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:1.5px}.markdown-body a:hover{color:var(--color-secondary)}.markdown-body ul,.markdown-body ol{padding-left:1.2rem}.markdown-body ul:has(input[type=checkbox]){padding-left:0;list-style:none}.markdown-body ul:has(input[type=checkbox]) li{align-items:flex-start;gap:.6rem;display:flex}.markdown-body ul:has(input[type=checkbox]) li::marker{content:""}.markdown-body input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);flex:none;margin:.28rem 0 0}.markdown-body table{border-collapse:separate;border-spacing:0;background:#ffffffbd;border:1px solid #e0045024;border-radius:18px;width:100%;margin:1.6rem 0;overflow:hidden}.markdown-body thead th{background:var(--color-primary);color:#fff;text-align:left;vertical-align:top;padding:.9rem 1.15rem;font-size:.95rem;font-weight:700}.markdown-body tbody td{vertical-align:top;padding:.9rem 1.15rem}.markdown-body tbody tr:nth-child(odd){background:#ffffff6b}.markdown-body tbody tr:nth-child(2n){background:#03030309}.markdown-body tbody tr+tr td{border-top:1px solid #0303030f}.markdown-body th+th,.markdown-body td+td{border-left:1px solid #0303030f}.mdx-pre-wrap{position:relative}.code-copy-controls{border-radius:12px;align-items:center;gap:.55rem;padding:.2rem .25rem .2rem .55rem;transition:background-color .22s,box-shadow .22s;display:inline-flex;position:absolute;top:.75rem;right:.85rem}.code-copy-controls-single-line{top:50%;transform:translateY(-50%)}.code-copy-controls-copied{background:#000000d9;box-shadow:0 10px 24px #00000038}.markdown-body pre{color:#f8f8f2;background:#0e0e11;border-radius:18px;padding:1rem max(1.8rem,1rem + 3.2ch) 1rem 1rem;overflow-x:auto}.markdown-body pre code{width:max-content;min-width:100%;padding-right:3.2ch;display:block}.markdown-body pre [data-line]{min-height:1.5rem;display:block}.code-copy-button{cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;transition:background-color .22s;display:inline-flex}.code-copy-button:hover{background:#e0045014}.code-copy-icon{background-color:var(--color-primary);width:1.45rem;height:1.45rem;transition:transform .22s,opacity .22s,filter .22s;-webkit-mask-image:url(/images/icons/copy.svg);mask-image:url(/images/icons/copy.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.code-copy-icon-copied{filter:drop-shadow(0 0 .35rem #e0045038);transform:scale(1.08);-webkit-mask-image:url(/images/icons/copy-filled.svg);mask-image:url(/images/icons/copy-filled.svg)}.code-copy-feedback{letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);opacity:0;pointer-events:none;white-space:nowrap;text-shadow:0 1px 2px #000000d9;font-size:.72rem;font-weight:700;transition:opacity .22s,transform .22s;transform:translate(6px)scale(.96)}.code-copy-feedback-visible{opacity:1;transform:translate(0)scale(1)}.markdown-body code{font-size:.9em}.markdown-body :not(pre)>code{background:#0303030f;border-radius:8px;padding:.15rem .45rem}.markdown-body li code,.markdown-body p code{white-space:nowrap;vertical-align:baseline;display:inline}.markdown-body :not(pre)>[data-rehype-pretty-code-figure]{display:inline}.markdown-body :not(pre)>[data-rehype-pretty-code-figure] code,.markdown-body :not(pre)>[data-rehype-pretty-code-figure] [data-line]{white-space:nowrap;display:inline}.markdown-body blockquote{border-left:4px solid var(--color-primary);color:var(--color-muted);margin:1.5rem 0;padding:.2rem 0 .2rem 1rem}.markdown-body .katex-display{margin:1.6rem 0;padding:.2rem 0;overflow:auto hidden}.mdx-callout{--callout-accent:3, 3, 3;border:1px solid rgba(var(--callout-accent), .18);background:linear-gradient(180deg, rgba(var(--callout-accent), .09), rgba(var(--callout-accent), .05));border-radius:20px;margin:1.5rem 0;overflow:hidden}.mdx-callout-header,.mdx-callout-summary{background:rgba(var(--callout-accent), .08);align-items:center;gap:.8rem;padding:.9rem 1rem;display:flex}.mdx-callout-summary{cursor:pointer;list-style:none}.mdx-callout-summary::-webkit-details-marker{display:none}.mdx-callout-summary:after{content:"";width:.8rem;height:.8rem;color:rgb(var(--callout-accent));background-color:currentColor;flex:none;margin-left:.35rem;display:inline-block;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"black\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m7 4 6 6-6 6\"/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"black\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m7 4 6 6-6 6\"/></svg>");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mdx-callout[open] .mdx-callout-summary:after{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"black\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m4 7 6 6 6-6\"/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"black\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m4 7 6 6 6-6\"/></svg>")}.mdx-callout-icon{width:24px;height:24px;color:rgb(var(--callout-accent));background-color:currentColor;flex:none;justify-content:center;align-items:center;display:inline-flex;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:24px 24px;mask-size:24px 24px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mdx-callout-title{color:rgb(var(--callout-accent));line-height:1.2}.mdx-callout-body{padding:.95rem 1rem 1rem}.mdx-callout-body>:first-child{margin-top:0}.mdx-callout-body>:last-child{margin-bottom:0}.mdx-callout-note,.mdx-callout-info,.mdx-callout-todo,.mdx-callout-question,.mdx-callout-example{--callout-accent:32, 90, 171}.mdx-callout-abstract,.mdx-callout-quote{--callout-accent:107, 114, 128}.mdx-callout-tip,.mdx-callout-success{--callout-accent:21, 128, 61}.mdx-callout-warning{--callout-accent:201, 120, 0}.mdx-callout-danger,.mdx-callout-failure,.mdx-callout-bug{--callout-accent:198, 40, 40}.mdx-callout-icon-note{-webkit-mask-image:url(/images/icons/note.svg);mask-image:url(/images/icons/note.svg)}.mdx-callout-icon-abstract{-webkit-mask-image:url(/images/icons/notes.svg);mask-image:url(/images/icons/notes.svg)}.mdx-callout-icon-info{-webkit-mask-image:url(/images/icons/info-circle.svg);mask-image:url(/images/icons/info-circle.svg)}.mdx-callout-icon-todo,.mdx-callout-icon-success{-webkit-mask-image:url(/images/icons/circle-check.svg);mask-image:url(/images/icons/circle-check.svg)}.mdx-callout-icon-tip{-webkit-mask-image:url(/images/icons/bulb.svg);mask-image:url(/images/icons/bulb.svg)}.mdx-callout-icon-question{-webkit-mask-image:url(/images/icons/help.svg);mask-image:url(/images/icons/help.svg)}.mdx-callout-icon-warning{-webkit-mask-image:url(/images/icons/alert-triangle.svg);mask-image:url(/images/icons/alert-triangle.svg)}.mdx-callout-icon-failure{-webkit-mask-image:url(/images/icons/circle-x.svg);mask-image:url(/images/icons/circle-x.svg)}.mdx-callout-icon-danger{-webkit-mask-image:url(/images/icons/skull.svg);mask-image:url(/images/icons/skull.svg)}.mdx-callout-icon-bug{-webkit-mask-image:url(/images/icons/bug.svg);mask-image:url(/images/icons/bug.svg)}.mdx-callout-icon-quote{-webkit-mask-image:url(/images/icons/blockquote.svg);mask-image:url(/images/icons/blockquote.svg)}.mdx-callout-icon-example{-webkit-mask-image:url(/images/icons/clipboard-search.svg);mask-image:url(/images/icons/clipboard-search.svg)}.mdx-figure{text-align:center;margin:1.8rem 0}.mdx-figure-image{border:1px solid var(--color-border);background:#fff;border-radius:18px;width:auto;max-width:100%;height:auto;margin:0 auto;display:block}.mdx-figure-caption{color:var(--color-muted);text-align:center;margin-top:.65rem;font-size:.92rem;line-height:1.5}.markdown-body table+p:has(>em:only-child){color:var(--color-muted);text-align:center;margin-top:.65rem;font-size:.92rem;line-height:1.5}.markdown-body table+p:has(>em:only-child) em{font-style:normal}.plotly-chart{width:100%;margin:0}.plotly-chart-frame{background:#fff;border-radius:18px;width:100%;min-height:0;margin:0;overflow:hidden}.mermaid-diagram-shell{border:1px solid var(--color-border);background:linear-gradient(#fffffff5,#f6f6f6eb);border-radius:18px;width:fit-content;max-width:100%;margin:0 auto;padding:1rem;overflow-x:auto}.mermaid-diagram{width:max-content;min-width:100%}.mermaid-diagram svg{max-width:100%;height:auto;font-family:var(--font-sans);display:block}.mermaid-diagram-fallback{min-width:16rem;color:var(--color-muted);text-align:center;padding:1rem 1.25rem}.mermaid-error-details{color:var(--color-text);font-family:var(--font-mono);text-align:left;white-space:pre-wrap;background:#0303030f;border-radius:12px;margin:.85rem 0 0;padding:.85rem 1rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);padding:1.5rem 0 2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-links{flex-wrap:wrap;gap:1rem;display:flex}.footer-links a{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.footer-links a:hover{border-color:var(--color-border);background:#e004500a}.footer-icon{width:28px;height:28px;display:block}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}@media (max-width:900px){.post-grid,.about-grid,.interest-grid,.contact-grid,.profile-hero,.project-card,.search-page-controls{grid-template-columns:1fr}.contact-hero{padding-top:3.5rem}.section-header{flex-direction:column;align-items:start}.timeline-meta{flex-direction:column}.timeline-period{white-space:normal}.profile-photo-wrap{margin:0 auto}}@media (max-width:640px){.header-inner{flex-wrap:wrap;align-items:center;padding:1rem 0}.header-search{flex:1 1 0;min-width:0;max-width:none}.nav{flex-wrap:wrap;justify-content:flex-start;gap:1rem 1.25rem;width:100%}.hero{grid-template-columns:1fr;gap:1.5rem;padding-top:4rem}.hero-logo-wrap{justify-content:center}.hero-copy-wrap{text-align:center}.hero-actions{justify-content:center}.profile-hero{padding-top:3rem}.search-results-header{flex-direction:column;align-items:start}.post-card-heading,.article-header-main,.search-result-card{grid-template-columns:1fr}.post-card-thumb,.article-thumb,.search-result-card-thumb,.project-card-thumb{aspect-ratio:1;width:100%;max-width:96px;height:auto}.timeline:before{left:32px}.timeline-item{grid-template-columns:64px minmax(0,1fr)}.timeline-logo{border-radius:18px;width:64px;height:64px;font-size:.8rem}}
