@charset "UTF-8";@media screen{html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;word-wrap:break-word}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.content article a:where(.external-link):not(:has(img)):after{display:inline-block}.fa-solid,.content article a:where(.external-link):not(:has(img)):after{font-style:normal}*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#212121;background-color:#fafafa;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-size:1.8em;font-weight:400;line-height:1.8em}@media only screen and (max-width:768px){body{font-size:1.6em;line-height:1.6em}}iframe[src*=disqus]{color-scheme:light}a{font-weight:500;color:#1565c0;text-decoration:none;transition:all .25s ease-in}a:focus,a:hover{text-decoration:underline}p{margin:2rem 0}@media only screen and (max-width:768px){p{margin:1.5rem 0}}h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-weight:600;color:#000;margin:4rem 0 2.5rem}h1:hover .heading-link,h2:hover .heading-link,h3:hover .heading-link,h4:hover .heading-link,h5:hover .heading-link,h6:hover .heading-link{visibility:visible}h1 .heading-link,h2 .heading-link,h3 .heading-link,h4 .heading-link,h5 .heading-link,h6 .heading-link{color:#1565c0;font-weight:inherit;text-decoration:none;font-size:80%;visibility:hidden}h1 .title-link,h2 .title-link,h3 .title-link,h4 .title-link,h5 .title-link,h6 .title-link{color:inherit;font-weight:inherit;text-decoration:none}h1{font-size:3.2rem;line-height:3.6rem}@media only screen and (max-width:768px){h1{font-size:3rem;line-height:3.4rem}}h2{font-size:2.8rem;line-height:3.2rem}@media only screen and (max-width:768px){h2{font-size:2.6rem;line-height:3rem}}h3{font-size:2.4rem;line-height:2.8rem}@media only screen and (max-width:768px){h3{font-size:2.2rem;line-height:2.6rem}}h4{font-size:2.2rem;line-height:2.6rem}@media only screen and (max-width:768px){h4{font-size:2rem;line-height:2.4rem}}h5{font-size:2rem;line-height:2.4rem}@media only screen and (max-width:768px){h5{font-size:1.8rem;line-height:2.2rem}}h6{font-size:1.8rem;line-height:2.2rem}@media only screen and (max-width:768px){h6{font-size:1.6rem;line-height:2rem}}b,strong{font-weight:700}.highlight div,.highlight pre{margin:2rem 0;padding:1rem;border-radius:1rem;overflow-x:auto}pre{display:block;font-family:sf mono,Consolas,Liberation Mono,Menlo,monospace;font-size:1.6rem;font-weight:400;line-height:2.6rem;overflow-x:auto;margin:2rem 0;padding:1rem;border-radius:1rem}pre code{display:inline-block;background-color:inherit;color:inherit}code{font-family:sf mono,Consolas,Liberation Mono,Menlo,monospace;font-size:1.6rem;font-weight:400;border-radius:.6rem;padding:.3rem .6rem;background-color:#ccc;color:#212121}@media only screen and (max-width:768px){code{font-size:1.5rem}}blockquote{border-left:2px solid #e0e0e0;padding-left:2rem;line-height:2.2rem;font-weight:400;font-style:italic}*{-webkit-tap-highlight-color:transparent}th,td{padding:1.6rem}table{border-collapse:collapse}table td,table th{border:2px solid #000}table tr:first-child th{border-top:0}table tr:last-child td{border-bottom:0}table tr td:first-child,table tr th:first-child{border-left:0}table tr td:last-child,table tr th:last-child{border-right:0}img{max-width:100%}figure{text-align:center}.footnotes ol li p{margin:0}.preload-transitions *{-webkit-transition:none!important;-moz-transition:none!important;-ms-transition:none!important;-o-transition:none!important;transition:none!important}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.container{margin:1rem auto;max-width:90rem;width:100%;padding-left:2rem;padding-right:2rem}.fab{font-weight:400}.fas{font-weight:700}.float-right{float:right}.float-left{float:left}.fab{font-weight:400}.fas{font-weight:900}.content{flex:1;display:flex;margin-top:1.6rem;margin-bottom:3.2rem}@media only screen and (max-width:768px){.content{margin-top:1rem;margin-bottom:1.6rem}}.content header{margin-top:6.4rem;margin-bottom:3.2rem}.content header h1{font-size:4.2rem;line-height:4.6rem;margin:0}@media only screen and (max-width:768px){.content header h1{font-size:4rem;line-height:4.4rem}}.content article a:where(.external-link):not(:has(img)):after{content:"";padding-left:.5em;font-size:.75em;display:inline}.content article details summary{cursor:pointer}.content article footer{margin-top:4rem}.content article footer .see-also{margin:3.2rem 0}.content article footer .see-also h3{margin:3.2rem 0}.content article p{text-align:justify;text-justify:auto;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.content .post .post-title{margin-bottom:.75em}.content .post .post-meta i{text-align:center;width:1.6rem;margin-left:0;margin-right:.5rem}.content .post .post-meta .date .posted-on{margin-left:0;margin-right:1.5rem}.content .post .post-meta .tags .tag{display:inline-block;padding:.3rem .6rem;background-color:#e0e0e0;border-radius:.6rem;line-height:1.5em}.content .post .post-meta .tags .tag a{color:#212121}.content .post .post-meta .tags .tag a:active{color:#212121}.content figure{margin:0;padding:0}.content figcaption p{text-align:center;font-style:italic;font-size:1.6rem;margin:0}.avatar img{width:20rem;height:auto;border-radius:50%}@media only screen and (max-width:768px){.avatar img{width:17rem}}.list ul{margin:3.2rem 0;list-style:none;padding:0}.list ul li{font-size:1.8rem}@media only screen and (max-width:768px){.list ul li{margin:1.6rem 0}}.list ul li .date{display:inline-block;flex:1;width:20rem;text-align:right;margin-right:3rem}@media only screen and (max-width:768px){.list ul li .date{display:block;text-align:left}}.list ul li .title{font-size:1.8rem;flex:2;color:#212121;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-weight:700}.list ul li .title:hover,.list ul li .title:focus{color:#1565c0}@media only screen and (min-width:768.1px){.list ul:not(.pagination) li{display:flex}}.centered{display:flex;align-items:center;justify-content:center}.centered .about{text-align:center}.centered .about h1{margin-top:2rem;margin-bottom:.5rem}.centered .about h2{margin-top:1rem;margin-bottom:.5rem;font-size:2.4rem}@media only screen and (max-width:768px){.centered .about h2{font-size:2rem}}.centered .about ul{list-style:none;margin:3rem 0 1rem;padding:0;cursor:pointer}.centered .about ul li{display:inline-block;position:relative}.centered .about ul li a{color:#212121;text-transform:uppercase;margin-left:1rem;margin-right:1rem;font-size:1.6rem}.centered .about ul li a:hover,.centered .about ul li a:focus{color:#1565c0}@media only screen and (max-width:768px){.centered .about ul li a{font-size:1.5rem}}.centered .error{text-align:center}.centered .error h1{margin-top:2rem;margin-bottom:.5rem;font-size:4.6rem}@media only screen and (max-width:768px){.centered .error h1{font-size:3.2rem}}.centered .error h2{margin-top:2rem;margin-bottom:3.2rem;font-size:3.2rem}@media only screen and (max-width:768px){.centered .error h2{font-size:2.8rem}}.notice{border-radius:.2rem;position:relative;margin:2rem 0;padding:0 .75rem;overflow:auto}.notice .notice-title{position:relative;font-weight:700;margin:0 -.75rem;padding:.2rem 3.5rem;border-bottom:1px solid #fafafa}.notice .notice-title i{position:absolute;top:50%;left:1.8rem;transform:translate(-50%,-50%)}.notice .notice-content{display:block;margin:2rem}.notice.note{background-color:rgba(126,87,194,.1019607843)}.notice.note .notice-title{background-color:rgba(103,58,183,.1019607843)}.notice.note .notice-title i{color:#5e35b1}.notice.tip{background-color:rgba(38,166,154,.1019607843)}.notice.tip .notice-title{background-color:rgba(0,150,136,.1019607843)}.notice.tip .notice-title i{color:#00897b}.notice.example{background-color:rgba(141,110,99,.1019607843)}.notice.example .notice-title{background-color:rgba(121,85,72,.1019607843)}.notice.example .notice-title i{color:#6d4c41}.notice.question{background-color:rgba(156,204,101,.1019607843)}.notice.question .notice-title{background-color:rgba(139,195,74,.1019607843)}.notice.question .notice-title i{color:#7cb342}.notice.info{background-color:rgba(66,165,245,.1019607843)}.notice.info .notice-title{background-color:rgba(33,150,243,.1019607843)}.notice.info .notice-title i{color:#1e88e5}.notice.warning{background-color:rgba(255,202,40,.1019607843)}.notice.warning .notice-title{background-color:rgba(255,193,7,.1019607843)}.notice.warning .notice-title i{color:#ffb300}.notice.error{background-color:rgba(239,83,80,.1019607843)}.notice.error .notice-title{background-color:rgba(244,67,54,.1019607843)}.notice.error .notice-title i{color:#e53935}.navigation{height:6rem;width:100%}.navigation a,.navigation span{display:inline;font-size:1.7rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif;font-weight:600;color:#212121}.navigation a:hover,.navigation a:focus{color:#1565c0}.navigation .navigation-title{letter-spacing:.1rem;text-transform:uppercase}.navigation .navigation-list{float:right;list-style:none;margin-bottom:0;margin-top:0}@media only screen and (max-width:768px){.navigation .navigation-list{position:relative;top:2rem;right:0;z-index:5;visibility:hidden;opacity:0;padding:0;max-height:0;width:100%;background-color:#fafafa;border-top:solid 2px #e0e0e0;border-bottom:solid 2px #e0e0e0;transition:opacity .25s,max-height .15s linear}}.navigation .navigation-list .navigation-item{float:left;margin:0;position:relative}@media only screen and (max-width:768px){.navigation .navigation-list .navigation-item{float:none!important;text-align:center}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{line-height:5rem}}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{margin-left:1rem;margin-right:1rem}@media only screen and (max-width:768px){.navigation .navigation-list .separator{display:none}}@media only screen and (max-width:768px){.navigation .navigation-list .menu-separator{border-top:2px solid #212121;margin:0 8rem}.navigation .navigation-list .menu-separator span{display:none}}.navigation #dark-mode-toggle{margin:1.7rem 0;font-size:2.4rem;line-height:inherit;bottom:2rem;left:2rem;z-index:100;position:fixed}.navigation #menu-toggle{display:none}@media only screen and (max-width:768px){.navigation #menu-toggle{display:initial;position:relative;visibility:hidden}.navigation #menu-toggle:checked+label>i{color:#e0e0e0}.navigation #menu-toggle:checked+label+ul{visibility:visible;opacity:1;max-height:100rem}.navigation #menu-toggle:focus-visible+label{outline-style:auto}}.navigation .menu-button{display:none}@media only screen and (max-width:768px){.navigation .menu-button{position:relative;display:block;font-size:2.4rem;font-weight:400}}.navigation .menu-button i:hover,.navigation .menu-button i:focus{color:#000}.navigation i{color:#212121;cursor:pointer}.navigation i:hover,.navigation i:focus{color:#1565c0}.pagination{display:flex;justify-content:center;margin-top:6rem;text-align:center;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Helvetica,游ゴシック,pingfang sc,STXihei,华文细黑,microsoft yahei,微软雅黑,SimSun,宋体,Heiti,黑体,sans-serif}.pagination li{display:inline;text-align:center;font-weight:700;margin:0 2px;text-align:center;width:2.2rem}.pagination li a{font-weight:300}.taxonomy li{display:inline-block;margin:.9rem}.taxonomy .taxonomy-element{display:block;padding:.3rem .9rem;background-color:#e0e0e0;border-radius:.6rem}.taxonomy .taxonomy-element a{color:#212121}.taxonomy .taxonomy-element a:active{color:#212121}.footer{width:100%;text-align:center;font-size:1.6rem;line-height:2rem;margin-bottom:1rem}@media only screen and (max-width:768px){.footer{font-size:1.5rem}}.footer a{color:#1565c0}.bg{background-color:#fff}.chroma{background-color:#fff}.chroma .err{color:#a61717;background-color:#e3d2d2}.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:#ffc}.chroma .lnt{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#000;font-weight:700}.chroma .kc{color:#000;font-weight:700}.chroma .kd{color:#000;font-weight:700}.chroma .kn{color:#000;font-weight:700}.chroma .kp{color:#000;font-weight:700}.chroma .kr{color:#000;font-weight:700}.chroma .kt{color:#458;font-weight:700}.chroma .na{color:teal}.chroma .nb{color:#0086b3}.chroma .bp{color:#999}.chroma .nc{color:#458;font-weight:700}.chroma .no{color:teal}.chroma .nd{color:#3c5d5d;font-weight:700}.chroma .ni{color:purple}.chroma .ne{color:#900;font-weight:700}.chroma .nf{color:#900;font-weight:700}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#555}.chroma .nt{color:navy}.chroma .nv{color:teal}.chroma .vc{color:teal}.chroma .vg{color:teal}.chroma .vi{color:teal}.chroma .s{color:#d14}.chroma .sa{color:#d14}.chroma .sb{color:#d14}.chroma .sc{color:#d14}.chroma .dl{color:#d14}.chroma .sd{color:#d14}.chroma .s2{color:#d14}.chroma .se{color:#d14}.chroma .sh{color:#d14}.chroma .si{color:#d14}.chroma .sx{color:#d14}.chroma .sr{color:#009926}.chroma .s1{color:#d14}.chroma .ss{color:#990073}.chroma .m{color:#099}.chroma .mb{color:#099}.chroma .mf{color:#099}.chroma .mh{color:#099}.chroma .mi{color:#099}.chroma .il{color:#099}.chroma .mo{color:#099}.chroma .o{color:#000;font-weight:700}.chroma .ow{color:#000;font-weight:700}.chroma .c{color:#998;font-style:italic}.chroma .ch{color:#998;font-style:italic}.chroma .cm{color:#998;font-style:italic}.chroma .c1{color:#998;font-style:italic}.chroma .cs{color:#999;font-weight:700;font-style:italic}.chroma .cp{color:#999;font-weight:700;font-style:italic}.chroma .cpf{color:#999;font-weight:700;font-style:italic}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000;font-style:italic}.chroma .gr{color:#a00}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gs{font-weight:700}.chroma .gu{color:#aaa}.chroma .gt{color:#a00}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbb}body.colorscheme-dark{color:#dadada;background-color:#212121}body.colorscheme-dark a{color:#42a5f5}body.colorscheme-dark h1,body.colorscheme-dark h2,body.colorscheme-dark h3,body.colorscheme-dark h4,body.colorscheme-dark h5,body.colorscheme-dark h6{color:#dadada}body.colorscheme-dark h1:hover .heading-link,body.colorscheme-dark h2:hover .heading-link,body.colorscheme-dark h3:hover .heading-link,body.colorscheme-dark h4:hover .heading-link,body.colorscheme-dark h5:hover .heading-link,body.colorscheme-dark h6:hover .heading-link{visibility:visible}body.colorscheme-dark h1 .heading-link,body.colorscheme-dark h2 .heading-link,body.colorscheme-dark h3 .heading-link,body.colorscheme-dark h4 .heading-link,body.colorscheme-dark h5 .heading-link,body.colorscheme-dark h6 .heading-link{color:#42a5f5;font-weight:inherit;text-decoration:none;font-size:80%;visibility:hidden}body.colorscheme-dark h1 .title-link,body.colorscheme-dark h2 .title-link,body.colorscheme-dark h3 .title-link,body.colorscheme-dark h4 .title-link,body.colorscheme-dark h5 .title-link,body.colorscheme-dark h6 .title-link{color:inherit;font-weight:inherit;text-decoration:none}body.colorscheme-dark pre code{background-color:inherit;color:inherit}body.colorscheme-dark code{background-color:#4f4f4f;color:#dadada}body.colorscheme-dark blockquote{border-left:2px solid #424242}body.colorscheme-dark th,body.colorscheme-dark td{padding:1.6rem}body.colorscheme-dark table{border-collapse:collapse}body.colorscheme-dark table td,body.colorscheme-dark table th{border:2px solid #dadada}body.colorscheme-dark table tr:first-child th{border-top:0}body.colorscheme-dark table tr:last-child td{border-bottom:0}body.colorscheme-dark table tr td:first-child,body.colorscheme-dark table tr th:first-child{border-left:0}body.colorscheme-dark table tr td:last-child,body.colorscheme-dark table tr th:last-child{border-right:0}@media(prefers-color-scheme:dark){body.colorscheme-auto{color:#dadada;background-color:#212121}body.colorscheme-auto a{color:#42a5f5}body.colorscheme-auto h1,body.colorscheme-auto h2,body.colorscheme-auto h3,body.colorscheme-auto h4,body.colorscheme-auto h5,body.colorscheme-auto h6{color:#dadada}body.colorscheme-auto h1:hover .heading-link,body.colorscheme-auto h2:hover .heading-link,body.colorscheme-auto h3:hover .heading-link,body.colorscheme-auto h4:hover .heading-link,body.colorscheme-auto h5:hover .heading-link,body.colorscheme-auto h6:hover .heading-link{visibility:visible}body.colorscheme-auto h1 .heading-link,body.colorscheme-auto h2 .heading-link,body.colorscheme-auto h3 .heading-link,body.colorscheme-auto h4 .heading-link,body.colorscheme-auto h5 .heading-link,body.colorscheme-auto h6 .heading-link{color:#42a5f5;font-weight:inherit;text-decoration:none;font-size:80%;visibility:hidden}body.colorscheme-auto h1 .title-link,body.colorscheme-auto h2 .title-link,body.colorscheme-auto h3 .title-link,body.colorscheme-auto h4 .title-link,body.colorscheme-auto h5 .title-link,body.colorscheme-auto h6 .title-link{color:inherit;font-weight:inherit;text-decoration:none}body.colorscheme-auto pre code{background-color:inherit;color:inherit}body.colorscheme-auto code{background-color:#4f4f4f;color:#dadada}body.colorscheme-auto blockquote{border-left:2px solid #424242}body.colorscheme-auto th,body.colorscheme-auto td{padding:1.6rem}body.colorscheme-auto table{border-collapse:collapse}body.colorscheme-auto table td,body.colorscheme-auto table th{border:2px solid #dadada}body.colorscheme-auto table tr:first-child th{border-top:0}body.colorscheme-auto table tr:last-child td{border-bottom:0}body.colorscheme-auto table tr td:first-child,body.colorscheme-auto table tr th:first-child{border-left:0}body.colorscheme-auto table tr td:last-child,body.colorscheme-auto table tr th:last-child{border-right:0}}body.colorscheme-dark .content .post .tags .tag{background-color:#424242}body.colorscheme-dark .content .post .tags .tag a{color:#dadada}body.colorscheme-dark .content .post .tags .tag a:active{color:#dadada}body.colorscheme-dark .content .list ul li .title{color:#dadada}body.colorscheme-dark .content .list ul li .title:hover,body.colorscheme-dark .content .list ul li .title:focus{color:#42a5f5}body.colorscheme-dark .content .centered .about ul li a{color:#dadada}body.colorscheme-dark .content .centered .about ul li a:hover,body.colorscheme-dark .content .centered .about ul li a:focus{color:#42a5f5}@media(prefers-color-scheme:dark){body.colorscheme-auto .content .post .tags .tag{background-color:#424242}body.colorscheme-auto .content .post .tags .tag a{color:#dadada}body.colorscheme-auto .content .post .tags .tag a:active{color:#dadada}body.colorscheme-auto .content .list ul li .title{color:#dadada}body.colorscheme-auto .content .list ul li .title:hover,body.colorscheme-auto .content .list ul li .title:focus{color:#42a5f5}body.colorscheme-auto .content .centered .about ul li a{color:#dadada}body.colorscheme-auto .content .centered .about ul li a:hover,body.colorscheme-auto .content .centered .about ul li a:focus{color:#42a5f5}}body.colorscheme-dark .notice .notice-title{border-bottom:1px solid #212121}@media(prefers-color-scheme:dark){body.colorscheme-auto .notice .notice-title{border-bottom:1px solid #212121}}body.colorscheme-dark .navigation a,body.colorscheme-dark .navigation span{color:#dadada}body.colorscheme-dark .navigation a:hover,body.colorscheme-dark .navigation a:focus{color:#42a5f5}@media only screen and (max-width:768px){body.colorscheme-dark .navigation .navigation-list{background-color:#212121;border-top:solid 2px #424242;border-bottom:solid 2px #424242}}@media only screen and (max-width:768px){body.colorscheme-dark .navigation .navigation-list .menu-separator{border-top:2px solid #dadada}}@media only screen and (max-width:768px){body.colorscheme-dark .navigation #menu-toggle:checked+label>i{color:#424242}}body.colorscheme-dark .navigation i{color:#dadada}body.colorscheme-dark .navigation i:hover,body.colorscheme-dark .navigation i:focus{color:#42a5f5}body.colorscheme-dark .navigation .menu-button i:hover,body.colorscheme-dark .navigation .menu-button i:focus{color:#dadada}@media(prefers-color-scheme:dark){body.colorscheme-auto .navigation a,body.colorscheme-auto .navigation span{color:#dadada}body.colorscheme-auto .navigation a:hover,body.colorscheme-auto .navigation a:focus{color:#42a5f5}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .navigation .navigation-list{background-color:#212121;border-top:solid 2px #424242;border-bottom:solid 2px #424242}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .navigation .navigation-list .menu-separator{border-top:2px solid #dadada}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .navigation #menu-toggle:checked+label>i{color:#424242}}@media(prefers-color-scheme:dark){body.colorscheme-auto .navigation i{color:#dadada}body.colorscheme-auto .navigation i:hover,body.colorscheme-auto .navigation i:focus{color:#42a5f5}body.colorscheme-auto .navigation .menu-button i:hover,body.colorscheme-auto .navigation .menu-button i:focus{color:#dadada}}body.colorscheme-dark .taxonomy-element{background-color:#424242}body.colorscheme-dark .taxonomy-element a{color:#dadada}body.colorscheme-dark .taxonomy-element a:active{color:#dadada}@media(prefers-color-scheme:dark){body.colorscheme-auto .taxonomy-element{background-color:#424242}body.colorscheme-auto .taxonomy-element a{color:#dadada}body.colorscheme-auto .taxonomy-element a:active{color:#dadada}}body.colorscheme-dark .footer a{color:#42a5f5}@media(prefers-color-scheme:dark){body.colorscheme-auto .footer a{color:#42a5f5}}body.colorscheme-dark .bg{color:#c9d1d9;background-color:#0d1117}body.colorscheme-dark .chroma{color:#c9d1d9;background-color:#0d1117}body.colorscheme-dark .chroma .err{color:#f85149}body.colorscheme-dark .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}body.colorscheme-dark .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}body.colorscheme-dark .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}body.colorscheme-dark .chroma .hl{background-color:#ffc}body.colorscheme-dark .chroma .lnt{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#64686c}body.colorscheme-dark .chroma .ln{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}body.colorscheme-dark .chroma .line{display:flex}body.colorscheme-dark .chroma .k{color:#ff7b72}body.colorscheme-dark .chroma .kc{color:#79c0ff}body.colorscheme-dark .chroma .kd{color:#ff7b72}body.colorscheme-dark .chroma .kn{color:#ff7b72}body.colorscheme-dark .chroma .kp{color:#79c0ff}body.colorscheme-dark .chroma .kr{color:#ff7b72}body.colorscheme-dark .chroma .kt{color:#ff7b72}body.colorscheme-dark .chroma .nc{color:#f0883e;font-weight:700}body.colorscheme-dark .chroma .no{color:#79c0ff;font-weight:700}body.colorscheme-dark .chroma .nd{color:#d2a8ff;font-weight:700}body.colorscheme-dark .chroma .ni{color:#ffa657}body.colorscheme-dark .chroma .ne{color:#f0883e;font-weight:700}body.colorscheme-dark .chroma .nf{color:#d2a8ff;font-weight:700}body.colorscheme-dark .chroma .nl{color:#79c0ff;font-weight:700}body.colorscheme-dark .chroma .nn{color:#ff7b72}body.colorscheme-dark .chroma .py{color:#79c0ff}body.colorscheme-dark .chroma .nt{color:#7ee787}body.colorscheme-dark .chroma .nv{color:#79c0ff}body.colorscheme-dark .chroma .l{color:#a5d6ff}body.colorscheme-dark .chroma .ld{color:#79c0ff}body.colorscheme-dark .chroma .s{color:#a5d6ff}body.colorscheme-dark .chroma .sa{color:#79c0ff}body.colorscheme-dark .chroma .sb{color:#a5d6ff}body.colorscheme-dark .chroma .sc{color:#a5d6ff}body.colorscheme-dark .chroma .dl{color:#79c0ff}body.colorscheme-dark .chroma .sd{color:#a5d6ff}body.colorscheme-dark .chroma .s2{color:#a5d6ff}body.colorscheme-dark .chroma .se{color:#79c0ff}body.colorscheme-dark .chroma .sh{color:#79c0ff}body.colorscheme-dark .chroma .si{color:#a5d6ff}body.colorscheme-dark .chroma .sx{color:#a5d6ff}body.colorscheme-dark .chroma .sr{color:#79c0ff}body.colorscheme-dark .chroma .s1{color:#a5d6ff}body.colorscheme-dark .chroma .ss{color:#a5d6ff}body.colorscheme-dark .chroma .m{color:#a5d6ff}body.colorscheme-dark .chroma .mb{color:#a5d6ff}body.colorscheme-dark .chroma .mf{color:#a5d6ff}body.colorscheme-dark .chroma .mh{color:#a5d6ff}body.colorscheme-dark .chroma .mi{color:#a5d6ff}body.colorscheme-dark .chroma .il{color:#a5d6ff}body.colorscheme-dark .chroma .mo{color:#a5d6ff}body.colorscheme-dark .chroma .o{color:#ff7b72;font-weight:700}body.colorscheme-dark .chroma .ow{color:#ff7b72;font-weight:700}body.colorscheme-dark .chroma .c{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .ch{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .cm{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .c1{color:#8b949e;font-style:italic}body.colorscheme-dark .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-dark .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-dark .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-dark .chroma .gd{color:#ffa198;background-color:#490202}body.colorscheme-dark .chroma .ge{font-style:italic}body.colorscheme-dark .chroma .gr{color:#ffa198}body.colorscheme-dark .chroma .gh{color:#79c0ff;font-weight:700}body.colorscheme-dark .chroma .gi{color:#56d364;background-color:#0f5323}body.colorscheme-dark .chroma .go{color:#8b949e}body.colorscheme-dark .chroma .gp{color:#8b949e}body.colorscheme-dark .chroma .gs{font-weight:700}body.colorscheme-dark .chroma .gu{color:#79c0ff}body.colorscheme-dark .chroma .gt{color:#ff7b72}body.colorscheme-dark .chroma .gl{text-decoration:underline}body.colorscheme-dark .chroma .w{color:#6e7681}@media(prefers-color-scheme:dark){body.colorscheme-auto .bg{color:#c9d1d9;background-color:#0d1117}body.colorscheme-auto .chroma{color:#c9d1d9;background-color:#0d1117}body.colorscheme-auto .chroma .err{color:#f85149}body.colorscheme-auto .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}body.colorscheme-auto .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}body.colorscheme-auto .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}body.colorscheme-auto .chroma .hl{background-color:#ffc}body.colorscheme-auto .chroma .lnt{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#64686c}body.colorscheme-auto .chroma .ln{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}body.colorscheme-auto .chroma .line{display:flex}body.colorscheme-auto .chroma .k{color:#ff7b72}body.colorscheme-auto .chroma .kc{color:#79c0ff}body.colorscheme-auto .chroma .kd{color:#ff7b72}body.colorscheme-auto .chroma .kn{color:#ff7b72}body.colorscheme-auto .chroma .kp{color:#79c0ff}body.colorscheme-auto .chroma .kr{color:#ff7b72}body.colorscheme-auto .chroma .kt{color:#ff7b72}body.colorscheme-auto .chroma .nc{color:#f0883e;font-weight:700}body.colorscheme-auto .chroma .no{color:#79c0ff;font-weight:700}body.colorscheme-auto .chroma .nd{color:#d2a8ff;font-weight:700}body.colorscheme-auto .chroma .ni{color:#ffa657}body.colorscheme-auto .chroma .ne{color:#f0883e;font-weight:700}body.colorscheme-auto .chroma .nf{color:#d2a8ff;font-weight:700}body.colorscheme-auto .chroma .nl{color:#79c0ff;font-weight:700}body.colorscheme-auto .chroma .nn{color:#ff7b72}body.colorscheme-auto .chroma .py{color:#79c0ff}body.colorscheme-auto .chroma .nt{color:#7ee787}body.colorscheme-auto .chroma .nv{color:#79c0ff}body.colorscheme-auto .chroma .l{color:#a5d6ff}body.colorscheme-auto .chroma .ld{color:#79c0ff}body.colorscheme-auto .chroma .s{color:#a5d6ff}body.colorscheme-auto .chroma .sa{color:#79c0ff}body.colorscheme-auto .chroma .sb{color:#a5d6ff}body.colorscheme-auto .chroma .sc{color:#a5d6ff}body.colorscheme-auto .chroma .dl{color:#79c0ff}body.colorscheme-auto .chroma .sd{color:#a5d6ff}body.colorscheme-auto .chroma .s2{color:#a5d6ff}body.colorscheme-auto .chroma .se{color:#79c0ff}body.colorscheme-auto .chroma .sh{color:#79c0ff}body.colorscheme-auto .chroma .si{color:#a5d6ff}body.colorscheme-auto .chroma .sx{color:#a5d6ff}body.colorscheme-auto .chroma .sr{color:#79c0ff}body.colorscheme-auto .chroma .s1{color:#a5d6ff}body.colorscheme-auto .chroma .ss{color:#a5d6ff}body.colorscheme-auto .chroma .m{color:#a5d6ff}body.colorscheme-auto .chroma .mb{color:#a5d6ff}body.colorscheme-auto .chroma .mf{color:#a5d6ff}body.colorscheme-auto .chroma .mh{color:#a5d6ff}body.colorscheme-auto .chroma .mi{color:#a5d6ff}body.colorscheme-auto .chroma .il{color:#a5d6ff}body.colorscheme-auto .chroma .mo{color:#a5d6ff}body.colorscheme-auto .chroma .o{color:#ff7b72;font-weight:700}body.colorscheme-auto .chroma .ow{color:#ff7b72;font-weight:700}body.colorscheme-auto .chroma .c{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .ch{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .cm{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .c1{color:#8b949e;font-style:italic}body.colorscheme-auto .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-auto .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-auto .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}body.colorscheme-auto .chroma .gd{color:#ffa198;background-color:#490202}body.colorscheme-auto .chroma .ge{font-style:italic}body.colorscheme-auto .chroma .gr{color:#ffa198}body.colorscheme-auto .chroma .gh{color:#79c0ff;font-weight:700}body.colorscheme-auto .chroma .gi{color:#56d364;background-color:#0f5323}body.colorscheme-auto .chroma .go{color:#8b949e}body.colorscheme-auto .chroma .gp{color:#8b949e}body.colorscheme-auto .chroma .gs{font-weight:700}body.colorscheme-auto .chroma .gu{color:#79c0ff}body.colorscheme-auto .chroma .gt{color:#ff7b72}body.colorscheme-auto .chroma .gl{text-decoration:underline}body.colorscheme-auto .chroma .w{color:#6e7681}}.static-comments{margin-top:1.5rem}.static-comments .static-comment{display:flex;gap:1.2rem;padding:1.4rem 0;border-bottom:1px solid var(--rule)}.static-comments .static-comment:last-child{border-bottom:none}.static-comments .static-comment.comment-depth-1{margin-left:2.4rem}.static-comments .static-comment.comment-depth-2{margin-left:4.8rem}.static-comments .static-comment.comment-depth-3{margin-left:7.2rem}.static-comments .static-comment.comment-depth-4{margin-left:9.6rem}.static-comments .comment-quote-bar{flex-shrink:0;width:3px;border-radius:2px;background-color:hsl(var(--author-hue),55%,40%);align-self:stretch}.static-comments .comment-body-wrapper{flex:1;min-width:0}.static-comments .comment-header{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.4rem;flex-wrap:wrap}.static-comments .comment-header .comment-author{font-weight:600;color:hsl(var(--author-hue),55%,28%)}.static-comments .comment-header .comment-author.is-owner{color:#97640c}.static-comments .comment-header .author-badge{display:inline-block;font-size:.65em;font-weight:600;font-style:normal;letter-spacing:.04em;text-transform:uppercase;color:#795515;background-color:#fce8c5;border:1px solid #eac586;border-radius:3px;padding:0 .4em;vertical-align:middle;line-height:1.6}.static-comments .comment-header .comment-reply-indicator{font-size:.85em;color:var(--muted);font-family:var(--serif);font-style:italic}.static-comments .comment-header time{font-size:.8em;font-family:var(--mono);color:var(--muted);margin-left:auto}.static-comments .comment-body{font-size:.95em;line-height:1.7;text-align:left}.static-comments .comment-body p{margin:0 0 .5em}.static-comments .comment-body p:last-child{margin-bottom:0}.replies a.comment-author{text-decoration:none}.replies a.comment-author:hover{text-decoration:underline}.replies .comment-permalink{margin-left:auto;text-decoration:none}.replies .comment-permalink time{margin-left:0}.replies .comment-body a{overflow-wrap:anywhere}.replies .comments-empty{margin:0;color:var(--muted);font-family:var(--serif);font-style:italic}.comments-closed{margin-top:2rem;padding:.8rem 1.2rem;border-left:3px solid var(--rule);font-size:.9em;color:var(--muted);font-family:var(--serif);font-style:italic}.comments-closed p{margin:0}@media(prefers-color-scheme:dark){.static-comments .comment-quote-bar{background-color:hsl(var(--author-hue),55%,65%)}.static-comments .comment-header .comment-author{color:hsl(var(--author-hue),55%,70%)}.static-comments .comment-header .comment-author.is-owner{color:#f3c068}.static-comments .comment-header .author-badge{color:#f2cd8c;background-color:#54401c;border-color:#8f6824}}}@font-face{font-family:"source serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:"source serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin-wght-italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-symbols-wght-normal.woff2)format("woff2");unicode-range:U+272,U+2C8,U+2D0,U+394,U+2074-2075,U+2192,U+2194,U+21B3,U+2264-2265,U+2318}@font-face{font-family:"source serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-symbols-wght-normal.woff2)format("woff2");unicode-range:U+2C8,U+394,U+2074-2075,U+2192,U+2264-2265}@font-face{font-family:Symbols Fallback;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-symbols-wght-normal.woff2)format("woff2");unicode-range:U+272,U+2D0,U+2194,U+21B3,U+2318}@font-face{font-family:Inter Fallback;src:local("Arial"),local("Helvetica");size-adjust:109.38%;ascent-override:88.57%;descent-override:22.05%;line-gap-override:0%}@font-face{font-family:source serif fallback;src:local("Georgia");size-adjust:110.1%;ascent-override:94.1%;descent-override:30.43%;line-gap-override:0%}:root{--bg:#fbfaf7;--text:#1f1f1f;--muted:#6b6b6b;--rule:#e7e4dc;--accent:#c2410c;--accent-hover:#9a3412;--brand:#e8590c;--brand-soft:#fddcc6;--code-bg:#f2f0ea;--warn:#9a3412;--warn-bg:#fdf0e6;--ink:#1f1f1f;--sun:#e6c36e;--sky:#93b4cf;--pink:#d6a3b4;--mint:#8fc4ae;--grape:#aa9fd3;--line:color-mix(in srgb, var(--ink) 14%, var(--bg));--line-strong:color-mix(in srgb, var(--ink) 28%, var(--bg));--shadow:0 1px 2px rgb(0 0 0 / .04), 0 6px 16px -6px rgb(0 0 0 / .1);--radius:6px;--serif:"Source Serif 4", "Symbols Fallback", "Source Serif Fallback", Georgia, "Times New Roman", serif;--display:"Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sans:"Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"SF Mono", ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;--fs-xs:1.25rem;--fs-sm:1.4rem;--fs-md:1.5rem;--fs-base:1.6rem;--fs-lg:1.8rem;--fs-body:1.9rem;--fs-xl:2.1rem;--fs-2xl:2.6rem;--fs-3xl:3.6rem;--fs-4xl:4.4rem;--measure:68ch;--page:72rem;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg:#141414;--text:#e8e6e1;--muted:#9a978f;--rule:#2a2a2a;--accent:#ff9a5c;--accent-hover:#ffbb8f;--brand:#f76707;--brand-soft:#5a2a0e;--code-bg:#1e1e1e;--warn:#ff9a5c;--warn-bg:#24180f;--ink:#e8e6e1;--sun:#b89a52;--sky:#6a8aa6;--pink:#a87b8b;--mint:#6a9c88;--grape:#8478ad;--shadow:0 1px 2px rgb(0 0 0 / .3), 0 8px 20px -8px rgb(0 0 0 / .5)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto){background-color:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content{flex-direction:column;align-items:stretch}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .container{max-width:var(--page)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .wrapper:before{content:"";display:block;flex-shrink:0;height:3px;background:var(--brand)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ::selection{background-color:var(--brand-soft)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) a{color:var(--accent);font-weight:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);transition:color .15s ease,text-decoration-color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) a:focus{color:var(--accent-hover);text-decoration-color:initial}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card-title,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-rows .title,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .sr-title{font-family:var(--display)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6{color:var(--text);font-weight:600;letter-spacing:-.015em;line-height:1.25}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6) .title-link,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6) .heading-link{text-decoration:none}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6) .title-link{color:inherit}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6) .heading-link{margin-left:.3em;color:var(--accent);font-size:.85em}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6) .heading-link:before{content:"#"}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h5,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h6) .heading-link:focus-visible{visibility:visible}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .series-next h2 em,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-empty em{font-family:var(--serif);font-style:italic;font-weight:500}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation{background:0 0;border-bottom:1px solid var(--rule)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation a,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation span{color:var(--text);font-weight:500;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation a:focus{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title{display:inline-flex;align-items:center;gap:1rem;color:var(--text);font-weight:650;letter-spacing:-.015em;text-transform:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title:before{content:"";width:1.2rem;height:1.2rem;border-radius:2px;background:var(--brand)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-title:focus{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-link{color:var(--muted);font-size:var(--fs-md);background:linear-gradient(var(--brand),var(--brand))no-repeat 0 100%/0 1.5px;padding-bottom:.2rem;transition:background-size .2s ease,color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-link:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-link:focus{background-size:100% 1.5px;color:var(--text)}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation .navigation-list{background-color:var(--bg);border-color:var(--rule);border-width:1px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation #menu-toggle{position:absolute;width:1px;height:1px;opacity:0;visibility:visible}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation #menu-toggle:focus-visible+.menu-button{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation #menu-toggle:checked~.navigation-list{visibility:visible;opacity:1;max-height:100rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer{background:0 0;border-top:1px solid var(--rule);color:var(--muted);font-size:var(--fs-sm);margin-top:6rem;padding:2.4rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer a{color:var(--muted)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer a:focus{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer .container:before{content:"";display:block;width:2.4rem;height:2px;margin:0 auto 1.6rem;background:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer .credit{display:block;margin-top:.4rem;font-size:var(--fs-xs)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer .footer-social{display:flex;justify-content:center;gap:.4rem;margin:0 0 1.2rem;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer .footer-social a{display:inline-grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:var(--radius);font-size:1.8rem;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer .footer-social a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer .footer-social a:focus-visible{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list>p{font-family:var(--serif);font-size:var(--fs-body);line-height:1.7}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list>p{font-size:var(--fs-lg);line-height:1.65}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content article p{text-align:left;-webkit-hyphens:manual;hyphens:manual}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content>*,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list>p{max-width:var(--measure)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content>pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content>.highlight{max-width:100%}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h1,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h2,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h3,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h4,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h5,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h6{margin:3.6rem 0 1.2rem}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h2{font-size:var(--fs-2xl)}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h3{font-size:var(--fs-xl)}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h4{font-size:var(--fs-body)}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h5,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) h6{font-size:var(--fs-base);letter-spacing:.04em;text-transform:uppercase}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article) li+li{margin-top:.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) blockquote{border-left:2px solid var(--brand);color:var(--muted);font-style:italic;margin:2.4rem 0;padding:0 0 0 2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) hr{border:0;border-top:1px solid var(--rule);margin:4rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) code:not(pre code){background-color:var(--code-bg);color:inherit;border-radius:3px;font-family:var(--mono);font-size:.85em;padding:.15em .35em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) pre{border:1px solid var(--rule);border-radius:6px;font-size:var(--fs-md);line-height:1.55}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) pre code{font-family:var(--mono)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-frame{margin:2.4rem 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--code-bg);overflow:hidden}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-frame pre{border:0;border-radius:0;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-frame .highlight{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content>.code-frame{max-width:100%}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);background:var(--bg);padding:.6rem .8rem .6rem 1.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-dots{display:flex;gap:.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-dots i{width:1rem;height:1rem;border-radius:50%;background:#ff5f57}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-dots i:nth-child(2){background:#febc2e}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-dots i:nth-child(3){background:#28c840}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-lang{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);text-transform:lowercase}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-copy{padding:.1rem .8rem;background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);line-height:1.6;cursor:pointer;transition:color .15s ease,border-color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-copy:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-copy:focus-visible{border-color:var(--line-strong);color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar .code-copy.done{border-color:var(--accent);color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .figure-img{display:inline-block;max-width:100%;margin:1.2rem 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;vertical-align:middle}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .figure-img img{display:block;max-width:100%;height:auto;border-radius:0;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) figure img{height:auto}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .diagram{margin:2.8rem 0;text-align:center}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .diagram img{max-width:100%;border-radius:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .table-wrap{margin:2.4rem 0;overflow-x:auto}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content>.table-wrap{max-width:100%}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:var(--fs-md);line-height:1.5;font-variant-numeric:tabular-nums}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table th,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table td,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr:first-child th,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr:last-child td,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr td:first-child,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr th:first-child,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr td:last-child,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr th:last-child{border:0;border-bottom:1px solid var(--rule);padding:.8rem 1.2rem;text-align:left;vertical-align:top}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table th,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr:first-child th,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr th:first-child,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr th:last-child{border-bottom:1px solid var(--line-strong);color:var(--muted);font-size:var(--fs-sm);font-weight:600;letter-spacing:.02em;vertical-align:bottom}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr td:first-child,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr th:first-child{padding-left:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr td:last-child,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table tr th:last-child{padding-right:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) table code:not(pre code){font-size:.9em;white-space:nowrap}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-meta,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-heading{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:400;letter-spacing:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-nav{display:flex;flex-wrap:wrap;gap:0 1.2rem;margin:1.2rem 0 3.2rem;font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);line-height:3.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-nav .total{flex-basis:100%;color:var(--muted)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered{display:block}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about{text-align:left}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about h1{font-size:var(--fs-4xl);letter-spacing:-.025em;margin:4rem 0 .8rem;white-space:nowrap}@media only screen and (max-width:420px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about h1{font-size:var(--fs-3xl)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about h2{color:var(--muted);font-size:var(--fs-xl);font-weight:450;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about .intro{max-width:46ch;margin:1.6rem 0 0;font-family:var(--serif);font-size:var(--fs-body);line-height:1.6}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about ul{margin:2rem 0 0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about ul li{margin:0 1.6rem 0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about ul li a{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about ul a{color:var(--muted);font-size:var(--fs-lg)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about ul a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered .about ul a:focus{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered{display:grid;grid-template-columns:minmax(0,1fr)30rem;align-items:end;gap:2.4rem}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .centered{grid-template-columns:1fr}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window{position:relative;margin-top:4rem;padding:2.4rem 0 2.4rem 2.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--line-strong) 1px,transparent 1.2px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse at 70% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 70% 50%,#000 30%,transparent 75%);pointer-events:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window:after{content:"";position:absolute;top:1.2rem;right:-1.2rem;width:6.4rem;height:6.4rem;border-top:2px solid var(--accent);border-right:2px solid var(--accent);pointer-events:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window .window{position:relative;z-index:1;border:1px solid var(--line);border-radius:var(--radius);background:var(--code-bg);box-shadow:var(--shadow);overflow:hidden}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window pre{margin:0;padding:1.4rem 1.6rem 1.6rem;border:0;border-radius:0;background:0 0;font-family:var(--mono);font-size:1.2rem;line-height:1.75;white-space:pre;overflow:hidden}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window code{background:0 0;padding:0;font-size:inherit}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window .gp{color:var(--accent);font-weight:600}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window .err-code{color:#d1453b}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window .cursor{display:inline-block;width:.6em;height:1.1em;vertical-align:text-bottom;background:var(--text);animation:cursor-blink 1.1s steps(1)infinite}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window{max-width:36rem;margin:3.2rem auto 0;padding-left:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window:after{display:none}}@media(prefers-reduced-motion:reduce){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .hero-window .cursor{animation:none}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:2.8rem;margin:1.6rem 0 2.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card:focus-visible{color:var(--text);border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card .card-art{display:block;height:11rem;border-bottom:1px solid var(--line)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card .card-body{display:flex;flex-direction:column;gap:.6rem;padding:1.2rem 1.4rem 1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card .row-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card .date{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-xs)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .card .card-title{font-size:var(--fs-base);font-weight:600;line-height:1.35}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .motto{font-family:var(--serif);font-size:var(--fs-xl);font-style:italic;color:var(--muted);margin:1.6rem 0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-latest{margin-top:4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-latest h2{font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 1.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-trigger{display:inline-flex;align-items:center;gap:.8rem;margin-top:.8rem;padding:.8rem 1.6rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--fs-md);font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-trigger[hidden]{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-trigger:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-trigger:focus-visible{border-color:var(--accent);color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .not-found-latest{margin-top:5.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .see-all{display:inline-block;margin-top:1.6rem;font-size:var(--fs-md);font-weight:500}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-about{margin-top:5.6rem;font-family:var(--serif);font-size:var(--fs-body);line-height:1.7}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-about>*{max-width:var(--measure)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-about h2{margin:4rem 0 1.2rem;font-family:var(--sans);font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;line-height:1.4;text-transform:uppercase;color:var(--muted)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-about h2:first-child{margin-top:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-about ul{margin:1.6rem 0;padding-left:2.4rem;list-style:disc}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-about li{display:list-item;font-size:inherit;margin:.6rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start{margin-top:5.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-lede{max-width:var(--measure);margin:0 0 2.8rem;font-family:var(--serif);font-size:var(--fs-lg);line-height:1.6;color:var(--muted)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(26rem,1fr));gap:3.2rem 2.8rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block{border-top:1px solid var(--line);padding-top:1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block header{display:flex;align-items:center;gap:1.2rem;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block h3{margin:0;font-size:var(--fs-lg);line-height:1.3}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block p{margin:.8rem 0 0;color:var(--muted);font-size:var(--fs-md);line-height:1.5}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block ul{margin:1.2rem 0 0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block li{margin:0;padding:.7rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);font-size:var(--fs-md);line-height:1.4}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block li:last-child{border-bottom:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block a{color:var(--text);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-block a:focus-visible{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-icon{display:grid;flex-shrink:0;place-items:center;width:3.6rem;height:3.6rem;border-radius:var(--radius);background:color-mix(in srgb,var(--c) 28%,var(--bg));color:var(--ink)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-start .start-icon .ico{width:2rem;height:2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .art{display:block}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .art .art-bg{fill:color-mix(in srgb,var(--c) 14%,var(--bg))}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .art .f{fill:color-mix(in srgb,var(--c) 34%,var(--bg))}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .art .k{fill:none;stroke:color-mix(in srgb,var(--c) 70%,var(--ink));stroke-width:1;vector-effect:non-scaling-stroke}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .ico{width:1.25em;height:1.25em;flex-shrink:0;overflow:visible}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .ico .f{fill:color-mix(in srgb,var(--c,var(--brand)) 45%,var(--bg))}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .ico .k{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chip{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);text-transform:lowercase}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chip .ico{width:1.6rem;height:1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chip .ico .f{fill:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows{list-style:none;margin:0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows li{display:grid;grid-template-columns:5.6rem 1fr;gap:1.8rem;align-items:center;margin:0;padding:1rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .tile{display:block;width:5.6rem;height:5.6rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows li:hover .tile{border-color:var(--line-strong)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.4rem;margin-bottom:.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .date{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);text-align:left;flex:none;width:auto;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .title{display:block;color:var(--text);font-size:var(--fs-lg);font-weight:500;line-height:1.35;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .title:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .title:focus{color:var(--accent);text-decoration:underline}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows li{grid-template-columns:4.4rem 1fr;gap:1.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .tile{width:4.4rem;height:4.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) ul.post-rows .title{font-size:var(--fs-base)}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .related{margin-top:4.8rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .related h2{margin:0 0 1.2rem;color:var(--muted);font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .related .card-title{font-size:var(--fs-base)}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .related .card-art{height:6.4rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .series-next{margin:4.8rem 0 0;padding-top:2.4rem;border-top:1px solid var(--rule)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .series-next h2{margin:0 0 1.2rem;font-size:var(--fs-xl)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .series-next p{margin:0 0 1.2rem;font-family:var(--serif)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow{margin:4.8rem 0 0;padding:2.4rem 2.4rem 2rem;background:color-mix(in srgb,var(--code-bg) 70%,var(--bg));border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow h2{margin:0 0 .4rem;font-size:var(--fs-xl)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow p{margin:0 0 1.6rem;font-family:var(--serif);text-align:left}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow ul{display:flex;flex-wrap:wrap;gap:1rem;margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow a{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.2rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);text-decoration:none;transition:border-color .15s ease,color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow a:focus-visible{border-color:var(--accent);color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow li:first-child a .glyph{color:var(--brand)}@media(prefers-reduced-motion:reduce){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow a{transition:none}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-latest h2:before,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .home-about h2:before,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .related h2:before,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-heading:before{content:"";display:inline-block;width:1.6rem;height:2px;margin-right:1rem;vertical-align:middle;background:var(--brand)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .year-heading{border-bottom:1px solid var(--rule);margin:4rem 0 .8rem;padding-bottom:.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list>header .title,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-title .title{font-size:var(--fs-3xl);letter-spacing:-.025em;margin:0 0 1rem}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list>header .title,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-title .title{font-size:2.8rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-meta :is(.reading-time,.updated,time){white-space:nowrap}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list>header,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article>header):before{content:"";display:block;width:3.2rem;height:3px;margin:5.6rem 0 2rem;background:var(--brand)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page>article>header{margin-top:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(28rem,1fr));gap:1.2rem;max-width:100%;margin:3.2rem 0 0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links li{display:block;margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links a{display:grid;grid-template-columns:4rem 1fr;grid-template-rows:auto auto;column-gap:1.2rem;align-items:center;height:100%;padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-family:var(--sans);text-decoration:none;transition:border-color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links a:focus-visible{border-color:var(--accent)}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links a:focus-visible) .contact-name{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links .contact-icon{grid-row:span 2;display:grid;place-items:center;width:4rem;height:4rem;border-radius:var(--radius);background:var(--code-bg);color:var(--text);font-size:2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links .contact-name{font-size:var(--fs-md);font-weight:600;line-height:1.3}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .page ul.contact-links .contact-note{color:var(--muted);font-size:var(--fs-sm);line-height:1.3;overflow-wrap:anywhere}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .projects-list,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(26rem,1fr));gap:3.2rem 2.8rem;list-style:none;margin:3.2rem 0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .project-card,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-card{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);margin:0;transition:box-shadow .2s ease,border-color .2s ease}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .project-card,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-card):hover,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .project-card,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-card):focus-within{border-color:var(--line-strong);box-shadow:var(--shadow)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .projects-list .project-card{display:flex;padding:0 0 1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .project-art{display:block;height:8rem;border-bottom:1px solid var(--line);border-radius:var(--radius)var(--radius)0 0;overflow:hidden;margin-bottom:1.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .projects-list .project-link{color:var(--text);font-family:var(--mono);font-size:var(--fs-base);font-weight:600;padding:0 1.6rem;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .projects-list .project-link:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .projects-list .project-link:focus{color:var(--accent);text-decoration:underline}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .projects-list .post-excerpt{margin:.4rem 0 0;padding:0 1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-media{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;border-bottom:1px solid var(--line);border-radius:var(--radius)var(--radius)0 0;overflow:hidden;padding:0;background:var(--code-bg);cursor:pointer}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-media img{width:100%;height:100%;object-fit:cover}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-media .play{position:absolute;inset:0;margin:auto;width:6.4rem;height:6.4rem;border-radius:50%;background:var(--brand);box-shadow:var(--shadow);transition:transform .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-media .play:after{content:"";position:absolute;top:50%;left:54%;border-style:solid;border-width:1.1rem 0 1.1rem 1.8rem;border-color:transparent transparent transparent #fff;transform:translate(-50%,-50%)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-media:hover .play,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-media:focus-visible .play{transform:scale(1.06)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) div.talk-media{cursor:default}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-bottom:1px solid var(--line);border-radius:var(--radius)var(--radius)0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-body{text-align:left;-webkit-hyphens:manual;hyphens:manual;padding:1.4rem 1.6rem 1.8rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-body .row-meta{display:flex;align-items:center;gap:1rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-body .date{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-body .lang-chip{border:1px solid var(--line);border-radius:4px;color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);padding:0 .6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-body .talk-title{font-size:var(--fs-lg);line-height:1.3;margin:.8rem 0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-body .talk-translation{color:var(--muted);font-family:var(--serif);font-size:var(--fs-base);font-style:italic;margin:.4rem 0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-body .talk-where{color:var(--muted);font-size:var(--fs-md);margin:1rem 0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-excerpt{color:var(--muted);font-size:var(--fs-md);line-height:1.55}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post{--banner-h:12rem;--banner-top:4.8rem}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post{--banner-h:7.2rem;--banner-top:1.6rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post article>header{margin-top:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-banner{height:var(--banner-h);margin:var(--banner-top)0 3.2rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-banner>.art,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-banner>img{width:100%;height:100%;object-fit:cover}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-cats{display:inline-flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-left:1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-cats .chip{text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-cats .chip:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-cats .chip:focus{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-title{margin-bottom:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.6rem;row-gap:.2rem;margin:0 0 3.2rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-meta .sep{margin-right:.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-meta .post-cats{margin-left:1rem}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-meta .post-cats{margin-left:0}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-meta .updated{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .translation{margin:-2rem 0 3.2rem;color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);text-align:left;-webkit-hyphens:manual;hyphens:manual}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .post-tags{border-top:1px solid var(--rule);margin-top:4rem;padding-top:1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors) i,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors) .separator{display:none}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors) .tag{background:0 0;padding:0}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors)>a,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors) .tag a{background:0 0;color:var(--muted);margin-right:1.2rem;text-decoration:none}:is(:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors)>a,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors) .tag a):hover,:is(:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors)>a,:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors) .tag a):focus{color:var(--accent)}:is(body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .tags,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .categories,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .authors) .tag a:before{content:"#";opacity:.6}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .list ul.post-rows li .title{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .list ul.post-rows li .title:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .list ul.post-rows li .title:focus{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .centered .about ul li a{color:var(--muted)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .centered .about ul li a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .centered .about ul li a:focus{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .tags .tag{background:0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .tags .tag a{color:var(--muted)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .tags .tag a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content .post .tags .tag a:focus{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.warning{max-width:60rem;margin:3.2rem 0 2.4rem;background-color:var(--warn-bg);border:0;border-left:3px solid var(--warn);border-radius:0 var(--radius)var(--radius)0;color:var(--text);font-size:var(--fs-md);padding:1.6rem 2rem 1.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.warning .notice-title{background:0 0;border:0;color:var(--text);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);letter-spacing:.06em;margin:0;padding:0;text-transform:uppercase}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.warning .notice-title i{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice.warning .notice-content{margin:.4rem 0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .container.post{position:relative}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc{display:none}@media(min-width:1300px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc{display:block;position:absolute;top:0;bottom:0;left:calc(100% + 2.4rem);width:22rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc>nav{position:sticky;top:3.2rem;max-height:calc(100vh - 6.4rem);overflow-y:auto;margin-top:calc(var(--banner-top) + var(--banner-h) + 4.4rem);font-size:var(--fs-sm);line-height:1.4}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc .side-toc-title{margin:0 0 .8rem;color:var(--muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc .side-toc-title:before{content:"";display:inline-block;width:1.2rem;height:2px;margin-right:.8rem;vertical-align:middle;background:var(--brand)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc ul{margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc ul ul a{padding-left:2.2rem;font-size:.95em}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc li{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc a{display:block;padding:.4rem 0 .4rem 1rem;border-left:2px solid var(--rule);color:var(--muted);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc a:hover{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc a[aria-current]{border-left-color:var(--brand);color:var(--text);font-weight:600}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .read-progress{position:fixed;inset:0 0 auto;z-index:2;height:3px;background:var(--accent-hover);pointer-events:none;transform:scaleX(0);transform-origin:0 50%;will-change:transform}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .toc,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) details.toc{border-left:2px solid var(--rule);font-size:var(--fs-md);padding-left:1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);margin-top:4rem;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.pagination li{display:grid;place-items:center;min-width:3.6rem;height:3.6rem;margin:0;padding:0;border:1px solid var(--text);border-radius:var(--radius);background:var(--text);color:var(--bg);font-weight:600}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.pagination li:has(a){background:var(--bg);border-color:var(--line);transition:border-color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.pagination li:has(a):hover{border-color:var(--line-strong)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.pagination li a{display:grid;place-items:center;width:100%;height:100%;padding:0 .8rem;color:var(--text);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:2rem;list-style:none;margin:3.2rem 0 0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid li{display:block;margin:0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid a{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;height:100%;padding:1.6rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid a:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid .cat-icon .ico{width:4rem;height:4rem;margin-bottom:.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid .cat-name{font-family:var(--display);font-size:var(--fs-body);font-weight:650}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.cat-grid .cat-count{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid{display:grid;gap:2rem;list-style:none;margin:3.2rem 0 0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid>li{display:block;margin:0;padding:2rem 2.4rem;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-name{margin:0;font-size:var(--fs-xl)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-name a{color:var(--text);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-name a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-name a:focus-visible{color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-desc{margin:.6rem 0 0;font-family:var(--serif);font-size:var(--fs-lg)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-count{margin:.4rem 0 1.6rem;color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-parts{margin:0;padding:0;list-style:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-parts li{display:grid;grid-template-columns:6.4rem 1fr;gap:1.2rem;align-items:baseline;margin:0;padding:.8rem 0;border-top:1px solid var(--rule)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-parts a{color:var(--text);font-weight:500;line-height:1.4;text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-parts a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-parts a:focus-visible{color:var(--accent);text-decoration:underline}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.series-grid .series-part{color:var(--muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud{display:flex;flex-wrap:wrap;gap:.6rem .8rem;list-style:none;margin:3.2rem 0 0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud li{display:block;margin:0;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud a{display:inline-block;padding:.2rem .8rem;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;text-decoration:none;transition:border-color .15s ease,color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud a:focus-visible{border-color:var(--accent);color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud sup{margin-left:.2rem;font-size:.75em;opacity:.7}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud .tag-m a{font-size:var(--fs-sm)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud .tag-l a{font-size:var(--fs-md);color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list ul.tag-cloud .tag-xl a{font-size:var(--fs-lg);color:var(--text);border-color:var(--line-strong)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list details.tag-once{margin:3.2rem 0 0;border-top:1px solid var(--rule);padding-top:1.6rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list details.tag-once summary{color:var(--muted);font-family:var(--sans);font-size:var(--fs-sm);cursor:pointer}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list details.tag-once summary:hover{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list details.tag-once p{margin:1.2rem 0 0;color:var(--muted);font-family:var(--sans);font-size:var(--fs-sm);line-height:1.9}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list details.tag-once a{color:var(--muted);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list details.tag-once a:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list details.tag-once a:focus-visible{color:var(--accent);text-decoration:underline}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term>header:has(.term-icon){display:grid;grid-template-columns:auto 1fr;column-gap:1.6rem;align-items:center}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term>header:has(.term-icon):before{grid-column:1/-1;margin-top:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term>header:has(.term-icon)>:not(.term-icon){grid-column:2}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term>header:has(.term-icon) .title{margin:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-icon{grid-row:span 2;display:grid;place-items:center;width:7.2rem;height:7.2rem;border-radius:var(--radius);background:color-mix(in srgb,var(--c) 28%,var(--bg))}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-icon .ico{width:4.4rem;height:4.4rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .term-count{margin:.4rem 0 0;color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-ad,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad-inline{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1.6rem 0;margin:3.2rem 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-ad-intro ins.adsbygoogle{min-height:280px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-ad-inline ins.adsbygoogle{min-height:250px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad-inline{height:0;margin:0;padding:0;border-width:0;overflow:hidden}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad:has(ins[data-ad-status=filled]),body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad-inline:has(ins[data-ad-status=filled]){height:auto;margin:3.2rem 0;padding:1.6rem 0;border-width:1px 0;overflow:visible}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-ad:has(ins[data-ad-status=unfilled]){display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .ad-off{display:none}html.ads-off :is(.post-ad,.list-ad,.list-ad-inline){display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .glyph{width:1em;height:1em;vertical-align:-.125em;overflow:visible}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .menu-button{cursor:pointer}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .menu-button .glyph{color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content article a:where(.external-link):not(:has(img)):after{content:"";display:inline-block;width:.95em;height:.95em;margin-left:.35em;padding:0;background:currentColor;-webkit-mask:var(--ext)center/contain no-repeat;mask:var(--ext)center/contain no-repeat;vertical-align:-.05em;--ext:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 4.5H19.5V11M19.5 4.5L11 13M17 14.5V19.5H4.5V7H9.5'/%3E%3C/svg%3E")}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-open{float:right;display:flex;align-items:center;gap:.6rem;height:3.2rem;margin:0 0 0 1.6rem;padding:0 .8rem;background:0 0;border:1px solid var(--rule);border-radius:6px;color:var(--muted);font-size:var(--fs-md);cursor:pointer}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-open:hover,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-open:focus-visible{border-color:var(--ink);color:var(--text)}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-open{margin:0 1.2rem 0 0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-open kbd{display:none}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-open[hidden]{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) kbd{padding:.1rem .5rem;border:1px solid var(--rule);border-bottom-width:2px;border-radius:4px;font-family:var(--mono);font-size:var(--fs-xs);line-height:1.4;color:var(--muted)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search{width:min(64rem,calc(100vw - 3.2rem));max-height:min(64rem,calc(var(--vvh,100vh) - 16vh));margin:10vh auto auto;padding:0;overflow:visible;background:var(--bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 48px -12px #00000040;color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search[open]{display:flex;flex-direction:column}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search::backdrop{background:#14141473;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-box{display:flex;align-items:center;gap:1.2rem;padding:1.6rem 2rem;border-bottom:1px solid var(--line);color:var(--muted);transition:border-color .15s ease}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-box:focus-within{border-bottom-color:var(--accent)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-box input{flex:1;min-width:0;padding:0;background:0 0;border:0;outline:none;color:var(--text);font-family:var(--serif);font-size:var(--fs-xl)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-box input::-webkit-search-cancel-button{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-close{padding:0;background:0 0;border:0;color:var(--muted);font:inherit;font-size:var(--fs-md);cursor:pointer}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-close span{display:none}@media(hover:none){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-close kbd{display:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-close span{display:inline;padding:.8rem 0 .8rem .8rem}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results{flex:1;margin:0;padding:.8rem;overflow-y:auto;list-style:none;overscroll-behavior:contain}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results li{margin:0;border-radius:6px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results li[aria-selected=true],body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results li:hover{background:color-mix(in srgb,var(--c) 20%,var(--bg))}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results a{display:grid;grid-template-columns:1.2rem 1fr auto;column-gap:1.2rem;align-items:baseline;padding:1rem 1.2rem;color:var(--text);text-decoration:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results a:before{content:"";grid-row:1/span 2;align-self:start;width:1.2rem;height:1.2rem;margin-top:.5rem;background:var(--c);border-radius:2px}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results .sr-title{font-weight:600;line-height:1.35}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results mark{background:var(--brand-soft);color:inherit}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results .sr-meta{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);white-space:nowrap}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results .sr-sum{grid-column:2/-1;overflow:hidden;color:var(--muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-empty,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-none,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-error{display:none;margin:0;padding:2rem;color:var(--muted);font-size:var(--fs-md)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search[data-state=empty] .search-empty,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search[data-state=none] .search-none,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search[data-state=error] .search-error{display:block}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search:not([data-state=results]) .search-results{display:none}@media only screen and (max-width:768px){body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search{margin-top:2rem;max-height:calc(var(--vvh,100vh) - 4rem)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .search-results .sr-meta{grid-column:2}}html:has(dialog.search[open]){overflow:hidden}@keyframes cursor-blink{50%{opacity:0}}:root{--syn-kw:#b23a0b;--syn-name:#1d5a85;--syn-str:#2c6b46;--syn-num:#6a48b0;--syn-com:#6b675e;--syn-builtin:#8a5200;--syn-punct:#55524b;--syn-err:#b42318;--syn-del-bg:#f8dcd6;--syn-ins-bg:#dcefe2}@media(prefers-color-scheme:dark){:root{--syn-kw:#ff9a5c;--syn-name:#7db4e6;--syn-str:#7fcf9a;--syn-num:#b49cf5;--syn-com:#9a978f;--syn-builtin:#e6c36e;--syn-punct:#b3afa6;--syn-err:#ff7b72;--syn-del-bg:#3a1d19;--syn-ins-bg:#183024}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) :is(pre,.chroma,.bg){background-color:var(--code-bg);color:var(--text)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span[class]:not(:where(.cursor,.err-code)){color:inherit;background:0 0;font-weight:inherit;font-style:inherit}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.k,.kd,.kn,.kp,.kr,.kt,.ow,.gp){color:var(--syn-kw)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.nt,.na,.nf,.fm,.nn,.nc,.ne,.nl,.py,.nd){color:var(--syn-name)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.s,.s1,.s2,.sa,.sb,.sc,.sd,.sh,.ss,.sx,.dl,.lit){color:var(--syn-str)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.m,.mb,.mf,.mh,.mi,.il,.mo,.kc){color:var(--syn-num)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.nb,.bp,.nv,.vc,.vg,.vi,.vm,.no,.se,.si,.sr){color:var(--syn-builtin)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.o,.p){color:var(--syn-punct)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.err){color:var(--syn-err)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.gd){background:var(--syn-del-bg)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.gi){background:var(--syn-ins-bg)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.gh,.gu){color:var(--syn-com);font-weight:600}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.ge){font-style:italic}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.gs){font-weight:600}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.c,.ch,.cm,.c1,.cs,.cp,.cpf,.go,.ln,.lnt){color:var(--syn-com)}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span:is(.c,.ch,.cm,.c1,.cs){font-style:italic}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .chroma span.hl{display:block;background:var(--brand-soft)}@view-transition{navigation:auto}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) :is(.card,.cat-grid a,.talk-media .play,.navigation .navigation-link){transition:none}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) :is(.card,.cat-grid a):is(:hover,:focus-visible),body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .talk-media:is(:hover,:focus-visible) .play{transform:none}}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation{view-transition-name:site-nav;position:relative;z-index:10}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) :is(.card-art,.tile,.post-banner){view-transition-class:art}::view-transition-group(*){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}::view-transition-old(.art),::view-transition-new(.art){height:100%;object-fit:cover}:root body .fc-consent-root{--bg:#fbfaf7;--text:#1f1f1f;--ink:#1f1f1f;--brand:#e8590c;--rule:#e7e4dc}:root body .fc-consent-root,:root body .fc-consent-root :not(#_){font-family:var(--sans)!important}:root body .fc-consent-root :is(h1,h2,.fc-dialog-headline,.fc-data-preferences-header,.fc-vendor-preferences-header):not(#_){font-family:var(--display)!important;color:var(--text)!important}:root body .fc-consent-root .fc-dialog,:root body .fc-consent-root .fc-help-dialog{background:var(--bg)!important;color:var(--text)!important;border:1px solid var(--rule)!important;border-radius:10px!important;box-shadow:0 24px 48px -12px #00000040!important}:root body .fc-consent-root .fc-button{border:1px solid var(--ink)!important;border-radius:6px!important;box-shadow:none!important;overflow:hidden}:root body .fc-consent-root .fc-primary-button .fc-button-background{background-color:var(--brand)!important}:root body .fc-consent-root .fc-secondary-button .fc-button-background{background-color:var(--bg)!important}:root body .fc-consent-root .fc-button-label{color:var(--ink)!important;font-weight:700!important}:root body .fc-consent-root a,:root body .fc-consent-root .fc-footer a.fc-footer-link-v2,:root body .fc-consent-root .fc-faq-header .fc-faq-label,:root body .fc-consent-root .fc-navigation-button-label,:root body .fc-consent-root .fc-preference-title{color:var(--ink)!important}:root body .fc-consent-root .fc-footer a.fc-footer-link-v2,:root body .fc-consent-root .fc-faq-header .fc-faq-label{background-color:var(--bg)!important}:root body .fc-consent-root .fc-stack-icon,:root body .fc-consent-root .fc-faq-icon{background-color:#fddcc6!important;color:var(--ink)!important}@media print{html{font-size:62.5%}:root{color-scheme:light;--bg:#fff;--text:#000;--muted:#444;--rule:#bbb;--accent:#000;--ink:#000;--code-bg:#f4f4f4;--measure:100%}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto){background:#fff!important;color:#000!important}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto):before,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .wrapper:before,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .wrapper:after,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .navigation,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .footer,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .read-progress,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .side-toc,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-banner,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-ad,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .list-ad-inline,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .related,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .follow,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post .toc,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .static-comments,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-bar,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .heading-link,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) dialog.search,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .fc-consent-root{display:none!important}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content{padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .container{max-width:none;padding:0}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content{font-size:11pt;text-align:left}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h1,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h2,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h3,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) h4{break-after:avoid}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-frame,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .figure-img,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) blockquote,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .notice{break-inside:avoid}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) pre code{white-space:pre-wrap;overflow-wrap:anywhere}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) pre,body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) code{font-size:9pt}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .code-frame pre{padding:.8rem 1rem}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .post-content a{color:#000;text-decoration:underline}body:is(.colorscheme-light,.colorscheme-dark,.colorscheme-auto) .content article a:where(.external-link):not(:has(img)):after{content:" (" attr(href)")";display:inline;width:auto;height:auto;margin:0;background:0 0;-webkit-mask:none;mask:none;color:#444;font-size:.85em;overflow-wrap:anywhere}}