@charset "UTF-8";html{-webkit-text-size-adjust:100%}body{margin:0}a{word-wrap:break-word}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;appearance:button}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}:root{--fg-color:#212121;--bg-color:#fafafa;--alt-bg-color:#e0e0e0;--alt-fg-color:#000;--darker-alt-bg-color:#ccc;--link-color:#1565c0}*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:var(--fg-color);background-color:var(--bg-color);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:var(--link-color);text-decoration:none}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:var(--alt-fg-color);margin:4rem 0 2.5rem}h1:hover .heading-link::before,h2:hover .heading-link::before,h3:hover .heading-link::before,h4:hover .heading-link::before,h5:hover .heading-link::before,h6:hover .heading-link::before{opacity:1}h1 .heading-link,h2 .heading-link,h3 .heading-link,h4 .heading-link,h5 .heading-link,h6 .heading-link{position:relative;color:inherit;font-weight:inherit;text-decoration:none}h1 .heading-link::before,h2 .heading-link::before,h3 .heading-link::before,h4 .heading-link::before,h5 .heading-link::before,h6 .heading-link::before{content:"#";position:absolute;right:100%;padding-right:.3em;color:var(--link-color);opacity:0;transition:opacity .05s ease-in}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:var(--darker-alt-bg-color);color:var(--fg-color)}@media only screen and (max-width:768px){code{font-size:1.5rem}}hr{border:0;height:1px;margin:3rem auto;background:linear-gradient(to right,transparent,var(--alt-fg-color) 25%,var(--alt-fg-color) 75%,transparent)}blockquote{border-left:2px solid var(--alt-bg-color);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 var(--alt-fg-color)}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}.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}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.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{padding-left:.5em;font-size:.75em;display:inline}.content article a:not(.heading-link){text-decoration:underline;text-decoration-color:transparent;text-decoration-skip-ink:auto;text-underline-offset:.15em;transition:text-decoration-color .05s ease-in}.content article a:not(.heading-link):focus,.content article a:not(.heading-link):hover{text-decoration-color:initial}.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:not(.plain-images) .post-content img:not(.scroll-crossfade__frame){display:block;max-width:100%;height:auto;margin:2rem auto;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.25)}.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:var(--alt-bg-color);border-radius:.6rem;line-height:1.5em}.content .post .post-meta .tags .tag a{color:var(--fg-color)}.content .post .post-meta .tags .tag a:active{color:var(--fg-color)}.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:var(--fg-color);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;transition:color .05s ease-in}.list ul li .title:hover,.list ul li .title:focus{color:var(--link-color)}@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:var(--fg-color);text-transform:uppercase;margin-left:1rem;margin-right:1rem;font-size:1.6rem;transition:color .05s ease-in}.centered .about ul li a:hover,.centered .about ul li a:focus{color:var(--link-color)}@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 var(--bg-color)}.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:#7e57c21a}.notice.note .notice-title{background-color:#673ab71a}.notice.note .notice-title i{color:#5e35b1}.notice.tip{background-color:#26a69a1a}.notice.tip .notice-title{background-color:#0096881a}.notice.tip .notice-title i{color:#00897b}.notice.example{background-color:#8d6e631a}.notice.example .notice-title{background-color:#7955481a}.notice.example .notice-title i{color:#6d4c41}.notice.question{background-color:#9ccc651a}.notice.question .notice-title{background-color:#8bc34a1a}.notice.question .notice-title i{color:#7cb342}.notice.info{background-color:#42a5f51a}.notice.info .notice-title{background-color:#2196f31a}.notice.info .notice-title i{color:#1e88e5}.notice.warning{background-color:#ffca281a}.notice.warning .notice-title{background-color:#ffc1071a}.notice.warning .notice-title i{color:#ffb300}.notice.error{background-color:#ef53501a}.notice.error .notice-title{background-color:#f443361a}.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:var(--fg-color)}.navigation a{transition:color .05s ease-in}.navigation a:hover,.navigation a:focus{color:var(--link-color)}.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:var(--bg-color);border-top:solid 2px var(--alt-bg-color);border-bottom:solid 2px var(--alt-bg-color);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 var(--fg-color);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:var(--alt-bg-color)}.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{transition:color .05s ease-in}.navigation .menu-button i:hover,.navigation .menu-button i:focus{color:var(--alt-fg-color)}.navigation i{color:var(--fg-color);cursor:pointer;transition:color .05s ease-in}.navigation i:hover,.navigation i:focus{color:var(--link-color)}.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}.tabs{display:flex;flex-wrap:wrap;margin:2rem 0;position:relative}.tabs.tabs-left{justify-content:flex-start}.tabs.tabs-left label.tab-label{margin-right:.5rem}.tabs.tabs-left .tab-content{border-radius:0 4px 4px 4px}.tabs.tabs-right{justify-content:flex-end}.tabs.tabs-right label.tab-label{margin-left:.5rem}.tabs.tabs-right .tab-content{border-radius:4px 0 4px 4px}.tabs input.tab-input{display:none}.tabs label.tab-label{background-color:var(--alt-bg-color);border-color:var(--darker-alt-bg-color);border-radius:4px 4px 0 0;border-style:solid;border-bottom-style:hidden;border-width:1px;cursor:pointer;display:inline-block;order:1;padding:.3rem .6rem;position:relative;top:1px;user-select:none}.tabs input.tab-input:checked+label.tab-label{background-color:var(--bg-color)}.tabs .tab-content{background-color:var(--bg-color);border-color:var(--darker-alt-bg-color);border-style:solid;border-width:1px;display:none;order:2;padding:1rem;width:100%}.tabs.tabs-code .tab-content{padding:.5rem}.tabs.tabs-code .tab-content pre{margin:0}.taxonomy li{display:inline-block;margin:.9rem}.taxonomy .taxonomy-element{display:block;padding:.3rem .9rem;background-color:var(--alt-bg-color);border-radius:.6rem}.taxonomy .taxonomy-element a{color:var(--fg-color)}.taxonomy .taxonomy-element a:active{color:var(--fg-color)}.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:var(--link-color)}.has-header-wallpaper:not(.immersive-collapsed){overscroll-behavior-y:none}.has-header-wallpaper:not(.immersive-collapsed)::before{content:"";position:fixed;inset:0;z-index:-1;background-image:var(--header-wallpaper);background-position:50%;background-size:cover;background-repeat:no-repeat;pointer-events:none}.has-header-wallpaper:not(.immersive-collapsed) .content{position:relative;margin-top:100vh;margin-bottom:0;padding-bottom:3.2rem;background-color:var(--bg-color)}.has-header-wallpaper:not(.immersive-collapsed) .content::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:20vh;background:linear-gradient(to bottom,transparent,var(--bg-color));pointer-events:none}.has-header-wallpaper:not(.immersive-collapsed) .footer{background-color:var(--bg-color);margin-bottom:0;padding-bottom:1rem}.has-header-wallpaper:not(.immersive-collapsed) .navigation{position:relative}.has-header-wallpaper:not(.immersive-collapsed) .navigation::before{content:"";position:absolute;top:0;left:0;right:0;height:14rem;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,rgba(0,0,0,.543) 8.1%,rgba(0,0,0,.523) 15.5%,rgba(0,0,0,.493) 22.5%,rgba(0,0,0,.454) 29%,rgba(0,0,0,.408) 35.3%,rgba(0,0,0,.356) 41.2%,rgba(0,0,0,.303) 47.1%,rgba(0,0,0,.248) 52.9%,rgba(0,0,0,.194) 58.8%,rgba(0,0,0,.142) 64.7%,rgba(0,0,0,.096) 71%,rgba(0,0,0,.057) 77.5%,rgba(0,0,0,.027) 84.5%,rgba(0,0,0,.7%) 91.9%,transparent 100%);pointer-events:none;z-index:-1}.has-header-wallpaper:not(.immersive-collapsed) .navigation a,.has-header-wallpaper:not(.immersive-collapsed) .navigation span,.has-header-wallpaper:not(.immersive-collapsed) .navigation i,.has-header-wallpaper:not(.immersive-collapsed) .navigation .navigation-title{color:#fff}.has-header-wallpaper:not(.immersive-collapsed) .navigation a:hover,.has-header-wallpaper:not(.immersive-collapsed) .navigation a:focus,.has-header-wallpaper:not(.immersive-collapsed) .navigation i:hover,.has-header-wallpaper:not(.immersive-collapsed) .navigation i:focus{color:var(--link-color)}.header-cover{display:none}body.immersive-collapsed.has-header-wallpaper .content{flex-direction:column}body.immersive-collapsed.has-header-wallpaper .header-cover{display:block;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:2rem;height:clamp(18rem,60vh,60rem);background-image:var(--header-wallpaper);background-position:50%;background-size:cover;background-repeat:no-repeat}.content .scroll-crossfade{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-top:4rem;margin-bottom:4rem;height:var(--scroll-crossfade-height,200vh)}.content .scroll-crossfade .scroll-crossfade__stage{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}.content .scroll-crossfade .scroll-crossfade__frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.content .scroll-crossfade--contain .scroll-crossfade__frame{object-fit:contain;background-color:var(--bg-color)}.content .scroll-crossfade::before,.content .scroll-crossfade::after{content:"";position:absolute;left:0;right:0;height:25vh;pointer-events:none;z-index:1}.content .scroll-crossfade::before{top:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-color) 100%,transparent) 0%,color-mix(in srgb,var(--bg-color) 98.7%,transparent) 8.1%,color-mix(in srgb,var(--bg-color) 95.1%,transparent) 15.5%,color-mix(in srgb,var(--bg-color) 89.6%,transparent) 22.5%,color-mix(in srgb,var(--bg-color) 82.5%,transparent) 29%,color-mix(in srgb,var(--bg-color) 74.1%,transparent) 35.3%,color-mix(in srgb,var(--bg-color) 64.8%,transparent) 41.2%,color-mix(in srgb,var(--bg-color) 55%,transparent) 47.1%,color-mix(in srgb,var(--bg-color) 45%,transparent) 52.9%,color-mix(in srgb,var(--bg-color) 35.2%,transparent) 58.8%,color-mix(in srgb,var(--bg-color) 25.9%,transparent) 64.7%,color-mix(in srgb,var(--bg-color) 17.5%,transparent) 71%,color-mix(in srgb,var(--bg-color) 10.4%,transparent) 77.5%,color-mix(in srgb,var(--bg-color) 4.9%,transparent) 84.5%,color-mix(in srgb,var(--bg-color) 1.3%,transparent) 91.9%,color-mix(in srgb,var(--bg-color) 0%,transparent) 100%)}.content .scroll-crossfade::after{bottom:0;background:linear-gradient(to top,color-mix(in srgb,var(--bg-color) 100%,transparent) 0%,color-mix(in srgb,var(--bg-color) 98.7%,transparent) 8.1%,color-mix(in srgb,var(--bg-color) 95.1%,transparent) 15.5%,color-mix(in srgb,var(--bg-color) 89.6%,transparent) 22.5%,color-mix(in srgb,var(--bg-color) 82.5%,transparent) 29%,color-mix(in srgb,var(--bg-color) 74.1%,transparent) 35.3%,color-mix(in srgb,var(--bg-color) 64.8%,transparent) 41.2%,color-mix(in srgb,var(--bg-color) 55%,transparent) 47.1%,color-mix(in srgb,var(--bg-color) 45%,transparent) 52.9%,color-mix(in srgb,var(--bg-color) 35.2%,transparent) 58.8%,color-mix(in srgb,var(--bg-color) 25.9%,transparent) 64.7%,color-mix(in srgb,var(--bg-color) 17.5%,transparent) 71%,color-mix(in srgb,var(--bg-color) 10.4%,transparent) 77.5%,color-mix(in srgb,var(--bg-color) 4.9%,transparent) 84.5%,color-mix(in srgb,var(--bg-color) 1.3%,transparent) 91.9%,color-mix(in srgb,var(--bg-color) 0%,transparent) 100%)}.content .scroll-crossfade figcaption{max-width:min(90vw,60rem);margin:2rem;padding:.8rem 1.6rem;text-align:center;font-style:italic;color:#fff;background-color:rgba(0,0,0,.45);backdrop-filter:blur(6px);border-radius:.8rem;text-shadow:0 1px 3px rgba(0,0,0,.9);z-index:2}.content .scroll-crossfade--cap-top-left .scroll-crossfade__stage{place-items:start start}.content .scroll-crossfade--cap-top .scroll-crossfade__stage{place-items:start center}.content .scroll-crossfade--cap-top-right .scroll-crossfade__stage{place-items:start end}.content .scroll-crossfade--cap-left .scroll-crossfade__stage{place-items:center start}.content .scroll-crossfade--cap-right .scroll-crossfade__stage{place-items:center end}.content .scroll-crossfade--cap-bottom-left .scroll-crossfade__stage{place-items:end start}.content .scroll-crossfade--cap-bottom .scroll-crossfade__stage{place-items:end center}.content .scroll-crossfade--cap-bottom-right .scroll-crossfade__stage{place-items:end end}.scroll-crossfade__frame--fade{opacity:0}body.immersive-collapsed .content .scroll-crossfade{height:auto;width:auto;margin-left:0}body.immersive-collapsed .content .scroll-crossfade .scroll-crossfade__stage{position:static;height:auto;overflow:visible}body.immersive-collapsed .content .scroll-crossfade .scroll-crossfade__frame{position:static;display:block;max-width:100%;height:auto;margin:2rem auto;opacity:1;object-fit:initial;background-color:initial}body.immersive-collapsed .content .scroll-crossfade::before,body.immersive-collapsed .content .scroll-crossfade::after{display:none}body.immersive-collapsed .content .scroll-crossfade figcaption{position:static;transform:none;inset:auto;margin:1rem auto 0;max-width:100%}body.immersive-collapsed .post:not(.plain-images) .scroll-crossfade__frame{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.25)}.float-container{bottom:2rem;right:2rem;z-index:100;position:fixed;font-size:1.6em;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.float-container a{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;font-size:2rem;color:var(--alt-fg-color);background-color:var(--alt-bg-color);border-radius:.2rem;opacity:.5;cursor:pointer;transition:color .05s ease-in,opacity .05s ease-in}.float-container a:hover,.float-container a:focus{color:var(--link-color);opacity:1}@media only screen and (max-width:768px){.float-container a:hover,.float-container a:focus{color:var(--alt-fg-color);opacity:.5}}.float-container a[hidden]{display:none}.colorscheme-toggle .toggle-icon{display:none;line-height:0}body.colorscheme-auto .colorscheme-toggle .icon-auto,body.colorscheme-light .colorscheme-toggle .icon-light,body.colorscheme-dark .colorscheme-toggle .icon-dark{display:inline-flex}.immersive-toggle .toggle-icon{display:none;line-height:0}.immersive-toggle .icon-immersive{display:inline-flex}body.immersive-collapsed .immersive-toggle .icon-immersive{display:none}body.immersive-collapsed .immersive-toggle .icon-collapsed{display:inline-flex}.mastodon-wrapper{display:flex;gap:3rem;flex-direction:row}.comment-level{max-width:3rem;min-width:3rem}.reply-original{display:none}.mastodon-comment{background-color:var(--body-background);border-radius:var(--card-border-radius);padding:var(--card-padding);margin-bottom:1rem;display:flex;gap:1rem;flex-direction:column;flex-grow:2}.mastodon-comment .comment{display:flex;flex-direction:row;gap:1rem;flex-wrap:true}.mastodon-comment .comment-avatar img{width:6rem}.mastodon-comment .content{flex-grow:2}.mastodon-comment .comment-author{display:flex;flex-direction:column}.mastodon-comment .comment-author-name{font-weight:700}.mastodon-comment .comment-author-name a{display:flex;align-items:center}.mastodon-comment .comment-author-date{margin-left:auto}.mastodon-comment .disabled{color:var(--accent-color)}.mastodon-comment-content p:first-child{margin-top:0}.mastodon{--dlg-bg:#282c37;--dlg-w:600px;--dlg-color:#9baec8;--dlg-button-p:0.75em 2em;--dlg-outline-c:#00D9F5}.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{--fg-color:#dadada;--bg-color:#212121;--alt-bg-color:#424242;--alt-fg-color:#dadada;--darker-alt-bg-color:#4f4f4f;--link-color:#42a5f5}@media(prefers-color-scheme:dark){body.colorscheme-auto{--fg-color:#dadada;--bg-color:#212121;--alt-bg-color:#424242;--alt-fg-color:#dadada;--darker-alt-bg-color:#4f4f4f;--link-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}}