/*!modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize*/*,::before,::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,liberation mono,Menlo,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:initial}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@font-face{font-family:'source sans 3';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3/source-sans-3-vietnamese-italic.woff2)format('woff2');unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'source sans 3';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3/source-sans-3-latin-ext-italic.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'source sans 3';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3/source-sans-3-latin-italic.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'source sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3/source-sans-3-vietnamese-normal.woff2)format('woff2');unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'source sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3/source-sans-3-latin-ext-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'source sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3/source-sans-3-latin-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:literata;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/literata/literata-vietnamese-normal.woff2)format('woff2');unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:literata;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/literata/literata-latin-ext-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:literata;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/literata/literata-latin-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:stix two text;font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-greek-italic.woff2)format('woff2');unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:stix two text;font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-vietnamese-italic.woff2)format('woff2');unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:stix two text;font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-latin-ext-italic.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:stix two text;font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-latin-italic.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:stix two text;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-greek-normal.woff2)format('woff2');unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:stix two text;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-vietnamese-normal.woff2)format('woff2');unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:stix two text;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-latin-ext-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:stix two text;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/stix-two-text/stix-two-text-latin-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--f1:2.074rem;--f2:1.728rem;--f3:1.44rem;--f4:1rem;--f5:0.833rem;--text:#212121;--light-text:#555555;--c-h:223;--c-s:50%;--c-l:43%;--c:hsl(var(--c-h), var(--c-s), var(--c-l));--bg-l:97%;--bg:hsl(var(--c-h), var(--c-s), var(--bg-l));--mg-l:94%;--mg:hsl(var(--c-h), var(--c-s), var(--mg-l));--fg-l:89%;--fg:hsl(var(--c-h), var(--c-s), var(--fg-l));--inline-code-bg:var(--mg);--inline-code-border:#aebad4;--inline-code-text:var(--text);--surface:var(--bg);--border-color:var(--fg);--control-border:var(--fg);--on-accent:#fff;--success:#267344;--warning:#8a6217;--danger:#b7354b;--danger-bg:rgba(255, 0, 0, 0.1);--diagram-blue:#3781bf;--diagram-orange:#c47b29;--diagram-green:#60976c;--diagram-violet:#9b77bd;--diagram-teal:#168b83;--diagram-yellow:#d4ad24;--diagram-neutral:#8b929a;--rating-color:#e3c000;--h-a:#1c01ce;--h-b:#c41a16;--h-c:#a90d91;--h-d:#177500;--h-e:#633820;--ls:2.5rem;--hls:1.25rem;--ms:1rem;--hms:0.5rem;--max-width:52rem;--border:1px;--radius:0.4rem}html{min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:var(--font-ui);line-height:1.25}body{color:var(--text);background-color:var(--bg);background-attachment:fixed;min-height:100vh}svg,video,img{max-width:100%}.icon,img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.icon{display:inline-block}.media,audio,video,figure img{width:100%;height:auto;display:block;border-radius:var(--radius);overflow:hidden}.embedded-video{position:relative;aspect-ratio:16/9}.embedded-video iframe{width:100%;height:100%}hr{border:0;border-top:1px solid var(--fg);margin:1.2em auto}ul,ol{padding-left:2em}figcaption{text-align:center;font-size:var(--f5);color:var(--text);margin:.25rem 0}.pixelated{image-rendering:pixelated;image-rendering:crisp-edges}.footnotes::before,h1,h2,h3,h4,h5{font-weight:900;line-height:1.3;margin:2rem 0 .5rem}h1{font-size:var(--f1)}h2{font-size:var(--f2)}h3{font-size:var(--f3)}h4{font-size:var(--f4);text-transform:uppercase}code,.small,small{font-size:var(--f5)}sup{color:var(--sup-color,gray)}code,kbd,samp,pre{font-family:Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace}:not(pre)>code{border-radius:calc(var(--radius)/2);padding:.08em .28em;background:var(--inline-code-bg);border:var(--border)solid var(--inline-code-border);color:var(--inline-code-text);-webkit-box-decoration-break:clone;box-decoration-break:clone}li{margin:.25em 0}mark{background-color:var(--c);color:var(--bg)}main header{margin:var(--hls)0}main header h1,main header h2{margin:0}main header h1.smaller{font-size:var(--f2)}main header h2.smaller{font-size:var(--f3)}main header p{margin:0}main footer li,main .tb.p-read-of li{grid-template-columns:6rem auto}main ol,main p,main figcaption,main ul{line-height:1.5}blockquote{font-style:italic;margin-left:2rem;margin-right:0;padding-left:1rem;border-left:3px solid var(--c)}details summary{cursor:pointer}a{color:inherit;text-decoration:underline;word-wrap:break-word;overflow-wrap:anywhere;cursor:pointer}:target{border:1px dashed var(--c);background:var(--fg)}::marker{color:var(--c)}.nl,.nl:active,.nl:visited{text-decoration:none;color:inherit}.lh:hover{text-decoration:underline}button:focus-visible,.button:focus-visible{outline:2px solid var(--c);outline-offset:3px}.dn{display:none!important}.db{display:block}.br{border-radius:var(--radius);overflow:hidden}.lg{color:var(--light-text)}.wn{font-weight:400}.ah{opacity:.1}.tab{font-variant-numeric:tabular-nums;letter-spacing:-.012em;white-space:pre}input,select,textarea{padding:.5rem;border:1px solid var(--control-border);outline:0;min-width:0;border-radius:var(--radius);background:var(--bg);color:var(--text)}input:focus,select:focus,textarea:focus{border-color:var(--c)}input:disabled,select:disabled,textarea:disabled{background-color:var(--mg);cursor:not-allowed}textarea{resize:vertical}.inline-form{display:flex}.inline-form input:first-of-type{flex-grow:1}.inline-form button{margin-left:var(--hms)}#header,#header #home{display:flex;align-items:center}.contact-header-btn{margin-left:auto;margin-right:.5rem;font-size:var(--f5);padding:.2rem .5rem;line-height:1;display:inline-flex;align-items:center;text-decoration:none}#header form{font-size:var(--f5);margin-bottom:0}#header form input{width:12rem}#header form button{flex-shrink:0;min-width:2.25rem}#header form button:hover{background:var(--fg)}#header p{margin:0}#header .avatar{width:5rem;margin-right:var(--ms)}#header .avatar img{display:block}#header .name{font-weight:700;font-size:var(--f3)}#header label{display:none}#navbar{width:calc(100% + 2 * var(--ls));margin-top:0;margin-bottom:var(--hls);margin-left:calc(var(--ls) * -1)}#navbar label{display:none}.container{width:100%;background-color:var(--bg);max-width:var(--max-width);padding:var(--ms)var(--ls);margin:0 auto}.left,.right{max-width:clamp(10rem,40%,20rem);text-align:center;margin:0;width:100%}.left{float:left;margin-right:1rem}.right{float:right;margin-left:1rem}.box,nav,button,.button,.buttons a,.buttons a:visited,.highlight>pre,main pre{border:var(--border)solid var(--fg);background-color:var(--mg);border-radius:var(--radius)}.card{overflow:hidden;border-radius:var(--radius);border:var(--border)solid var(--fg);display:block}.card>*{padding:0 var(--ms)}.card>.button{text-align:center;clear:both;border-width:var(--border)0 0;border-radius:0 0 var(--radius)var(--radius);display:block}.box{padding:var(--hms)var(--ms)}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}button,.button,.button:visited,.buttons a,.buttons a:visited{text-decoration:none;padding:var(--hms);display:inline-block;font-weight:600;height:100%;outline:0;cursor:pointer;color:var(--text)}button:hover,.button:hover,.buttons a:hover{background-color:var(--fg)}.buttons{list-style-type:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(246px,1fr));grid-gap:var(--hms);margin:0 0 var(--hms);font-size:var(--f5)}.buttons li{display:block;margin:0}.buttons a{display:block}.tb,.box,.fg,.buttons,.card,.card header,figure,.embedded-video,.media,nav{margin:var(--ms)0}.highlight>pre,main pre{overflow:auto;padding:var(--ms);background-color:var(--mg)}.highlight .line{display:flex}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo{color:var(--h-a)}.highlight .s,.highlight .sa,.highlight .sb,.highlight .sc,.highlight .dl,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1,.highlight .ss{color:var(--h-b)}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt,.highlight .nb{color:var(--h-c)}.highlight .c,.highlight .ch,.highlight .cm,.highlight .c1,.highlight .cs,.highlight .cp,.highlight .cpf{color:var(--h-d)}#preview,#preview::after{left:0;width:100%}#preview{position:fixed;top:0;z-index:9999;padding:2.5rem var(--ls);background:rgba(255,255,255,.9);color:#000;height:100%;display:flex;align-items:center;justify-content:center;cursor:zoom-out}:root.dark #preview{background:var(--overlay-bg);color:var(--text)}#preview::after{content:'tap anywhere to close';position:absolute;bottom:0;text-align:center;line-height:2.5rem;font-size:var(--f5)}#preview img{max-height:100%}.fg{display:grid;grid-gap:1rem;grid-template-columns:repeat(2,1fr);margin:1rem 0}.fg figure{height:100%;margin:0;display:flex;flex-direction:column}.fg figure picture{flex-grow:1}.fg figure img{object-fit:cover;height:100%}table{width:100%;margin:1rem 0;overflow:auto;border-collapse:collapse}table thead{background-color:var(--fg);font-weight:700}table th,table td{padding:var(--hms);border:var(--border)solid var(--fg)}table tr{border-top:var(--border)solid var(--fg)}table tr:nth-child(2n){background-color:var(--mg)}table img{background-color:initial}.tbh{position:sticky;top:0;margin:0;padding:var(--hms)0;background:var(--bg);border-bottom:calc(2 * var(--border))solid var(--c);color:var(--c);z-index:100}.tbh small{font-weight:400}.tb{padding:0;list-style-type:none;line-height:1.25}.tbh+.tb{margin:0}.tb li{display:grid;margin:0;grid-gap:1rem;align-items:center}.tb li:not(:last-of-type){border-bottom:var(--border)solid var(--fg)}.tb li:hover{background-color:var(--mg)}.tb li>*{display:block;margin:var(--hms)0;text-overflow:ellipsis;text-wrap:nowrap;overflow:hidden}.tb li>*:first-child{font-weight:600}.box.tb li{padding:0 var(--ms)}.box.tb li:hover{background-color:var(--fg)}nav{display:flex;font-weight:700;overflow:hidden}nav a,nav label{flex-grow:1;padding:var(--hms);text-align:center;text-decoration:none}nav a:hover,nav label:hover{background-color:var(--fg)}nav a[aria-disabled=true]{cursor:not-allowed;opacity:.5}nav a[aria-current=page]{background-color:var(--fg);font-weight:700}#skip-to-content{position:absolute;top:-20em}#skip-to-content:hover,#skip-to-content:focus{z-index:10;left:0;right:0;top:0;margin-inline:auto;width:max-content;background:var(--fg);color:var(--c);padding:var(--hms);font-weight:700}#footer{margin-top:2rem;display:flex;justify-content:space-between;flex-wrap:wrap}#footer>div{margin-bottom:var(--hms)}:root.dark{color-scheme:dark;--c-h:207;--c-s:68%;--c-l:76%;--fg-l:15%;--mg-l:9%;--bg-l:2%;--bg:#0b1324;--mg:#14243a;--fg:#2a405c;--text:#e4eaf5;--light-text:#aebed4;--inline-code-bg:#1b304d;--inline-code-border:#587aa5;--inline-code-text:#edf5ff;--surface:#101e33;--border-color:var(--fg);--control-border:#587aa5;--on-accent:var(--bg);--success:#84d5a0;--warning:#e4be70;--danger:#f0a0aa;--danger-bg:#382638;--diagram-blue:#83b6e5;--diagram-orange:#e8b775;--diagram-green:var(--success);--diagram-violet:#c4b5fd;--diagram-teal:#70cbbd;--diagram-yellow:var(--warning);--diagram-neutral:#97a4ae;--formula-primary:#d2c6ff;--formula-secondary:#92e4d5;--rating-color:var(--warning);--sup-color:var(--light-text);--article-link-color:var(--c);--callout-bg:var(--surface);--callout-border:var(--border-color);--inline-link:#b7dcff;--inline-hover-bg:#294767;--inline-hover-border:#8fb9df;--overlay-bg:rgb(11 19 36 / 0.96);--board-floor:var(--bg);--board-grid:var(--inline-code-bg);--board-wall:#677f9f;--board-border:var(--border-color);--board-frontier:#3d6c96;--board-visited:#1c3b58;--board-active:var(--warning);--board-path:var(--diagram-green);--board-head:#d9f5e2;--board-start:var(--diagram-blue);--board-goal:var(--diagram-violet);--maze-visited:var(--diagram-teal);--maze-frontier:var(--warning);--maze-active:#f3e5bf;--h-a:var(--diagram-yellow);--h-b:var(--danger);--h-c:var(--diagram-violet);--h-d:var(--diagram-neutral);--h-e:var(--diagram-orange)}@media screen{:root.dark body:not(.post-page){isolation:isolate;background-image:radial-gradient(circle at 28px 42px,rgb(224 239 255/.45) .65px,transparent 1.2px),radial-gradient(circle at 179px 97px,rgb(179 210 250/.3) .55px,transparent 1.1px),radial-gradient(circle at 84px 153px,rgb(235 239 255/.38) .75px,transparent 1.4px),radial-gradient(circle at 231px 167px,rgb(189 212 255/.28) .55px,transparent 1.1px),radial-gradient(circle at 127px 51px,rgb(229 240 255/.5) .6px,transparent 1.15px),radial-gradient(circle at 319px 271px,rgb(176 204 247/.32) .5px,transparent 1px),radial-gradient(ellipse at 15% 4%,rgb(50 78 124/.14),transparent 55%),radial-gradient(ellipse at 90% 18%,rgb(68 60 116/.1),transparent 60%);background-size:163px 127px,229px 173px,263px 211px,307px 239px,353px 269px,401px 307px,100% 100%,100% 100%;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,no-repeat,no-repeat;background-attachment:fixed}:root.dark .container{background-color:initial}:root.dark body:not(.post-page)::before,:root.dark body:not(.post-page)::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.4;animation:night-sky-twinkle 8.4s ease-in-out infinite;animation-delay:-1.7s}:root.dark body:not(.post-page)::before{background-image:radial-gradient(circle at 73px 129px,#e5f1ff .65px,rgb(156 197 255/.25) 1.6px,transparent 3px),radial-gradient(circle at 291px 47px,#d7e9ff .6px,rgb(156 197 255/.2) 1.4px,transparent 2.6px),radial-gradient(circle at 507px 319px,#eff4ff .75px,rgb(183 199 255/.2) 1.7px,transparent 3.2px);background-size:317px 251px,503px 373px,677px 503px}:root.dark body:not(.post-page)::after{background-image:radial-gradient(circle at 211px 83px,#eef5ff .7px,rgb(169 203 255/.2) 1.6px,transparent 3px),radial-gradient(circle at 53px 347px,#cddfff .6px,rgb(168 191 255/.2) 1.4px,transparent 2.8px),radial-gradient(circle at 673px 211px,#e8efff .65px,rgb(183 199 255/.2) 1.5px,transparent 3px);background-size:419px 313px,593px 443px,773px 577px;animation-duration:12.2s;animation-delay:-4.6s}}@keyframes night-sky-twinkle{0%,100%{opacity:.12}24%{opacity:.68}44%{opacity:.22}67%{opacity:.72}84%{opacity:.28}}@media(prefers-reduced-motion:reduce){:root.dark body:not(.post-page)::before,:root.dark body:not(.post-page)::after{animation:none;opacity:.4}}:root.dark a code{color:var(--inline-link)}:root.dark a:hover code,:root.dark a:focus-visible code{background:var(--inline-hover-bg);border-color:var(--inline-hover-border)}:root.dark input::placeholder,:root.dark textarea::placeholder{color:var(--light-text);opacity:1}:root.dark ::selection{background:var(--c);color:var(--on-accent)}:root.dark .only-light,:root:not(.dark) .only-dark{display:none}@media screen and (max-width:53rem){:root{--ls:1rem;--hls:1rem;--f1:1.728rem;--f2:1.44rem;--f3:1.2rem;--f4:1rem;--f5:0.833rem}body{background:var(--bg)}#header{padding:0 var(--ls)}#header .avatar{max-width:4rem;margin-right:var(--hms)}#navbar{width:100%;margin-left:0}#navbar,#navbar label,#toggler:checked+#navbar a{display:block;text-align:left}#navbar a,#header form input{display:none}#footer{display:block;text-align:center}.lh{text-decoration:underline}.tb li{display:flow-root}.tb li>*{text-wrap:wrap}.fg{grid-gap:.5rem}}@media screen and (max-width:30rem){#header{flex-wrap:wrap;gap:var(--hms)}#header #home{flex:1 0 100%;min-width:0}#header #home>div{min-width:0;overflow-wrap:anywhere}#header .avatar,#header form,.contact-header-btn{flex-shrink:0}.contact-header-btn{margin-right:0;white-space:nowrap}}@media print{html,body,.container{background:#fff!important;font-size:11pt;border:0}.container{width:100%;max-width:100%;margin:0;padding:0}#header,#navbar,#footer{display:none}a:hover{background:0 0}}.roman-paren{list-style-type:lower-roman}.roman-paren li::marker{content:counter(list-item,lower-roman)") "}.post-layout{display:flex;gap:2.5rem;align-items:flex-start}.toc-sidebar{flex:0 0 px;display:none}.post-body{flex:1;min-width:0}@media screen and (min-width:75rem){.post-layout{position:relative;display:block}.toc-sidebar{display:block;position:absolute;top:0;right:100%;width:270px;height:100%;padding-right:3rem}}.toc-heading{margin-top:0;font-size:var(--f4);color:var(--c);text-transform:uppercase}.toc-sticky nav{display:block;font-weight:400;overflow:visible}.toc-sticky nav ul{list-style:none;padding-left:0;margin:0}.toc-sticky nav ul ul{padding-left:1rem}.toc-sticky nav li{margin:0}.toc-sticky nav a{text-decoration:none;font-size:var(--f5);color:var(--light-text);display:block;padding:.25rem 0;line-height:1.4;text-align:left;font-weight:400}.toc-sticky nav a:hover{color:var(--c);background:0 0}.sidenote{color:inherit;float:right;clear:right;margin-right:-300px;width:250px;margin-bottom:15px;font-size:.9em}article.post-with-toc .post-body a{color:var(--article-link-color,gray)}.post-callout{border:2px solid var(--callout-border,#ccccccbc);border-radius:5px;padding:1px;background-color:var(--callout-bg,rgba(35,117,224,.12))}:root{--font-ui:"Literata", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Literata", Georgia, serif;--font-math:"STIX Two Text", Cambria, "Times New Roman", serif}body{font-size:1.0625rem}button,input,select,textarea{font-family:var(--font-ui)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em}#header .name{font-family:var(--font-display);letter-spacing:-.025em}article.post-with-toc .post-body{font-size:clamp(1.0625rem,1rem + .2vw,1.125rem);line-height:1.75}article.post-with-toc .e-content :is(p,li,blockquote,figcaption){line-height:1.75}article.random-thought-post .post-body{font-family:var(--font-ui);line-height:1.8}.random-thought-post .e-content :is(p,li,blockquote,figcaption){line-height:1.8}article.mathematics-post .post-body{font-family:var(--font-math)}.mathematics-card :is(.p-summary,.e-content){font-family:var(--font-math);line-height:1.7}.mathematics-post .e-content :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-math);font-weight:600;letter-spacing:-.01em;line-height:1.35}.toc-heading{font-family:var(--font-ui);font-weight:600;letter-spacing:.06em}.toc-sticky nav a{font-size:.9rem}.mathematics-post mjx-container[jax=SVG][display=true]{min-width:0!important;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-block:.25em}.mathematics-post mjx-container[jax=SVG][display=true]>svg{display:block;max-width:none;margin-inline:auto}.mathematics-post mjx-container mjx-assistive-mml{width:100%!important;max-width:100%;contain:layout paint}@media(max-width:89.999rem){.mathematics-post .sidenote{display:block;float:none;clear:none;width:auto;margin:.75rem 0 1rem;padding:.75rem 1rem;border-left:2px solid var(--c);background:var(--mg);font-size:.875em}}.post-language-toolbar{display:flex;flex-shrink:0;align-items:center;gap:.5rem;width:fit-content;max-width:100%;margin:0 0 1rem;padding:.35rem .4rem .35rem .65rem;border:1px solid var(--fg);border-radius:999px;background:var(--bg);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px rgb(0 0 0/7%);font-family:var(--font-ui);font-size:.8125rem}.post-language-caption{display:flex;align-items:center;gap:.5rem;min-width:0}.post-language-icon{width:1.1rem;height:1.1rem;flex-shrink:0;color:var(--c)}.post-language-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);color:var(--light-text);font-weight:600;white-space:nowrap}.post-language-options{display:inline-flex;flex-shrink:0;gap:.15rem;padding:.15rem;border:1px solid var(--fg);border-radius:999px;background:var(--mg)}.post-language-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:auto;min-height:2.5rem;padding:.45rem .5rem;border:1px solid transparent;border-radius:999px;background:0 0;color:var(--light-text);font:inherit;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:box-shadow 160ms ease}.post-language-button::before{content:'';width:.3rem;height:.3rem;border-radius:50%;background:var(--c);opacity:0}.post-language-button:hover{background:var(--fg);color:var(--text)}.post-language-button[aria-pressed=true]{border-color:var(--fg);background:var(--bg);color:var(--text);box-shadow:0 1px 5px rgb(0 0 0/8%)}.post-language-button[aria-pressed=true]::before{opacity:1}.post-language-button:focus-visible{outline:2px solid var(--c);outline-offset:2px}.post-language-toolbar[hidden],.post-language-button[hidden],.multilingual-post [data-post-lang][hidden]{display:none}.multilingual-post .post-body :is(h1,h2,h3,h4,h5,h6)[id]{scroll-margin-top:5.5rem}@media screen and (max-width:74.999rem){.multilingual-post .post-layout{display:block}.post-language-sidebar{display:block}.post-language-sidebar .toc-sticky{display:none}}@media screen and (min-width:75rem){.post-language-sidebar{width:min(270px,calc((100vw - var(--max-width))/2 + var(--ls) - 1rem));height:auto;padding-right:1rem}}@media screen and (min-width:75rem) and (max-width:84rem){.post-language-sidebar .post-language-caption{display:none}}@media(prefers-reduced-motion:reduce){.post-language-button{transition:none}}@media print{.post-language-toolbar{display:none}.post-language-sidebar{display:none}}