/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */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}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;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}.dark-mode{.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .p{color:#e6e6e6}.highlight .dl{color:#ce9178}.highlight .cm{color:#6a9955;font-style:italic}.highlight .cp{color:#999}.highlight .c1{color:#6a9955;font-style:italic}.highlight .cs{color:#999;font-style:italic}.highlight .c,.highlight .cd{color:#6a9955;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#569cd6;background-color:#fdd}.highlight .ge{color:#569cd6;font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#569cd6;background-color:#dfd}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:700}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#569cd6}.highlight .kt{color:#458}.highlight .k,.highlight .kv{color:#c586c0}.highlight .mf,.highlight .mh,.highlight .il,.highlight .mi,.highlight .mo,.highlight .m,.highlight .mb,.highlight .mx{color:#b5cea8}.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#ce9178}.highlight .sr{color:#009926}.highlight .s1{color:#ce9178}.highlight .ss{color:#990073}.highlight .s{color:#ce9178}.highlight .na{color:#dcdcaa}.highlight .nx{color:#9cdcfe}.highlight .bp{color:#999}.highlight .nb{color:#0086b3}.highlight .nc{color:#dcdcaa}.highlight .no{color:teal}.highlight .nd{color:#3c5d5d}.highlight .ni{color:purple}.highlight .ne,.highlight .nf,.highlight .nl{color:#dcdcaa}.highlight .nn{color:#555}.highlight .nt{color:#c586c0}.highlight .vc,.highlight .vg,.highlight .vi,.highlight .nv{color:teal}.highlight .ow,.highlight .o{color:#569cd6}.highlight .w{color:#bbb}}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:700}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:700;font-style:italic}.highlight .c,.highlight .cd{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#015493;background-color:#fdd}.highlight .ge{color:#015493;font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#015493;background-color:#dfd}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:700}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#015493;font-weight:700}.highlight .kt{color:#458;font-weight:700}.highlight .k,.highlight .kv{color:#015493;font-weight:700}.highlight .mf,.highlight .mh,.highlight .il,.highlight .mi,.highlight .mo,.highlight .m,.highlight .mb,.highlight .mx{color:#015493}.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#567a0d}.highlight .sr{color:#009926}.highlight .s1{color:#567a0d}.highlight .ss{color:#990073}.highlight .s{color:#567a0d}.highlight .na{color:teal}.highlight .bp{color:#999}.highlight .nb{color:#0086b3}.highlight .nc{color:#458;font-weight:700}.highlight .no{color:teal}.highlight .nd{color:#3c5d5d;font-weight:700}.highlight .ni{color:purple}.highlight .ne,.highlight .nf,.highlight .nl{color:#b75301}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .vc,.highlight .vg,.highlight .vi,.highlight .nv{color:teal}.highlight .ow,.highlight .o{color:#015493;font-weight:700}.highlight .w{color:#bbb}*{box-sizing:border-box}body{--font-primary: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-monospace: ui-monospace, "Cascadia Mono", "Segoe UI Mono", "Liberation Mono", Menlo, Monaco, Consolas, monospace;--wrapper-width: 20%;background:var(--background-color);color:var(--text-color);font-family:var(--font-primary);font-size:1em;line-height:1.4;word-wrap:break-word;--background-color: #fff;--heading-color: #000;--link-color: #119cd9;--text-color: #28292d;--code-color: #495057;--code-background-color: #f5f5f5;--tag-color: #e5e5e5;--image-saturation: 100%;--btn-brightness: 90%}.dark-mode{--background-color: #212529;--heading-color: #49a3bc;--link-color: #119cd9;--text-color: #ececec;--code-color: #efb;--code-background-color: #343a40;--tag-color: #46494b;--image-saturation: 80%;--btn-brightness: 110%}:root{text-rendering:optimizeSpeed}canvas,caption,center,cite,code,dd,del,dfn,div,dl,dt,em,embed,fieldset,font,form,h1,h2,h3,h4,h5,h6,hr,i,iframe,img,ins,kbd,label,legend,li,menu,object,ol,p,pre,q,s,samp,small,span,strike,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,tt,u,ul,var{margin:0;padding:0;border:0;background:#0000}h1,h2,h3,h4,h5,h6,#site-title a{color:var(--heading-color)}#site-title{font-size:2em;font-weight:700}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}#site-menu{list-style-type:none;display:flex}#site-menu li a{font-size:1.5rem}#colorscheme-toggle{top:1em;right:1em}#social{list-style-type:none}#social li a div{display:inline}address{font-style:normal}#license{font-size:.7rem}.content-header{color:var(--heading-color);font-size:1.333rem}pre code,code{font-size:.8em;line-height:1.3;border-radius:.8vh;background:var(--code-background-color);color:var(--code-color);overflow-x:auto}pre code{padding:.6em;display:block;background:linear-gradient(to right,var(--code-background-color) 10%,var(--background-color))}blockquote{border-radius:.75vh;filter:opacity(75%);font-style:italic}img{filter:saturate(var(--image-saturation));max-width:100%}table{border-collapse:collapse}th{color:var(--heading-color)}th,td{border:3px solid var(--code-background-color);padding:.2vw}#license{text-align:right}@media only screen and (min-width:64em){.hidden-on-normal-displays{display:none}header.wrapper{position:fixed;top:0;padding:1vh}#site-menu{flex-direction:column}#colorscheme-toggle{position:fixed}#social{position:fixed;bottom:0}#license{position:fixed;writing-mode:vertical-lr;bottom:0;right:0}.page-footer{margin-bottom:1em}}@media only screen and (max-width:1239px){.hidden-on-small-displays{display:none}#site-menu{flex-direction:row}#site-menu li a{margin-right:3vw}#colorscheme-toggle{position:absolute}#social,#social li{padding-left:0;display:inline}}@media screen and (max-width:720px){#site-menu{flex-direction:column}#social li a div.hidden-on-tiny-displays{display:none}}.navhead{position:sticky;top:0;width:100%;height:64px;border-bottom:1px solid var(--code-background-color);box-shadow:0 1px 6px 0 var(--code-background-color);color:var(--text-color);background-color:var(--background-color);margin:0 auto;z-index:20}@media(min-width:80em){.greedy-nav{max-width:60em}}.site-logo img{height:100%}.site-title{display:flex;align-self:center;font-weight:700}@media screen and (max-width:64em){.site-title{display:none!important}}.site-subtitle{display:block;font-size:.625em}.navhead--menu-item{display:block;list-style-type:none;white-space:nowrap}nav a.search-toggle:hover{background-color:var(--code-background-color)}nav a.search-toggle svg{width:24px;height:24px;margin:auto}nav a.search-toggle{display:flex;flex-direction:row;align-items:center;flex-shrink:0;width:3rem;height:100%;margin:0}nav .site-logo,nav .site-title{height:100%;align-items:center;align-content:center}nav .site-logo:hover{background-color:var(--code-background-color)}nav .visible-links{height:100%;align-items:center}nav .visible-links li{height:100%}nav .visible-links a:hover{background-color:var(--code-background-color)}nav .visible-links a{align-content:center;text-align:center;width:4rem}.theme-toggle{display:flex;align-items:center}@keyframes _1c92te06{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes _1c92te07{0%{transform:rotate(0) scale(1.75)}to{transform:rotate(-30deg) scale(1.75)}}.theme{--theme-ease3: cubic-bezier(.25, 0, .3, 1);--theme-easeOut5: cubic-bezier(0, 0, 0, 1);--theme-easeInOut5: cubic-bezier(.9, 0, .1, 1);--theme-easeElastic3: cubic-bezier(.5, 1.25, .75, 1.25);--theme-easeElastic4: cubic-bezier(.5, 1.5, .75, 1.25)}.theme-toggle-button{--icon-fill: var(--link-color);--icon-fill-hover: var(--code-color);background:none;border:none;padding:0;inline-size:32px;block-size:32px;aspect-ratio:1;border-radius:50%;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0);outline-offset:5px}.sun-and-moon{inline-size:100%;block-size:100%;stroke-linecap:round}.sun-and-moon>.sun{transform-origin:center center;fill:var(--icon-fill)}.theme-toggle-button:is(:hover,:focus-visible)>.sun-and-moon>.sun{fill:var(--icon-fill-hover)}:is(.dark-mode) .sun-and-moon>.sun{transform:scale(1.75)}.sun-and-moon>.moon{transform-origin:center center;fill:var(--icon-fill)}.theme-toggle-button:is(:hover,:focus-visible)>.sun-and-moon>.moon{fill:var(--icon-fill-hover)}.sun-and-moon>.sun-beams{transform-origin:center center;stroke:var(--icon-fill);stroke-width:1.5px}.theme-toggle-button:is(:hover,:focus-visible)>.sun-and-moon>.sun-beams{stroke:var(--icon-fill-hover)}:is(.dark-mode) .sun-and-moon>.sun-beams{opacity:0}:is(.dark-mode) .sun-and-moon>.moon>.moon-circle{transform:translate(-7px)}.sun-and-moon .moon>.moon-circle{transition:transform .25s var(--theme-easeInOut5)}@media(hover:none){.theme-toggle-button{inline-size:2.5rem;block-size:2.5rem}}@media(prefers-reduced-motion:no-preference){.sun-and-moon>.sun{transition:transform .5s var(--theme-easeElastic3)}:is(.dark-mode) .sun-and-moon>.sun{transform:scale(1.75);transition:all .25s var(--theme-ease3)}.sun-and-moon>.sun-beams{transition:transform .5s var(--theme-easeElastic4),opacity .5s var(--theme-ease3)}:is(.dark-mode) .sun-and-moon>.sun-beams{transform:rotate(-25deg);transition-duration:.15s}:is(.dark-mode) .sun-and-moon>.moon>.moon-circle{transition-delay:.25s;transition-duration:.5s}}@media(prefers-reduced-motion:no-preference)and (hover:hover)and (pointer:fine){:is(.dark-mode) .sun-and-moon:hover .sun{animation:_1c92te07 1s ease-in-out infinite}:is(.dark-mode) .sun-and-moon:hover .moon{animation:_1c92te07 1s ease-in-out infinite}.sun-and-moon:hover>.sun-beams{animation:_1c92te06 1s ease-in-out infinite}}@supports (cx: 1){:is(.dark-mode) .sun-and-moon>.moon>.moon-circle{transform:translate(0);cx:17px}.sun-and-moon .moon>.moon-circle{transition:cx .25s var(--theme-easeOut5)}}.pagination{display:flex;gap:.5em;justify-content:center;align-items:center}.pagination .pagination-pager{display:inline-block;min-width:2.5rem;padding:.25em .5em;text-align:center;border-radius:.25rem;font-size:.9em;text-decoration:none;font-weight:500;cursor:pointer}.pagination .pagination-pager.current,.pagination .pagination-pager:hover{background-color:var(--tag-color);color:var(--link-color)}.pagination .pagination-pager.current{font-weight:700;cursor:default;pointer-events:none}.pagination .pagination-ellipsis{display:inline-block;min-width:2.5rem;text-align:center;color:var(--link-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.greedy-nav{position:relative;display:flex;align-items:center;min-height:2em;height:100%;flex-direction:row;justify-content:space-between;margin:0 auto}.greedy-nav a{display:block;height:100%;margin:0;color:var(--text-color);fill:var(--text-color);text-decoration:none;transition:none}.greedy-nav a.site-logo{margin-inline-start:0;margin-inline-end:.5rem}.greedy-nav a.site-title{margin-inline-start:0}.greedy-nav img{transition:none}.greedy-nav .visible-links{display:flex;justify-content:flex-end;flex:1;overflow:hidden}.greedy-nav .visible-links li{flex:none}.greedy-nav .visible-links a{position:relative}.greedy-nav .visible-links a:before{content:"";position:absolute;inset-inline-start:0;bottom:0;height:4px;background:#6f777d;width:100%;transition:all .2s ease-in-out;transform:scaleX(0) translateZ(0)}.greedy-nav .visible-links a:hover:before{transform:scaleX(1)}.greedy-nav .hidden-links{position:absolute;top:100%;inset-inline-end:0;margin-top:15px;padding:5px;border:1px solid #f2f3f3;border-radius:4px;background:#fff;box-shadow:0 2px 4px #00000029,0 2px 10px #0000001f}.greedy-nav .hidden-links.hidden{display:none}.greedy-nav .hidden-links a{margin:0;padding:10px 20px;font-size:1em}.greedy-nav .hidden-links a:hover{color:#53595e;background:#dbdddf}.greedy-nav .hidden-links:before{content:"";position:absolute;top:-11px;inset-inline-end:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 rgba(0,0,0,0);display:block;z-index:0}.greedy-nav .hidden-links:after{content:"";position:absolute;top:-10px;inset-inline-end:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff rgba(0,0,0,0);display:block;z-index:1}.greedy-nav .hidden-links li{display:block;border-bottom:1px solid #f2f3f3}.greedy-nav .hidden-links li:last-child{border-bottom:none}.no-js .greedy-nav .visible-links{flex-wrap:wrap;overflow:visible}#main{clear:both;margin-top:1em;margin-inline:auto;padding-inline:1em;animation:intro .3s both;max-width:100%;animation-delay:.15s}#main:after{clear:both;content:"";display:table}@media(min-width:80em){#main{max-width:60em}}body{display:flex;min-height:100vh;flex-direction:column}main{min-height:calc(100vh - 364px)}.initial-content,.search-content{flex:1 0 auto}@media(min-width:64em){.page{float:inline-start;width:calc(100% - 325px);padding-inline-end:1em}}@media(min-width:80em){.page{width:calc(100% - 345px)}}.page .page-inner-wrap{float:inline-start;margin-inline:0;width:100%;clear:both}.page-inner-wrap header{margin-bottom:.6em}.page .page-inner-wrap .page-content,.page .page-inner-wrap .page-meta,.page .page-inner-wrap .comment-date,.page .page-inner-wrap .page-share{position:relative;float:inline-start;margin-inline:0;width:100%;clear:both}.page-title{font-size:1.8em;margin-top:0;line-height:1}.page-title a{color:#3d4144;text-decoration:none}.page-title+.page-meta,.page-title+.comment-date{margin-top:-.5em}.page-lead{font-size:1.25em}.page-content h2,.page-content h3{margin-bottom:.5em}.page-content h1 .header-link,.page-content h2 .header-link,.page-content h3 .header-link,.page-content h4 .header-link,.page-content h5 .header-link,.page-content h6 .header-link{position:relative;inset-inline-start:.5em;opacity:0;font-size:.8em;transition:opacity .2s ease-in-out .1s}.page-content h1:hover .header-link,.page-content h2:hover .header-link,.page-content h3:hover .header-link,.page-content h4:hover .header-link,.page-content h5:hover .header-link,.page-content h6:hover .header-link{opacity:1}.page-content p,.page-content li,.page-content dl{font-size:1em;margin-left:1em}.page-content p,.page-content ul,.page-content .highlighter-rouge{margin:0 0 .8em}.page-content a:not(.btn):hover{text-decoration:underline}.page-content a:not(.btn):hover img{box-shadow:0 0 10px #00000040}.page-content :not(pre)>code{padding-top:.1rem;padding-bottom:.1rem;font-size:.8em;border-radius:4px}.page-content :not(pre)>code:before,.page-content :not(pre)>code:after{letter-spacing:-.2em;content:"\a0"}.page-content dt{margin-top:1em;font-weight:700}.page-content dd{margin-inline-start:1em;font-size:.75em}.page-content .small{font-size:.75em}.page-content blockquote+.small{margin-top:-1.5em;padding-inline-start:1.25rem}.page__hero{position:relative;margin-bottom:2em;clear:both;animation:intro .3s both;animation-delay:.25s}.page-share{margin-top:2em;padding-top:1em;border-top:1px solid #f2f3f3}@media(max-width:37.5em){.page-share .btn span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}}.page-share-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page-meta,.comment-date{margin-top:2em;color:#646769;font-size:.75em}.page-meta p,.comment-date p{margin:0}.page-meta a,.comment-date a{color:inherit}.page-meta-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page-meta-sep:before{content:"\2022";padding-inline:.5em}.page-taxonomy .sep{display:none}.page-taxonomy strong{margin-inline-end:10px}.page-taxonomy-item{display:inline-block;margin-inline-end:5px;margin-bottom:8px;padding:5px 10px;text-decoration:none;border:1px solid #b6b6b6;border-radius:4px}.page-taxonomy-item:hover{text-decoration:none;color:#235e70}.taxonomy-section{margin-bottom:2em;padding-bottom:1em}.taxonomy-section:not(:last-child){border-bottom:solid 1px #f2f3f3}.taxonomy-section .archive-item-title{margin-top:0}.taxonomy-section .archive-subtitle{clear:both;border:0}.taxonomy-section+.taxonomy-section{margin-top:2em}.taxonomy-title{margin-bottom:.5em;color:#646769}.taxonomy-count{color:#646769}.taxonomy-index{display:grid;grid-column-gap:2em;grid-template-columns:repeat(2,1fr);margin:1.414em 0;padding:0;font-size:.75em;list-style:none}@media(min-width:64em){.taxonomy-index{grid-template-columns:repeat(3,1fr)}}.taxonomy-index a{display:flex;padding:.25em 0;justify-content:space-between;color:inherit;text-decoration:none;border-bottom:1px solid #f2f3f3}.back-to-top{display:block;clear:both;color:#646769;font-size:.6em;text-transform:uppercase;text-align:end;text-decoration:none}.page-comments{float:inline-start;margin-inline:0;width:100%;clear:both}.page-comments-title{margin-top:2rem;margin-bottom:10px;padding-top:2rem;font-size:.75em;border-top:1px solid #f2f3f3;text-transform:uppercase}.page-comments-form{transition:all .2s ease-in-out}.page-comments-form.disabled input,.page-comments-form.disabled button,.page-comments-form.disabled textarea,.page-comments-form.disabled label{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:.65}.comment{clear:both;margin:1em 0}.comment:after{clear:both;content:"";display:table}.comment:not(:last-child){border-bottom:1px solid #f2f3f3}.comment-avatar-wrapper{float:inline-start;width:60px;height:60px}@media(min-width:64em){.comment-avatar-wrapper{width:100px;height:100px}}.comment-avatar{width:40px;height:40px;border-radius:50%}@media(min-width:64em){.comment-avatar{width:80px;height:80px;padding:5px;border:1px solid #f2f3f3}}.comment-content-wrapper{float:inline-end;width:calc(100% - 60px)}@media(min-width:64em){.comment-content-wrapper{width:calc(100% - 100px)}}.comment-author{margin:0}.comment-author a{text-decoration:none}.comment-date{margin:0}.comment-date a{text-decoration:none}.page-related{float:inline-start}.page-related:after{content:"";display:table}@media(max-width:64em){.page-related{padding-top:1em}}@media(min-width:64em){.page-related{float:inline-start;max-width:180px}}@media(min-width:80em){.page-related{max-width:200px}}.page-related a{color:inherit;text-decoration:none}.page-related-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}@media(min-width:64em){.wide .page,.wide .page-related{padding-inline-end:0}}@media(min-width:80em){.wide .page,.wide .page-related{padding-inline-end:0}}.archive{margin-top:1em;margin-bottom:2em}@media(min-width:64em){.archive{float:inline-end;width:calc(100% - 200px);padding-inline-end:200px}}@media(min-width:80em){.archive{width:calc(100% - 300px);padding-inline-end:300px}}.archive-item{position:relative}.page-related .list-item:hover{padding-left:.5em;background-color:var(--code-background-color);transition:.25s;border-radius:.5em}.page-related .archive-item{padding:.5em 1em .5em 0;border-radius:.5em;border-top:1px solid var(--code-background-color)}.archive-item a{position:relative;z-index:10}.archive-item a[rel=permalink]{position:static}.archive-subtitle{margin:1.414em 0 .5em;padding-bottom:.5em;font-size:1em;color:#646769;border-bottom:1px solid #f2f3f3}.archive-subtitle+.list-item .archive-item-title{margin-top:.5em}.archive-item-title{font-size:1em;font-family:var(--font-primary);line-height:initial;overflow:hidden;text-overflow:ellipsis}.archive-item-title a[rel=permalink]:before{content:"";position:absolute;inset:0}.archive-item-title a+a{opacity:.5}.page-content .archive-item-title{border-bottom:none}.archive-item-excerpt{margin-top:0;font-size:.75em}.page-related .archive-item-excerpt{overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;white-space:normal;-webkit-line-clamp:3;display:-webkit-box}.page-related time{font-size:.8rem}.archive-item-excerpt+p{text-indent:0}.archive-item-excerpt a{position:relative}.archive-item-teaser{position:relative;border-radius:4px;overflow:hidden}.archive-item-teaser img{width:100%}.archive-item-caption{position:absolute;bottom:0;inset-inline-end:0;margin:0 auto;padding:2px 5px;color:#fff;font-family:Georgia,Times,serif;font-size:.625em;background:#000;text-align:end;z-index:5;opacity:.5;border-radius:4px 0 0}@media(min-width:64em){.archive-item-caption{padding:5px 10px}}.archive-item-caption a{color:#fff;text-decoration:none}@media(min-width:64em){.wide .archive{padding-inline-end:0}}@media(min-width:80em){.wide .archive{padding-inline-end:0}}.sidebar{clear:both}.sidebar:after{clear:both;content:"";display:table}@media(min-width:64em){.sidebar{float:inline-start;width:144px;opacity:.75;transition:opacity .2s ease-in-out;padding-inline-end:1em}.sidebar:hover{opacity:1}.sidebar.sticky{overflow-y:auto;max-height:calc(100vh - 4em)}}@media(min-width:80em){.sidebar{width:144px}}.sidebar>*{margin-top:.5em;margin-bottom:.5em}.sidebar p,.sidebar li{font-size:.75em}.sidebar img{width:100%}.sidebar img.emoji{width:20px;height:20px}.author-avatar{display:table-cell;vertical-align:top;width:36px;height:36px}@media(max-width:37.5em){.page-intro .author-avatar{display:none}}@media(min-width:64em){.sidebar .author-avatar{display:block;width:auto;height:auto}}.page-intro .author-avatar img{max-width:110px}.author-avatar img{border-radius:50%}@media(min-width:64em){.sidebar .author-avatar img{padding:5px;border:1px solid #f2f3f3}}.author-content{display:table-cell;vertical-align:top;padding-inline:15px 25px;line-height:1.1}.author-intro{line-height:1.5;font-size:1rem}@media(min-width:64em){.sidebar .author-content{display:block;width:100%;padding-inline:0}}.author-content a{color:inherit;text-decoration:none}.author-name{margin:0}@media(min-width:64em){.author-name{margin-top:10px;margin-bottom:10px}}.sidebar .author-name{font-size:1em}.author-bio{margin:0}@media(min-width:64em){.author-bio{margin-top:10px;margin-bottom:10px}}.author-urls-wrapper{position:relative;display:table-cell;vertical-align:middle;z-index:20;cursor:pointer}.author-urls-wrapper li:last-child a{margin-bottom:0}.author-urls-wrapper .author-urls span.label{padding-inline-start:5px}@media(min-width:64em){.author-urls-wrapper{display:block}}.author-urls-wrapper button{position:relative;margin-bottom:0}@supports (pointer-events: none){.author-urls-wrapper button:before{content:"";position:fixed;top:0;inset-inline-start:0;width:100%;height:100%;pointer-events:none}}.author-urls-wrapper button.open:before{pointer-events:auto}@media(min-width:64em){.author-urls-wrapper button{display:none}}.author-urls{display:none;position:absolute;inset-inline-end:0;margin-top:15px;padding:10px;list-style-type:none;border:1px solid #f2f3f3;border-radius:4px;background:#fff;box-shadow:0 2px 4px #00000029,0 2px 10px #0000001f;cursor:default}.author-urls.is--visible{display:block}@media(min-width:64em){.author-urls{display:block;position:relative;margin:0;padding:0;border:0;background:#0000;box-shadow:none}}.author-urls:before{display:block;content:"";position:absolute;top:-11px;inset-inline-start:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 rgba(0,0,0,0);z-index:0}@media(min-width:64em){.author-urls:before{display:none}}.author-urls:after{display:block;content:"";position:absolute;top:-10px;inset-inline-start:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff rgba(0,0,0,0);z-index:1}@media(min-width:64em){.author-urls:after{display:none}}.author-urls ul{padding:10px;list-style-type:none}.author-urls li{white-space:nowrap}.author-urls a{display:block;margin-bottom:5px;padding-block:2px;padding-inline-end:5px;color:inherit;font-size:1em;text-decoration:none}.author-urls a:hover{text-decoration:underline}.wide .sidebar__right{margin-bottom:1em}footer{background-color:var(--code-background-color);margin-top:4rem}.page-footer{clear:both;margin-inline:auto;padding-inline:1em}@media(min-width:80em){.page-footer{max-width:60em}}.footer-logo-link{display:block;width:168px;cursor:pointer}.footer-copy{font-size:.75em}.page-footer-follow ul{margin:0;padding:0;list-style-type:none}.page-footer-follow li{display:inline-block;padding-top:5px;padding-bottom:5px;font-size:.85em;text-transform:uppercase}.page-footer-follow li+li:before{content:"";padding-inline-end:5px}.page-intro{background-color:var(--code-background-color);border-radius:1rem;padding:1.2em 1.5em}.tagcloud{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5em}.tagcloud a.tag{text-decoration:none;padding:.25em .5em;border-radius:.25em;white-space:nowrap;display:inline-flex;font-size:.9em;color:var(--link-color);background-color:var(--tag-color)}.tagcloud a.tag:hover{filter:brightness(var(--btn-brightness))}.tagcloud .count{color:var(--text-color);opacity:60%}.article-list ul{list-style:none;flex-direction:column;margin:0;gap:1rem;display:flex;grid-template-columns:repeat(3,1fr)}.article-list ul .list-item{padding:1rem 2rem 1rem 1rem;padding-left:0;height:100%;border-top:1px solid var(--code-background-color);border-radius:1rem;text-decoration:none;display:block}.article-list ul .list-item .archive-item{display:flex;height:100%;justify-content:space-between;flex-direction:column;gap:.2rem}.article-list ul .list-item .archive-item h3 a,.article-list ul .list-item .archive-item .archive-item-excerpt{overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;white-space:normal;-webkit-line-clamp:2;display:-webkit-box}.article-list ul .list-item .archive-item .archive-item-excerpt{font-size:1rem;-webkit-line-clamp:3}.article-list ul .list-item .archive-item time{font-size:.9rem}.article-list ul .list-item:hover{padding:1rem;background-color:var(--code-background-color);transition:.25s}.article-list ul .archive-item-title a{color:var(--text-color)}.article-list ul .archive-item-title a:hover{text-decoration:none;color:var(--link-color)}.article-list ul .archive-item-title{font-weight:700;line-height:1.2;font-size:1.2rem}@media screen and (min-width:64em){.article-list ul{display:grid}}.flex-layout{display:flex;flex-direction:column;gap:1rem}.tag-list a.tag{text-decoration:none}.tag-list a.tag:hover{filter:brightness(var(--btn-brightness))}.tag-list .tag{padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap;display:inline-flex;font-size:.6em;color:var(--link-color);background-color:var(--tag-color)}.about-section{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.about-section .author-avatar{flex:0 0 200px;max-width:100%;height:auto}.about-text{flex:1;font-family:monospace;font-size:1.1rem;color:inherit;margin:0}.not-found{margin:30px 0;text-align:center}.not-found h1{font-size:4.5em;font-family:var(--font-monospace)}
