*:not(.fa):not(.fas):not(.fab):not(.far):not(.fal):not(.fad):not([class^=fa-]){font-family:SFMono-Regular,Consolas,liberation mono,Menlo,monospace!important}.navigation-title{text-transform:none!important}.navigation{position:relative;z-index:100;border-bottom:1px solid #e0e0e0}.navigation .container{position:relative}.nav-social #dark-mode-toggle{position:static;margin:0;font-size:inherit;cursor:pointer}.nav-social{margin-left:.5rem}.nav-social a{margin-left:.75rem;opacity:.7}.nav-social a:hover{opacity:1}@media only screen and (max-width:768px){.navigation{height:auto;padding-top:2rem;padding-bottom:.75rem;border-bottom:none}.navigation .container{margin-top:0}.navigation .navigation-title{display:block;padding-bottom:1rem}.navigation .menu-button{display:none!important}.navigation #menu-toggle{display:none!important}.navigation .navigation-list{float:none;visibility:visible!important;opacity:1!important;max-height:none!important;top:0;width:calc(100% + 40px);margin-left:-20px;padding-left:20px;padding-right:20px;box-sizing:border-box}.navigation .navigation-list .navigation-item.nav-social{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1.25rem 1rem;line-height:normal}.navigation .navigation-list .navigation-item.nav-social a{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:0;border-radius:50%;background:rgba(0,0,0,6%);opacity:.85;transition:opacity .15s,background .15s}.navigation .navigation-list .navigation-item.nav-social a:hover{opacity:1;background:rgba(0,0,0,.1)}.navigation .navigation-list .navigation-item.nav-social a i{font-size:1.2rem}}.tags .tag,.tags .tag a{text-transform:none!important}.content .post .post-meta .tags .tag,.tags .tag{display:inline-block;margin:.15rem .2rem;padding:0;background-color:transparent}.content .post .post-meta .tags .tag a,.content .post .post-meta .tags .tag a:active,.tags .tag a,.tags .tag a:active{display:inline-block;padding:.15rem .6rem;background:#e8f4fd;color:#06c;border-radius:2rem;font-size:.85em;transition:background .15s}.content .post .post-meta .tags .tag a:hover,.content .post .post-meta .tags .tag a:active:hover,.tags .tag a:hover,.tags .tag a:active:hover{background:#d0e8f7}section.container.list{margin:0 auto;padding-top:0}.highlight pre,.highlight{background:#f6f8fa}.highlight pre{border-left:3px solid #06c;border-radius:6px}:not(pre)>code{background:#eff1f3;padding:.15rem .4rem;border-radius:4px;font-size:.9em}.post-navigation{display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:2px solid #e0e0e0}.post-nav-link{display:block;max-width:48%;text-decoration:none;padding:1.5rem;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s}.post-nav-link:hover{background-color:rgba(0,0,0,3%);border-color:#06c}.post-nav-prev{text-align:left}.post-nav-next{text-align:right;margin-left:auto}.post-nav-label{display:block;font-size:1rem;color:#666;margin-bottom:.75rem}.post-nav-title{display:block;font-size:1.25rem;font-weight:600;color:#06c;line-height:1.4}.post-nav-link:hover .post-nav-title{text-decoration:underline}.activity-timeline{margin:2rem 0 3rem;padding:1.5rem;background:#f8f9fa;border-radius:8px}.timeline-track{position:relative;height:24px;background:#e0e0e0;border-radius:12px;margin-bottom:.75rem}.timeline-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#06c;border-radius:50%;border:2px solid #fff;transition:all .2s;z-index:1}.timeline-dot:hover{width:18px;height:18px;background:#049;z-index:2}.timeline-dot::after{content:attr(data-title);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:.5rem .75rem;background:#333;color:#fff;font-size:.85rem;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s;margin-bottom:8px}.timeline-dot:hover::after{opacity:1}.timeline-dot-current{width:20px;height:20px;background:#e63946;border-width:3px;z-index:10}.timeline-dot-current:hover{width:24px;height:24px;background:#c5303d}.timeline-dot-outside{width:12px;height:12px;background:#888}.timeline-dot-outside:hover{width:18px;height:18px;background:#555}.timeline-labels{display:flex;justify-content:space-between;position:relative;font-size:.85rem;color:#666}.timeline-label-center{position:absolute;left:50%;transform:translateX(-50%)}.vertical-timeline{position:relative;margin:1rem 0 2rem}.vertical-timeline::before{content:'';position:absolute;right:2rem;top:0;bottom:0;width:2px;background:#e0e0e0}.timeline-month{position:relative;font-size:1rem;font-weight:600;color:#999;text-align:left;padding-right:0;padding-top:2rem;padding-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}.timeline-month:first-child{padding-top:.5rem}.timeline-item{position:relative;padding:.5rem;margin:0 -.5rem;display:flex;align-items:center;cursor:pointer;transition:background .15s;text-decoration:none;border-radius:4px}.timeline-item:hover{background:rgba(0,102,204,5%)}.timeline-item::after{display:none}.timeline-item:hover .timeline-post-title{color:#06c}.timeline-post-title{color:#333;text-decoration:none;flex:1;transition:color .15s,transform .15s;display:inline-block}.timeline-item:hover .timeline-post-title{transform:translateX(4px)}.timeline-post-title:hover{color:#06c}.timeline-post-date{font-size:1rem;color:#999;width:2rem;text-align:right;margin-right:4rem}.post-content-wrapper{position:relative}.post-vertical-timeline{position:absolute;left:100%;top:0;margin-left:2rem;display:flex;flex-direction:column;align-items:flex-start;padding-left:1rem}.post-vertical-timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:#e0e0e0}@media(max-width:1200px){.post-vertical-timeline{display:none}}.post-vertical-timeline .timeline-header{font-size:.75rem;font-weight:600;color:#999;padding:.25rem 0;margin-left:1rem}.post-vertical-timeline .timeline-item{position:relative;padding:.3rem 0;margin:0;display:flex;align-items:center;text-decoration:none;border-radius:0}.post-vertical-timeline .timeline-item:hover{background:0 0}.post-vertical-timeline .timeline-item::before{content:'';width:10px;height:10px;background:#06c;border-radius:50%;flex-shrink:0;transition:all .15s;transform:translateX(-4px)}.post-vertical-timeline .timeline-item .timeline-post-title,.post-vertical-timeline .timeline-item .timeline-post-date{display:none;margin-left:.75rem;font-size:.85rem;color:#333;white-space:nowrap}.post-vertical-timeline .timeline-item:hover .timeline-post-title{display:block}.post-vertical-timeline .timeline-item:hover::before{width:14px;height:14px;transform:translateX(-6px)}.post-vertical-timeline .timeline-item-current::before{background:#e63946;width:14px;height:14px;transform:translateX(-6px)}.post-vertical-timeline .timeline-item-current .timeline-post-title{font-weight:600}.post-vertical-timeline .timeline-item-outside::before{background:#888}.search-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);justify-content:center;align-items:flex-start;padding-top:15vh;z-index:1000}.search-overlay.visible{display:flex}.nav-search-container{position:relative;width:600px;max-width:90vw;background:#fff;border-radius:12px;padding:.75rem;box-shadow:0 8px 32px rgba(0,0,0,.3)}@media(max-width:640px){.search-overlay{padding-top:10vh}.nav-search-container{width:95vw;padding:.5rem}.nav-search-container #search-input{font-size:1rem;padding:.75rem 3.5rem .75rem .75rem}.search-results .search-result-title{font-size:1rem!important}.search-results .search-result-item{padding:.75rem}}.search-input-wrapper{display:grid}.search-input-wrapper>*{grid-area:1/1}.nav-search-container .ais-SearchBox{width:100%}.nav-search-container .ais-SearchBox-input{width:100%;padding:1rem 4.5rem 1rem 1rem;font-size:1.25rem;border:1px solid #ccc;border-radius:4px;background:#fafafa;color:#333;outline:none;transition:border-color .2s,background .2s}.nav-search-container .ais-SearchBox-input:focus{border-color:#999;background:#fff}.nav-search-container .ais-SearchBox-input::placeholder{color:#999}.ais-Hits-list{list-style:none;margin:0;padding:0}.ais-Highlight mark{background:#fff3cd;color:inherit;font-weight:600}.search-input-wrapper .search-shortcut{justify-self:end;align-self:center;margin-right:.5rem;padding:.3rem .45rem;line-height:1;font-size:.8rem;font-family:inherit;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#888;pointer-events:none;z-index:1}.search-results{display:none;position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:400px;overflow-y:auto;z-index:1000}.search-results .search-result-item{display:block;padding:1rem 1.25rem;text-decoration:none;border-bottom:1px solid #f0f0f0;transition:background .15s}.search-results .search-result-item:last-child{border-bottom:none}.search-results .search-result-item:hover,.search-results .search-result-item.selected{background:#f0f0f0}.search-results .search-result-item.selected{border-left:3px solid #06c;padding-left:calc(.75rem - 3px)}.search-results .search-result-title{font-size:1.25rem!important;font-weight:500!important;color:#333;margin:0 0 .3rem!important;line-height:1.3}.search-results .search-result-description{font-size:.9rem;color:#666;line-height:1.4;margin:0}.search-results .search-result-meta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:0}.search-results .search-result-date{font-size:.8rem!important;color:#888}.search-results .search-tag{font-size:.75rem!important;padding:0 .35rem!important;line-height:1.4!important;background:#e8f4fd;color:#06c;border-radius:3px;display:inline-block;text-transform:none!important}.search-results .search-no-results{padding:.75rem;text-align:center;font-size:.85rem;color:#888}.footer{border-top:1px solid #e0e0e0;margin-top:3rem}body.colorscheme-dark .navigation{border-bottom-color:#424242}@media only screen and (max-width:768px){body.colorscheme-dark .navigation .navigation-list{float:none;width:calc(100% + 40px);margin-left:-20px;padding-left:20px;padding-right:20px;box-sizing:border-box;border-top:solid 2px #424242;border-bottom:solid 2px #424242}body.colorscheme-dark .navigation .navigation-list .navigation-item.nav-social a{background:rgba(255,255,255,8%)}body.colorscheme-dark .navigation .navigation-list .navigation-item.nav-social a:hover{background:rgba(255,255,255,.15)}}body.colorscheme-dark .nav-search-container{background:#212121}body.colorscheme-dark .ais-SearchBox-input{background:#212121;border-color:#424242;color:#dadada}body.colorscheme-dark .ais-SearchBox-input:focus{border-color:#42a5f5;background:#212121}body.colorscheme-dark .ais-SearchBox-input::placeholder{color:#888}body.colorscheme-dark .ais-Highlight mark{background:#5c4a00;color:#dadada}body.colorscheme-dark .search-shortcut{background:0 0;border-color:#424242;color:#888}body.colorscheme-dark .search-results{background:#212121;border-color:#424242}body.colorscheme-dark .search-results .search-result-item{border-bottom-color:#424242}body.colorscheme-dark .search-results .search-result-item:hover,body.colorscheme-dark .search-results .search-result-item.selected{background:#424242}body.colorscheme-dark .search-results .search-result-item.selected{border-left-color:#42a5f5}body.colorscheme-dark .search-results .search-result-title{color:#dadada}body.colorscheme-dark .search-results .search-result-description{color:#aaa}body.colorscheme-dark .search-results .search-result-date{color:#888}body.colorscheme-dark .search-results .search-tag{background:#424242;color:#42a5f5}body.colorscheme-dark .search-results .search-no-results{color:#888}body.colorscheme-dark .highlight pre,body.colorscheme-dark .highlight{background:#0d1117}body.colorscheme-dark .highlight pre{border-left-color:#42a5f5}body.colorscheme-dark :not(pre)>code{background:#3a3a3a;color:#dadada}body.colorscheme-dark .content .post .post-meta .tags .tag,body.colorscheme-dark .tags .tag{background:0 0}body.colorscheme-dark .content .post .post-meta .tags .tag a,body.colorscheme-dark .content .post .post-meta .tags .tag a:active,body.colorscheme-dark .tags .tag a{background:#424242;color:#42a5f5}body.colorscheme-dark .content .post .post-meta .tags .tag a:hover,body.colorscheme-dark .content .post .post-meta .tags .tag a:active:hover,body.colorscheme-dark .tags .tag a:hover{background:#565656}body.colorscheme-dark .timeline-item:hover{background:rgba(66,165,245,8%)}body.colorscheme-dark .vertical-timeline::before{background:#424242}body.colorscheme-dark .vertical-timeline .timeline-month{color:#888}body.colorscheme-dark .vertical-timeline .timeline-month::after{background:#888}body.colorscheme-dark .vertical-timeline .timeline-post-title{color:#dadada}body.colorscheme-dark .vertical-timeline .timeline-post-title:hover{color:#42a5f5}body.colorscheme-dark .vertical-timeline .timeline-post-date{color:#888}body.colorscheme-dark .post-navigation{border-top-color:#424242}body.colorscheme-dark .post-nav-link{border-color:#424242}body.colorscheme-dark .post-nav-link:hover{background-color:#424242;border-color:#42a5f5}body.colorscheme-dark .post-nav-label{color:#888}body.colorscheme-dark .post-nav-title{color:#42a5f5}body.colorscheme-dark .activity-timeline{background:#424242}body.colorscheme-dark .timeline-track{background:#555}body.colorscheme-dark .timeline-dot{background:#42a5f5;border-color:#424242}body.colorscheme-dark .timeline-dot:hover{background:#72bcf8}body.colorscheme-dark .timeline-labels{color:#888}body.colorscheme-dark .timeline-dot-current{background:#ef5350}body.colorscheme-dark .timeline-dot-current:hover{background:#e57373}body.colorscheme-dark .post-vertical-timeline::before{background:#424242}body.colorscheme-dark .post-vertical-timeline .timeline-header{color:#888}body.colorscheme-dark .post-vertical-timeline .timeline-item::before{background:#42a5f5}body.colorscheme-dark .post-vertical-timeline .timeline-item .timeline-post-title{color:#dadada}body.colorscheme-dark .post-vertical-timeline .timeline-item-current::before{background:#ef5350}body.colorscheme-dark .footer{border-top-color:#424242}@media(prefers-color-scheme:dark){body.colorscheme-auto .navigation{border-bottom-color:#424242}}@media only screen and (prefers-color-scheme:dark) and (max-width:768px){body.colorscheme-auto .navigation .navigation-list{float:none;width:calc(100% + 40px);margin-left:-20px;padding-left:20px;padding-right:20px;box-sizing:border-box;border-top:solid 2px #424242;border-bottom:solid 2px #424242}body.colorscheme-auto .navigation .navigation-list .navigation-item.nav-social a{background:rgba(255,255,255,8%)}body.colorscheme-auto .navigation .navigation-list .navigation-item.nav-social a:hover{background:rgba(255,255,255,.15)}}@media(prefers-color-scheme:dark){body.colorscheme-auto .nav-search-container{background:#212121}body.colorscheme-auto .ais-SearchBox-input{background:#212121;border-color:#424242;color:#dadada}body.colorscheme-auto .ais-SearchBox-input:focus{border-color:#42a5f5;background:#212121}body.colorscheme-auto .ais-SearchBox-input::placeholder{color:#888}body.colorscheme-auto .ais-Highlight mark{background:#5c4a00;color:#dadada}body.colorscheme-auto .search-shortcut{background:0 0;border-color:#424242;color:#888}body.colorscheme-auto .search-results{background:#212121;border-color:#424242}body.colorscheme-auto .search-results .search-result-item{border-bottom-color:#424242}body.colorscheme-auto .search-results .search-result-item:hover,body.colorscheme-auto .search-results .search-result-item.selected{background:#424242}body.colorscheme-auto .search-results .search-result-item.selected{border-left-color:#42a5f5}body.colorscheme-auto .search-results .search-result-title{color:#dadada}body.colorscheme-auto .search-results .search-result-description{color:#aaa}body.colorscheme-auto .search-results .search-result-date{color:#888}body.colorscheme-auto .search-results .search-tag{background:#424242;color:#42a5f5}body.colorscheme-auto .search-results .search-no-results{color:#888}body.colorscheme-auto .highlight pre,body.colorscheme-auto .highlight{background:#0d1117}body.colorscheme-auto .highlight pre{border-left-color:#42a5f5}body.colorscheme-auto :not(pre)>code{background:#3a3a3a;color:#dadada}body.colorscheme-auto .content .post .post-meta .tags .tag,body.colorscheme-auto .tags .tag{background:0 0}body.colorscheme-auto .content .post .post-meta .tags .tag a,body.colorscheme-auto .content .post .post-meta .tags .tag a:active,body.colorscheme-auto .tags .tag a{background:#424242;color:#42a5f5}body.colorscheme-auto .content .post .post-meta .tags .tag a:hover,body.colorscheme-auto .content .post .post-meta .tags .tag a:active:hover,body.colorscheme-auto .tags .tag a:hover{background:#565656}body.colorscheme-auto .timeline-item:hover{background:rgba(66,165,245,8%)}body.colorscheme-auto .vertical-timeline::before{background:#424242}body.colorscheme-auto .vertical-timeline .timeline-month{color:#888}body.colorscheme-auto .vertical-timeline .timeline-month::after{background:#888}body.colorscheme-auto .vertical-timeline .timeline-post-title{color:#dadada}body.colorscheme-auto .vertical-timeline .timeline-post-title:hover{color:#42a5f5}body.colorscheme-auto .vertical-timeline .timeline-post-date{color:#888}body.colorscheme-auto .post-navigation{border-top-color:#424242}body.colorscheme-auto .post-nav-link{border-color:#424242}body.colorscheme-auto .post-nav-link:hover{background-color:#424242;border-color:#42a5f5}body.colorscheme-auto .post-nav-label{color:#888}body.colorscheme-auto .post-nav-title{color:#42a5f5}body.colorscheme-auto .activity-timeline{background:#424242}body.colorscheme-auto .timeline-track{background:#555}body.colorscheme-auto .timeline-dot{background:#42a5f5;border-color:#424242}body.colorscheme-auto .timeline-dot:hover{background:#72bcf8}body.colorscheme-auto .timeline-labels{color:#888}body.colorscheme-auto .timeline-dot-current{background:#ef5350}body.colorscheme-auto .timeline-dot-current:hover{background:#e57373}body.colorscheme-auto .post-vertical-timeline::before{background:#424242}body.colorscheme-auto .post-vertical-timeline .timeline-header{color:#888}body.colorscheme-auto .post-vertical-timeline .timeline-item::before{background:#42a5f5}body.colorscheme-auto .post-vertical-timeline .timeline-item .timeline-post-title{color:#dadada}body.colorscheme-auto .post-vertical-timeline .timeline-item-current::before{background:#ef5350}body.colorscheme-auto .footer{border-top-color:#424242}}