.bg{color:#f8f8f2;background-color:#272822}.chroma{color:#f8f8f2;background-color:#272822}.chroma .err{color:#960050;background-color:#1e0010}.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:#3c3d38}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em 0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em 0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .nf{color:#a6e22e}.chroma .fm{color:#a6e22e}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:bold}.chroma .gu{color:#75715e}html{--color-mode: "lit";--bg: #e1e2e7;--bd-dark: #d5d6db;--bd-highlight: #ececf0;--bd-card: #dcdde2;--fg: #3760bf;--light: #fff;--dark: #3760bf;--haze: rgb(226.8, 227.74, 232.44);--haze-darker: rgb(198.7353333333, 200.6108222222, 209.9882666667);--gray: rgb(136.3333333333, 140.2888888889, 160.0666666667);--accent: #2e7de9;--text: #3760bf;--header-text: #3760bf;--font: Metropolis, sans-serif;--blue: #2e7de9;--theme: #2e7de9;--theme-strong: #3760bf;--ease: cubic-bezier(0.39, 0.575, 0.565, 1);--easing: cubic-bezier(0.19, 1, 0.22, 1);--translucent: rgba(0, 0, 0, 0.05);--translucent-light: rgba(255, 255, 255, 0.05);--choice-bg: var(--haze);--code-bg: var(--bg);--table-bg: var(--light);--table-haze: var(--haze);--table-border: rgba(55, 96, 191, 0.18);--footer-bg: var(--haze);--post-bg: var(--light);--shadow-strong: rgba(0, 0, 0, 0.25);--notice-code-bg: var(--bg);--notice-info-border-color: #2e7de9;--notice-info-background: rgba(46, 125, 233, 0.10);--notice-note-border-color: #8c6c3e;--notice-note-background: rgba(140, 108, 62, 0.10);--notice-tip-border-color: #587539;--notice-tip-background: rgba(88, 117, 57, 0.10);--notice-warning-border-color: #f52a65;--notice-warning-background: rgba(245, 42, 101, 0.10)}html.page{--choice-bg: var(--light)}html[data-mode=dim]{--color-mode: "dim";--bg: #1a1b26;--bg-dark: #16161e;--bg-highlight: #292e42;--bg-card: #1f2335;--fg: #c0caf5;--light: #c0caf5;--dark: #1d202f;--text: #c0caf5;--header-text: #c0caf5;--blue: #7aa2f7;--theme: #7aa2f7;--theme-strong: #bb9af7;--accent: #7aa2f7;--haze: #414868;--haze-darker: rgba(255, 255, 255, 0.10);--choice-bg: #1a1b26;--translucent: rgba(0, 0, 0, 0.25);--translucent-light: rgba(255, 255, 255, 0.06);--shadow-strong: rgba(0, 0, 0, 0.45);--code-bg: #272822;--table-bg: rgba(255, 255, 255, 0.06);--table-haze: rgba(255, 255, 255, 0.08);--table-border: rgba(255, 255, 255, 0.10);--footer-bg: #1d202f;--post-bg: rgba(255, 255, 255, 0.06);--notice-code-bg: rgba(255, 255, 255, 0.06);--notice-info-border-color: #7aa2f7;--notice-info-background: rgba(122, 162, 247, 0.12);--notice-note-border-color: #e0af68;--notice-note-background: rgba(224, 175, 104, 0.12);--notice-tip-border-color: #9ece6a;--notice-tip-background: rgba(158, 206, 106, 0.12);--notice-warning-border-color: #f7768e;--notice-warning-background: rgba(247, 118, 142, 0.12)}html[data-mode=dim] *{box-shadow:none !important}html[data-mode=dim] blockquote{background:var(--translucent-light);color:var(--text)}html[data-mode=dim] svg.icon{fill:var(--light)}html[data-mode=dim] .icon img{background:none}html[data-mode=dim] .icon svg{fill:var(--light)}html[data-mode=dim] .sidebar_inner::before{display:none}html[data-mode=dim] .color_choice::after{background-image:url("../images/night-moon.jpg");transform:translateX(1.4rem)}@media(prefers-color-scheme: dark){html:not([data-mode=lit]){--color-mode: "dim";--bg: #1a1b26;--bg-dark: #16161e;--bg-highlight: #292e42;--bg-card: #1f2335;--fg: #c0caf5;--light: #c0caf5;--dark: #1d202f;--text: #c0caf5;--header-text: #c0caf5;--blue: #7aa2f7;--theme: #7aa2f7;--theme-strong: #bb9af7;--accent: #7aa2f7;--haze: #414868;--haze-darker: rgba(255, 255, 255, 0.10);--choice-bg: #1a1b26;--translucent: rgba(0, 0, 0, 0.25);--translucent-light: rgba(255, 255, 255, 0.06);--shadow-strong: rgba(0, 0, 0, 0.45);--code-bg: #272822;--table-bg: rgba(255, 255, 255, 0.06);--table-haze: rgba(255, 255, 255, 0.08);--table-border: rgba(255, 255, 255, 0.10);--footer-bg: #1d202f;--post-bg: rgba(255, 255, 255, 0.06);--notice-code-bg: rgba(255, 255, 255, 0.06);--notice-info-border-color: #7aa2f7;--notice-info-background: rgba(122, 162, 247, 0.12);--notice-note-border-color: #e0af68;--notice-note-background: rgba(224, 175, 104, 0.12);--notice-tip-border-color: #9ece6a;--notice-tip-background: rgba(158, 206, 106, 0.12);--notice-warning-border-color: #f7768e;--notice-warning-background: rgba(247, 118, 142, 0.12)}html:not([data-mode=lit]) *{box-shadow:none !important}html:not([data-mode=lit]) blockquote{background:var(--translucent-light);color:var(--text)}html:not([data-mode=lit]) svg.icon{fill:var(--light)}html:not([data-mode=lit]) .icon img{background:none}html:not([data-mode=lit]) .icon svg{fill:var(--light)}html:not([data-mode=lit]) .sidebar_inner::before{display:none}html:not([data-mode=lit]) .color_choice::after{background-image:url("../images/night-moon.jpg");transform:translateX(1.4rem)}}*{box-sizing:border-box;-webkit-appearance:none;margin:0;padding:0}body,html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-kerning:normal;-webkit-font-feature-settings:"kern" 1;text-rendering:optimizeLegibility;text-rendering:geometricPrecision;-webkit-text-size-adjust:100%;font-size:100%}body::-webkit-scrollbar-corner,html::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:1.1rem;line-height:1.5;max-width:1920px;margin:0 auto;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}a:focus,a:focus-within{outline:none !important}h1,h2,h3,h4,h5{font-family:inherit;font-weight:300;padding:5px 0;margin:15px 0;color:var(--header-text);line-height:1.35}h1:hover .link,h2:hover .link,h3:hover .link,h4:hover .link,h5:hover .link{opacity:1}h1{font-size:200%;font-weight:400}h2{font-size:175%}h3{font-size:150%}h4{font-size:125%}h5{font-size:120%}h6{font-size:100%}img,svg{max-width:100%;vertical-align:middle}img{height:auto;margin:1rem auto;padding:0}img:focus,img:focus-within{outline:none !important;border:none !important}main{flex:1}ul{list-style:none;-webkit-padding-start:0;-moz-padding-start:0}em{font-weight:500}b,strong{font-weight:700}hr{border:none;padding:1px;background:rgb(207.665,209.2428333333,217.132);opacity:.5;margin:1rem 0}@media(prefers-color-scheme: dark){hr{background:var(--theme)}}aside h3{position:relative;margin:0 !important}aside ul{list-style:initial;padding-left:1rem}aside li{padding:.25rem 0}table{width:100%;border-collapse:collapse;background:var(--table-haze);margin-bottom:1.5rem}table:not(.ln-table) t{background:var(--table-bg)}td,th{padding:.5rem 1rem;border:1px solid var(--table-border)}td,th{padding:.5rem 1rem;font-weight:400}td:not(:first-child),th:not(:first-child){padding-left:1.5rem}th{font-weight:700}tbody{padding:0}tbody tr:nth-child(even){background-color:var(--table-haze)}tbody tr:nth-child(odd){background-color:var(--table-bg)}blockquote{margin:25px auto;quotes:"“" "”" "‘" "’";padding:1.5rem;color:#555;padding:1rem 1.5rem;border-left:.2rem solid #2e7de9;position:relative;background:var(--haze)}blockquote+.highlight_wrap{margin-top:2.25rem}p{padding:.8rem 0}dl dt{font-weight:bold}dl dd{margin-inline-start:40px;margin-bottom:1em}.nav_open+.nav_sub::before,.nav_open+.nav_sub .nav_child:first-child::before{width:0;height:0;border-left:.33rem solid rgba(0,0,0,0);border-right:.33rem solid rgba(0,0,0,0);top:-0.5rem;left:1rem}.nav{color:var(--fg);display:flex;justify-content:space-between;--maxWidth: 1440px;max-width:var(--maxWidth);margin-left:auto;margin-right:auto}.nav_active{background-color:var(--blue);color:var(--bg);border-radius:.25rem}.nav_icon{width:.7rem;margin-left:.33rem;transition:transform .3s var(--ease);transform-origin:50% 50%}.nav_body{display:flex;flex:1}.nav_list{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}.nav_header{background-color:var(--bg-dark);padding:0 1.5rem;position:fixed;width:100%;z-index:99;left:0}.nav_item{padding:.5rem 1rem;display:inline-flex;align-items:center}.nav_sub{width:100%;left:0;position:absolute;z-index:20;border-radius:0 0 .5rem .5rem;top:3rem;transition:height .3s ease-in-out;height:0;overflow:hidden;padding:.96rem 0 0;background:rgba(0,0,0,0);list-style:none;margin:0;padding-left:0}.nav_parent{position:relative;display:flex;align-items:center;margin:.25rem 0;border-radius:.5rem}.nav_parent:hover{background-color:var(--bg-highlight);color:var(--text)}.nav_open+.nav_sub .nav_child{padding-top:.5rem;padding-bottom:.5rem;z-index:3}@media screen and (min-width: 769px){.nav_open+.nav_sub .nav_child+a{padding-top:0}}.nav_open+.nav_sub .nav_child:not(:first-child){position:relative}.nav_open+.nav_sub .nav_child:first-child::before{position:absolute;content:"";border-bottom:.5rem solid var(--translucent-light);z-index:2}.nav_open+.nav_sub{height:initial;z-index:999;overflow:initial;border-radius:.5rem;padding-bottom:.5rem}@media screen and (min-width: 769px){.nav_open+.nav_sub{color:var(--text)}}.nav_open+.nav_sub::before,.nav_open+.nav_sub::after{content:"";position:absolute}.nav_open+.nav_sub::before{z-index:1}@media screen and (min-width: 769px){.nav_open+.nav_sub::before{border-bottom:.5rem solid var(--choice-bg)}}.nav_open+.nav_sub::after{top:0;left:0;right:0;bottom:0;background:var(--translucent-light);border-radius:.5rem;box-shadow:0 1rem 3rem var(--shadow-strong)}@media screen and (min-width: 769px){.nav_open+.nav_sub{background:var(--choice-bg);width:auto;white-space:nowrap}}.nav_open .nav_icon{transform:rotate(180deg)}.nav_sub .nav_item:not(.nav_child){position:relative}.nav_sub .nav_item{z-index:5;display:block;padding-top:.75rem;padding-bottom:.75rem;transition:background .3s ease-out;margin:0}.nav_brand img{max-width:15rem;margin:0}@media screen and (min-width: 769px){.nav_brand{padding-left:0}.nav_brand img{background:rgba(0,0,0,0) !important}}.nav_center{display:none}@media screen and (min-width: 769px){.nav_center{display:flex;flex:1;align-items:center;justify-content:center}.nav_center+.follow{flex:initial}}@media screen and (min-width: 769px){.nav_hide{display:none}}.nav_close{display:none}.content,.footer{padding:1.5rem}@media screen and (min-width: 1441px){.content,.footer{padding:1.5rem 0}}.content{padding-top:5rem;--maxWidth: 1440px;max-width:var(--maxWidth);margin-left:auto;margin-right:auto}.footer{background:var(--footer-bg);margin-top:2rem;font-size:.9rem}.footer_inner{--maxWidth: 1440px;max-width:var(--maxWidth);margin-left:auto;margin-right:auto;display:grid;grid-template-columns:4rem 1fr;align-items:center;position:relative}.footer_head{--maxWidth: 1440px;max-width:var(--maxWidth);margin-left:auto;margin-right:auto}.footer_head a:not(.arrow){text-decoration:underline}.button{background-color:var(--theme);color:var(--bg);display:inline-flex;padding:.5rem 1.5rem;text-transform:uppercase;border:1px solid var(--theme);border-radius:1.5rem;font-size:.9rem;align-items:center;user-select:none}.button:hover,.button:focus{background-color:var(--bg-highlight);color:var(--text);border:1px solid var(--bg-highlight)}.button_translucent{background-color:rgba(46,125,233,.15);color:var(--theme);border:1px solid rgba(0,0,0,0)}.button_tally{padding:0 .75rem;border-radius:.5rem;justify-content:center;align-items:center;margin:.1rem 0 .1rem .2rem}.post_link,.post_title{margin-bottom:0}.posts{margin-top:2rem}.post_header{height:50vh;max-height:35rem;background-color:var(--bg);background-size:cover;background-position:center;margin-top:4.2rem}@media screen and (max-width: 992px){.post_header{height:40vh;margin-top:3rem}}@media screen and (max-width: 667px){.post_header{height:30vh}}.post_header+.content{padding-top:0}.post_item{margin-bottom:3rem;border-radius:.5rem;background:var(--bg-card)}.post_item .h-card a.u-url{display:inline}.post_tag{padding:.2rem .8rem;font-size:.8rem}.post_tag,.post_share{margin:.5rem}.post_share{display:inline-flex;align-items:center}.post_share>span{display:inline}.post_share ul.share-list{display:inline-flex;list-style:none;margin:0;padding:0;align-items:center}.post_share ul.share-list li{display:inline-flex;margin:0;padding:0}.post_meta{display:inline-flex;flex-flow:row wrap;align-items:center}.post_meta .button{margin-bottom:0}.post_date{margin-right:.5rem;margin-left:.25rem}.post_content a{color:var(--theme)}.post_content ul,.post_content ol{list-style:initial;padding:.5rem 1.25rem}.post_content ul li,.post_content ol li{padding-top:.25rem}.post_content ol{list-style:decimal}.post_share .share-list,.post_meta .share-list{display:inline-flex;list-style:none;margin:0;padding:0;align-items:center}.post_share .share-list li,.post_meta .share-list li{display:inline-flex;margin:0;padding:0}.post_tags .tag-list,.post_meta .tag-list{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap;gap:.5rem}.post_tags .tag-list li,.post_meta .tag-list li{margin:0;padding:0;list-style:none}.scrollable{display:grid;width:100%;max-width:100%;overflow-x:auto}.mb-0{margin-bottom:0 !important}.tags_list{cursor:initial;background:var(--choice-bg);padding:4.5rem 1.5rem 1.5rem 1.5rem;border-radius:1rem;max-width:720px;margin:0 auto;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12);position:relative;display:flex;flex-flow:row wrap}.tags_nav ul{margin:0;padding:0;list-style:none}.tags_nav .post_tag{margin-left:0}.tag-title{border-bottom:none !important;display:inline-block !important;position:relative;font-size:2rem;margin-bottom:-1rem}.tag-title::after{content:attr(data-count);margin-left:1.5rem;background-color:#eee;padding:.25rem 1rem;border-radius:15%;font-size:1.5rem}.icon{display:inline-flex;justify-content:center;align-items:center;margin:0 .5rem}.icon,.icon img,.icon svg{width:1.1rem;height:1.1rem}.icon_2{width:2.2rem;height:2.2rem}.link{opacity:0;position:relative}.link_yank{opacity:1}.link_yanked{position:absolute;right:-1rem;top:-2rem;background-color:#2e7de9;color:#fff;width:7rem;padding:.25rem .5rem;font-size:.9rem;border-radius:1rem;text-align:center}.link_yanked::after{position:absolute;top:1rem;content:"";border-color:#2e7de9 rgba(0,0,0,0);border-style:solid;border-width:1rem 1rem 0 1rem;height:0;width:0;transform-origin:50% 50%;transform:rotate(145deg);right:.45rem}.excerpt_header{padding:1rem}.excerpt_footer{padding:0 1rem 2.25rem 1rem;display:block;overflow:hidden}.excerpt_footer.partition{display:grid}@media screen and (min-width: 769px){.excerpt_footer.partition{grid-template-columns:2fr 7fr;grid-gap:1rem}}.excerpt_thumbnail{min-height:10rem;display:none}@media screen and (min-width: 769px){.excerpt_thumbnail{display:block;border-radius:.5rem}}.sidebar_inner{position:relative}.sidebar_inner::before{content:"";padding:.5px;top:0;bottom:0;background:linear-gradient(to bottom, var(--haze), var(--light), var(--haze));position:absolute;left:-2rem}.pagination{display:flex}.page-item{padding:.2rem}.page-item.disabled{opacity:.7}.page-item:first-child,.page-item:last-child{display:none}.page-item.active a{background-color:var(--haze)}.page-link{padding:.25rem .75rem;background-color:var(--theme);color:#fff;border-radius:1rem}.page-link:hover,.page-link:focus{background-color:var(--bg-highlight);color:var(--text);border-color:var(--bg-highlight)}.round{border-radius:50%;max-width:100%;height:auto;padding:0;vertical-align:middle}.float_left{float:left;margin-right:1rem}.float_left+p{padding-top:0}.float_right{float:right;margin-left:1rem}.float_left::after,.float_right::after{clear:both}.follow{display:flex;align-items:center;flex:1;justify-content:flex-end}.follow ul{display:flex;list-style:none;margin:0;padding:0;align-items:center;gap:.5rem}.follow li{margin:0;padding:0}.follow svg{fill:var(--text);margin-left:.75rem}.img_alt{font-style:italic;padding-top:0rem;opacity:.67;font-size:.9rem}.to_top{background-color:var(--theme);color:var(--bg);width:2.75rem;height:2.75rem;display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:50%;position:fixed;bottom:1.5rem;right:1.5rem;z-index:99}.to_top.ios{position:absolute;bottom:.75rem;right:0}.to_top:hover{background-color:var(--bg-highlight);color:var(--text);border:1px solid var(--bg-highlight)}.to_top svg{opacity:.5;transition:.3s opacity var(--ease)}.to_top:hover svg{opacity:1}.color_mode{height:1.5rem;display:grid;align-items:center;margin:0 .5rem}@media screen and (min-width: 769px){.color_mode{margin:0 1.5rem;grid-template-columns:1fr}}.color_choice{width:3rem;background-color:var(--translucent-light);border-radius:1rem;height:1.5rem;outline:none;border:none;-webkit-appearance:none;appearance:none;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 .25rem 1rem rgba(0,0,0,.15)}.color_choice::after{content:"";position:absolute;top:.1rem;left:.1rem;width:1.3rem;height:1.3rem;background-image:url("../images/sun.svg");background-position:center;background-size:cover;border-radius:50%;z-index:2}.color_animate{transition:transform .5s cubic-bezier(0.075, 0.82, 0.165, 1)}.color_animate::after{transition:transform .5s cubic-bezier(0.19, 1, 0.22, 1);will-change:transform}.taxonomy{text-transform:capitalize}.image-scale{position:fixed;z-index:999999;left:0;right:0;height:100vh;top:0;padding:1.5rem;background-color:var(--bg);display:grid;align-items:center;overflow:auto}.image-scale .image-scalable{background-color:var(--text)}.image-scalable{cursor:pointer;transition:transform .3s var(--ease)}.image_featured{display:block;margin-left:auto !important;margin-right:auto !important}.cheatsheets{display:flex;flex-direction:row;flex-wrap:wrap}.cheatsheets__post{flex-grow:1;flex-shrink:0;flex-basis:32%;padding:1rem}@media screen and (max-width: 769px){.cheatsheets__post{flex-basis:100%}}.projects{display:flex;flex-direction:row;flex-wrap:wrap}.projects__post{flex-grow:1;flex-shrink:0;flex-basis:32%;padding:0 .75rem;display:flex}@media screen and (max-width: 769px){.projects__post{flex-basis:100%}}.project-icon{width:32px;height:32px;border-radius:0;object-fit:scale-down;margin-right:10px;margin-left:0}.card{margin-bottom:2rem;border-radius:.5rem;background:var(--bg-card);flex:1 1 200px}.card__content{padding:1rem}.card__content__top{display:flex;justify-content:flex-start;align-items:center;width:100%}.card__content__desciption{display:flex}.card__content__metadata{display:block}.card__content__metadata a{text-decoration:underline}.three-column{display:flex;flex-direction:row;flex-wrap:wrap}.three-column>.column__section{flex-grow:1;flex-shrink:1;flex-basis:32%;box-sizing:border-box;padding:1rem;min-width:250px}@media screen and (max-width: 769px){.three-column>.column__section{flex-basis:100%}}.two-column{display:flex;flex-direction:row;flex-wrap:wrap}.two-column>.column__section{flex-grow:1;flex-shrink:0;flex-basis:45%;padding:1rem}@media screen and (max-width: 769px){.two-column>.column__section{flex-basis:100%}}.column__section h3{display:flex}.column__section>::after{margin-left:24px;content:"";align-self:center;flex-grow:1;width:1px;height:1px;background:linear-gradient(to right, rgba(255, 255, 255, 0.5), transparent 80%)}.h-feed .h-feed-description{display:none}.h-card img.u-photo{display:none}.h-card a.u-url{display:none;text-decoration:underline}.h-card p.img_alt{display:none}.h-card p.p-note{display:none}.library{display:flex;flex-direction:row;flex-wrap:wrap}.library__post{flex-grow:1;flex-shrink:0;flex-basis:24%;padding:0 .75rem;display:flex}@media screen and (max-width: 769px){.library__post{flex-basis:100%}}.responsive-grid .book{display:flex;flex-grow:1;flex-shrink:1;flex-basis:25%;padding:0;flex-direction:row}@media screen and (max-width: 769px){.responsive-grid .book{flex-basis:100%}}.book__cover{background-size:cover;background-position:center;border-radius:12px;overflow:hidden;position:relative;text-align:center;height:220px;min-width:130px}.book__cover__img{background-size:cover;background-position:center;border-radius:12px;overflow:hidden;position:relative;text-align:center;height:220px;min-width:130px;margin:0}.book__content{display:flex;flex-grow:1;padding:0 .8rem;align-items:center;text-align:center;justify-content:center}@media screen and (max-width: 769px){.nav,.nav_body{flex-direction:column}.nav_list,.nav_body_list{flex-direction:column;align-items:normal}.nav_body{position:fixed;width:90%;max-width:16.5rem;top:0;bottom:0;background-color:var(--bg);transition:transform .3s var(--easing)}.nav_body_right{transform:translateX(100vw);right:0}.nav_body_left{transform:translateX(-100vw);left:0}.nav_close{width:3rem;position:absolute;right:0;top:0;bottom:0;height:100%;cursor:pointer;z-index:1000;display:flex;justify-content:center;align-items:center;border:none;background-color:var(--bg)}.nav_close svg{width:1.25rem;fill:var(--light);height:1.25rem;display:none}.nav_close svg:first-child{display:initial}.nav_close svg.isopen{display:none}.nav_close svg.isopen+svg{display:initial}.nav_brand{position:relative;z-index:999;width:calc(100% - 3rem);padding-left:0}.nav_parent{display:grid}.nav_sub{position:relative;top:initial;padding-top:0}body.jsopen{overflow:hidden}.jsopen::after{content:"";position:fixed;z-index:2;background-color:rgba(0,0,0,.3);top:0;left:0;right:0;bottom:0}.jsopen .nav_body{transform:translateX(0);padding-left:1.5rem;padding-right:1.5rem}.jsopen .nav_parent:first-child{margin-top:4.4rem}.jsopen .nav .follow{justify-content:flex-start;flex:initial;margin-top:.75rem}}.pt-1{padding-top:1.5rem}.pb-1{padding-bottom:1.5rem}.mt-1{margin-top:1.5rem}.mb-1{margin-bottom:1.5rem}.pt-2{padding-top:3rem}.pb-2{padding-bottom:3rem}.mt-2{margin-top:3rem}.mb-2{margin-bottom:3rem}.pt-3{padding-top:4.5rem}.pb-3{padding-bottom:4.5rem}.mt-3{margin-top:4.5rem}.mb-3{margin-bottom:4.5rem}.pt-4{padding-top:6rem}.pb-4{padding-bottom:6rem}.mt-4{margin-top:6rem}.mb-4{margin-bottom:6rem}.flex{display:flex;flex-direction:column;align-items:center}.flex-column{display:flex;flex-direction:column}.shadow{box-shadow:0 0 60px rgba(0,0,0,.17)}@media screen and (min-width: 42rem){.grid-2,.grid-3,.grid-4,.grid-auto,.grid-inverse{display:grid;grid-template-columns:1fr}[class*=grid-]{grid-gap:2rem}.grid-inverse{grid-template-columns:70% 1fr;grid-column-gap:4rem}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(auto-fit, minmax(19rem, 1fr))}.grid-4{grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr))}}.facebook svg{fill:#325c94}.twitter svg{fill:#00abdc}.linkedin svg{fill:#007bb6}.never{height:75vh;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:1.5rem;text-align:center}.inline{display:inline;margin:0}.hidden{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.responsive-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem}code{font-size:15px;font-weight:400;overflow-y:hidden;font-family:"Monaco",monospace;--inlineColor: rgb(194, 29, 0);color:var(--inlineColor);display:inline;line-break:anywhere}.pre>code{display:block;word-break:break-all;line-break:auto}.windows .highlight{overflow-x:hidden}.windows .highlight:hover{overflow-x:auto}.highlight{display:grid;width:100%;border-radius:0 .2rem .2rem 0;overflow-x:auto;position:relative}.highlight_wrap{background:var(--code-bg) !important;border-radius:.5rem;position:relative;padding:0 1rem;margin:1.5rem auto 1rem auto}.highlight_wrap+.highlight_wrap{margin-top:2.25rem}.highlight_wrap:hover>div{opacity:1}.highlight_wrap .lang{position:absolute;top:0;right:0;text-align:right;width:7.5rem;padding:.5rem 1rem;font-style:italic;text-transform:uppercase;font-size:67%;opacity:.5;color:var(--light)}.highlight_wrap:hover .lang{opacity:.1}.highlight .highlight{margin:0}.highlight pre{color:var(--light) !important;border-radius:4px;font-family:"Monaco",monospace;padding-top:1.5rem;padding-bottom:2rem}.highlight table{display:grid;max-width:100%;margin-bottom:0;background:rgba(0,0,0,0)}.highlight td,.highlight th{padding:0}.highlight .lntd{width:100%;border:none}.highlight .lntd:first-child,.highlight .lntd:first-child pre{width:2.5rem !important;padding-left:0;padding-right:0;color:hsla(0,0%,100%,.5);user-select:none}.highlight .lntd:first-child pre{width:100%;display:flex;align-items:center;flex-direction:column}.highlight_meta{display:flex;align-items:center;padding:.5rem 0;gap:.75rem}.highlight_meta .highlight_title{opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.highlight_meta .highlight_copy{margin-left:auto;display:flex;align-items:center;cursor:pointer;position:relative}.highlight_meta .highlight_copy::after{content:"Copied";position:absolute;right:100%;margin-right:.5rem;font-size:.7rem;opacity:0;transition:opacity .15s ease;pointer-events:none}.highlight_meta .highlight_copy.copied::after{opacity:1}.gallery{display:flex;flex-wrap:wrap}.gallery-item{flex:1 1 auto;flex-basis:175px;margin:.5em;max-width:530px;max-height:300px;position:relative;cursor:pointer;overflow:hidden}.gallery-item.item-2x3{flex-basis:116.55px}.gallery-item.item-3x4{flex-basis:131.25px}.gallery-item.item-1x1{flex-basis:175px}.gallery-item.item-4x3{flex-basis:233.275px}.gallery-item.item-3x2{flex-basis:262.5px}.gallery-item.item-8x5{flex-basis:280px}.gallery-item.item-2x1{flex-basis:350px}.gallery-item::after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;opacity:0;background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.5 13.75C4.5 8.64137 8.64137 4.5 13.75 4.5C18.8586 4.5 23 8.64137 23 13.75C23 18.8586 18.8586 23 13.75 23C8.64137 23 4.5 18.8586 4.5 13.75ZM13.75 0C6.15609 0 0 6.15609 0 13.75C0 21.3439 6.15609 27.5 13.75 27.5C16.3774 27.5 18.8327 26.7631 20.9205 25.4846L30.4906 35.0547C31.7509 36.3151 33.7944 36.3151 35.0547 35.0547C36.3151 33.7944 36.3151 31.7509 35.0547 30.4906L25.4846 20.9205C26.7631 18.8327 27.5 16.3774 27.5 13.75C27.5 6.15609 21.3439 0 13.75 0Z' fill='white'/%3E%3C/svg%3E");background-position:center;background-size:1.85rem;background-repeat:no-repeat;transition:opacity 250ms;z-index:10}.gallery-item .caption{position:absolute;text-align:center;left:0;right:0;bottom:0;padding:1em 0;line-height:1em;color:#fff;background-color:rgba(0,0,0,.6);transform:translateY(4em);transition:transform 250ms;z-index:20}.gallery-item .caption span{display:inline-block;max-width:calc(100% - 2em);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.gallery-item:hover .thumb{transform:scale(1.05)}.gallery-item .thumb{display:inline-block;width:100%;height:100%;object-fit:cover;min-height:unset;text-align:center;background-color:#333;transition:filter 500ms,transform 500ms}.gallery-item .placeholder{filter:blur(20px)}@media(hover: hover){.gallery-item:hover::after{opacity:1}.gallery-item:hover .caption{transform:translateY(0)}}.ie-fix .gallery-item .thumb{width:auto}.lightbox-wrapper{display:none;background-color:#2e2e35;position:fixed;top:0;bottom:0;left:0;right:0;z-index:9999}.lightbox{display:flex;flex-direction:column;height:100%;color:#fff}.lightbox .lightbox-slides-wrapper{flex-grow:1;display:flex;overflow:hidden;position:relative}.lightbox .lightbox-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;background-color:rgba(0,0,0,.3);padding:1em;font-weight:600;text-align:center}.lightbox .lightbox-header>*{opacity:.75}.lightbox .lightbox-close{position:relative;height:1.85rem;width:1.85rem;display:flex;align-items:center;justify-content:center;background:none;padding:0;border:none}.lightbox .lightbox-close::before,.lightbox .lightbox-close::after{position:absolute;content:"";height:4px;width:80%;background-color:#fff}.lightbox .lightbox-close::before{transform:rotate(-45deg)}.lightbox .lightbox-close::after{transform:rotate(45deg)}.lightbox .lightbox-close:hover{opacity:1}.lightbox .lightbox-arrow{position:absolute;top:50%;width:4rem;height:4rem;padding:.5rem;background-repeat:no-repeat;background-position:center;background-size:1.5em;opacity:.75;cursor:pointer;filter:drop-shadow(0 0 7px #000)}.lightbox .lightbox-arrow:hover{opacity:1}.lightbox .lightbox-arrow.arrow-left{left:0;background-image:url("data:image/svg+xml,%3Csvg width='32' height='53' viewBox='0 0 32 53' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 26.5L27.3171 0L32 4.54286L9.36585 26.5L32 48.4571L27.3171 53L0 26.5Z' fill='white'/%3E%3C/svg%3E")}.lightbox .lightbox-arrow.arrow-right{right:0;background-image:url("data:image/svg+xml,%3Csvg width='32' height='53' viewBox='0 0 32 53' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M32 26.5L4.68293 53L0 48.4571L22.6341 26.5L3.83911e-06 4.54286L4.68293 0L32 26.5Z' fill='white'/%3E%3C/svg%3E")}.lightbox .lightbox-slide{display:flex;align-items:center;justify-content:center;flex-grow:1;transition:all 0ms ease;position:absolute;top:0;bottom:0;left:0;right:0}.lightbox .lightbox-slide[data-state=prev]{transform:translateX(-100%);opacity:0}.lightbox .lightbox-slide[data-state=next]{transform:translateX(100%);opacity:0}.lightbox .lightbox-image{display:none;max-width:100%;max-height:100%}.lightbox .spinner{display:none}