a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{max-width:100%}html{box-sizing:border-box;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:inherit}a{background-color:initial}a:active,a:hover{outline:0}:root{--background:#fdfdfc;--complimentary:#3584e4;--heading:#1a1a1a;--text:#333333;--text-body:#374151;--code:#333333;--text-dim:#6b7280;--link:#3584e4;--link-hover:#2563eb;--link-visited:#3584e4;--heading-accent:#1e40af;--code-background:#f1f5f9;--pre-background:#f6f7f8;--code-border:transparent;--code-hl:#e0f2fe;--border-general:#e5e7eb;--border-faint:#f3f4f6;--table-row-hover:#e8f1fd;--color-border:#e5e7eb;--card-bg:#f8fafc;--card-hover-bg:#eff6ff;--card-hover-border:#7dd3fc;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:Charter, "Bitstream Charter", "Iowan Old Style", "Source Serif Pro", Georgia, Cambria, "Times New Roman", serif;--mono:sfmono-regular, Consolas, "Liberation Mono", Menlo, "Courier New", monospace;--measure:44rem}:root[data-theme=dark]{--background:#0d0d0f;--complimentary:#60a5fa;--heading:#f5f5f5;--text:#e6e6e6;--text-body:#e0e0e0;--code:#e6e6e6;--text-dim:#9ca3af;--link:#8ab4f8;--link-hover:#a9c7fa;--link-visited:#8ab4f8;--heading-accent:#8ab4f8;--code-background:#2a2a2e;--pre-background:#161618;--code-border:#2a2a2e;--code-hl:#5a5a5a;--border-general:#2e2e32;--border-faint:#1f1f22;--table-row-hover:#202024;--color-border:#2e2e32;--card-bg:#161618;--card-hover-bg:#202024;--card-hover-border:#3a3a40}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#0d0d0f;--complimentary:#60a5fa;--heading:#f5f5f5;--text:#e6e6e6;--text-body:#e0e0e0;--code:#e6e6e6;--text-dim:#9ca3af;--link:#8ab4f8;--link-hover:#a9c7fa;--link-visited:#8ab4f8;--heading-accent:#8ab4f8;--code-background:#2a2a2e;--pre-background:#161618;--code-border:#2a2a2e;--code-hl:#5a5a5a;--border-general:#2e2e32;--border-faint:#1f1f22;--table-row-hover:#202024;--color-border:#2e2e32;--card-bg:#161618;--card-hover-bg:#202024;--card-hover-border:#3a3a40}}html{color:var(--text);scroll-behavior:smooth;background-color:var(--background)}body{margin:auto;max-width:880px;padding:0 2rem 2rem;font-family:var(--serif);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on;background-color:var(--background)}main{hyphens:none;max-width:var(--measure);margin-inline:auto}p{margin:1.2em 0}h1{font-family:var(--sans);font-weight:700;margin-bottom:.5rem;font-size:2.25rem;line-height:1.2;margin-top:0;color:var(--heading)}h2{font-family:var(--sans);margin-bottom:1em;margin-top:2.5em;padding-bottom:.3em;font-weight:600;font-size:1.5rem;line-height:1.3;color:var(--heading);border-bottom:1px solid var(--border-general)}h3{font-family:var(--sans);font-size:1.2rem;font-weight:600;margin-bottom:.5em;margin-top:1.8em;padding-bottom:0;color:var(--heading)}h4{font-family:var(--sans);font-size:1.05rem;margin-bottom:0;padding-bottom:0;font-weight:600;color:var(--heading)}a{text-decoration:none;color:var(--link)}a:hover{text-decoration:underline;color:var(--link-hover)}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--link);outline-offset:3px}a:visited{color:var(--link-visited)}hr{border:none;border-top:1px solid var(--border-general);margin:1.5rem 0}blockquote{border-left:4px solid var(--border-general);color:var(--text-dim);font-style:italic;margin:1.5rem 0;padding:0 0 0 1.5rem;line-height:1.6}blockquote p{margin:0}details{padding:0 0 0 14px;border-left:2px dashed var(--border-general)}mark{padding:0 2px}ul{padding-left:2rem}article ul,#post-content ul{list-style-type:disc}article ul ul,#post-content ul ul{list-style-type:circle}article ul ul ul,#post-content ul ul ul{list-style-type:square}article li+li,#post-content li+li{margin-top:.25em}strong{font-weight:600}.page-title{border:0;font-family:var(--sans);font-size:2.25rem;font-weight:700;line-height:1.2;color:var(--heading);margin-top:0;margin-bottom:2rem}.section-title{border:0;font-family:var(--mono);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-top:0;margin-bottom:1.25rem}.featured-post-list{display:flex;flex-direction:column;gap:2rem;margin:0;padding:0;list-style:none}.featured-post{margin:0;padding:0}.featured-post:not(:last-child){border-bottom:1px solid var(--border-faint);padding-bottom:2rem}.featured-post-link{display:block;text-decoration:none;color:inherit}.featured-post-link:hover{text-decoration:none}.featured-post-link:hover .featured-post-heading h3{color:var(--link)}.featured-post-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.featured-post h3{margin:0;font-family:var(--sans);font-size:1.25rem;font-weight:600;color:var(--heading);transition:color .2s ease}.featured-post .date{flex:none;white-space:nowrap;font-size:.9rem;color:var(--text-dim)}.featured-post p{margin:0;font-size:1rem;line-height:1.6;color:var(--text-body)}.post-archive-link{margin-top:2rem}.post-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:1.5rem;margin-top:3rem}.post-pagination-status{color:var(--text-dim);font-size:.9rem}.post-pagination-older{text-align:right}@media screen and (max-width:760px){.katex{font-size:1.05em!important}}.footnotes{margin-top:60px}ol{list-style-type:decimal}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.5rem .75rem;color:var(--background);background:var(--text);border-radius:4px;transform:translateY(-200%)}.skip-link:focus{color:var(--background);transform:translateY(0)}@media screen and (max-width:500px){.featured-post-heading{display:block}.featured-post .date{display:block;margin-top:.2rem}.post-pagination{gap:.75rem}}.post-navigation{display:flex;justify-content:space-between;align-items:stretch;gap:1.5rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-general)}.post-nav-link{display:flex;flex-direction:column;flex:1;max-width:47%;padding:1rem;border:1px solid var(--border-general);border-radius:.5rem;background:var(--card-bg);color:inherit;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.post-nav-link:hover{text-decoration:none;background:var(--card-hover-bg);border-color:var(--card-hover-border);transform:translateY(-1px);box-shadow:0 4px 12px rgba(53,132,228,.1)}.post-nav-next{text-align:right;align-items:flex-end}.post-nav-direction{margin-bottom:.4rem;font-family:var(--sans);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);transition:color .2s ease}.post-nav-title{font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.4;color:var(--heading);transition:color .2s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-nav-link:hover .post-nav-direction,.post-nav-link:hover .post-nav-title{color:var(--link)}@media screen and (max-width:600px){.post-navigation{flex-direction:column;gap:.75rem}.post-nav-link{max-width:100%}.post-nav-next{text-align:left;align-items:flex-start}.post-nav-title{-webkit-line-clamp:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-head{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;max-width:var(--measure);margin:2rem auto;padding-bottom:1.25rem;border-bottom:1px solid var(--border-general)}.site-head-logo{display:block;flex-shrink:0;margin:0;padding:0}.site-head-logo img{display:block;width:48px;height:48px}.site-nav{flex:auto}.site-nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;padding:0;list-style:none}.site-nav li{margin:0}.site-nav a,.site-nav a:visited{display:inline-block;padding:.1rem 0;color:var(--heading);font-family:var(--mono);font-size:.95rem;text-decoration:none}.site-nav a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}.site-nav a[aria-current=page]{color:var(--link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}@media(max-width:420px){.site-head{gap:.6rem 1rem}.site-nav ul{gap:.25rem 1rem}}@keyframes images{from{opacity:0}to{opacity:1}}img{max-height:70vh;margin:.8em 0;animation-duration:1s;animation-name:images}.imgp{display:block;margin:auto;text-align:center}.imgp>img{margin-right:auto;margin-left:auto}.imgp picture{display:block}.imgp picture>img{margin-right:auto;margin-left:auto}figure{margin:auto;text-align:center}.imgp img,figure img{border-radius:4px}figcaption{color:var(--text-dim);font-size:.96rem;text-align:center}figcaption h4{margin-top:0;font-weight:400}img,iframe,video{max-width:100%}.image-gallery,.image-gallery-img{list-style-type:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding-left:0}.image-gallery{margin:0 0 1.2rem}.image-gallery-img{margin:0 0 2.6rem}.image-gallery>li,.image-gallery-img>li{flex-basis:440px}.image-gallery li img,.image-gallery-img li img{object-fit:cover;width:100%;height:100%;border-radius:4px;vertical-align:middle}.three-image-gallery>li{flex-basis:290px}.single-post{padding:0}.single-post .post-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:10px;margin-bottom:1.5rem}.single-post .post-header h1{font-family:var(--sans);font-size:2.25rem;font-weight:700;line-height:1.2;margin:0;flex:1}.single-post .post-header .post-date{flex:none;font-family:var(--mono);font-size:.9rem;color:var(--text-dim);white-space:nowrap;margin-left:auto}.post-date-mod{color:var(--text-dim)}.post-summary{font-size:1.1rem;color:var(--text-dim);font-style:italic;line-height:1.6;margin:0 0 1.5rem}.single-post #post-content{display:block;font-size:1.15rem;line-height:1.65;color:var(--text-body)}.title-spacer{padding-bottom:1px}.date{color:var(--text-dim);font-family:var(--mono);padding-top:.1em;font-size:90%}#tags{display:block;margin-bottom:1.5rem;font-weight:400;color:var(--text-dim);font-family:var(--mono);font-size:.9rem}#tags a{color:var(--text-dim)}#tags a:visited{color:var(--text-dim)}#tags a:hover{color:var(--link)}@media screen and (max-width:600px){.single-post .post-header{flex-direction:column;gap:.4rem}.single-post .post-header h1{font-size:2rem}.single-post .post-header .post-date{margin-left:0}}#search{display:flex;align-items:stretch;gap:.5rem;max-width:34rem;margin:1.5rem 0}#search-input{flex:1;min-width:0;padding:.5rem .75rem;font:inherit;color:var(--text);background-color:var(--background);border:1px solid var(--border-general);border-radius:.5rem}#search-input::placeholder{color:var(--text-dim)}#search-input:hover{border-color:var(--link)}#search button{flex:none;padding:.5rem 1.1rem;font:inherit;font-weight:600;color:#fff;background-color:var(--link);border:1px solid var(--link);border-radius:.5rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}#search button:hover{background-color:var(--link-hover);border-color:var(--link-hover)}#results{margin-top:1.5rem;padding-left:0;list-style:none}#results li{margin:1rem 0}#results li p{margin:.15rem 0}#results li a{font-weight:600}#results li p+p{color:var(--text-dim);font-size:.95rem}#search-status:not(:empty){margin-top:1rem;color:var(--text-dim)}@keyframes code-fade-in{from{opacity:0}to{opacity:1}}.highlight div,.highlight pre,.chroma,pre{background-color:var(--pre-background);color:var(--code);font-family:var(--mono);padding:1rem;overflow-x:auto;margin:0;border:1px solid var(--code-border);border-radius:.5rem;line-height:1.45;font-size:.9rem}.highlight{margin:1.5rem 0}.highlight div pre{border:0;padding:0 5px;margin:0;box-shadow:0 0}code{font-family:var(--mono);color:var(--code);font-stretch:normal;background:var(--code-background);border-radius:.25rem;padding:.2rem .4rem;border:1px solid var(--code-border);font-size:.9em}pre code{font-size:.9em;font-stretch:normal;border:none;background:0 0;padding:0;margin:0;tab-size:4}@media screen and (max-width:760px){pre code{font-size:80%}}.fs95{font-size:90%}.fs90{font-size:90%}.fs85{font-size:85%}.fs80{font-size:80%}.fs75{font-size:75%}.fs70{font-size:75%}.fs50{font-size:50%}.ln{user-select:none;margin-right:14px;color:#969696}.hl{background-color:var(--code-hl);outline-style:solid;outline-color:var(--code-hl);outline-width:.5px}.chroma .err{color:#f6f8fa;background-color:#82071e}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#dedede}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#cf222e}.chroma .kc{color:#cf222e}.chroma .kd{color:#cf222e}.chroma .kn{color:#cf222e}.chroma .kp{color:#cf222e}.chroma .kr{color:#cf222e}.chroma .kt{color:#cf222e}.chroma .na{color:#1f2328}.chroma .nc{color:#1f2328}.chroma .no{color:#0550ae}.chroma .nd{color:#0550ae}.chroma .ni{color:#6639ba}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#24292e}.chroma .nx{color:#1f2328}.chroma .nt{color:#0550ae}.chroma .nb{color:#6639ba}.chroma .bp{color:#6a737d}.chroma .nv{color:#953800}.chroma .vc{color:#953800}.chroma .vg{color:#953800}.chroma .vi{color:#953800}.chroma .vm{color:#953800}.chroma .nf{color:#6639ba}.chroma .fm{color:#6639ba}.chroma .s{color:#0a3069}.chroma .sa{color:#0a3069}.chroma .sb{color:#0a3069}.chroma .sc{color:#0a3069}.chroma .dl{color:#0a3069}.chroma .sd{color:#0a3069}.chroma .s2{color:#0a3069}.chroma .se{color:#0a3069}.chroma .sh{color:#0a3069}.chroma .si{color:#0a3069}.chroma .sx{color:#0a3069}.chroma .sr{color:#0a3069}.chroma .s1{color:#0a3069}.chroma .ss{color:#032f62}.chroma .m{color:#0550ae}.chroma .mb{color:#0550ae}.chroma .mf{color:#0550ae}.chroma .mh{color:#0550ae}.chroma .mi{color:#0550ae}.chroma .il{color:#0550ae}.chroma .mo{color:#0550ae}.chroma .o{color:#0550ae}.chroma .ow{color:#0550ae}.chroma .or{color:#0550ae}.chroma .p{color:#1f2328}.chroma .c{color:#57606a}.chroma .ch{color:#57606a}.chroma .cm{color:#57606a}.chroma .c1{color:#57606a}.chroma .cs{color:#57606a}.chroma .cp{color:#57606a}.chroma .cpf{color:#57606a}.chroma .gd{color:#82071e;background-color:#ffebe9}.chroma .ge{color:#1f2328}.chroma .gi{color:#116329;background-color:#dafbe1}.chroma .go{color:#1f2328}.chroma .gl{text-decoration:underline}.chroma .w{color:#fff}:root[data-theme=dark] .chroma .err{color:#f85149}:root[data-theme=dark] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root[data-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[data-theme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root[data-theme=dark] .chroma .hl{background-color:#6e7681}:root[data-theme=dark] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}:root[data-theme=dark] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}:root[data-theme=dark] .chroma .line{display:flex}:root[data-theme=dark] .chroma .k{color:#ff7b72}:root[data-theme=dark] .chroma .kc{color:#79c0ff}:root[data-theme=dark] .chroma .kd{color:#ff7b72}:root[data-theme=dark] .chroma .kn{color:#ff7b72}:root[data-theme=dark] .chroma .kp{color:#79c0ff}:root[data-theme=dark] .chroma .kr{color:#ff7b72}:root[data-theme=dark] .chroma .kt{color:#ff7b72}:root[data-theme=dark] .chroma .nc{color:#f0883e;font-weight:700}:root[data-theme=dark] .chroma .no{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .nd{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .ni{color:#ffa657}:root[data-theme=dark] .chroma .ne{color:#f0883e;font-weight:700}:root[data-theme=dark] .chroma .nl{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .nn{color:#ff7b72}:root[data-theme=dark] .chroma .nx{color:#e6edf3}:root[data-theme=dark] .chroma .py{color:#79c0ff}:root[data-theme=dark] .chroma .nt{color:#7ee787}:root[data-theme=dark] .chroma .nv{color:#79c0ff}:root[data-theme=dark] .chroma .vc{color:#79c0ff}:root[data-theme=dark] .chroma .vg{color:#79c0ff}:root[data-theme=dark] .chroma .vi{color:#79c0ff}:root[data-theme=dark] .chroma .vm{color:#79c0ff}:root[data-theme=dark] .chroma .nf{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .fm{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .l{color:#a5d6ff}:root[data-theme=dark] .chroma .ld{color:#79c0ff}:root[data-theme=dark] .chroma .s{color:#a5d6ff}:root[data-theme=dark] .chroma .sa{color:#79c0ff}:root[data-theme=dark] .chroma .sb{color:#a5d6ff}:root[data-theme=dark] .chroma .sc{color:#a5d6ff}:root[data-theme=dark] .chroma .dl{color:#79c0ff}:root[data-theme=dark] .chroma .sd{color:#a5d6ff}:root[data-theme=dark] .chroma .s2{color:#a5d6ff}:root[data-theme=dark] .chroma .se{color:#79c0ff}:root[data-theme=dark] .chroma .sh{color:#79c0ff}:root[data-theme=dark] .chroma .si{color:#a5d6ff}:root[data-theme=dark] .chroma .sx{color:#a5d6ff}:root[data-theme=dark] .chroma .sr{color:#79c0ff}:root[data-theme=dark] .chroma .s1{color:#a5d6ff}:root[data-theme=dark] .chroma .ss{color:#a5d6ff}:root[data-theme=dark] .chroma .m{color:#a5d6ff}:root[data-theme=dark] .chroma .mb{color:#a5d6ff}:root[data-theme=dark] .chroma .mf{color:#a5d6ff}:root[data-theme=dark] .chroma .mh{color:#a5d6ff}:root[data-theme=dark] .chroma .mi{color:#a5d6ff}:root[data-theme=dark] .chroma .il{color:#a5d6ff}:root[data-theme=dark] .chroma .mo{color:#a5d6ff}:root[data-theme=dark] .chroma .o{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .ow{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .or{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .c{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .ch{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .cm{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .c1{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .gd{color:#ffa198;background-color:#490202}:root[data-theme=dark] .chroma .ge{font-style:italic}:root[data-theme=dark] .chroma .gr{color:#ffa198}:root[data-theme=dark] .chroma .gh{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .gi{color:#56d364;background-color:#0f5323}:root[data-theme=dark] .chroma .go{color:#8b949e}:root[data-theme=dark] .chroma .gp{color:#8b949e}:root[data-theme=dark] .chroma .gs{font-weight:700}:root[data-theme=dark] .chroma .gu{color:#79c0ff}:root[data-theme=dark] .chroma .gt{color:#ff7b72}:root[data-theme=dark] .chroma .gl{text-decoration:underline}:root[data-theme=dark] .chroma .w{color:#6e7681}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .chroma .err{color:#f85149}:root:not([data-theme=light]) .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root:not([data-theme=light]) .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root:not([data-theme=light]) .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root:not([data-theme=light]) .chroma .hl{background-color:#6e7681}:root:not([data-theme=light]) .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}:root:not([data-theme=light]) .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}:root:not([data-theme=light]) .chroma .line{display:flex}:root:not([data-theme=light]) .chroma .k{color:#ff7b72}:root:not([data-theme=light]) .chroma .kc{color:#79c0ff}:root:not([data-theme=light]) .chroma .kd{color:#ff7b72}:root:not([data-theme=light]) .chroma .kn{color:#ff7b72}:root:not([data-theme=light]) .chroma .kp{color:#79c0ff}:root:not([data-theme=light]) .chroma .kr{color:#ff7b72}:root:not([data-theme=light]) .chroma .kt{color:#ff7b72}:root:not([data-theme=light]) .chroma .nc{color:#f0883e;font-weight:700}:root:not([data-theme=light]) .chroma .no{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .nd{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .ni{color:#ffa657}:root:not([data-theme=light]) .chroma .ne{color:#f0883e;font-weight:700}:root:not([data-theme=light]) .chroma .nl{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .nn{color:#ff7b72}:root:not([data-theme=light]) .chroma .nx{color:#e6edf3}:root:not([data-theme=light]) .chroma .py{color:#79c0ff}:root:not([data-theme=light]) .chroma .nt{color:#7ee787}:root:not([data-theme=light]) .chroma .nv{color:#79c0ff}:root:not([data-theme=light]) .chroma .vc{color:#79c0ff}:root:not([data-theme=light]) .chroma .vg{color:#79c0ff}:root:not([data-theme=light]) .chroma .vi{color:#79c0ff}:root:not([data-theme=light]) .chroma .vm{color:#79c0ff}:root:not([data-theme=light]) .chroma .nf{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .fm{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .l{color:#a5d6ff}:root:not([data-theme=light]) .chroma .ld{color:#79c0ff}:root:not([data-theme=light]) .chroma .s{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sa{color:#79c0ff}:root:not([data-theme=light]) .chroma .sb{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sc{color:#a5d6ff}:root:not([data-theme=light]) .chroma .dl{color:#79c0ff}:root:not([data-theme=light]) .chroma .sd{color:#a5d6ff}:root:not([data-theme=light]) .chroma .s2{color:#a5d6ff}:root:not([data-theme=light]) .chroma .se{color:#79c0ff}:root:not([data-theme=light]) .chroma .sh{color:#79c0ff}:root:not([data-theme=light]) .chroma .si{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sx{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sr{color:#79c0ff}:root:not([data-theme=light]) .chroma .s1{color:#a5d6ff}:root:not([data-theme=light]) .chroma .ss{color:#a5d6ff}:root:not([data-theme=light]) .chroma .m{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mb{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mf{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mh{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mi{color:#a5d6ff}:root:not([data-theme=light]) .chroma .il{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mo{color:#a5d6ff}:root:not([data-theme=light]) .chroma .o{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .ow{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .or{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .c{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .ch{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .cm{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .c1{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .gd{color:#ffa198;background-color:#490202}:root:not([data-theme=light]) .chroma .ge{font-style:italic}:root:not([data-theme=light]) .chroma .gr{color:#ffa198}:root:not([data-theme=light]) .chroma .gh{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .gi{color:#56d364;background-color:#0f5323}:root:not([data-theme=light]) .chroma .go{color:#8b949e}:root:not([data-theme=light]) .chroma .gp{color:#8b949e}:root:not([data-theme=light]) .chroma .gs{font-weight:700}:root:not([data-theme=light]) .chroma .gu{color:#79c0ff}:root:not([data-theme=light]) .chroma .gt{color:#ff7b72}:root:not([data-theme=light]) .chroma .gl{text-decoration:underline}:root:not([data-theme=light]) .chroma .w{color:#6e7681}}table{border-collapse:collapse;display:block;overflow-x:auto;margin:1.2em 0;font-variant-numeric:tabular-nums}#post-content table{font-family:var(--mono);font-size:.9rem}@media screen and (min-width:760px){table{display:table}}th,td{padding:.4rem .75rem;text-align:left;vertical-align:top;border:1px solid var(--border-general)}thead th{color:var(--heading);font-weight:700;background-color:var(--card-bg);border-bottom-width:2px}tbody tr:nth-child(even){background-color:var(--border-faint)}tbody tr:hover{background-color:var(--table-row-hover)}.single-post.wide #post-content>table,.single-post.wide #post-content>.highlight,.single-post.wide #post-content>pre{display:block;margin-left:50%;transform:translateX(-50%);overflow-x:auto}.single-post.wide #post-content>.highlight,.single-post.wide #post-content>pre{width:min(1200px,92vw)}.single-post.wide #post-content>table{width:max-content;max-width:min(1900px,96vw)}.single-post.wide #post-content>table{font-size:.85rem}.single-post.wide #post-content>table :where(th,td){padding:.3rem .6rem}.attachments-files{display:block;font-size:1rem;margin:0}.attachment-size{display:inline-block;color:var(--text-dim)}.attachments ul{margin-top:4px}.attachments label{font-weight:300;margin:0}.md-columns{display:flex;flex-wrap:wrap;margin-left:-1rem;margin-right:-1rem}.md-columns>div{flex:1 1;margin:1rem 0;min-width:100px;max-width:100%;padding:0 1rem}.md-columns .markdown-inner{margin-top:0;margin-bottom:0}.md-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--border-general);border-radius:3px;overflow:hidden;display:flex;flex-wrap:wrap}.md-tabs label{display:inline-block;padding:.6rem .2rem .3rem;border-bottom:1px transparent;cursor:pointer}.md-tabs .md-tabs-content{order:999;width:100%;border-top:1px solid var(--border-general);padding:.5rem 1rem 1rem;display:none}.md-tabs input[type=radio]{margin-left:1.1rem}.md-tabs input[type=radio]:checked+label+.md-tabs-content{display:block}.site-footer{max-width:var(--measure);margin:4rem auto 0;padding:2rem 0;text-align:left;font-size:.9rem;color:var(--text-dim);border-top:1px solid var(--border-general)}.site-footer a,.site-footer a:visited{color:var(--text-dim)}.site-footer a:hover{color:var(--heading)}.footer-nav ul{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin:0 0 1.25rem;padding:0;list-style:none}.footer-nav li{margin:0}.footer-nav a,.footer-nav a:visited{font-family:var(--mono)}.footer-copyright{color:var(--text-dim)}.footer-socials{text-align:left;color:var(--text-dim);margin-top:.8rem}.footer-socials a{text-decoration:none;margin-right:.31rem}.footer-socials svg{color:var(--text-dim);height:20px;width:20px}.footer-socials svg:hover{color:var(--heading)}.theme-toggle-text{margin-top:1rem;color:var(--text-dim);font-size:.9rem}.theme-toggle-text a{color:var(--link)}.theme-toggle-text a:hover{color:var(--link-hover)}.theme-toggle-dark{display:none}:root[data-theme=dark] .theme-toggle-light{display:none}:root[data-theme=dark] .theme-toggle-dark{display:inline}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle-light{display:none}:root:not([data-theme=light]) .theme-toggle-dark{display:inline}}