*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:inter,helvetica neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}@media(min-width:38em){html{font-size:20px}}body{color:#515151;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a{color:var(--link-color);text-decoration:none}a:hover,a:focus{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:400;line-height:1.25;color:#313131;text-rendering:optimizeLegibility}h1{font-size:2rem}h2{margin-top:1rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.25rem}h4,h5,h6{margin-top:1rem;font-size:1rem}p{margin-top:0;margin-bottom:1rem}strong{color:#303030}ul,ol,dl{margin-top:0;margin-bottom:1rem}dt{font-weight:700}dd{margin-bottom:.5rem}hr{position:relative;margin:1.5rem 0;border:0;border-top:2px solid #ccc;border-bottom:1px solid #fff}abbr{font-size:85%;font-weight:700;color:#555;text-transform:uppercase}abbr[title]{cursor:help;border-bottom:1px dotted #e5e5e5}code,pre{font-family:Menlo,Monaco,courier new,monospace}code{padding:.25em .5em;font-size:85%;color:#bf616a;background-color:#f9f9f9;border-radius:3px}pre{display:block;margin-top:0;margin-bottom:1rem;padding:1rem;font-size:.8rem;line-height:1.4;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word;background-color:#f9f9f9}pre code{padding:0;font-size:100%;color:inherit;background-color:initial}.highlight{margin-bottom:1rem;border-radius:4px}.highlight pre{margin-bottom:0}blockquote{padding:.5rem 1rem;margin:.8rem 0;color:#7a7a7a;border-left:.25rem solid #e5e5e5}blockquote p:last-child{margin-bottom:0}@media(min-width:30em){blockquote{padding-right:5rem;padding-left:1.25rem}.container{margin-right:auto}}img{display:block;margin:0 0 1rem;border-radius:5px;max-width:100%;height:auto}.lead{font-size:1.25rem;font-weight:300}.message{margin-bottom:1rem;padding:1rem;color:#717171;background-color:#f9f9f9}.container{max-width:38rem;padding-left:1rem;padding-right:1rem}.masthead{padding-top:1rem;padding-bottom:1rem;margin-bottom:3rem}.masthead-title{margin-top:0;margin-bottom:0;color:#505050}.masthead-title a{color:#505050}.masthead-title small{font-size:75%;font-weight:400;color:silver;letter-spacing:0}.page,.post{margin-bottom:4em}.page-title,.post-title,.post-title a{color:#303030}.page-title,.post-title{margin-top:0}.post-date{display:block;margin-top:-.5rem;margin-bottom:1rem;color:#9a9a9a}.related{padding-top:2rem;padding-bottom:2rem;border-top:1px solid #eee}.related-posts{padding-left:0;list-style:none}.related-posts h3{margin-top:0}.related-posts li small{font-size:75%;color:#999}.related-posts li a:hover{color:#268bd2;text-decoration:none}.related-posts li a:hover small{color:inherit}.comments{margin-top:3em}.pagination{overflow:hidden;margin-left:-1rem;margin-right:-1rem;font-family:pt sans,Helvetica,Arial,sans-serif;color:#ccc;text-align:center}.pagination-item{display:block;padding:1rem;border:1px solid #eee}.pagination-item:first-child{margin-bottom:-1px}a.pagination-item:hover{background-color:#f5f5f5}@media(min-width:30em){.pagination{margin:3rem 0}.pagination-item{float:left;width:50%}.pagination-item:first-child{margin-bottom:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-item:last-child{margin-left:-1px;border-top-right-radius:4px;border-bottom-right-radius:4px}}.copy-success{background:0 0;border:none;background-image:url(/icons/copy_success.svg);width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:50%;position:absolute;top:0;right:0;z-index:10}.copy-button{background:0 0;border:none;width:24px;height:24px;background-image:url(/icons/copy_content.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;position:absolute;top:0;right:0;z-index:10;padding:10px;cursor:pointer;transition:opacity .3s ease}.copy-button:hover{opacity:.8}.copy-button:active{transform:scale(.95);opacity:.7}.code-container{position:relative;display:inline-block;width:100%}.hll{background-color:#ffc}.c{color:#999}.err{color:#a00;background-color:#faa}.k{color:#069}.o{color:#555}.cm{color:#09f;font-style:italic}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gs{}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#f60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0a8}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#f60}.mh{color:#f60}.mi{color:#f60}.mo{color:#f60}.sb{color:#c30}.sc{color:#c30}.sd{color:#c30;font-style:italic}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#f60}.css .o,.css .o+.nt,.css .nt+.nt{color:#999}html{font-family:inter,source sans pro,fira sans,sans-serif;font-weight:400}@media(min-width:48em){html{font-size:16px}}@media(min-width:58em){html{font-size:20px}}pre{tab-size:4}.sidebar{text-align:center;padding:2rem 1rem;color:rgba(255,255,255,.5);flex-shrink:0}@media(min-width:48em){.sidebar{top:0;left:0;bottom:0;width:18rem;text-align:left;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#464646 auto}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:0 0;border-radius:10px}::-webkit-scrollbar-thumb{background-color:#464646;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#969696}}.sidebar a,li{color:var(--sidebar-a-color)}.sidebar-about{text-align:center;color:var(--sidebar-p-color)}.sidebar-about h1{color:var(--sidebar-h1-color);margin-top:0;font-weight:600;font-size:1.5em;font-family:quicksand,sans-serif}.sidebar-nav{margin-top:2rem;margin-bottom:2rem;padding-left:0;list-style:none}.subnav{list-style:none;padding-left:0}.sidebar-nav-item{display:block}a.sidebar-nav-item:hover,a.sidebar-nav-item:focus{text-decoration:underline}.sidebar-nav-item.active{font-weight:700}@media(min-width:48em){.sidebar-sticky{top:1rem;width:16rem}}.content{padding-top:2rem;padding-bottom:2rem}@media(min-width:48em){.content{max-width:38rem;margin-left:2rem;margin-right:1.75rem}}@media(min-width:64em){.content{max-width:44rem;margin-left:2rem;margin-right:1.75rem}}.footnote{font-size:.7em;margin-top:.5rem;color:var(--sidebar-p-color)}.go{color:#444}.badge{display:inline;vertical-align:bottom}.badges{float:right}.brand{font-size:4em;margin-bottom:0}@media(min-width:48em){.content{max-width:38rem;margin-left:1.75rem;margin-right:2rem}}@media(min-width:64em){.content{max-width:44rem;margin-left:1.75rem;margin-right:2rem}}.theme-base-08 .sidebar{background-color:#ac4142}.theme-base-08 .content a,.theme-base-08 .related-posts li a:hover{color:#ac4142}.theme-base-09 .sidebar{background-color:#d28445}.theme-base-09 .content a,.theme-base-09 .related-posts li a:hover{color:#d28445}.theme-base-0a .sidebar{background-color:#f4bf75}.theme-base-0a .content a,.theme-base-0a .related-posts li a:hover{color:#f4bf75}.theme-base-0b .sidebar{background-color:#90a959}.theme-base-0b .content a,.theme-base-0b .related-posts li a:hover{color:#90a959}.theme-base-0c .sidebar{background-color:#75b5aa}.theme-base-0c .content a,.theme-base-0c .related-posts li a:hover{color:#75b5aa}.theme-base-0d .sidebar{background-color:#6a9fb5}.theme-base-0d .content a,.theme-base-0d .related-posts li a:hover{color:#6a9fb5}.theme-base-0e .sidebar{background-color:#aa759f}.theme-base-0e .content a,.theme-base-0e .related-posts li a:hover{color:#aa759f}.theme-base-0f .sidebar{background-color:#8f5536}.theme-base-0f .content a,.theme-base-0f .related-posts li a:hover{color:#8f5536}body.layout-reverse .container.content{direction:rtl}body.layout-reverse .wrapper{justify-content:flex-end;flex-direction:row-reverse}.sub-heading{color:var(--sidebar-p-color)}@media(min-width:48em){.bullet{margin-left:1em;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1%}.sub-heading{margin-left:1em}.btn-light-dark svg{margin:auto;width:20px;height:20px;color:#000}.container.content{overflow-y:auto;padding-right:2rem;flex-grow:1}}@media(max-width:48em){body>.wrapper,body.layout-reverse .wrapper{flex-direction:column}body{overflow:auto!important;height:auto!important}.heading{font-weight:400}.entries{padding-left:0}.btn-light-dark svg{margin:auto;width:20px;height:20px;color:#000}}h1,h2,h3,h4,h5,strong{color:var(--text-color)}.content div,p,table{color:var(--text-color)}.page-title,.post-title,.post-title a{color:var(--post-title-color)}.content li,li>p{color:var(--list-color)}.content code{color:var(--code-color);background-color:var(--code-background-color)!important}.content a code{color:var(--link-color)}.content pre{color:var(--code-block-color);background-color:var(--code-block-background-color)!important}.content pre code{color:var(--code-block-color);background-color:initial!important}.btn-light-dark .moon{color:var(--moon-sun-color)}.btn-light-dark .sun{color:var(--moon-sun-color)}.btn-light-dark{padding:0;margin:1em;border-radius:50%;border:none;cursor:pointer;text-align:center;width:40px;height:40px;background-color:var(--moon-sun-background-color)}body{overflow:hidden;height:100vh}body>.wrapper{display:flex;height:100%}.container.content{overflow-y:auto;flex-grow:1}.layout-reverse .container.content{padding-right:0;padding-left:2rem}.container.content::-webkit-scrollbar{width:3px}.container.content::-webkit-scrollbar-thumb{border-radius:1.5px}.container.content::-webkit-scrollbar-track{margin:5.5em 0}.sidebar{background-color:var(--sidebar-bg-color)}.lead{text-align:center;color:var(--sidebar-p-color)}.sidebar-about img{margin-left:auto;margin-right:auto;text-align:center;border:2px solid var(--sidebar-img-border-color);border-radius:50%;height:180px;width:180px}.social{margin-right:.5em;text-decoration:none!important;color:var(--sidebar-socials-color)!important}.heading{margin-top:1em}.post-date{display:inline-block;color:var(--date-color)}.info span{display:inline-block}.info ul{display:inline-block;float:right}.info ul li{margin-left:.5em}.headline{display:flex;justify-content:space-between;align-items:center;align-content:center}.reading-time{color:gray;font-style:italic}.newsletters .help-block-for-success{display:none;margin:.25rem 1rem .25rem 0;text-align:center;color:green}.newsletters .help-block-for-error{display:none;margin:.25rem 1rem .25rem 0;text-align:center;color:#de0928}.newsletters .help-block-show{display:block}.newsletters form{display:flex;align-content:center;justify-content:center;flex-flow:row wrap}.newsletters .email-subscription-form-hide{display:none}.newsletters label{margin:.25rem 1rem .25rem 0;text-align:center}.newsletters input{margin:.25rem 1rem .25rem 0;font-size:.75rem;padding:.25rem .5rem;border:1px solid var(--text-color);border-radius:.25rem}.newsletters input:focus-visible{outline:none}.newsletters button{background-color:initial;color:var(--text-color);padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--text-color);font-family:inherit;font-size:.85rem;cursor:pointer;margin:.25rem 0}.tags{padding-left:0}.tags li{display:inline;text-decoration:none}.tags li a{color:var(--table-stripe-color);display:inline-block;padding:0 .7em;text-align:center;font-size:.7em;background-color:var(--list-color);border-radius:.2em}table{margin-bottom:1rem;width:100%;border:1px solid var(--table-border-color);border-collapse:collapse}td,th{padding:.25rem .5rem;border:1px solid var(--table-border-color)}tbody tr:nth-child(odd) td,tbody tr:nth-child(odd) th{background-color:var(--table-stripe-color)}.entries li{display:flex}.entries li .title{order:1}.entries li .published{order:3}.entries li::after{background-image:radial-gradient( circle,currentcolor 1px,transparent 1.5px );background-position:bottom;background-size:1ex 3.5px;background-repeat:space no-repeat;content:"";flex-grow:1;height:1.1em;order:2}.article-toc{display:none;font-size:.9em;width:20em;margin-top:5em;overflow-y:auto;line-height:1.4em;max-height:85%}.article-toc .toc-wrapper{position:fixed}.article-toc nav{margin-left:1em}.article-toc h4{margin-left:0}.article-toc ul{margin-bottom:0;padding:0}.article-toc li{list-style:none;margin-left:20px;margin-top:2px}.article-toc li a{color:var(--text-color);text-decoration:none}.article-toc li.active{font-weight:700}.article-toc li.inactive{font-weight:300}@media screen and (min-width:100em){.article-toc{display:block}}.next-post{text-align:right;float:right}.previous-post{float:left}.content pre code{white-space:pre}div.highlight pre{overflow-x:auto}#page-nav{text-align:center}#page-nav a{margin:0 .2em}#page-nav span{margin:0 .2em}.next{float:right;display:inline}.prev{float:left;display:inline}.current{color:var(--text-color)}@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Quicksand:wght@300;400;500;600;700&family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";@font-face{font-family:abril fatface;font-style:normal;font-weight:400;src:local(""),url(/fonts/abril-fatface-v19-latin-regular.woff2)format("woff2"),url(/fonts/abril-fatface-v19-latin-regular.woff)format("woff")}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2)format("woff2"),url(fonts/KaTeX_AMS-Regular.woff)format("woff"),url(fonts/KaTeX_AMS-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2)format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff)format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf)format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2)format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff)format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2)format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff)format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf)format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2)format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff)format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2)format("woff2"),url(fonts/KaTeX_Main-Bold.woff)format("woff"),url(fonts/KaTeX_Main-Bold.ttf)format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2)format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff)format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf)format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2)format("woff2"),url(fonts/KaTeX_Main-Italic.woff)format("woff"),url(fonts/KaTeX_Main-Italic.ttf)format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2)format("woff2"),url(fonts/KaTeX_Main-Regular.woff)format("woff"),url(fonts/KaTeX_Main-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2)format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff)format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf)format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2)format("woff2"),url(fonts/KaTeX_Math-Italic.woff)format("woff"),url(fonts/KaTeX_Math-Italic.ttf)format("truetype")}@font-face{font-family:katex_sansserif;font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff)format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf)format("truetype")}@font-face{font-family:katex_sansserif;font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff)format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf)format("truetype")}@font-face{font-family:katex_sansserif;font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2)format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff)format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2)format("woff2"),url(fonts/KaTeX_Script-Regular.woff)format("woff"),url(fonts/KaTeX_Script-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size1-Regular.woff)format("woff"),url(fonts/KaTeX_Size1-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size2-Regular.woff)format("woff"),url(fonts/KaTeX_Size2-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size3-Regular.woff)format("woff"),url(fonts/KaTeX_Size3-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2)format("woff2"),url(fonts/KaTeX_Size4-Regular.woff)format("woff"),url(fonts/KaTeX_Size4-Regular.ttf)format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2)format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff)format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf)format("truetype")}.katex{text-rendering:auto;font:1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:initial}.katex .katex-version:after{content:"0.16.3"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;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 .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 .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 .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:.27777778em;margin-right:-.55555556em}.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:.83333333em}.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.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.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.66666667em}.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.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.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.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.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:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.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.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.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.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.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:.41666667em}.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:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.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:.83333333em}.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.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.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:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.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.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.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.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.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.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.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;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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.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}.tabs{overflow:hidden;border-bottom:1px solid var(--text-color)}@media(min-width:48em){.tabs button{font-family:Menlo,Monaco,courier new,monospace;font-size:.8em;background-color:var(--bkg-color);color:var(--text-color);float:left;border-top:1px solid var(--text-color);border-right:1px solid var(--text-color);border-bottom:none;border-left:1px solid var(--text-color);border-radius:5px 5px 0 0;margin:0 .2em 0 0;outline:none;cursor:pointer;padding:.5em 1em;transition:.3s}}@media(max-width:48em){.tabs button{font-family:Menlo,Monaco,courier new,monospace;font-size:.8em;background-color:var(--bkg-color);color:var(--text-color);float:left;border-top:1px solid var(--text-color);border-right:1px solid var(--text-color);border-bottom:none;border-left:1px solid var(--text-color);border-radius:5px 5px 0 0;margin:0 .2em 0 0;outline:none;cursor:pointer;padding:.7em 1.3em;transition:.3s}}.tabs button:hover{background-color:#ddd;color:var(--dark-gray)}.tabs button.active{background-color:#ccc;color:#000}.tabcontent{display:none;padding-top:.2em}code,pre{font-family:JetBrains Mono,Menlo,Monaco,courier new,monospace}@font-face{font-display:swap;font-family:fjalla one;font-style:normal;font-weight:400;src:url(../fonts/fjalla-one-v15-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:jetbrains mono;font-style:normal;font-weight:400;src:url(../fonts/jetbrains-mono-v20-latin-regular.woff2)format("woff2")}body,p,div,span,li,a:not(.sidebar-nav-item):not(.post-title):not(.page-title){font-family:inter,sans-serif}html{font-family:inter,sans-serif}h1,h2,h3,h4,h5,h6,.post-title,.page-title,.masthead-title{font-family:quicksand,sans-serif!important;font-weight:600!important}.sidebar-about h1{font-family:quicksand,sans-serif!important;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3);color:var(--sidebar-h1-color)!important;transition:color .2s ease;transform:translateZ(0);will-change:color}.sidebar,.sidebar *,.sidebar-about,.sidebar-about *,.sidebar-nav,.sidebar-nav *,.sidebar-nav-item,.sidebar-nav a,.lead,.social{font-family:quicksand,sans-serif!important;font-weight:500!important}.sidebar-about h1{font-weight:600!important}.sidebar-about p,.lead{font-weight:400!important}.collapsible-header{cursor:pointer!important;user-select:none!important;transition:all .3s ease!important;display:flex!important;align-items:center!important}.collapsible-header:hover{background:rgba(255,255,255,.1)!important;border-radius:4px!important;padding:4px 8px!important;margin:-4px -8px!important}.toggle-icon{display:inline-block!important;margin-right:8px!important;transition:all .3s ease!important;font-size:.8em!important;font-family:monospace!important;color:var(--sidebar-p-color)!important}.collapsible-content{overflow:hidden!important;transition:all .3s ease!important;list-style:none!important;padding:0!important;margin:0!important}.collapsible-content.collapsed{max-height:0!important;opacity:0!important}.collapsible-content.expanded{max-height:500px!important;opacity:1!important;margin-top:4px!important}.collapsible-content .posts-list{list-style:none!important;padding:0!important;margin:0!important}.collapsible-content .bullet{margin-left:16px!important;padding:2px 0!important;list-style:none!important}.sidebar-about img{box-shadow:0 8px 32px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease;transform:translateZ(0);will-change:transform,box-shadow}.sidebar-about img:hover{transform:translateY(-2px)translateZ(0);box-shadow:0 12px 40px rgba(0,0,0,.3)}.sidebar-nav-item{transition:all .2s ease;border-radius:8px;margin-bottom:4px;padding:8px 12px;transform:translateZ(0);will-change:transform,background-color,box-shadow}.sidebar-nav-item:hover{background:rgba(255,255,255,.1);transform:translateX(4px)translateZ(0);box-shadow:0 4px 12px rgba(0,0,0,.15)}body.dark-theme .sidebar-nav-item:hover{background:rgba(255,255,255,5%)}.post-title,.page-title{background:linear-gradient( 135deg,var(--post-title-color),var(--list-color) );-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.content pre{border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1)}:where(h1,h2,h3,h4,h5,h6),:where(.post-title,.page-title,.masthead-title){font-family:quicksand,sans-serif!important;font-weight:600!important}body.dark-theme .content pre{box-shadow:0 4px 20px rgba(0,0,0,.4)}.content code{border-radius:6px;padding:2px 6px;box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.content a{background:linear-gradient(135deg,var(--link-color),transparent);background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease}.content a:hover{background-size:100% 2px;text-shadow:0 1px 2px rgba(0,0,0,.1)}table{border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.1)}body.dark-theme table{box-shadow:0 4px 20px rgba(0,0,0,.3)}blockquote{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,5%);background:linear-gradient( 90deg,transparent,rgba(255,255,255,.5),transparent )}body.dark-theme blockquote{background:linear-gradient( 90deg,transparent,rgba(255,255,255,5%),transparent );box-shadow:0 2px 12px rgba(0,0,0,.2)}.btn-light-dark{background:linear-gradient( 135deg,var(--moon-sun-background-color),rgba(88,91,112,.8) )!important;border:2px solid rgba(255,255,255,.2)!important;transition:all .3s ease!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important}.btn-light-dark:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px rgba(0,0,0,.25)!important;background:linear-gradient( 135deg,rgba(88,91,112,.9),var(--moon-sun-background-color) )!important}body.dark-theme .btn-light-dark{background:linear-gradient( 135deg,var(--moon-sun-background-color),rgba(69,71,90,.9) )!important;border:2px solid rgba(255,255,255,.1)!important}input,select,textarea{background:linear-gradient( 135deg,rgba(255,255,255,.9),rgba(239,241,245,.9) )!important;border:1px solid rgba(172,176,190,.3)!important;border-radius:8px!important;transition:all .3s ease!important;box-shadow:0 2px 8px rgba(0,0,0,5%)!important;padding:8px 12px!important}input:focus,select:focus,textarea:focus{border-color:var(--link-color)!important;box-shadow:0 0 0 3px rgba(30,102,245,.1),0 4px 12px rgba(0,0,0,.1)!important;outline:none!important}body.dark-theme input,body.dark-theme select,body.dark-theme textarea{background:linear-gradient( 135deg,rgba(49,50,68,.9),rgba(24,24,37,.9) )!important;border:1px solid rgba(88,91,112,.3)!important;color:var(--text-color)!important}body.dark-theme input:focus,body.dark-theme select:focus,body.dark-theme textarea:focus{border-color:var(--link-color)!important;box-shadow:0 0 0 3px rgba(137,180,250,.1),0 4px 12px rgba(0,0,0,.2)!important}.pagination-item{background:linear-gradient( 135deg,rgba(255,255,255,.9),rgba(239,241,245,.8) )!important;border-radius:8px!important;transition:all .3s ease!important;box-shadow:0 2px 8px rgba(0,0,0,5%)!important;margin:4px!important}.pagination-item:hover{transform:translateY(-1px)!important;box-shadow:0 4px 16px rgba(0,0,0,.1)!important;background:linear-gradient( 135deg,var(--link-color),rgba(30,102,245,.8) )!important;color:#fff!important}body.dark-theme .pagination-item{background:linear-gradient( 135deg,rgba(49,50,68,.9),rgba(24,24,37,.8) )!important;color:var(--text-color)!important}body.dark-theme .pagination-item:hover{background:linear-gradient( 135deg,var(--link-color),rgba(137,180,250,.8) )!important}.social{transition:all .2s ease!important;padding:8px!important;border-radius:50%!important;background:rgba(255,255,255,.1)!important;transform:translateZ(0)!important;will-change:transform,background-color,box-shadow!important}.social:hover{transform:translateY(-2px)scale(1.1)translateZ(0)!important;background:linear-gradient( 135deg,var(--sidebar-socials-color),rgba(245,224,220,.8) )!important;box-shadow:0 4px 16px rgba(0,0,0,.2)!important}.ci{display:flex;justify-content:center;padding-bottom:20px}.content.container{max-width:100%!important}.article-toc{width:0%!important}.posts-section{margin:8px 0;font-family:quicksand,sans-serif!important}.posts-section details{border-radius:8px;overflow:hidden;transition:all .3s ease;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,2%)}.posts-section details:hover{background:rgba(255,255,255,5%);box-shadow:0 2px 8px rgba(0,0,0,.1);border-color:rgba(255,255,255,.2)}.posts-section details[open]{background:rgba(255,255,255,3%);border-color:rgba(255,255,255,.15)}.posts-section summary{cursor:pointer;user-select:none;padding:8px 12px;background:rgba(255,255,255,2%);border-radius:6px;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;font-weight:500;color:var(--sidebar-p-color);position:relative;font-size:.95em;letter-spacing:.5px}.posts-section summary:hover{background:rgba(255,255,255,.1);transform:translateX(2px)}.posts-section summary:focus{outline:none;background:rgba(255,255,255,.15);box-shadow:0 0 0 2px rgba(255,255,255,.2)}.posts-section summary:focus-visible{outline:2px solid var(--link-color);outline-offset:2px;background:rgba(255,255,255,.15)}.posts-section summary::before{content:"▶";font-size:.7em;margin-right:8px;transition:transform .3s ease;color:var(--sidebar-p-color);opacity:.7}.posts-section details[open] summary::before{transform:rotate(90deg);opacity:1}.posts-section details[open] summary{background:rgba(255,255,255,5%);border-bottom:1px solid rgba(255,255,255,.1);border-radius:6px 6px 0 0}.posts-section summary::-webkit-details-marker{display:none}.posts-section summary::marker{display:none}.posts-section .posts-list{list-style:none;padding:8px 0;margin:0;background:rgba(0,0,0,2%);border-radius:0 0 6px 6px}.posts-section details[open] .posts-list{animation:slideDown .3s ease-out}.posts-section .posts-list li{margin:0;padding:0}.posts-section .posts-list .bullet{padding:6px 12px 6px 24px;margin:2px 0;transition:all .2s ease;border-radius:4px;position:relative}.posts-section .posts-list .bullet:hover{background:rgba(255,255,255,8%);transform:translateX(4px)}.posts-section .posts-list .bullet a{color:var(--sidebar-p-color);text-decoration:none;font-size:.9em;transition:color .2s ease;display:block;line-height:1.4}.posts-section .posts-list .bullet a:hover{color:var(--sidebar-a-color);text-decoration:none}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}body.dark-theme .posts-section details{border-color:rgba(255,255,255,5%);background:rgba(255,255,255,1%)}body.dark-theme .posts-section details:hover{background:rgba(255,255,255,3%);box-shadow:0 2px 8px rgba(0,0,0,.2);border-color:rgba(255,255,255,.1)}body.dark-theme .posts-section details[open]{background:rgba(255,255,255,2%);border-color:rgba(255,255,255,8%)}body.dark-theme .posts-section details[open] summary{background:rgba(255,255,255,3%);border-bottom-color:rgba(255,255,255,8%)}body.dark-theme .posts-section summary{background:rgba(255,255,255,2%);color:var(--sidebar-p-color)}body.dark-theme .posts-section summary:hover{background:rgba(255,255,255,6%)}body.dark-theme .posts-section summary:focus{background:rgba(255,255,255,.1);box-shadow:0 0 0 2px rgba(255,255,255,.12)}body.dark-theme .posts-section summary:focus-visible{outline:2px solid var(--link-color);outline-offset:2px;background:rgba(255,255,255,.1)}body.dark-theme .posts-section .posts-list{background:rgba(0,0,0,.15)}body.dark-theme .posts-section .posts-list .bullet:hover{background:rgba(255,255,255,4%)}@media(max-width:48em){.posts-section summary{padding:10px 12px}.posts-section .posts-list .bullet{padding:8px 12px 8px 24px}.posts-section .posts-list .bullet a{font-size:.95em}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.content.container{animation:fadeInUp .3s ease-out}.sidebar{animation:fadeInLeft .4s ease-out}.sidebar-about img{animation:scaleIn .4s ease-out .1s both}.sidebar-nav-item{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;transform:translateZ(0);will-change:transform,background-color,box-shadow}.sidebar-nav-item::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient( 90deg,transparent,rgba(255,255,255,.1),transparent );transition:left .2s ease;pointer-events:none}.sidebar-nav-item:hover::before{left:100%}.sidebar-nav-item a,.content a,.posts-section .posts-list .bullet a{transition:color .15s ease,text-shadow .15s ease}.btn-light-dark{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-light-dark::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.btn-light-dark:hover::before{width:300px;height:300px}.social{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;transform:translateZ(0);will-change:transform,background-color,box-shadow}.social::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;background:radial-gradient( circle,rgba(255,255,255,.2) 0%,transparent 70% );opacity:0;transform:scale(0);transition:all .2s ease;pointer-events:none}.social:hover::after{opacity:1;transform:scale(1.5)}.post-title,.page-title{transition:all .2s ease;position:relative}.post-title:hover,.page-title:hover{transform:translateY(-2px);text-shadow:0 4px 8px rgba(0,0,0,.1)}input,select,textarea{transition:all .2s cubic-bezier(.4,0,.2,1);transform-origin:center}input:focus,select:focus,textarea:focus{transform:scale(1.02)}.pagination-item{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.pagination-item::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient( 90deg,transparent,rgba(255,255,255,.3),transparent );transition:left .3s ease}.pagination-item:hover::before{left:100%}body.dark-theme .sidebar-nav-item::before{background:linear-gradient( 90deg,transparent,rgba(255,255,255,6%),transparent )}body.dark-theme .sidebar-nav-item:hover{background:rgba(255,255,255,4%);box-shadow:inset 0 0 0 1px rgba(255,255,255,6%)}body.dark-theme .sidebar-nav-item:focus,body.dark-theme .sidebar-nav-item.active{background:rgba(255,255,255,6%);box-shadow:inset 0 0 0 1px rgba(255,255,255,8%);border-radius:8px}body.dark-theme .sidebar-nav-item:hover a,body.dark-theme .sidebar-nav-item:focus a,body.dark-theme .sidebar-nav-item.active a{color:var(--sidebar-a-color)}.content pre{transition:all .2s ease;position:relative}.content pre:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}blockquote{transition:all .2s ease;position:relative}blockquote::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--link-color),transparent);transform:scaleY(0);transition:transform .2s ease}blockquote:hover::before{transform:scaleY(1)}table{transition:all .2s ease}table:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.1)}.content ul li,.content ol li{transition:all .2s ease;position:relative}.content ul li:hover,.content ol li:hover{transform:translateX(4px);padding-left:8px}.content img{transition:all .2s ease;border-radius:8px}.content img:hover{transform:scale(1.02);box-shadow:0 8px 25px rgba(0,0,0,.15)}h1,h2,h3,h4,h5,h6{transition:color .2s ease;position:relative}.posts-section details{transition:all .4s cubic-bezier(.4,0,.2,1)}.posts-section details[open]{animation:slideDown .4s ease-out}.posts-section summary{transition:all .3s cubic-bezier(.4,0,.2,1)}.posts-section summary::before{transition:transform .3s ease}.posts-section details[open] summary::before{transform:rotate(90deg)}::-webkit-scrollbar-thumb{transition:background-color .3s ease}::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.3)}.sidebar{overflow-x:hidden}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.3);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4)}body.dark-theme .sidebar::-webkit-scrollbar-track{background:rgba(255,255,255,5%)}body.dark-theme .sidebar::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.15)}body.dark-theme .sidebar::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.25)}.sidebar{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3)rgba(0,0,0,.1)}body.dark-theme .sidebar{scrollbar-color:rgba(255,255,255,.15)rgba(255,255,255,5%)}body:not(.dark-theme) .reading-time{color:var(--muted-text-color)}body:not(.dark-theme) .sidebar .footnote{color:#fff}body:not(.dark-theme) .content .footnote{color:var(--text-color)}body.dark-theme .content .footnote{color:var(--text-color)}body:not(.dark-theme) .sidebar .footnote a,body.dark-theme .sidebar .footnote a{color:#fff;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:2px}body:not(.dark-theme) .sidebar .footnote a:hover,body.dark-theme .sidebar .footnote a:hover{text-decoration-thickness:3px}*:focus{transition:all .2s ease}*:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.sidebar-nav-item::before,.btn-light-dark::before,.social::after,.pagination-item::before{display:none!important}}.sidebar-nav-item:nth-child(1){animation-delay:.1s}.sidebar-nav-item:nth-child(2){animation-delay:.2s}.sidebar-nav-item:nth-child(3){animation-delay:.3s}.sidebar-nav-item:nth-child(4){animation-delay:.4s}.sidebar-nav-item:nth-child(5){animation-delay:.5s}.sidebar-nav-item:nth-child(6){animation-delay:.6s}body{transition:background .5s ease,color .3s ease}.sidebar,.content,.sidebar-nav-item,.social,.btn-light-dark,.pagination-item,.content a,.content img,.content pre,blockquote,table,.content ul li,.content ol li,.post-title,.page-title,h1,h2,h3,h4,h5,h6,input,select,textarea{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.mobile-nav{display:none;position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient( 180deg,var(--sidebar-bg-color) 0%,rgba(108,112,134,.95) 100% );backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.1);font-family:quicksand,sans-serif;min-height:70px}body.dark-theme .mobile-nav{background:linear-gradient( 180deg,var(--sidebar-bg-color-dark) 0%,rgba(17,17,27,.98) 100% );box-shadow:0 2px 25px rgba(0,0,0,.5)}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:inherit;border-bottom:1px solid rgba(255,255,255,.1)}body.dark-theme .mobile-header{border-bottom:1px solid rgba(255,255,255,5%)}.mobile-brand a{font-family:quicksand,sans-serif!important;font-weight:600!important;font-size:1.2rem;color:var(--sidebar-h1-color)!important;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.3)}.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;width:30px;height:30px;cursor:pointer;transition:transform .3s ease;padding:4px;border-radius:4px}.hamburger:hover{transform:scale(1.1);background-color:rgba(255,255,255,.1)}body.dark-theme .hamburger:hover{background-color:rgba(255,255,255,5%)}.hamburger-line{width:22px;height:2px;background-color:var(--sidebar-a-color);margin:2px 0;transition:all .3s ease;border-radius:2px}.mobile-menu-toggle:checked~.mobile-nav .hamburger .hamburger-line:nth-child(1){transform:translateY(6px)rotate(45deg)!important}.mobile-menu-toggle:checked~.mobile-nav .hamburger .hamburger-line:nth-child(2){opacity:0!important}.mobile-menu-toggle:checked~.mobile-nav .hamburger .hamburger-line:nth-child(3){transform:translateY(-6px)rotate(-45deg)!important}.mobile-menu-toggle:checked~.mobile-nav .hamburger{transform:rotate(0)}.mobile-menu-toggle{display:none}.mobile-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:all .3s ease;z-index:999}.mobile-menu-toggle:checked~.mobile-menu-backdrop{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:70px;left:0;right:0;background:linear-gradient( 180deg,var(--sidebar-bg-color) 0%,rgba(108,112,134,.95) 100% );backdrop-filter:blur(10px);height:calc(100vh - 70px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;overflow-y:auto;overflow-x:hidden;border-bottom:1px solid rgba(255,255,255,.1);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3)transparent;z-index:1001}.mobile-menu::-webkit-scrollbar{width:4px}.mobile-menu::-webkit-scrollbar-track{background:0 0}.mobile-menu::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.3);border-radius:10px}.mobile-menu::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.5)}body.dark-theme .mobile-menu{background:linear-gradient( 180deg,var(--sidebar-bg-color-dark) 0%,rgba(17,17,27,.98) 100% );border-bottom:1px solid rgba(255,255,255,5%)}.mobile-menu-toggle:checked~.mobile-nav .mobile-menu{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}@media(max-width:47.9em){.mobile-sidebar-content{padding:1.5rem;color:var(--sidebar-a-color);background:0 0}.mobile-menu p,.mobile-menu a:not(.btn-light-dark),.mobile-menu h1,.mobile-menu h2,.mobile-menu h3,.mobile-menu li{color:var(--sidebar-a-color)!important}}.mobile-menu .sidebar-about{text-align:center;margin-bottom:2rem}.mobile-menu .sidebar-about h1{font-family:quicksand,sans-serif!important;font-weight:600!important;color:var(--sidebar-h1-color)!important;font-size:1.5rem;margin-bottom:.5rem}.mobile-menu .sidebar-about img{width:120px;height:120px;margin:0 auto 1rem;border-radius:50%;border:2px solid var(--sidebar-img-border-color)}.mobile-menu .lead{color:var(--sidebar-p-color);font-size:.95rem;text-align:center}.mobile-menu .sidebar-nav{margin:1.5rem 0}.mobile-menu .sidebar-nav .heading{margin:1rem 0 .5rem}.mobile-menu .sidebar-nav .heading a{color:var(--sidebar-a-color);text-decoration:none;font-weight:600;font-size:1.1rem}.mobile-menu .sidebar-nav .bullet{margin:.3rem 0 .3rem 1rem}.mobile-menu .sidebar-nav .bullet a{color:var(--sidebar-a-color);text-decoration:none;font-size:.95rem;opacity:.9}.mobile-menu .posts-section{margin:.5rem 0}.mobile-menu .posts-section .sub-heading{color:var(--sidebar-p-color);font-weight:500;margin-bottom:.5rem;display:block}.mobile-menu .posts-list .bullet a:hover,.mobile-menu .sidebar-nav .heading a:hover,.mobile-menu .sidebar-nav .bullet a:hover{opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.3)}.mobile-menu .social{color:var(--sidebar-socials-color)!important;text-decoration:none;margin-right:1rem;font-size:1.2rem}@media(max-width:47.9em){.mobile-menu .btn-light-dark{background-color:var(--moon-sun-background-color);border-radius:50%;margin:1rem auto;display:block}.mobile-menu .btn-light-dark .moon,.mobile-menu .btn-light-dark .sun{color:var(--moon-sun-color)}}.mobile-menu .copyright{text-align:center;margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);color:var(--sidebar-p-color);font-size:.85rem;opacity:.8}@media(max-width:47.9em){.mobile-nav{display:block}.mobile-menu-backdrop{display:block}body{padding-top:70px}.sidebar{display:none}.wrapper{padding-top:0}.content{padding-top:1rem}.mobile-menu-toggle:checked~body{overflow:hidden}}@media(min-width:48em){.mobile-nav{display:none!important}.mobile-menu-backdrop{display:none!important}.mobile-menu-toggle{display:none!important}}@media(min-width:48em) and (max-width:64em){.sidebar{width:16rem!important;padding:1.75rem 1rem!important}.sidebar::-webkit-scrollbar{width:6px}.sidebar-about h1{font-size:1.3em!important;margin-bottom:.75rem!important}.sidebar-about img{width:100px!important;height:100px!important;margin-bottom:.75rem!important}.sidebar-about p,.lead{font-size:.9em!important;margin-bottom:1rem!important}.sidebar-nav{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.sidebar-nav-item{font-size:.95em!important;padding:.4rem 0!important}.sidebar-nav .posts-section,.posts-section,.sidebar-nav .sub-heading,.sidebar-nav li.sub-heading,.sidebar-nav li.bullet{display:none!important}.social{width:1.75rem!important;height:1.75rem!important;margin:0 .4rem!important}.sidebar .footnote,.sidebar .copyright{font-size:.65em!important;line-height:1.4!important}.content{margin-left:1.5rem!important;max-width:calc(100% - 17.5rem)!important}.btn-light-dark{width:2.25rem!important;height:2.25rem!important;font-size:1em!important}}